diff --git a/keyboards/ergodox/keymaps/common-nighthawk/Makefile b/keyboards/ergodox/keymaps/common-nighthawk/Makefile
new file mode 100644
index 0000000000..fafa40c43d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/common-nighthawk/Makefile
@@ -0,0 +1,6 @@
+SUBPROJECT_DEFAULT = ez
+TAP_DANCE_ENABLE = yes
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/common-nighthawk/keymap.c b/keyboards/ergodox/keymaps/common-nighthawk/keymap.c
new file mode 100644
index 0000000000..debf384f3d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/common-nighthawk/keymap.c
@@ -0,0 +1,216 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+//Tap Dance Declarations
+enum {
+ TD_U_LBRC = 0,
+ TD_I_RBRC,
+};
+
+//Tap Dance Definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_U_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_U, KC_LBRC),
+ [TD_I_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_I, KC_RBRC)
+};
+
+//Macro Declarations
+static uint16_t sunds_timer;
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | _ | x | x | _ | Esc | Hypr | Home | | End | Hypr | [ | ] | `~ | `~ | Bks |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * |Ctrl/Tab| Q | W | E | R | T | Up | | PgUp | Y | U | I | O | P | Ctrl |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Cmd/"' | A | S | D | F | G |------| |------| H | J | K | L | ;: |Cmd/Entr|
+ * |--------+------+------+------+------+------| Down | | PgDn |------+------+------+------+------+--------|
+ * | Shft | Z | X | C | V | B | | | | N | M | ,< | .> | /? | Shft |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | Alt | x | x | x | Left | |Right | Bks | x | x | Alt |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |Teensy| VolUp| | Play | Del |
+ * ,------|------|------| |------+--------+------.
+ * | | | VolDn| | Next | | |
+ * |Sp/~L1| L2 |------| |------| L2 |'"/~L1|
+ * | | | Mute | | Prev | | |
+ * `--------------------' `----------------------'
+ */
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_UNDS, KC_1, KC_1, KC_UNDS, KC_ESC, ALL_T(KC_NO), KC_HOME,
+ CTL_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP,
+ M(1), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN,
+ KC_LALT, KC_1, KC_1, KC_1, KC_LEFT,
+ RESET, KC_VOLU,
+ KC_VOLD,
+ LT(SYMB, KC_SPC), TG(MDIA), KC_MUTE,
+ // right hand
+ KC_END, ALL_T(KC_NO), KC_LBRC, KC_RBRC, KC_GRV, KC_GRV, KC_BSPC,
+ KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCTRL,
+ KC_H, KC_J, KC_K, KC_L, KC_SCOLON, GUI_T(KC_ENT),
+ KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_RGHT, KC_BSPC, KC_1, KC_1, KC_RALT,
+ KC_MPLY, KC_DEL,
+ KC_MNXT,
+ KC_MPRV, TG(MDIA), LT(SYMB, KC_QUOT)
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | ^ | [ | ( | { | | | | = | 7 | 8 | 9 | 0 | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | & | $ | ] | ) | } |------| |------| + | 4 | 5 | 6 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | \ | @ | # | % | | | | | | - | 1 | 2 | 3 | / | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | 0 | 0 | . | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS, KC_EXLM, KC_CIRC, KC_LBRC, KC_LPRN, KC_LCBR, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_DLR, KC_RBRC, KC_RPRN, KC_RCBR,
+ KC_TRNS, KC_BSLS, KC_AT, KC_HASH, KC_PERC, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
+ KC_TRNS, KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR, KC_TRNS,
+ KC_TRNS, KC_MINS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
+ KC_0, KC_0, KC_DOT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * |Version | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | WhDn | WhUp | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | R-Ck | L-Ck | |------| |------| MsLt | MsDn | MsUp | MsRt | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+
+ case 1:
+ if (record->event.pressed) {
+ sunds_timer = timer_read();
+ register_code (KC_LGUI);
+ } else {
+ if (timer_elapsed (sunds_timer) < TAPPING_TERM) {
+ unregister_code (KC_LGUI);
+ register_code (KC_LSFT);
+ register_code (KC_QUOT);
+ unregister_code (KC_QUOT);
+ unregister_code (KC_LSFT);
+ register_code (KC_LGUI);
+ }
+ unregister_code (KC_LGUI);
+ }
+ break;
+
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_3_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+ if (keyboard_report->mods & MOD_BIT(KC_LSFT)) {
+ ergodox_right_led_1_on ();
+ }
+};
diff --git a/keyboards/ergodox/keymaps/deadcyclo/keymap.c b/keyboards/ergodox/keymaps/deadcyclo/keymap.c
new file mode 100644
index 0000000000..d75c805bfe
--- /dev/null
+++ b/keyboards/ergodox/keymaps/deadcyclo/keymap.c
@@ -0,0 +1,273 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+#define NAVG 3 // navigation
+
+enum custom_keycodes {
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ EPRM,
+ VRSN,
+ RGB_SLD
+};
+
+// TODO: Get rid of of keys I don't want. Make others that I do. Set up lots of makros (Using hyper (and meh)) keys (where to put them?)
+// TODO: Need to change hotkeys for lastpass, and potentially make my own keys for them on one of my layers
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc/L3 | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | =/L3 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab/L1 | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \/L1 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ctrl/'|
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Lalt | Ralt | | Lalt | Ralt | [ | ] | ~/L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | Home | | PgUp | Ins |
+ * ,------|------|------| |------+--------+------.
+ * | | | End | | PgDn | | |
+ * | Space| TAB |------| |------| BSPC |Enter |
+ * | | | [ | | ] | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ LT(NAVG,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ LT(SYMB,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_RALT,KC_LALT,
+ ALT_T(KC_APP), KC_HOME,
+ KC_END,
+ KC_SPC,KC_TAB,KC_LBRC,
+ // right hand
+ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, LT(NAVG,KC_EQL),
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, LT(SYMB, KC_BSLS),
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),CTL_T(KC_QUOT),
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_LALT, KC_RALT,KC_LBRC,KC_RBRC, LT(SYMB,KC_TILD),
+ KC_PGUP, KC_INS,
+ KC_PGDN,
+ KC_RBRC,KC_BSPC, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| DEL | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_DEL, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+
+/* Keymap 3: Navigation TODO: Printscreen, pg up down, home, end, others? Insert for example
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | VER | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | up | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | left | down | right| |------| |------| | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// NAVIGATION
+[NAVG] = KEYMAP(
+ KC_TRNS, VRSN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ case 1:
+ if (record->event.pressed) { // For resetting EEPROM
+ eeconfig_init();
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ // dynamically generate these.
+ case EPRM:
+ if (record->event.pressed) {
+ eeconfig_init();
+ }
+ return false;
+ break;
+ case VRSN:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ return false;
+ break;
+ case RGB_SLD:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_mode(1);
+ #endif
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ case 4:
+ ergodox_right_led_1_on(); // TODO: Make a fourth layer
+ ergodox_right_led_3_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/deadcyclo/readme.md b/keyboards/ergodox/keymaps/deadcyclo/readme.md
new file mode 100644
index 0000000000..9155074409
--- /dev/null
+++ b/keyboards/ergodox/keymaps/deadcyclo/readme.md
@@ -0,0 +1,10 @@
+# ErgoDox EZ 1337 configuration
+
+Custom layout based on the default layout. Intended for interational users of us intl-altgr layout. Note that
+some common keys might be missing, as this layout is intented to be used on *nix systems by users familiar
+with their system. The layout is geared towards avoiding using the rat (mouse for those of you who are
+unfamiliar with tiling window managers) as much as possibly.
+
+# Changelog
+
+- 02.01.2017 Added delete key on second layer
diff --git a/keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.png b/keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.png
new file mode 100644
index 0000000000..e3c321cc09
Binary files /dev/null and b/keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.png differ
diff --git a/keyboards/ergodox/keymaps/default/keymap.c b/keyboards/ergodox/keymaps/default/keymap.c
index 2f399bd181..4477cab310 100644
--- a/keyboards/ergodox/keymaps/default/keymap.c
+++ b/keyboards/ergodox/keymaps/default/keymap.c
@@ -7,7 +7,12 @@
#define SYMB 1 // symbols
#define MDIA 2 // media keys
-#define EPRM M(1) // Macro 1: Reset EEPROM
+enum custom_keycodes {
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ EPRM,
+ VRSN,
+ RGB_SLD
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
@@ -44,56 +49,56 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME,
KC_SPC,KC_BSPC,KC_END,
// right hand
- KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT),
- MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
- KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1,
+ KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT),
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1,
KC_LALT, CTL_T(KC_ESC),
KC_PGUP,
KC_PGDN,KC_TAB, KC_ENT
),
/* Keymap 1: Symbol Layer
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | EPRM | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
+ * ,---------------------------------------------------. ,--------------------------------------------------.
+ * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | EPRM | | | | | | | . | 0 | = | |
+ * `-----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * | | | | | |
+ * |Animat| | |Toggle|Solid |
* ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
+ * |Bright|Bright| | | |Hue- |Hue+ |
+ * |ness- |ness+ |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// SYMBOLS
[SYMB] = KEYMAP(
// left hand
- M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,
+ RGB_MOD,KC_TRNS,
KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,
+ RGB_VAD,RGB_VAI,KC_TRNS,
// right hand
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
- KC_TRNS, KC_TRNS,
+ RGB_TOG, RGB_SLD,
KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, RGB_HUD, RGB_HUI
),
/* Keymap 2: Media and mouse keys
*
@@ -160,6 +165,33 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
return MACRO_NONE;
};
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ // dynamically generate these.
+ case EPRM:
+ if (record->event.pressed) {
+ eeconfig_init();
+ }
+ return false;
+ break;
+ case VRSN:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ return false;
+ break;
+ case RGB_SLD:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_mode(1);
+ #endif
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
diff --git a/keyboards/ergodox/keymaps/default/readme.md b/keyboards/ergodox/keymaps/default/readme.md
index f68138ed62..979ce0f5b8 100644
--- a/keyboards/ergodox/keymaps/default/readme.md
+++ b/keyboards/ergodox/keymaps/default/readme.md
@@ -2,6 +2,9 @@
## Changelog
+* Dec 2016:
+ * Added LED keys
+ * Refreshed layout graphic, comes from http://configure.ergodox-ez.com now.
* Sep 22, 2016:
* Created a new key in layer 1 (bottom-corner key) that resets the EEPROM.
* Feb 2, 2016 (V1.1):
@@ -9,4 +12,4 @@
This is what we ship with out of the factory. :) The image says it all:
-![Default](default_highres.png)
+![Default](default_firmware_v1.2-2.png)
diff --git a/keyboards/ergodox/keymaps/dvorak_emacs/keymap.c b/keyboards/ergodox/keymaps/dvorak_emacs/keymap.c
new file mode 100755
index 0000000000..d33c6e5271
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_emacs/keymap.c
@@ -0,0 +1,165 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+
+/******************************************************************************************
+ * DVORAK LAYOUT (see http://djelibeibi.unex.es/dvorak/)
+ * Layer 1: auxiliary keys
+ * Layer 2: full qwerty layout
+ *****************************************************************************************/
+
+// LAYERS
+#define BASE 0 // dvorak layout (default)
+#define AUX 1 // auxiliary keys
+
+// MACROS
+/* #define OBRACE 0 // key { or shift */
+/* #define CBRACE 1 // key } or shift */
+/* #define OBRACK 2 // key [ or left alt */
+/* #define CBRACK 3 // key ] or left alt */
+/* #define CAPS 4 // caps lock */
+
+// LEDS
+#define USB_LED_NUM_LOCK 0
+#define USB_LED_CAPS_LOCK 1
+#define USB_LED_SCROLL_LOCK 2
+#define USB_LED_COMPOSE 3
+#define USB_LED_KANA 4
+
+// TIMERS
+#define KEY_TAP_FAST 85
+#define KEY_TAP_SLOW 95
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Base layer
+ * Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = / + |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | ~ |" / ' |, / < |. / > | P | Y | [ | | ] | F | G | C | H | L | / / ? |
+ * |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
+ * | Tab | A | O | E |U/LSft| I/L1 |------| |------| D/L1|R/RSft| T | N | S | - / _ |
+ * |--------+------+------+------+------+------| LGUI | | LGUI |------+------+------+------+------+--------|
+ * | {/LSft |; / : | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | ~L1 | | ~L1 | | | \ / || |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | HOME | END | | LEFT | RIGHT|
+ * ,------|------|------| |------+--------+------.
+ * | BSPC | DEL | PGUP | | UP | SPACE |RETURN|
+ * | / | / |------| |------| / | / |
+ * | LCTL | LALT |PGDWN | | DOWN | LALT | LCTL |
+ * `--------------------' `----------------------'
+ *
+ */
+[BASE] = KEYMAP(
+ // left hand
+ KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
+ KC_TILD, KC_QUOTE, KC_COMM,KC_DOT, KC_P, KC_Y, KC_LBRACKET,
+ KC_TAB, KC_A, KC_O, KC_E, SFT_T(KC_U), LT(AUX, KC_I),
+ SFT_T(KC_LBRC), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LGUI,
+ KC_NO, KC_NO, KC_NO, KC_NO, MO(AUX),
+ KC_HOME, KC_END,
+ KC_PGUP,
+ CTL_T(KC_BSPC), ALT_T(KC_DEL), KC_PGDN,
+ // right hand
+ KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
+ KC_RBRACKET, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH,
+ LT(AUX, KC_D), SFT_T(KC_H), KC_T, KC_N, KC_S, KC_MINUS,
+ KC_LGUI, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_RBRC),
+ MO(AUX), KC_NO, KC_NO, KC_BSLASH, KC_NO,
+ KC_LEFT, KC_RIGHT,
+ KC_UP,
+ KC_DOWN, ALT_T(KC_ENT), CTL_T(KC_SPC)
+ ),
+/* Keymap 1: Aux layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | VolUp | | | | | | SLEEP | PWR | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | VolDn | F1 | F2 | F3 | F4 | | | | | | 7 | 8 | 9 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | F5 | F6 | F7 | F8 | TRANS|------| |------|TRANS | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------|
+ * | TRANS | F9 | F10 | F11 | F12 | | | | | | 1 | 2 | 3 | / | TRANS |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |CTRL-S|CTRL-Z|CTRL-X|CTRL-C| TRANS| | TRANS| . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | TRANS| TRANS| | TRANS| TRANS|
+ * ,------|------|------| |------+------+------.
+ * | | | TRANS| | TRANS| | |
+ * |TRANS |TRANS |------| |------| TRANS| TRANS|
+ * | | | TRANS| | TRANS| | |
+ * `--------------------' `--------------------'
+ */
+[AUX] = KEYMAP(
+ // left hand
+ KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP,
+ KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_NO,
+ KC_NO , KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
+ KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
+ LCTL(KC_S), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), KC_TRNS,
+ KC_TRNS , KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_PWR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_PAST, KC_NO,
+ KC_TRNS, KC_4, KC_5, KC_6, KC_PPLS, KC_NO,
+ KC_PSCR, KC_NO, KC_1, KC_2, KC_3, KC_PSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_PEQL, KC_NO,
+ KC_TRNS , KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(AUX) // FN1 - Momentary Layer 1 (Aux)
+};
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+}
diff --git a/keyboards/ergodox/keymaps/dvorak_emacs/readme.md b/keyboards/ergodox/keymaps/dvorak_emacs/readme.md
new file mode 100644
index 0000000000..a3fc34afeb
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_emacs/readme.md
@@ -0,0 +1,70 @@
+# Ergodox Dvorak Layout with emacs binding in mind
+ * Control & Alt key on the thumbs (activated if pressed with another key).
+ * In the same way, "U" and "R" are the shift modifier if pressed with another key.
+ * "I" and "D" set the layer 1 for the auxiliary keys if pressed with another key.
+ * Software layout set to english.
+
+## Keymap Layers
+ - L0: dvorak with some customizations (see layout below)
+ - L1: auxiliary keys (includes function keys, numpad...)
+
+
+### Keymap 0: Base layer
+Keys with double values (like U/LSft) correspond to the 'tapped' key and the 'held' key, respectively
+
+
+
+,--------------------------------------------------. ,--------------------------------------------------.
+| | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| ~ | ' | , | . | P | Y | [ | | ] | F | G | C | H | L | / |
+|--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
+| Tab | A | O | E |U/LSft| I/L1 |------| |------| D/L1|R/RSft| T | N | S | - |
+|--------+------+------+------+------+------| LGUI | | LGUI |------+------+------+------+------+--------|
+| {/LSft | ; | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | | | | ~L1 | | ~L1 | | | \ | |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ | HOME | END | | LEFT | RIGHT|
+ ,------|------|------| |------+--------+------.
+ | BSPC | DEL | PGUP | | UP | SPACE |RETURN|
+ | / | / |------| |------| / | / |
+ | LCTL | LALT |PGDWN | | DOWN | LALT | LCTL |
+ `--------------------' `----------------------'
+
+
+
+### Keymap 1: Aux layer
+
+
+
+,--------------------------------------------------. ,--------------------------------------------------.
+| VolUp | | | | | | SLEEP | PWR | | | | | | |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| VolDn | F1 | F2 | F3 | F4 | | | | | | 7 | 8 | 9 | * | |
+|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+| | F5 | F6 | F7 | F8 | TRANS|------| |------|TRANS | 4 | 5 | 6 | + | |
+|--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------|
+| TRANS | F9 | F10 | F11 | F12 | | | | | | 1 | 2 | 3 | / | TRANS |
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ |CTRL-S|CTRL-Z|CTRL-X|CTRL-C| TRANS| | TRANS| . | 0 | = | |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ | TRANS| TRANS| | TRANS| TRANS|
+ ,------|------|------| |------+------+------.
+ | | | TRANS| | TRANS| | |
+ |TRANS |TRANS |------| |------| TRANS| TRANS|
+ | | | TRANS| | TRANS| | |
+ `--------------------' `--------------------'
+
+
+
+
+
+## Generation of .hex file
+> In the "qmk_firmware/keyboards/ergodox" directory.
+
+> Execute "make dvorak_emacs". Then the hex file "ergodox_ez_dvorak_emacs.hex" is in the root directory : "qmk_firmware".
+
+> Flash with `teensy_loader` binary
diff --git a/keyboards/ergodox/keymaps/dvorak_plover/README.md b/keyboards/ergodox/keymaps/dvorak_plover/README.md
new file mode 100644
index 0000000000..c8287b0195
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_plover/README.md
@@ -0,0 +1,14 @@
+Dvorak support, plover support, gaming support
+
+I'm used to the Kinesis, so originally I was just going to patch up
+the thumb keys to be more familiar. But the ergodox is really well
+suited to NKRO support in Plover, so I added a layer for that, and
+then I remembered that dvorak can be really annoying for video
+games (try to reach WASD), so I added a layer for that.
+
+The result is probably a bit idiosyncratic, but it works for me.
+
+(I also don't have any press/hold distinction keys, because that
+confuses my fuzzy little brain.)
+
+Contributed by seebs (seebs@seebs.net)
diff --git a/keyboards/ergodox/keymaps/dvorak_plover/keymap.c b/keyboards/ergodox/keymaps/dvorak_plover/keymap.c
new file mode 100644
index 0000000000..d0505609d7
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_plover/keymap.c
@@ -0,0 +1,230 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define PLVR 2 // media keys
+#define QWRT 3 // qwerty layer for gaming
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | \ |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | ' | , | . | P | Y | L1 | | L2 | F | G | C | R | L | / |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | LGui | A | O | E | U | I |------| |------| D | H | T | N | S | - |
+ * |--------+------+------+------+------+------| Esc | | L3 |------+------+------+------+------+--------|
+ * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Lalt | Grv | | Left | Right| | Up | Down | [ | ] | RAlt |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,---------------.
+ * | LCtrl| Alt | | LGui | RCtrl |
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * |Backsp|Delete|------| |------| Enter |Space |
+ * | ace| | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, MO(SYMB),
+ KC_LGUI, KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_ESC,
+ KC_LALT, KC_GRV, KC_ESC, KC_LEFT,KC_RGHT,
+ KC_LCTL, KC_LALT,
+ KC_HOME,
+ KC_BSPC,KC_DEL,KC_END,
+ // right hand
+ KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
+ TG(PLVR), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
+ TG(QWRT),KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_RALT,
+ KC_LGUI, KC_RCTL,
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | KP7 | KP8 | KP9 | KP* | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | KP4 | KP5 | KP6 | KP+ | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | KP1 | KP2 | KP3 | KP/ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | KP. | KP0 | KP= | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_P7, KC_P8, KC_P9, KC_PAST, KC_F12,
+ KC_DOWN, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_TRNS,
+ KC_TRNS,KC_PDOT, KC_P0, KC_PEQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | 1 | 2 | 3 | 4 | 5 | | | L2 | 6 | 7 | 8 | 9 | 0 | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | q | w | e | r | t |------| |------| y | u | i | o | p | [ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | a | s | d | f | g | | | | h | j | k | l | ; | ' |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | c | v |------| |------| n | m |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+
+[PLVR] = KEYMAP( // layout: layer 2: Steno for Plover
+ // left hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,
+ KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_FN4, KC_NO,
+ KC_NO,
+ KC_C, KC_V, KC_NO,
+ // right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
+ TG(2), KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_NO, KC_N, KC_M
+),
+/* Keymap 3: qwerty-ish
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | LGui | A | S | D | F | G |------| |------| H | J | K | L | ; | LGui |
+ * |--------+------+------+------+------+------| Spc | | L3 |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | Lalt | Grv | '" | Left | Right| | Up | Down | [ | ] | RAlt |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,---------------.
+ * | LCtrl| LAlt | | LGui | RCtrl |
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * |Backsp|Delete|------| |------| Enter |Space |
+ * | ace| | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+[QWRT] = KEYMAP( // layer 3: qwerty for gaming
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPACE,
+ KC_LALT, KC_GRV, KC_QUOT, KC_LEFT,KC_RGHT,
+ KC_LCTL, KC_LALT,
+ KC_HOME,
+ KC_BSPC,KC_DEL,KC_END,
+ // right hand
+ KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ TG(QWRT), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_RALT,
+ KC_LGUI, KC_RCTL,
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/Makefile b/keyboards/ergodox/keymaps/dvorak_programmer/Makefile
new file mode 100644
index 0000000000..3c65e25e19
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_programmer/Makefile
@@ -0,0 +1,8 @@
+BOOTMAGIC_ENABLE=no
+COMMAND_ENABLE=no
+SLEEP_LED_ENABLE=no
+FORCE_NKRO ?= yes
+DEBUG_ENABLE = no
+CONSOLE_ENABLE = no
+TAP_DANCE_ENABLE = yes
+MOUSEKEY_ENABLE = yes
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/README.md b/keyboards/ergodox/keymaps/dvorak_programmer/README.md
new file mode 100644
index 0000000000..3e4a2545b8
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_programmer/README.md
@@ -0,0 +1,29 @@
+Dvorak Programmer Layout
+========================
+
+This is a dvorak-only layout. The overall philosophy is that the left hand contains a number of layer-switching shortcuts, and the right hand key codes vary based on the layer selected.
+
+Layers
+------
+
+* BASE: this is where you type.
+* SHELL_NAV: hold down the Tab key to access shell/terminal navigation shorcuts such as forward/backward word, history, Ctrl+C, screen tab movement.
+* KEY_NAV: arrow key movement with backward/forward word support, and copy/paste.
+* KEY_SEL: same as above, but every movement shift-selects.
+* NUMBER: keypad layer.
+* SYMBOL: all the symbols.
+* BRACKET: special brackets-only layer for programming
+* SHORTCUTS: sends Hyper keys for Autohotkey to interpret. I use this to switch between specific apps.
+* MOUSE: use mouse keys
+
+Updates
+-------
+
+2016/12/10:
+* toggle for brackets layer is now on left thumb cluster.
+
+2016/11/05:
+* removed brackets anywhere but in brackets layer
+* added mouse layer back in
+* put semicolon-newline and end-newline on symbol layer
+* replaced all HYPR with MEH, added more shortcut keys
\ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c
new file mode 100644
index 0000000000..f3d02f688d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c
@@ -0,0 +1,424 @@
+
+#include "ergodox.h"
+#include "led.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "action_code.h"
+
+#define BASE 0 // default layer
+#define SHELL_NAV 1
+#define KEY_NAV 3 // key navigation layer
+#define KEY_SEL 4 // key selection layer
+#define NUMBER 5 // number layer
+#define SYMBOL 6
+#define BRACKETS 7
+#define SHORTCUTS 8
+#define MOUSE 9
+
+// macros
+#define MC_COPY_LINE 0
+#define MC_CUT_LINE 1
+#define MC_PASTE_LINE 2
+#define MC_NEW_SEARCH_TAB 3
+#define SCREEN_TAB_LEFT 4
+#define SCREEN_TAB_RIGHT 5
+#define SCREEN_NEW_TAB 6
+#define SWITCH_NDS 7
+#define SCREEN_COPY_MODE 8
+#define SCREEN_PASTE 9
+#define OPEN_CLOSE_PAREN 10
+#define OPEN_CLOSE_BRACKET 11
+#define OPEN_CLOSE_CURLY 12
+#define OPEN_CLOSE_SINGLE_QUOTE 13
+#define OPEN_CLOSE_DOUBLE_QUOTE 14
+#define SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND 15
+#define SEMICOLON_NEWLINE 16
+#define END_NEWLINE 17
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(KEY_NAV), // FN1 - keynav layer
+ [2] = ACTION_LAYER_TAP_TOGGLE(NUMBER), // FN2 - number layer
+ [3] = ACTION_MODS_ONESHOT(MOD_LSFT), // FN3 - shift modifier / oneshot
+ [4] = ACTION_MODS_ONESHOT(MOD_LCTL), // FN4 - ctrl modifier / oneshot
+ [5] = ACTION_MODS_ONESHOT(MOD_LALT), // FN5 - alt modifier / oneshot
+};
+
+//Tap Dance Declarations
+enum {
+ TD_SHIFT_CAPSLOCK = 0,
+ TD_BRK_LEFT = 1,
+ TD_BRK_RIGHT = 2
+};
+
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+// base layer
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ LT(MOUSE,KC_TAB), KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, MO(KEY_SEL),
+ MO(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_FN3, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(KEY_NAV),
+ OSL(SHORTCUTS),KC_FN4, KC_FN5,OSL(SYMBOL),MO(NUMBER),
+ // thumb cluster
+ MO(BRACKETS), RCTL(KC_S),
+ RCTL(KC_DEL),
+ KC_BSPC,RCTL(KC_BSPC),KC_DEL,
+ // right hand
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS,
+ KC_PGUP, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
+ KC_PGDN, KC_B, KC_M, KC_W, KC_V, KC_Z, TD(TD_SHIFT_CAPSLOCK),
+ // lower keys - browser tab control
+ RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), RCTL(KC_W),
+ // thumb cluster
+ KC_HOME,KC_END,
+ KC_UP,
+ KC_DOWN,KC_ENT, KC_SPC
+ ),
+
+
+// shell navigation layer
+[SHELL_NAV] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // bottom row
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // thumb cluster
+ KC_TRNS,KC_TRNS,
+ LALT(KC_D),
+ KC_TRNS,RCTL(KC_W),KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ RCTL(KC_L), RCTL(KC_W), KC_HOME, KC_UP, KC_END, LALT(KC_D), RCTL(KC_R),
+ LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), LALT(KC_DOT),
+ RCTL(KC_C), RCTL(KC_U), M(SCREEN_COPY_MODE), M(SCREEN_PASTE), MEH(KC_V), RCTL(KC_K), M(SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND),
+ // bottom row
+ M(SCREEN_TAB_LEFT), M(SCREEN_TAB_RIGHT), M(SCREEN_NEW_TAB), KC_TRNS, KC_TRNS,
+ // thumb cluster
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+
+// key navigation layer
+[KEY_NAV] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // bottom row
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // thumb cluster
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PGDN, KC_HOME, KC_UP, KC_END, KC_PGUP, M(MC_COPY_LINE),
+ RCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, RCTL(KC_RIGHT), M(MC_CUT_LINE),
+ KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_TRNS, M(MC_PASTE_LINE),
+ // bottom row
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ // thumb cluster
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+// key selection layer
+[KEY_SEL] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // bottom row
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // thumb cluster
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ RSFT(KC_PGUP), RSFT(KC_PGDN), RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), M(MC_COPY_LINE),
+ RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), M(MC_CUT_LINE),
+ RSFT(KC_PGDN), KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_TRNS, M(MC_PASTE_LINE),
+ // bottom row
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ // thumb cluster
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+// number layer
+[NUMBER] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // bottom row
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ // thumb cluster
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
+ KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, KC_TRNS,
+ KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_COLN, KC_TRNS,
+ // bottom row
+ KC_0, KC_DOT, KC_COMMA, KC_TRNS, KC_TRNS,
+ // thumb cluster
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+
+[SYMBOL] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_PLUS, KC_AMPR, KC_ASTR, KC_GRAVE,KC_TILD, KC_TRNS,
+ KC_MINS, KC_DLR, KC_PERC, KC_CIRC, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_EQUAL,KC_EXLM, KC_AT, KC_HASH, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ M(SEMICOLON_NEWLINE), M(END_NEWLINE),
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+[BRACKETS] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS, M(OPEN_CLOSE_BRACKET),M(OPEN_CLOSE_PAREN),M(OPEN_CLOSE_CURLY),KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+[SHORTCUTS] = KEYMAP(
+ // left hand
+ KC_NO, MEH(KC_F1), MEH(KC_F2), MEH(KC_F3), MEH(KC_F4), MEH(KC_F5), MEH(KC_F6),
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ MEH(KC_0),MEH(KC_1),
+ MEH(KC_2),
+ MEH(KC_3),MEH(KC_4),MEH(KC_5),
+ // right hand
+ MEH(KC_F7), MEH(KC_F8), MEH(KC_F9), MEH(KC_F10), MEH(KC_F11), MEH(KC_F12), M(SWITCH_NDS),
+ KC_TRNS, MEH(KC_A), MEH(KC_B), MEH(KC_C), MEH(KC_D), MEH(KC_E), MEH(KC_F),
+ MEH(KC_G), MEH(KC_H), MEH(KC_I), MEH(KC_J), MEH(KC_K), MEH(KC_L),
+ KC_TRNS, MEH(KC_M), MEH(KC_N), MEH(KC_O), MEH(KC_P), MEH(KC_Q), MEH(KC_R),
+ MEH(KC_S), MEH(KC_T), MEH(KC_U), MEH(KC_V), MEH(KC_X),
+ MEH(KC_6), MEH(KC_7),
+ MEH(KC_8),
+ MEH(KC_9), MEH(KC_Y), MEH(KC_Z)
+),
+
+
+[MOUSE] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_BTN1, KC_BTN2
+),
+
+};
+
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case MC_COPY_LINE:
+ if (record->event.pressed) {
+ return MACRO( T(HOME), D(LSFT), T(END), U(LSFT), D(LCTL), T(C), U(LCTL), END);
+ }
+ break;
+ case MC_CUT_LINE:
+ if (record->event.pressed) {
+ return MACRO( T(HOME), D(LSFT), T(END), U(LSFT), D(LCTL), T(X), U(LCTL), END);
+ }
+ break;
+ case MC_PASTE_LINE:
+ if (record->event.pressed) {
+ return MACRO( T(END), T(ENTER), D(LCTL), T(V), U(LCTL), END);
+ }
+ break;
+ case MC_NEW_SEARCH_TAB:
+ if (record->event.pressed) {
+ return MACRO( D(LCTL), T(T), T(K), U(LCTL), END);
+ }
+ break;
+ case SCREEN_TAB_LEFT:
+ if (record->event.pressed) {
+ return MACRO( D(LCTL), T(A), U(LCTL), T(P), END);
+ }
+ break;
+ case SCREEN_TAB_RIGHT:
+ if (record->event.pressed) {
+ return MACRO( D(LCTL), T(A), U(LCTL), T(N), END);
+ }
+ break;
+ case SCREEN_NEW_TAB:
+ if (record->event.pressed) {
+ return MACRO( D(LCTL), T(A), U(LCTL), T(C), END);
+ }
+ break;
+ case SCREEN_COPY_MODE:
+ if (record->event.pressed) {
+ return MACRO( D(LCTL), T(A), U(LCTL), T(ESC), END);
+ }
+ break;
+ case SCREEN_PASTE:
+ if (record->event.pressed) {
+ return MACRO( D(LCTL), T(A), U(LCTL), T(RBRC), END);
+ }
+ break;
+ case SWITCH_NDS:
+ if (record->event.pressed) {
+ return MACRO( D(LSFT), T(F11), U(LSFT), W(500), D(LALT), T(TAB), U(LALT), END);
+ }
+ break;
+ case OPEN_CLOSE_PAREN:
+ if (record->event.pressed) {
+ return MACRO( D(LSFT), T(LPRN), T(RPRN), U(LSFT), T(LEFT), END);
+ }
+ break;
+ case OPEN_CLOSE_BRACKET:
+ if (record->event.pressed) {
+ return MACRO( T(LBRC), T(RBRC), T(LEFT), END);
+ }
+ break;
+ case OPEN_CLOSE_CURLY:
+ if (record->event.pressed) {
+ return MACRO( D(LSFT), T(LCBR), T(RCBR), U(LSFT), T(LEFT), END);
+ }
+ break;
+ case OPEN_CLOSE_SINGLE_QUOTE:
+ if (record->event.pressed) {
+ return MACRO( T(QUOT), T(QUOT), T(LEFT), END);
+ }
+ break;
+ case OPEN_CLOSE_DOUBLE_QUOTE:
+ if (record->event.pressed) {
+ return MACRO( D(LSFT), T(QUOT), T(QUOT), U(LSFT), T(LEFT), END);
+ }
+ break;
+ case SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND:
+ if (record->event.pressed) {
+ return MACRO( T(UP), T(HOME), D(LALT), T(D), U(LALT), END);
+ }
+ break;
+ case SEMICOLON_NEWLINE:
+ if (record->event.pressed) {
+ return MACRO( T(END), T(SCLN), T(ENTER), END);
+ }
+ break;
+ case END_NEWLINE:
+ if (record->event.pressed) {
+ return MACRO( T(END), T(ENTER), END);
+ }
+ break;
+
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+ return;
+};
+
+void led_set_user(uint8_t usb_led) {
+ if (usb_led & (1<event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(0xff,0x00,0xbb);
+ #endif
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
LEADER_EXTERNS();
// Runs constantly in the background, in a loop.
diff --git a/keyboards/ergodox/keymaps/erez_experimental/readme.md b/keyboards/ergodox/keymaps/erez_experimental/readme.md
index 66acfa187b..f0738d9a70 100644
--- a/keyboards/ergodox/keymaps/erez_experimental/readme.md
+++ b/keyboards/ergodox/keymaps/erez_experimental/readme.md
@@ -4,6 +4,10 @@ This is my personal layout which I use to test out ideas which may or may not ma
Changelog:
+## Nov 1, 2016:
+
+* Adds dedicated text zooming keys in inner corners
+
## May 24, 2016:
* Implements Leader key example
diff --git a/keyboards/ergodox/keymaps/galson/Makefile b/keyboards/ergodox/keymaps/galson/Makefile
new file mode 100644
index 0000000000..f008f50793
--- /dev/null
+++ b/keyboards/ergodox/keymaps/galson/Makefile
@@ -0,0 +1,2 @@
+COMMAND_ENABLE = no # Commands for debug and configuration
+
diff --git a/keyboards/ergodox/keymaps/galson/keymap.c b/keyboards/ergodox/keymaps/galson/keymap.c
new file mode 100644
index 0000000000..0d3e7560dd
--- /dev/null
+++ b/keyboards/ergodox/keymaps/galson/keymap.c
@@ -0,0 +1,183 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | + | 1 | 2 | 3 | 4 | 5 | rclk | | lclk | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | = | Q | W | E | R |cmd/T |shift | |shift |cmd/Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
+ * | " | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
+ * |--------+------+------+------+------+------| ctrl | | ctrl |------+------+------+------+------+--------|
+ * | { | Z | X | C | V | B | [ | | ] | N | M | , | . | / | } |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | _ | ` | $ | Left | Right| | Up | Down | : | * | ! |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | < | | | | & | > |
+ * ,------|------|------| |------+--------+------.
+ * | | | # | | @ | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | % | | ESC | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_PLUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BTN2,
+ KC_EQL, KC_Q, KC_W, KC_E, KC_R, GUI_T(KC_T), KC_LSPO,
+ KC_DQUO, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LCBR, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_LBRC),
+ KC_UNDS, KC_GRV, KC_DLR, KC_LEFT,KC_RGHT,
+ KC_LABK, KC_PIPE,
+ KC_HASH,
+ KC_SPC, KC_BSPC,KC_PERC,
+ // right hand
+ KC_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_RSPC, GUI_T(KC_Y), KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), KC_QUOT,
+ CTL_T(KC_RBRC), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RCBR,
+ KC_UP, KC_DOWN,KC_COLN,KC_ASTR, KC_EXLM,
+ KC_AMPR, KC_RABK,
+ KC_AT,
+ KC_ESC, KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.
+ * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/galson/readme.md b/keyboards/ergodox/keymaps/galson/readme.md
new file mode 100644
index 0000000000..ebc916725b
--- /dev/null
+++ b/keyboards/ergodox/keymaps/galson/readme.md
@@ -0,0 +1,11 @@
+# Galson keymap
+
+
+Sep 26, 2016.
+
+This is an ergonomic layout for programming for those with typing-related injuries. Key features:
+
+- As many symbol keys as possible are accessible without shifting. These should be accessed by moving the entire hand and pressing with a strong finger.
+- Arrow keys and left and right mouse clicks for mouse-free navigation when combined with head mouse or eyetracker.
+- Modifier keys are dual role and relocated to positions convenient for the index finger.
+- Positions are more convenient when the keyboard is vertically mounted (as it should be!)
\ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png
new file mode 100755
index 0000000000..e6aec35bff
Binary files /dev/null and b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png differ
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png
new file mode 100755
index 0000000000..69a1f69482
Binary files /dev/null and b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png differ
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png
new file mode 100755
index 0000000000..8b2cce5e6d
Binary files /dev/null and b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png differ
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/keymap.c b/keyboards/ergodox/keymaps/ishigoya-jp/keymap.c
new file mode 100644
index 0000000000..c219ce8840
--- /dev/null
+++ b/keyboards/ergodox/keymaps/ishigoya-jp/keymap.c
@@ -0,0 +1,962 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "keymap_jp.h"
+
+static uint16_t start;
+
+#define BASE 0 // EN layer
+#define JP 1 // Japanese
+#define JPXON 2 // JP + Fn
+#define JPKAZARI 3 // JP + KAZARI
+#define JPTOPROW 4 // JP + TOPROW
+#define JPTRKZ 5 // JP + TOPROW + KAZARI
+#define NUM 6 // Numbers
+
+#define CTLSHFT 1
+#define CUTCOPY 2
+
+//kana macro definitions start here
+
+#define JPVU 4
+#define JPNU 6
+#define JPKO 7
+#define JPSA 8
+#define JPKE 9
+#define JPHE 10
+#define JPSHI 11
+#define JPKA 12
+#define JPKI 13
+#define JPSU 14
+#define JPSO 15
+#define JPHI 16
+#define JPCHI 17
+#define JPFU 18
+#define JPSE 19
+#define JPTSU 20
+#define JPKU 21
+#define JPTE 22
+#define JPTA 23
+#define JPTO 24
+#define JPHA 25
+#define JPHO 26
+#define JPXKE 27
+#define JPXU 28
+#define JPXKA 29
+#define JPXA 30
+#define JPXO 31
+#define JPGO 32
+#define JPZA 33
+#define JPGE 34
+#define JPBE 35
+#define JPYU 36
+#define JPJI 37
+#define JPGA 38
+#define JPGI 39
+#define JPZU 40
+#define JPZO 41
+#define JPBI 42
+#define JPDI 43
+#define JPZE 44
+#define JPDU 45
+#define JPGU 46
+#define JPYA 47
+#define JPYO 48
+#define JPDE 49
+#define JPDA 50
+#define JPDO 51
+#define JPBA 52
+#define JPBO 53
+#define JPRI 54
+#define JPRE 55
+#define JPRA 56
+#define JPNA 57
+#define JPNO 58
+#define JPMI 59
+#define JPMU 60
+#define JPME 61
+#define JPNE 62
+#define JPMA 63
+#define JPXTU 64
+#define JPWA 65
+#define JPRU 66
+#define JPWO 67
+#define JPNI 68
+#define JPNN 69
+#define JPMO 70
+#define JPRO 71
+#define JPXE 72
+#define JPXI 73
+#define JPXYU 74
+#define JPXYA 75
+#define JPXYO 76
+#define JPPE 77
+#define JPPU 78
+#define JPPI 79
+#define JPPA 80
+#define JPPO 81
+#define JPBU 82
+
+// kana macro definitions end here
+
+#define SHIFT 86
+#define KAZARI 87
+#define JPFN 88 //shifts to JPXON layer
+#define TOJPLOUT 89
+#define TOENL 90
+#define TOJPL 91
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ *
+ * ,----------------------------------------------------. ,--------------------------------------------------.
+ * | En / 和 | | ^ | % | | |Selall| | Undo | | $ | @ | LT | UP | RT |
+ * |----------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | D | R | W | B | Cut | | PgUP | J | F | U | P | DN | \ |
+ * |----------+------+------+------+------+------| Copy | | |------+------+------+------+------+--------|
+ * | / | A | S | H | T | G |------| |------| Y | N | E | O | I | , |
+ * |----------+------+------+------+------+------|Paste | | PgDN |------+------+------+------+------+--------|
+ * | Ctl+Shft | Z | X | M | C | V | | | | . | L | K | ' | ? | tmux |
+ * `----------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | LCtrl | LGui | Alt| _ | Esc | |MouseL|MouseR| - | ~ | Ctrl |
+ * `------------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |MidMs | Del | | VolUp| Mute |
+ * ,------|------|------| |------+--------+------.
+ * | | | | | VolDn| | |
+ * | Space| Shift|------| |------| Backsp |Enter |
+ * | | | Num | | Esc | | |
+ * `--------------------' `----------------------'
+ *
+ *
+ * tmux prefix set to C-b
+ *
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ M(TOJPLOUT), KC_NO, KC_EQL, LSFT(KC_5), KC_NO, KC_NO, LCTL(KC_A),
+ KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, M(CUTCOPY),
+ KC_SLSH, KC_A, KC_S, KC_H, KC_T, KC_G,
+ M(CTLSHFT), KC_Z, KC_X, KC_M, KC_C, KC_V, LCTL(KC_V),
+ KC_RCTL, KC_LGUI, KC_LALT,JP_UNDS,KC_LCTL,
+ KC_BTN3, KC_DEL,
+ KC_NO,
+ KC_SPC,KC_LSFT,F(1),
+ // right hand
+ LCTL(KC_Z), KC_NO, LSFT(KC_4), JP_AT, KC_LEFT, KC_UP, KC_RIGHT,
+ KC_PGUP, KC_J, KC_F, KC_U, KC_P, KC_DOWN, LSFT(KC_3),
+ KC_Y, KC_N, KC_E, KC_O, KC_I, KC_COMMA,
+ KC_PGDN, KC_DOT, KC_L, KC_K, LSFT(KC_7), KC_QUES, LCTL(KC_B),
+ KC_BTN1, KC_BTN2,KC_MINS,JP_TILD, KC_RCTL,
+ KC_VOLU, KC_MUTE,
+ KC_VOLD,
+ KC_SPC,KC_BSLS, KC_ENT
+ ),
+/* Keymap 1: Japanese
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | En / 和| | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | nu | ko | sa | he | ke | | | | fu | se | tsu | ku | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | to | shi | ka | ki | su |------| |------| a | ha | te | ta | u | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | mu | so | hi | chi | me | | | | | ma | ho | i | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | shift| fn |------| |------| |kazari|
+ * | | | Num | | | | |
+ * `--------------------' `--------------------'
+ *
+ *
+ *
+ */
+[JP] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(JPNU), M(JPKO), M(JPSA), M(JPHE), M(JPKE), KC_TRNS,
+ KC_TRNS, M(JPTO), M(JPSHI), M(JPKA), M(JPKI), M(JPSU),
+ KC_TRNS, M(JPMU), M(JPSO), M(JPHI), M(JPCHI), M(JPME), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_NO,
+ M(SHIFT), M(JPFN), F(1),
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(JPFU), M(JPSE), M(JPTSU), M(JPKU), KC_TRNS, KC_TRNS,
+ KC_A, M(JPHA), M(JPTE), M(JPTA), KC_U, KC_TRNS,
+ KC_TRNS, KC_TRNS, M(JPMA), M(JPHO), KC_I, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,M(KAZARI)
+),
+/* Keymap 2: Japanese with Fn
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | xe | | | xke | | | | xya | | xtsu | xo | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | xka | | |------| |------| xa | xyo | | | xu | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | xi | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ *
+ *
+ *
+ */
+[JPXON] = KEYMAP(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, M(JPXE), KC_NO, M(JPXKE), KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, M(JPXKA), KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, M(JPXYA), KC_NO, M(JPXTU), M(JPXO), KC_NO, KC_NO,
+ M(JPXA), M(JPXYO), M(JPXYU), KC_NO, M(JPXU), KC_NO,
+ KC_NO, KC_NO,KC_NO, KC_NO, M(JPXI), KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, KC_NO
+),
+/* Keymap 3: Japanese with kazari
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | go | za | be | ge | | | | bu | ze | du | gu | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | do | ji | ga | gi | zu |------| |------| | ba | de | da | vu | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | zo | bi | di | | | | | | | bo | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ *
+ *
+ *
+ */
+[JPKAZARI] = KEYMAP(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, M(JPGO), M(JPZA), M(JPBE), M(JPGE), KC_NO,
+ KC_NO, M(JPDO), M(JPJI), M(JPGA), M(JPGI), M(JPZU),
+ KC_NO, KC_NO, M(JPZO), M(JPBI), M(JPDI), KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ M(SHIFT), KC_NO, KC_TRNS,
+ // right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, M(JPBU), M(JPZE), M(JPDU), M(JPGU), KC_NO, KC_NO,
+ KC_NO, M(JPBA), M(JPDE), M(JPDA), M(JPVU), KC_NO,
+ KC_NO, KC_NO, KC_NO, M(JPBO), KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, KC_TRNS
+),
+/* Keymap 4: Japanese with Toprow
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | e | - | re | | | | | ya | ne | ru | o | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | ra | ri | na | no | mi |------| |------| wa | yo | yu | ni | nn | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | mo | ro | wo | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ *
+ *
+ *
+ */
+[JPTOPROW] = KEYMAP(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_E, KC_MINS, M(JPRE), KC_NO, KC_NO,
+ KC_NO, M(JPRA), M(JPRI), M(JPNA), M(JPNO), M(JPMI),
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_TRNS, KC_NO, KC_NO,
+ // right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, M(JPYA), M(JPNE), M(JPRU), KC_O, KC_NO, KC_NO,
+ M(JPWA), M(JPYO), M(JPYU), M(JPNI), M(JPNN), KC_NO,
+ KC_NO, KC_NO, M(JPMO), M(JPRO), M(JPWO), KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, M(KAZARI)
+),
+
+/* Keymap 5: Japanese with Toprow and Kazari
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | pe | | | | | pu | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | pa | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | pi | | | | | | | | po | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ *
+ *
+ *
+ */
+[JPTRKZ] = KEYMAP(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, M(JPPE),KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, M(JPPI), KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_TRNS, KC_NO, KC_NO,
+ // right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, M(JPPU), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, M(JPPA), KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, M(JPPO), KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, KC_TRNS
+),
+/* Keymap 6: Number Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | " | [ | ] | | | | | % | 7 | 8 | 9 | | F12 |
+ * |--------+------+------+------+------+------| ; | | |------+------+------+------+------+--------|
+ * | | | / | + | { | } |------| |------| ! | 4 | 5 | 6 | 0 | , |
+ * |--------+------+------+------+------+------| : | | & |------+------+------+------+------+--------|
+ * | | | * | - | ( | ) | | | | . | 1 | 2 | 3 | ? | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | # | | < | = | > | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| Back | Ent |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// Numbers
+[NUM] = KEYMAP(
+ // left hand
+ KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
+ KC_NO, KC_NO, KC_NO, JP_DQT, KC_RBRACKET, KC_BSPC, KC_SCLN,
+ KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRACKET), JP_RCBR,
+ KC_NO, KC_NO, JP_ASTR, KC_MINS, LSFT(KC_8), LSFT(KC_9), JP_COLN,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_HASH,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, KC_TRNS,
+ // right hand
+ KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ LSFT(KC_JYEN), KC_PERC, KC_7, KC_8, KC_9, KC_NO, KC_F12,
+ KC_EXLM, KC_4, KC_5, KC_6, KC_0, KC_COMM,
+ LSFT(KC_6), KC_DOT, KC_1, KC_2, KC_3, KC_QUES, KC_NO,
+ KC_LT,JP_EQL, KC_GT, KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_SPC, KC_BSLS, KC_DOT
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_MOMENTARY(NUM) // FN1 - Momentary Layer 6 (Numbers)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+
+ // MACRO only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ case CTLSHFT:
+ if (record->event.pressed) {
+ return MACRO( D(LSFT), D(LCTL), END);
+ } else {
+ return MACRO( U(LSFT), U(LCTL), END);
+ }
+ break;
+ case CUTCOPY:
+ if (record->event.pressed) {
+ start = timer_read();
+ } else {
+ if (timer_elapsed(start) > 150) {
+ return MACRO( D(LCTL), T(X), U(LCTL), END);
+ } else {
+ return MACRO( D(LCTL), T(C), U(LCTL), END);
+ }
+ }
+ break;
+
+ // kana macros start here
+
+ case JPVU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(V), T(U), END);
+ }
+ break;
+ case JPNU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(N), T(U), END);
+ }
+ break;
+ case JPKO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(K), T(O), END);
+ }
+ break;
+ case JPSA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(S), T(A), END);
+ }
+ break;
+ case JPKE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(K), T(E), END);
+ }
+ break;
+ case JPHE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(H), T(E), END);
+ }
+ break;
+ case JPSHI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(S), T(I), END);
+ }
+ break;
+ case JPKA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(K), T(A), END);
+ }
+ break;
+ case JPKI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(K), T(I), END);
+ }
+ break;
+ case JPSU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(S), T(U), END);
+ }
+ break;
+ case JPSO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(S), T(O), END);
+ }
+ break;
+ case JPHI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(H), T(I), END);
+ }
+ break;
+ case JPCHI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(T), T(I), END);
+ }
+ break;
+ case JPFU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(F), T(U), END);
+ }
+ break;
+ case JPSE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(S), T(E), END);
+ }
+ break;
+ case JPTSU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(T), T(U), END);
+ }
+ break;
+ case JPKU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(K), T(U), END);
+ }
+ break;
+ case JPTE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(T), T(E), END);
+ }
+ break;
+ case JPTA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(T), T(A), END);
+ }
+ break;
+ case JPTO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(T), T(O), END);
+ }
+ break;
+ case JPHA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(H), T(A), END);
+ }
+ break;
+ case JPHO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(H), T(O), END);
+ }
+ break;
+ case JPXKE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(K), T(E), END);
+ }
+ break;
+ case JPXU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(U), END);
+ }
+ break;
+ case JPXKA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(K), T(A), END);
+ }
+ break;
+ case JPXA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(A), END);
+ }
+ break;
+ case JPXO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(O), END);
+ }
+ break;
+ case JPGO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(G), T(O), END);
+ }
+ break;
+ case JPZA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Z), T(A), END);
+ }
+ break;
+ case JPGE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(G), T(E), END);
+ }
+ break;
+ case JPBE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(B), T(E), END);
+ }
+ break;
+ case JPYU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Y), T(U), END);
+ }
+ break;
+ case JPJI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(J), T(I), END);
+ }
+ break;
+ case JPGA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(G), T(A), END);
+ }
+ break;
+ case JPGI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(G), T(I), END);
+ }
+ break;
+ case JPZU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Z), T(U), END);
+ }
+ break;
+ case JPZO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Z), T(O), END);
+ }
+ break;
+ case JPBI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(B), T(I), END);
+ }
+ break;
+ case JPDI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(D), T(I), END);
+ }
+ break;
+ case JPZE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Z), T(E), END);
+ }
+ break;
+ case JPDU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(D), T(U), END);
+ }
+ break;
+ case JPGU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(G), T(U), END);
+ }
+ break;
+ case JPYA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Y), T(A), END);
+ }
+ break;
+ case JPYO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(Y), T(O), END);
+ }
+ break;
+ case JPDE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(D), T(E), END);
+ }
+ break;
+ case JPDA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(D), T(A), END);
+ }
+ break;
+ case JPDO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(D), T(O), END);
+ }
+ break;
+ case JPBA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(B), T(A), END);
+ }
+ break;
+ case JPBO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(B), T(O), END);
+ }
+ break;
+ case JPRI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(R), T(I), END);
+ }
+ break;
+ case JPRE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(R), T(E), END);
+ }
+ break;
+ case JPRA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(R), T(A), END);
+ }
+ break;
+ case JPNA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(N), T(A), END);
+ }
+ break;
+ case JPNO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(N), T(O), END);
+ }
+ break;
+ case JPMI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(M), T(I), END);
+ }
+ break;
+ case JPMU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(M), T(U), END);
+ }
+ break;
+ case JPME:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(M), T(E), END);
+ }
+ break;
+ case JPNE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(N), T(E), END);
+ }
+ break;
+ case JPMA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(M), T(A), END);
+ }
+ break;
+ case JPXTU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(T), T(U), END);
+ }
+ break;
+ case JPWA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(W), T(A), END);
+ }
+ break;
+ case JPRU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(R), T(U), END);
+ }
+ break;
+ case JPWO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(W), T(O), END);
+ }
+ break;
+ case JPNI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(N), T(I), END);
+ }
+ break;
+ case JPNN:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(N), T(N), END);
+ }
+ break;
+ case JPMO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(M), T(O), END);
+ }
+ break;
+ case JPRO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(R), T(O), END);
+ }
+ break;
+ case JPXE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(E), END);
+ }
+ break;
+ case JPXI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(I), END);
+ }
+ break;
+ case JPXYU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(Y), T(U), END);
+ }
+ break;
+ case JPXYA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(Y), T(A), END);
+ }
+ break;
+ case JPXYO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(X), T(Y), T(O), END);
+ }
+ break;
+ case JPPE:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(P), T(E), END);
+ }
+ break;
+ case JPPU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(P), T(U), END);
+ }
+ break;
+ case JPPI:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(P), T(I), END);
+ }
+ break;
+ case JPPA:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(P), T(A), END);
+ }
+ break;
+ case JPPO:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(P), T(O), END);
+ }
+ break;
+ case JPBU:
+ if (record->event.pressed) {
+ return MACRO( I(1), T(B), T(U), END);
+ }
+ break;
+
+ // kana macros end here
+
+ break;
+ case SHIFT:
+ if (record->event.pressed) {
+ start = timer_read();
+ if (layer_state == (1<event.pressed) {
+ start = timer_read();
+ if (layer_state == (1<event.pressed) {
+ start = timer_read();
+ layer_state = (1<event.pressed) {
+ if (default_layer_state == (1<event.pressed) {
+ default_layer_state = (1<event.pressed) {
+ default_layer_state = (1< event.pressed) { // For resetting EEPROM
+ eeconfig_init();
+ }
+ break;
+ case 2:
+ if (record->event.pressed) { // For resetting EEPROM
+ api_send_unicode(0x0CA0);
+ }
+ break;
}
return MACRO_NONE;
};
diff --git a/keyboards/ergodox/keymaps/kristian/keymap.c b/keyboards/ergodox/keymaps/kristian/keymap.c
new file mode 100644
index 0000000000..e7e4243255
--- /dev/null
+++ b/keyboards/ergodox/keymaps/kristian/keymap.c
@@ -0,0 +1,79 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+#include "keymap_fr_ch.h"
+#include "keymap_french.h"
+#include "keymap_german.h"
+#include "keymap_german_ch.h"
+#include "keymap_nordic.h"
+#include "keymap_norwegian.h"
+#include "keymap_spanish.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+[0] = KEYMAP(NO_LESS,KC_1,KC_2,KC_3,KC_4,KC_5,KC_BSPACE,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,TG(1),KC_BSPACE,KC_A,KC_S,KC_D,KC_F,KC_G,SFT_T(NO_APOS),CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,SFT_T(KC_EQUAL),MO(1),CTL_T(KC_GRAVE),KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_CAPSLOCK,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_6,KC_7,KC_8,KC_9,KC_0,NO_PLUS,TG(1),KC_Y,KC_U,KC_I,KC_O,KC_P,NO_AM,KC_H,KC_J,KC_K,KC_L,LT(2,NO_OSLH),NO_AE,SFT_T(KC_RBRC),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SFT_T(NO_APOS),KC_DOWN,KC_UP,NO_LPRN,NO_RPRN,MO(1),NO_QUOT,CTL_T(KC_ESCAPE),NO_APOS,KC_LALT,KC_LGUI,KC_ENTER),
+
+[1] = KEYMAP(M(0),KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LSHIFT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LCTL,KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_TRANSPARENT,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_7,KC_8,KC_9,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_4,KC_5,KC_6,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_0,KC_1,KC_2,KC_3,NO_LBRC,NO_RBRC,KC_LSHIFT,KC_COMMA,KC_DOT,LSFT(NO_LBRC),LSFT(NO_RBRC),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LALT,KC_LGUI,KC_ENTER),
+
+[2] = KEYMAP(KC_ESCAPE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_TRANSPARENT,KC_LSHIFT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LCTL,KC_LALT,KC_LGUI,KC_MS_BTN1,KC_MS_BTN2,KC_ESCAPE,KC_TRANSPARENT,KC_TRANSPARENT,KC_SPACE,KC_LGUI,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PREV_TRACK,KC_MEDIA_PLAY_PAUSE,KC_MEDIA_NEXT_TRACK,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_ESCAPE,KC_MS_WH_UP,KC_MS_WH_DOWN,KC_MS_ACCEL0,KC_MS_ACCEL1),
+
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(1)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ case 4:
+ ergodox_right_led_1_on();
+ ergodox_right_led_2_on();
+ break;
+ case 5:
+ ergodox_right_led_1_on();
+ ergodox_right_led_3_on();
+ break;
+ case 6:
+ ergodox_right_led_2_on();
+ ergodox_right_led_3_on();
+ break;
+ case 7:
+ ergodox_right_led_1_on();
+ ergodox_right_led_2_on();
+ ergodox_right_led_3_on();
+ break;
+ default:
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/phoenix/keymap.c b/keyboards/ergodox/keymaps/phoenix/keymap.c
new file mode 100644
index 0000000000..624817d474
--- /dev/null
+++ b/keyboards/ergodox/keymaps/phoenix/keymap.c
@@ -0,0 +1,184 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | _ | | Del | 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | = | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Down | UP | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | Home | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | End | | PgUp | | |
+ * | Space|Backsp|------| |------| Enter |Space |
+ * | |ace | LGui | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LSFT(KC_MINS),
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_EQL, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ ALT_T(KC_APP), KC_HOME,
+ KC_END,
+ KC_SPC,KC_BSPC,KC_LGUI,
+ // right hand
+ KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT),
+ MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_DOWN,KC_UP ,KC_LBRC,KC_RBRC, KC_FN1,
+ KC_LALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | F11 | F12 | | | | | | | Up | 7 | 8 | 9 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | 0 | 0 | . | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_F11, KC_F12, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_0, KC_0, KC_DOT, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolDn |VolUp | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/phoenix/readme.md b/keyboards/ergodox/keymaps/phoenix/readme.md
new file mode 100644
index 0000000000..b1053bfb78
--- /dev/null
+++ b/keyboards/ergodox/keymaps/phoenix/readme.md
@@ -0,0 +1,10 @@
+# ErgoDox EZ Phoenix Configuration
+
+I started working using the default layout. The changes that I made are largely things that I consistely do wrong.
+
+As a programmer I hit tab a lot for autocomplete so that muscle memory is very difficult to re-write. The stragest change might be all the keys that I cleared in the Code layer. This is mainly to facilitate quickly typing uuids, as sometimes it is quite tedious to copy/paste them from one window to the other.
+
+## Changelog
+
+* April 25, 2016 (V1.0):
+ * Initial submission.
diff --git a/keyboards/ergodox/keymaps/pvinis/keymap.c b/keyboards/ergodox/keymaps/pvinis/keymap.c
index df906201a8..3c49118842 100644
--- a/keyboards/ergodox/keymaps/pvinis/keymap.c
+++ b/keyboards/ergodox/keymaps/pvinis/keymap.c
@@ -13,20 +13,16 @@ enum {
QWERTY,
CARPALX,
SYSCTL,
+ MOUSE,
};
// extra keys
enum {
NONE = 0,
- // mouse
- MS_UL, // up left
- MS_UR, // up right
- MS_DL, // down left
- MS_DR, // down right
-
// tap dance
TD_FLSH, // flash keyboard
+ TD_LAYR, // SYSCTL and MOUSE layer switch
};
// application selection
@@ -49,10 +45,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
+ * | | | | | | |SYSCTL| | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * |BEGIN |QWERTY| |SYSCTL| |
+ * |BEGIN |QWERTY| | | |
* ,------|------|------| |------+--------+------.
* | | |CARPAL| |Slack | | |
* |Backsp|LShift|------| |------| Enter |Space |
@@ -66,15 +62,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,TG(BEGIN) ,TG(QWERTY)
- ,TG(CARPALX)
- ,KC_BSPC ,KC_LSFT ,TG(SYSCTL)
+ ,TG(BEGIN) ,TD(TD_LAYR)
+ ,TG(MOUSE)
+ ,KC_BSPC ,KC_LSFT ,TD(TD_LAYR)
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,MO(SYSCTL) ,KC_NO ,KC_NO ,KC_NO ,KC_NO
,TG(SYSCTL) ,KC_NO
,AP_SLCK
@@ -85,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* a beginner's keymap i currently use.
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | = |
+ * | | 1 | 2 | 3 | 4 | 5 | opt | | 6 | 7 | 8 | 9 | 0 | - | = |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -104,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------' `----------------------'
*/
[BEGIN] = KEYMAP(
- KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6
+ KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LALT
,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
,CTL_T(KC_ESC) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LPRN
@@ -114,11 +110,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_TRNS
,KC_TRNS ,KC_TRNS ,KC_TRNS
- ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_EQL
- ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS
- ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT
- ,KC_RPRN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT
- ,KC_UP ,KC_DOWN ,KC_TRNS ,KC_QUOT ,KC_TRNS
+ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_EQL
+ ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS
+ ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT
+ ,KC_RPRN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT
+ ,KC_TRNS ,KC_DOWN ,KC_TRNS ,KC_QUOT ,KC_TRNS
,KC_TRNS ,KC_TRNS
,KC_TRNS
@@ -213,27 +209,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_TRNS ,KC_TRNS ,KC_TRNS
),
-
/* SYSCTL
* a keymap to control my system.
*
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | Mute |VolDn |VolUp | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | | | | | | |MsUpL | MsUp |MsUpR | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | Lock |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | |MsDnL | MsDn | | | Sleep |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | Power|
- * `----------------------------------' `----------------------------------'
+ * ,--------------------------------------------------. ,------------------------------------------------------.
+ * | ^ | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+----------+------+------+--------|
+ * | | | | | | | | | | Mute | Home | Up | End | | |
+ * |--------+------+------+------+------+------| | | |------+------+----------+------+------+--------|
+ * | | | | | | |------| |------|VolUp | Left | Down |Right | | Lock |
+ * |--------+------+------+------+------+------| | | |------+------+----------+------+------+--------|
+ * | | | | | | | | | |VolDn | Prev |Play/Pause| Next | | Sleep |
+ * `--------+------+------+------+------+-------------' `-------------+------+----------+------+------+--------'
+ * | | | | | | | | | | | Power|
+ * `----------------------------------' `--------------------------------------'
* ,-------------. ,-------------.
- * | | | | |MidClk|
+ * | | | | | |
* ,------|------|------| |------+------+------.
- * | | | | | |Left |Right |
- * | | |------| |------| Click| Click|
* | | | | | | | |
+ * | | |------| |------| | |
+ * | | | ^ | | | | |
* `--------------------' `--------------------'
*/
[SYSCTL] = KEYMAP(
@@ -245,13 +240,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_NO ,KC_NO
,KC_NO
- ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_TRNS
- /*,KC_POP*/,KC_NO ,KC_NO ,KC_NO ,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_NO
- /*,KC_PTRN*/,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LCTL(LSFT(KC_PWR))
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_SLEP
- ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_PWR
+ /*,KC_POP /// */,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ /* /// ,KC_PTRN*/,KC_NO ,KC_MUTE ,KC_HOME ,KC_UP ,KC_END ,KC_NO ,KC_NO
+ ,KC_VOLU ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_NO ,LCTL(LSFT(KC_PWR))
+ ,KC_NO ,KC_VOLD ,KC_MPRV ,KC_MPLY ,KC_MNXT ,KC_NO ,KC_SLEP
+ ,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_PWR
+
+ ,KC_NO ,KC_NO
+ ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO
+),
+
+/* MOUSE
+ * a keymap to control my system.
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ^ | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | MsUp | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | |MidClk|
+ * ,------|------|------| |------+------+------.
+ * | | | | | |Left |Right |
+ * | | |------| |------| Click| Click|
+ * | | | ^ | | | | |
+ * `--------------------' `--------------------'
+ */
+[MOUSE] = KEYMAP(
+ KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+
+ ,KC_NO ,KC_NO
+ ,KC_NO
+ ,KC_NO ,KC_NO ,KC_TRNS
+
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_MS_U ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
+ ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
,KC_NO ,KC_NO
,KC_NO
@@ -341,47 +380,28 @@ void matrix_init_user() {
ergodox_led_all_off();
}
+// light up leds based on the layer
+void matrix_scan_user(void) {
+ uint8_t layer = biton32(layer_state);
+
+ switch(layer) {
+ case SYSCTL:
+ ergodox_right_led_3_on();
+ break;
+ case MOUSE:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ break;
+ }
+}
+
// extra keys
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
switch (id) {
-
- // mouse
- case MS_UL:
- if (record->event.pressed) {
- mousekey_on(KC_MS_UP);
- mousekey_on(KC_MS_LEFT);
- } else {
- mousekey_off(KC_MS_UP);
- mousekey_off(KC_MS_LEFT);
- }
- break;
- case MS_UR:
- if (record->event.pressed) {
- mousekey_on(KC_MS_UP);
- mousekey_on(KC_MS_RIGHT);
- } else {
- mousekey_off(KC_MS_UP);
- mousekey_off(KC_MS_RIGHT);
- }
- break;
- case MS_DL:
- if (record->event.pressed) {
- mousekey_on(KC_MS_DOWN);
- mousekey_on(KC_MS_LEFT);
- } else {
- mousekey_off(KC_MS_DOWN);
- mousekey_off(KC_MS_LEFT);
- }
- break;
- case MS_DR:
- if (record->event.pressed) {
- mousekey_on(KC_MS_DOWN);
- mousekey_on(KC_MS_RIGHT);
- } else {
- mousekey_off(KC_MS_DOWN);
- mousekey_off(KC_MS_RIGHT);
- }
- break;
}
return MACRO_NONE;
}
@@ -425,6 +445,31 @@ void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
ergodox_right_led_3_off();
}
+// SYSCTL on first tap, MOUSE ON second tap
+void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
+ uint8_t layer = biton32(layer_state);
+
+ switch(state->count) {
+ case 1:
+ switch(layer) {
+ case SYSCTL:
+ layer_off(SYSCTL);
+ break;
+ case MOUSE:
+ layer_off(MOUSE);
+ break;
+ default:
+ layer_on(SYSCTL);
+ break;
+ }
+ break;
+ case 2:
+ layer_on(MOUSE);
+ break;
+ }
+}
+
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
+ [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
};
diff --git a/keyboards/ergodox/keymaps/reset_eeprom/keymap.c b/keyboards/ergodox/keymaps/reset_eeprom/keymap.c
new file mode 100644
index 0000000000..f708454ce2
--- /dev/null
+++ b/keyboards/ergodox/keymaps/reset_eeprom/keymap.c
@@ -0,0 +1,140 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+enum custom_keycodes {
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ EPRM,
+ VRSN,
+ RGB_SLD
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ EPRM, EPRM, EPRM, EPRM, EPRM, EPRM, EPRM,
+ EPRM, EPRM, EPRM, EPRM, EPRM, EPRM, EPRM,
+ EPRM, EPRM, EPRM, EPRM, EPRM, EPRM,
+ EPRM, EPRM, EPRM, EPRM, EPRM, EPRM, EPRM,
+ EPRM, EPRM, EPRM, EPRM,EPRM,
+ EPRM, EPRM,
+ EPRM,
+ EPRM,EPRM,EPRM,
+ // right hand
+ EPRM, EPRM, EPRM, EPRM, EPRM, EPRM, EPRM,
+ EPRM, EPRM, EPRM, EPRM, EPRM, EPRM, EPRM,
+ EPRM, EPRM, EPRM, EPRM, EPRM,EPRM,
+ EPRM,EPRM, EPRM, EPRM,EPRM, EPRM, EPRM,
+ EPRM, EPRM,EPRM,EPRM, EPRM,
+ EPRM, EPRM,
+ EPRM,
+ EPRM,EPRM, EPRM
+ )
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ case 1:
+ if (record->event.pressed) { // For resetting EEPROM
+ eeconfig_init();
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ // dynamically generate these.
+ case EPRM:
+ if (record->event.pressed) {
+ eeconfig_init();
+ }
+ return false;
+ break;
+ case VRSN:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ return false;
+ break;
+ case RGB_SLD:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_mode(1);
+ #endif
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/robot_test_layout/keymap.c b/keyboards/ergodox/keymaps/robot_test_layout/keymap.c
new file mode 100644
index 0000000000..480be177f0
--- /dev/null
+++ b/keyboards/ergodox/keymaps/robot_test_layout/keymap.c
@@ -0,0 +1,151 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+enum custom_keycodes {
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ RGB_FF0000,
+ RGB_00FF00,
+ RGB_0000FF,
+ RGB_FFFFFF,
+ RGB_TOGGLE,
+ LED1,
+ LED2,
+ LED3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = KEYMAP(
+ RGB_TOGGLE, RGB_FF0000, RGB_00FF00, RGB_0000FF, RGB_FFFFFF, KC_5, KC_LPRN,
+ KC_GRAVE, KC_A, KC_B, KC_C, KC_D, KC_E, KC_EXLM,
+ KC_HASH, KC_J, KC_K, KC_L, KC_M, KC_N,
+ KC_AMPR, KC_T, KC_U, KC_V, KC_W, KC_X, KC_DLR,
+ KC_PIPE, KC_R, KC_PLUS, KC_LCBR, KC_RCBR,
+
+ KC_F, KC_G,
+ KC_H,
+ KC_P, KC_O, KC_I,
+
+
+
+ // RIGHT HAND
+ KC_RPRN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_AT, KC_F, KC_G, KC_H, KC_I, KC_COLN, KC_BSLS,
+ KC_O, KC_P, KC_Q, KC_R, KC_S, KC_QUOT,
+ LSFT(KC_COMM), KC_Y, KC_Z, KC_COMM, KC_DOT, KC_SLSH, KC_ASTR,
+ KC_A, KC_B, KC_C, KC_D, KC_PIPE,
+
+ LED1, KC_E,
+ LED2,
+ LED3, KC_J, KC_K
+ )
+};
+
+
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(1)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+bool status_led1_on = false, status_led2_on = false, status_led3_on = false;
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ // dynamically generate these.
+ case RGB_FF0000:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ EZ_RGB(0xff0000);
+ register_code(KC_1); unregister_code(KC_1);
+ #endif
+ }
+ return false;
+ break;
+ case RGB_00FF00:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ EZ_RGB(0x00ff00);
+ register_code(KC_2); unregister_code(KC_2);
+ #endif
+ }
+ return false;
+ break;
+ case RGB_0000FF:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ EZ_RGB(0x0000ff);
+ register_code(KC_3); unregister_code(KC_3);
+ #endif
+ }
+ return false;
+ break;
+ case RGB_FFFFFF:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ EZ_RGB(0xffffff);
+ register_code(KC_4); unregister_code(KC_4);
+ #endif
+ }
+ return false;
+ break;
+ case RGB_TOGGLE:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_toggle();
+ register_code(KC_EQL); unregister_code(KC_EQL);
+ #endif
+ }
+ return false;
+ break;
+ case LED1:
+ if (record->event.pressed) {
+ if(status_led1_on) {
+ ergodox_right_led_1_off();
+ status_led1_on = false;
+ } else {
+ ergodox_right_led_1_on();
+ status_led1_on = true;
+ }
+ }
+ return false;
+ break;
+ case LED2:
+ if (record->event.pressed) {
+ if(status_led2_on) {
+ ergodox_right_led_2_off();
+ status_led2_on = false;
+ } else {
+ ergodox_right_led_2_on();
+ status_led2_on = true;
+ }
+ }
+ return false;
+ break;
+ case LED3:
+ if (record->event.pressed) {
+ if(status_led3_on) {
+ ergodox_right_led_3_off();
+ status_led3_on = false;
+ } else {
+ ergodox_right_led_3_on();
+ status_led3_on = true;
+ }
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/ergodox/keymaps/robot_test_layout/readme.md b/keyboards/ergodox/keymaps/robot_test_layout/readme.md
new file mode 100644
index 0000000000..45dc2aa76c
--- /dev/null
+++ b/keyboards/ergodox/keymaps/robot_test_layout/readme.md
@@ -0,0 +1,5 @@
+# Robot test layout
+
+Use this layout if you like to pretend you're [Norman](https://www.youtube.com/watch?v=-sbxFBay-tg), the ErgoDox EZ manufacturing robot.
+
+It's really meant just for internal use, but we're posting it on GitHub anyway, because hurray to open source. :)
diff --git a/keyboards/ergodox/keymaps/sethbc/Makefile b/keyboards/ergodox/keymaps/sethbc/Makefile
index 8c4ff87845..457a3d01d4 100644
--- a/keyboards/ergodox/keymaps/sethbc/Makefile
+++ b/keyboards/ergodox/keymaps/sethbc/Makefile
@@ -1,14 +1,3 @@
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
-SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = yes # Unicode
-
ifndef QUANTUM_DIR
include ../../../../Makefile
endif
diff --git a/keyboards/ergodox/keymaps/sethbc/keymap.c b/keyboards/ergodox/keymaps/sethbc/keymap.c
index 6846c4d529..8816ad63bb 100644
--- a/keyboards/ergodox/keymaps/sethbc/keymap.c
+++ b/keyboards/ergodox/keymaps/sethbc/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LGUI, KC_GRV, KC_BSLS, KC_LEFT, KC_RGHT,
KC_LCTL, KC_LALT,
KC_HOME,
- KC_SPC, KC_BSPC, KC_END,
+ KC_BSPC, KC_DEL, KC_END,
// right hand
MO(FN2), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
diff --git a/keyboards/ergodox/keymaps/sethbc/readme.md b/keyboards/ergodox/keymaps/sethbc/readme.md
index 510b2f99c8..57b5d0ec7c 100644
--- a/keyboards/ergodox/keymaps/sethbc/readme.md
+++ b/keyboards/ergodox/keymaps/sethbc/readme.md
@@ -1,3 +1,4 @@
# sethbc's Ergodox EZ keymap
-Largely based on the Ergodox Infinity default keymap
+Largely based on the Ergodox Infinity default keymap, but layer locking has been
+removed in favor of momentary layer activation
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.c b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.c
new file mode 100644
index 0000000000..c9dc43c561
--- /dev/null
+++ b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.c
@@ -0,0 +1,213 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+/* Keymap 0: Basic Dvorak layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Hebrew | 1 | 2 | 3 | 4 | 5 |ALT+S | |B.tick| 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | TAB | ' | , | . | P | Y | LCK2 | | | F | G | C | R | L | / |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | ESC | A | O | E | U | I |------| |------| D | H | T | N | S | - |
+ * |--------+------+------+------+------+------| LCK1 | | |------+------+------+------+------+--------|
+ * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RSHIFT |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |FN2 | COPY | CUT | PASTE| FN1 | | [ | ] | \ | UNDO | CTRL+A |
+ * `----------------------------------' `------------------------------------'
+ * ,-------------. ,-------------.
+* | DEL | | | END | HOME |
+ * ,------|------|------| |------+--------+------.
+ * | | | SUPER| | PgUp | | |
+ * | BACK | CTRL |------| |------| Enter |SPACE |
+ * | SPACE| | ALT | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+[0] = KEYMAP(
+ TG(1), KC_1, KC_2, KC_3, KC_4, KC_5, LALT(KC_LSHIFT),
+ KC_TAB, KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, TG(3),
+ KC_ESCAPE, KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_LSHIFT, KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, TG(2),
+ MO(3), LCTL(KC_C), LCTL(KC_X), LCTL(KC_V), MO(2),
+ KC_DELETE, KC_TRNS,
+ KC_LGUI,
+ KC_BSPACE,CTL_T(KC_NO),KC_LALT,
+
+ KC_TILD, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
+ KC_TRNS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH,
+ KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS,
+ KC_TRNS, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSHIFT,
+ KC_LBRACKET, KC_RBRACKET, KC_BSLASH, KC_UNDO, LCTL(KC_A),
+ KC_END, KC_HOME,
+ KC_PGUP,
+ KC_PGDOWN, KC_ENTER, KC_SPACE
+),
+
+ /* Keymap 1: Hebrew layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[1] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_W, KC_QUOTE, KC_SLASH, KC_R, KC_T, KC_TRNS,
+ KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_Y, KC_U, KC_E, KC_O, KC_P, KC_TRNS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_TRNS,
+ KC_TRNS, KC_N, KC_M, KC_COMMA, KC_DOT, KC_I, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+/* Keymap 2: Arrows ,Mouse Navigation and F Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | F11 | | | UP | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | LEFT | DOWN | RIGHT| | |
+ * |--------+------+------+------+------+------| | | F12 |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | Lclk | Rclk | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[2] = KEYMAP(
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
+ KC_F11, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS,
+ KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MS_BTN1, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+ /* Keymap 3: Numpad Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | NMLK | P/ | P* | P- | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | 7 | 8 | 9 | P+ | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | 4 | 5 | 6 | P+ | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | 1 | 2 | 3 | ENTER| |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | 0 | 0 | . | ENTER| |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[3] = KEYMAP(
+ // Left Hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // Right Hand
+ KC_TRNS, KC_TRNS, KC_LOCKING_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TRNS,
+ KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_ENTER, KC_TRNS,
+ KC_KP_0, KC_KP_0, KC_KP_DOT, KC_ENTER, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(1)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ default:
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png
new file mode 100644
index 0000000000..82c81dcaed
Binary files /dev/null and b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png differ
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png
new file mode 100644
index 0000000000..ec8e7494d4
Binary files /dev/null and b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png differ
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md
new file mode 100644
index 0000000000..99b8182f59
--- /dev/null
+++ b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md
@@ -0,0 +1,10 @@
+#Dvorak-Hebrew
+
+* This layout solves the problem of Dvorak Keyboard with OS QWERTY, which when you change to hebrew all the letters scrumble, the second layer is the Hebrew (top left button), which you can use on any computer, Plug and play.
+
+* The Hebrew layout itself solve another problem with the different locations of punctuation on Dvorak/Hebrew with few minor changes, it's based on Yuval Rabinovich's layout which you can find here : http://heboard.wordpress.com for regular QWERTY keyboards and for other operation systems.
+
+* these are only good when using a public computer or one you can't change settings on, because you need to change both keyboard layout and os layout each time you change language. A better solution is to use [hebrew-hw-dvorak](https://github.com/20lives/hebrew-hw-dvorak) as os layout.
+
+![layout image](https://github.com/20lives/qmk_firmware/blob/master/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png)
+![layout image](https://github.com/20lives/qmk_firmware/blob/master/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png)
diff --git a/keyboards/ergodox/keymaps/videck/Makefile b/keyboards/ergodox/keymaps/videck/Makefile
new file mode 100644
index 0000000000..5c7d21f2cc
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/Makefile
@@ -0,0 +1,19 @@
+AUDIO_ENABLE:=no
+BACKLIGHT_ENABLE:=no
+BLUETOOTH_ENABLE:=no
+BOOTMAGIC_ENABLE:=no
+COMMAND_ENABLE:=no
+CONSOLE_ENABLE:=no
+EXTRAKEY_ENABLE:=yes
+MIDI_ENABLE:=no
+MOUSEKEY_ENABLE:=yes
+NKRO_ENABLE:=no
+RGBLIGHT_ENABLE:=no
+SLEEP_LED_ENABLE:=no
+TAP_DANCE_ENABLE:=yes
+UNICODEMAP_ENABLE:=no
+UNICODE_ENABLE:=no
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/videck/config.h b/keyboards/ergodox/keymaps/videck/config.h
new file mode 100644
index 0000000000..d89aabe779
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/config.h
@@ -0,0 +1,13 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#ifndef NO_DEBUG
+ #define NO_DEBUG
+#endif
+#ifndef NO_PRINT
+ #define NO_PRINT
+#endif
+
+#endif
diff --git a/keyboards/ergodox/keymaps/videck/keymap.c b/keyboards/ergodox/keymaps/videck/keymap.c
new file mode 100644
index 0000000000..7bd6274e94
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/keymap.c
@@ -0,0 +1,179 @@
+#include
+
+#include "ergodox.h"
+#include "action_layer.h"
+
+enum {
+ BASE = 0, // Default layer
+ ARROWS = 1, // Arrows and Fx keys layer
+ MOUSE = 2, // Mouse movement and buttons layer
+ PARENS = 3, // Parenthesis easy access layer
+
+ TD_L = 0, // Tap dance index for left shift
+ TD_R = 1 // Tap dance index for right shift
+};
+
+// See the videck.png image for a visualization of the layout.
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = KEYMAP(
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME,
+ KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_END,
+ MO(PARENS), KC_A, KC_S, KC_D, KC_F, KC_G,
+ TD(TD_L), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSPC,
+ KC_LCTL, KC_LALT, KC_VOLD, KC_VOLU, KC_MUTE,
+ KC_ESC, KC_LGUI,
+ TG(MOUSE),
+ KC_SPC, KC_TAB, TG(ARROWS),
+ // right hand
+ KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_R),
+ KC_LBRC, KC_RBRC, KC_EQL, KC_RALT, KC_RCTL,
+ KC_APP, KC_ESC,
+ KC_INS,
+ KC_SLCK, KC_ENT, KC_SPC
+ ),
+ [ARROWS] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_NO,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [MOUSE] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_BTN3, KC_TRNS,
+ KC_TRNS,
+ KC_BTN1, KC_BTN2, KC_NO,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [PARENS] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_NO,
+ KC_TRNS, KC_TRNS, KC_NO,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+typedef void (*videck_tap_dance_trigger_t) (const uint16_t kc);
+
+typedef struct
+{
+ uint16_t kc1;
+ uint16_t kc2;
+ videck_tap_dance_trigger_t trigger;
+} videck_tap_dance_tuple_t;
+
+static void videck_tap_dance_finished (qk_tap_dance_state_t *state, void *user_data) {
+ videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data;
+
+ if (state->count == 1) {
+ register_code16 (tuple->kc1);
+ } else if (state->count == 2) {
+ register_code16 (tuple->kc2);
+ }
+}
+
+static void videck_tap_dance_reset (qk_tap_dance_state_t *state, void *user_data) {
+ videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data;
+
+ if (state->count == 1) {
+ unregister_code16 (tuple->kc1);
+ } else if (state->count == 2) {
+ unregister_code16 (tuple->kc2);
+ tuple->trigger(tuple->kc2);
+ }
+}
+
+static bool caps_lock_is_on;
+
+// Toggles caps lock status.
+static void videck_caps_trigger (const uint16_t kc) {
+ caps_lock_is_on ^= true;
+}
+
+#define ACTION_TAP_DANCE_DOUBLE_TRIGGER(kc1, kc2, double_trigger) { \
+ .fn = { NULL, videck_tap_dance_finished, videck_tap_dance_reset }, \
+ .user_data = (void *)&((videck_tap_dance_tuple_t) { kc1, kc2, double_trigger }), \
+ }
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_L] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_LSFT, KC_CAPS, videck_caps_trigger),
+ [TD_R] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_RSFT, KC_CAPS, videck_caps_trigger)
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+ ergodox_led_all_set(LED_BRIGHTNESS_LO);
+ caps_lock_is_on = false;
+};
+
+static void indicate_using_led(const uint8_t led, const bool enabled) {
+ if (enabled) {
+ ergodox_right_led_on(led);
+ } else {
+ ergodox_right_led_off(led);
+ }
+}
+
+static inline void indicate_caps_lock_state(const bool enabled) {
+ indicate_using_led(1, enabled);
+}
+
+static inline void indicate_arrows_layer_state(const bool enabled) {
+ indicate_using_led(2, enabled);
+}
+
+static inline void indicate_mouse_layer_state(const bool enabled) {
+ indicate_using_led(3, enabled);
+}
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+ // Check if we have shift locked.
+ indicate_caps_lock_state(caps_lock_is_on);
+ indicate_arrows_layer_state(IS_LAYER_ON(ARROWS));
+ indicate_mouse_layer_state(IS_LAYER_ON(MOUSE));
+};
diff --git a/keyboards/ergodox/keymaps/videck/readme.md b/keyboards/ergodox/keymaps/videck/readme.md
new file mode 100644
index 0000000000..759e81bac5
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/readme.md
@@ -0,0 +1,24 @@
+ViDeck keymap for ErgoDox
+=========================
+
+This is a QWERTY layout based on the US layout, where Vi functionality has been
+especially considered.
+
+# Features
+* Mouse movements using the Vi movement keys.
+* Vi movement keys doubling as arrow keys.
+* Shift lock using double tap.
+* A coder's modifier key for easy input of parenthesis.
+* Acess to the escape key using either thumb.
+* Reasonably accessible Scroll Lock key (useful if you, like me, want to switch
+ to a non-US layout once in a while in X).
+
+# Missing keys
+* Caps Lock (shift lock is used instead).
+* Pause/Break.
+* Print Screen.
+
+# LEDs
+* Shift lock is indicated using first LED.
+* Arrow keys layer is indicated using second LED.
+* Mouse keys layer is indicated using third LED.
diff --git a/keyboards/ergodox/keymaps/videck/videck.json b/keyboards/ergodox/keymaps/videck/videck.json
new file mode 100644
index 0000000000..7068cf5485
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/videck.json
@@ -0,0 +1,443 @@
+[
+ {
+ "backcolor": "#333333",
+ "background": {
+ "name": "PBT Black",
+ "style": "background-image: url('/bg/plastic/pbt-black.png');"
+ },
+ "switchMount": "cherry",
+ "switchBrand": "gateron",
+ "switchType": "KS-3-Red"
+ },
+ [
+ {
+ "x": 3.5,
+ "c": "#323232",
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "#\n3\n\nF3",
+ {
+ "x": 10.5
+ },
+ "*\n8\n\nF8"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "@\n2\n\nF2",
+ {
+ "x": 1
+ },
+ "$\n4\n\nF4",
+ {
+ "x": 8.5
+ },
+ "&\n7\n\nF7",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n\n#ac97d8\n\n\n\n#555454"
+ },
+ "(\n9\n\nF9"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "%\n5\n\nF5",
+ {
+ "t": "#ffffff"
+ },
+ "home",
+ {
+ "x": 4.5
+ },
+ "pgup",
+ {
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "^\n6\n\nF6"
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#ffffff",
+ "w": 1.5
+ },
+ "~\n`",
+ {
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "!\n1\n\nF1",
+ {
+ "x": 14.5
+ },
+ ")\n0\n\nF10",
+ {
+ "w": 1.5
+ },
+ "_\n-\n\nF11"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "t": "#ffffff"
+ },
+ "E",
+ {
+ "x": 10.5
+ },
+ "I"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "W",
+ {
+ "x": 1
+ },
+ "R",
+ {
+ "x": 8.5
+ },
+ "U",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615"
+ },
+ "O\n\n\n\n\n\n\n\n\n{"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff"
+ },
+ "T",
+ {
+ "h": 1.5
+ },
+ "end",
+ {
+ "x": 4.5,
+ "h": 1.5
+ },
+ "pgdn",
+ "Y"
+ ],
+ [
+ {
+ "y": -0.875,
+ "w": 1.5
+ },
+ "+\n=",
+ "Q",
+ {
+ "x": 14.5,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615"
+ },
+ "P\n\n\n\n\n\n\n\n\n}",
+ {
+ "t": "#ffffff\n\n\n#ac97d8",
+ "w": 1.5
+ },
+ "|\n\\\n\nF12"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "t": "#ffffff"
+ },
+ "D",
+ {
+ "x": 10.5,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8"
+ },
+ "K\n\n \n "
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5,
+ "t": "#ffffff"
+ },
+ "S",
+ {
+ "x": 1,
+ "n": true
+ },
+ "F",
+ {
+ "x": 8.5,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8",
+ "n": true
+ },
+ "J\n\n \n ",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8\n\n\n\n\n\n#f8d615"
+ },
+ "L\n\n \n \n\n\n\n\n\n("
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff"
+ },
+ "G",
+ {
+ "x": 6.5,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8"
+ },
+ "H\n\n \n "
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#f8d615",
+ "a": 6,
+ "w": 1.5
+ },
+ "( ) [ ] { }",
+ {
+ "t": "#ffffff",
+ "a": 4
+ },
+ "A",
+ {
+ "x": 14.5,
+ "t": "#ffffff\n\n\n\n\n\n\n#60605b\n\n#f8d615"
+ },
+ ":\n;\n\n\n\n\n\nÖ\n\n)",
+ {
+ "t": "#ffffff\n\n\n\n\n\n\n#60605b",
+ "w": 1.5
+ },
+ "\"\n'\n\n\n\n\n\nÄ"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 6.5,
+ "t": "#ffffff",
+ "h": 1.5
+ },
+ " ",
+ {
+ "x": 4.5,
+ "h": 1.5
+ },
+ " "
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3.5
+ },
+ "C",
+ {
+ "x": 10.5
+ },
+ "<\n,"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "X",
+ {
+ "x": 1
+ },
+ "V",
+ {
+ "x": 8.5
+ },
+ "M",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615"
+ },
+ ">\n.\n\n\n\n\n\n\n\n["
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff"
+ },
+ "B",
+ {
+ "x": 6.5
+ },
+ "N"
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#ffffff\n\n#f67f00",
+ "a": 6,
+ "fa": [
+ 5
+ ],
+ "w": 1.5
+ },
+ "⇑\n\n2-tap locks",
+ {
+ "t": "#ffffff",
+ "a": 4,
+ "f": 3
+ },
+ "Z",
+ {
+ "x": 14.5,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615",
+ "f": 3
+ },
+ "?\n/\n\n\n\n\n\n\n\n]",
+ {
+ "t": "#ffffff\n\n#f67f00",
+ "a": 6,
+ "f": 3,
+ "w": 1.5
+ },
+ "⇑\n\n2-tap locks"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "t": "#ffffff",
+ "a": 4
+ },
+ "\n ",
+ {
+ "x": 10.5,
+ "f": 3
+ },
+ "}\n]"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "\n ",
+ {
+ "x": 1
+ },
+ "\n ",
+ {
+ "x": 8.5,
+ "t": "#ffffff\n\n\n\n\n\n\n#60605b",
+ "f": 3
+ },
+ "{\n[\n\n\n\n\n\nÅ",
+ {
+ "x": 1,
+ "t": "#ffffff",
+ "f": 3
+ },
+ "+\n="
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 0.5,
+ "f": 3
+ },
+ "ctrl",
+ {
+ "f": 3
+ },
+ "alt",
+ {
+ "x": 14.5,
+ "f": 3
+ },
+ "altgr",
+ {
+ "f": 3
+ },
+ "ctrl"
+ ],
+ [
+ {
+ "r": 30,
+ "rx": 6.5,
+ "ry": 4.25,
+ "y": -1,
+ "x": 1,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n\n#5eb1e7",
+ "f": 3
+ },
+ "esc\n\n\n\n\n\n\n\n\n\n M",
+ {
+ "t": "#ffffff",
+ "f": 7
+ },
+ " "
+ ],
+ [
+ {
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n\n#5eb1e7",
+ "f": 3,
+ "h": 2
+ },
+ "space\n\n\n\n\n\n\n\n\n\n L",
+ {
+ "h": 2
+ },
+ " \n\n\n\n\n\n\n\n\n\n R",
+ {
+ "t": "#5eb1e7"
+ },
+ " "
+ ],
+ [
+ {
+ "x": 2,
+ "t": "#ac97d8"
+ },
+ " "
+ ],
+ [
+ {
+ "r": -30,
+ "rx": 13,
+ "y": -1,
+ "x": -3,
+ "t": "#ffffff"
+ },
+ "",
+ "esc"
+ ],
+ [
+ {
+ "x": -3
+ },
+ "ins",
+ {
+ "h": 2
+ },
+ " ",
+ {
+ "h": 2
+ },
+ "space"
+ ],
+ [
+ {
+ "x": -3
+ },
+ "scroll lock"
+ ]
+]
\ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/videck/videck.png b/keyboards/ergodox/keymaps/videck/videck.png
new file mode 100644
index 0000000000..c99323f53b
Binary files /dev/null and b/keyboards/ergodox/keymaps/videck/videck.png differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/Makefile b/keyboards/ergodox/keymaps/win10_writers-block/Makefile
new file mode 100644
index 0000000000..fbab4b71c4
--- /dev/null
+++ b/keyboards/ergodox/keymaps/win10_writers-block/Makefile
@@ -0,0 +1,9 @@
+# Having a file like this allows you to override Makefile definitions
+# for your own particular keymap
+
+TAP_DANCE_ENABLE=yes
+
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/config.h b/keyboards/ergodox/keymaps/win10_writers-block/config.h
new file mode 100644
index 0000000000..43259db088
--- /dev/null
+++ b/keyboards/ergodox/keymaps/win10_writers-block/config.h
@@ -0,0 +1,36 @@
+#ifndef KEYBOARDS_ERGODOX_CONFIG_H_
+#define KEYBOARDS_ERGODOX_CONFIG_H_
+
+#define MOUSEKEY_DELAY 100
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_MAX_SPEED 3
+#define MOUSEKEY_TIME_TO_MAX 10
+
+#define TAPPING_TOGGLE 1
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+#define TAPPING_TERM 300
+#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+)
+
+#ifdef SUBPROJECT_ez
+ #include "ez/config.h"
+#endif
+#ifdef SUBPROJECT_infinity
+ #include "infinity/config.h"
+#endif
+
+
+#endif /* KEYBOARDS_ERGODOX_CONFIG_H_ */
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.png
new file mode 100644
index 0000000000..d1cb1987c8
Binary files /dev/null and b/keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.png differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.png
new file mode 100644
index 0000000000..c2019da4e9
Binary files /dev/null and b/keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.png differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.png
new file mode 100644
index 0000000000..f866d3d55d
Binary files /dev/null and b/keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.png differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.png
new file mode 100644
index 0000000000..6f49aae798
Binary files /dev/null and b/keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.png differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/keymap.c b/keyboards/ergodox/keymaps/win10_writers-block/keymap.c
new file mode 100644
index 0000000000..3106b33747
--- /dev/null
+++ b/keyboards/ergodox/keymaps/win10_writers-block/keymap.c
@@ -0,0 +1,324 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+#include "wait.h"
+
+#define BASE 0 // default layer - helpful for writing in Office-style word processors.
+#define SYMB 1 // symbol layer - NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key
+#define RIMW 2 // rimworld layer - made for the game RimWorld, by Tynan Sylvester | feel free to remap for your favorite game!
+#define MDIA 3 // media layer - mouse and music - close to Ergodox EZ default media layer
+
+#define CO_PA M(0) // hold copy, tap paste
+
+#define W_CUT LCTL(KC_X) // C-x Cut
+#define W_COPY LCTL(KC_C) // C-c Copy
+#define W_PASTE LCTL(KC_V) // C-v Paste
+#define W_UNDO LCTL(KC_Z) // C-z Undo
+#define W_FIND LCTL(KC_F) // C-v Find
+#define W_CAD LCTL(LALT(KC_DEL)) // one-tap ctrl-alt-del
+
+
+
+//Tap Dance Declarations
+enum {
+ CAKEWARP,
+ CTRLALTMDIA,
+};
+
+void cake_count (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 2) {
+ layer_on (SYMB); //define double tap here
+ layer_off (MDIA);
+ }
+ else {
+ layer_off (SYMB); //define single tap or hold here
+ layer_off (MDIA);
+ }
+ if (state->count == 3) {
+ layer_on (RIMW); //define triple tap here
+ layer_off (MDIA);
+ }
+ else {
+ layer_off (RIMW); //define single tap or hold here
+ layer_off (MDIA);
+ reset_tap_dance (state);
+ }
+}
+
+void dance_cad_mdia_fin (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code (KC_LCTL);
+ register_code (KC_LALT);
+ register_code (KC_DEL);
+ } else {
+ layer_on (MDIA);
+ }
+}
+
+void dance_cad_mdia_reset (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ unregister_code (KC_DEL);
+ unregister_code (KC_LALT);
+ unregister_code (KC_LCTL);
+ } else {
+ ;
+ }
+}
+
+//Tap Dance Definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+ // tap for Layer 0, tap twice to switch to symbol layer, and tap three times to switch to rimworld layer.
+ [CAKEWARP] = ACTION_TAP_DANCE_FN(cake_count)
+ // tap for ctrl-alt-del, tap twice for media layer
+ ,[CTRLALTMDIA] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cad_mdia_fin, dance_cad_mdia_reset)
+ // Other declarations would go here, separated by commas, if you have them
+};
+
+//In Layer declaration, add tap dance item in place of a key code
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer - TD(one_tap, two_taps, three_taps...)
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | F12/L1 | Q | W | E | R | T | {/[ | |TD(L0 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------|
+ * |Caps/Win| A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| }/] | TD(ctrl|------+------+------+------+------+--------|
+ * |LShift/(|Z/Ctrl| X | C | V | B | | |altdel| N | M | , | . | / |RShift/)|
+ * `--------+------+------+------+------+-------------' |L3) |------+------+------+------+------+--------'
+ * | Undo | Cut |CopyPa| Meh | LGui | '------| | Enter| Left | Up | Down | Right |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Esc | VolUp| | F4 | Mute |
+ * ,------|------|------| |------+--------+------.
+ * | | | VolDn| | F5 | | |
+ * |Backsp|Delete|------| |------| Tab / |Space |
+ * |ace | | Find | | Alt | CTRL | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+LT(SYMB, KC_F12), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
+ GUI_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_RBRC,
+ W_UNDO, W_CUT, CO_PA, MEH_T(KC_NO), KC_LGUI,
+ KC_ESC, KC_VOLU,
+ KC_VOLD,
+ KC_BSPC, KC_DELETE, W_FIND,
+ // right hand
+ KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
+ TD(CAKEWARP), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ TD(CTRLALTMDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT,
+ KC_F4, KC_MUTE,
+ KC_F5,
+ KC_RALT, CTL_T(KC_TAB), KC_SPC
+ ),
+
+/* Keymap 1: Symbol Layer | No EEPROM Or Version keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | xx | | xx | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | |TD(L0 | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | - |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_NO,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+
+/* Keymap 2: RimWorld Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | TAB | C | ,< | W | >. | R | | |TD(L0 | U | B | N | J | M | PGUP |
+ * |--------+------+------+------+------+------| F10 | |L1 L2)|------+------+------+------+------+--------|
+ * | I | F | A | S | D | 8 |------| |------| X | L | P | Y | H | ENTER |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | K | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | PGDN |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | F | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * |SPACE | C |------| |------| E |SPACE |
+ * | | | Q | | | | |
+ * `--------------------' `--------------------'
+ */
+// RIMWORLD
+[RIMW] = KEYMAP(
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_C, KC_COMM, KC_W, KC_DOT, KC_R, KC_F10,
+ KC_I, KC_F, KC_A, KC_S, KC_D, KC_8,
+ KC_K, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_C,KC_Q,KC_TRNS,
+ // right hand
+ KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
+ KC_TRNS, KC_U, KC_B, KC_N, KC_J, KC_M, KC_PGUP,
+ KC_X, KC_L, SFT_T(KC_P), KC_Y, KC_H, KC_ENT,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN,
+ KC_F, KC_LEFT, KC_UP, KC_DOWN,KC_RIGHT,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_E, KC_TRNS
+),
+/* Keymap 3: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | Lclk | Rclk |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_BTN1, KC_BTN2, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+static uint16_t key_timer;
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0: {
+ if (record->event.pressed) {
+ key_timer = timer_read(); // if the key is being pressed, we start the timer.
+ }
+ else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
+ if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap.
+ return MACRO( D(LCTL), T(C), U(LCTL), END );
+ }
+ else {
+ return MACRO( D(LCTL), T(V), U(LCTL), END );
+ }
+ }
+ break;
+ }
+ }
+ return MACRO_NONE;
+};
+
+// Anything you want to do once when the keyboard initializes.
+// Tests LED function when the keyboard initializes.
+void matrix_init_user(void) {
+
+ wait_ms(500);
+ ergodox_board_led_on();
+ wait_ms(200);
+ ergodox_right_led_1_on();
+ wait_ms(200);
+ ergodox_right_led_2_on();
+ wait_ms(200);
+ ergodox_right_led_3_on();
+ wait_ms(200);
+ ergodox_board_led_off();
+ wait_ms(200);
+ ergodox_right_led_1_off();
+ wait_ms(200);
+ ergodox_right_led_2_off();
+ wait_ms(200);
+ ergodox_right_led_3_off();
+
+};
+
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/readme.md b/keyboards/ergodox/keymaps/win10_writers-block/readme.md
new file mode 100644
index 0000000000..e51e3c48fc
--- /dev/null
+++ b/keyboards/ergodox/keymaps/win10_writers-block/readme.md
@@ -0,0 +1,113 @@
+
+
+Win10 Writer's Block ErgoDox - v1.0
+
+=======================
+
+This is a QWERTY layout for QMK. It's designed to work well in MS Office-like environments. It's tested on Windows 7 and 10.
+
+Professional writers may find this layout useful -- copywriters, technical writers, novelists, etc.
+
+I use my ErgoDox with this keymap as a daily driver at my office.
+
+A gaming layer is unobtrusively built into this layout. I use that layer to play RimWorld.
+
+Feel free to modify the gaming layer to your personal taste.
+
+## Table of Contents
+
+* [Layouts](#layouts)
+ - [Base layer](#base-layer)
+ - [Symbol layer](#symbol-layer)
+ - [Gaming layer](#rimworld-layer)
+ - [Media layer](#media-layer)
+* [Tools](#tools)
+ - [Layer notification](#layer-notification)
+* [Building](#building)
+ - [Using on Windows](#using-on-windows)
+* [License](#license)
+* [Special Thanks](#special-thanks)
+
+# Layouts
+
+* TapDance will teleport you to the layer you want:
+* One Tap for the Base layer
+* Two Taps for the Symbol layer
+* Three Taps for the Rimworld/Gaming layer
+
+* Where the "Meh" key is located on the Ergodox EZ default layout, I've changed it to another tap dance key:
+* One Tap for CTRL-ALT-DEL
+* Two Taps for the Media/Mouse layer
+
+## Base layer
+
+[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/8fd9bbdd3a23bbb5a8779de3624a3be1)
+
+This is a QWERTY layout with some quirks.
+
+* Enter is located on a key that won't cause as much thumb fatigue.
+* Copy and Paste work from the same key. Just hold the key to copy and tap the key to paste!
+* Undo, Find and Cut are also one-touch keys.
+* F12 is where you would normally find TAB on standard layouts. Quickly save in Word, safely.
+* You'll find bracket keys below the "6" key.
+
+* The Meh Key is a single-button CTRL+ALT+SHIFT modifier.
+
+* Space Cadet Shift: Tap L Shift for "(" and R Shift for ")" -- holding either shift works like a normal shift.
+* Tap "Z" or Tab to use either normally. Hold them for CTRL.
+* Tap Caps Lock to use it normally. Hold it for Win key combinations (Win+D to minimize all programs, etc).
+
+## Symbol layer
+
+[![Symbol layer](images/symbol-layer.png)](http://www.keyboard-layout-editor.com/#/gists/04eb6458b8b17882e472f64d482f12b4)
+
+Your standard Ergodox EZ symbol + numpad layout, minus the Version and EEPROM keys.
+
+* From the base layer, hold the F12 Key to temporarily access this layer (use for quick access to numpad)
+* Release F12 to return to the base layer.
+
+## Rimworld layer
+
+[![Rimworld / Gaming Layer](images/rimworld-layer.png)](http://www.keyboard-layout-editor.com/#/gists/d53af8391e6e443ed0a98ccfbdb4eace)
+
+This layer was made to play RimWorld, a Sci-Fi Colony Survival Game by Tynan Sylvester and Ludeon Studios, available on Steam.
+
+* Have fun!
+
+## Media layer
+
+[![Media layer](images/media-layer.png)](http://www.keyboard-layout-editor.com/#/gists/3209d09ed4bd997e4f49f28c6ada2ab3)
+
+This is the standard Ergodox EZ media layout with more options for mouseclick buttons.
+
+* In this layer, your "space" key changes into a back button for your browser.
+
+## LED states
+
+Your LEDs will change to indicate your layer. You'll know you are in the base layer if all LEDs are off.
+
+# Building
+
+To build, you will need the [QMK][qmk] firmware checked out. from there, dive into `keyboards/ergodox/keymaps/win10_writers-block/`
+
+[qmk]: https://github.com/jackhumbert/qmk_firmware
+
+```
+$ make keyboard=ergodox keymap=win10_writers-block
+```
+
+## Using on Windows
+
+This layout is tested in Windows 7 Pro and Windows 10 Home environments.
+
+# License
+
+GPL 3+
+
+# Special Thanks
+
+* To algernon for his coding help. I'm a novice but I still made this work (and figured out tap dance) with his help.
+
+* To /r/MechanicalKeyboards for being an all-around great community.
+
+* To /u/profet23 for his amazing custom Ergodox boards.
\ No newline at end of file
diff --git a/keyboards/ergodox/readme.md b/keyboards/ergodox/readme.md
index 3bbe98fd69..ca3eeba59b 100644
--- a/keyboards/ergodox/readme.md
+++ b/keyboards/ergodox/readme.md
@@ -1,5 +1,7 @@
# The Easy Way
+If you have an ErgoDox EZ, the absolute easiest way for you to customize your firmware is using the [graphical configurator](http://configure.ergodox-ez.com), which uses QMK under the hood.
+
If you can find firmware someone else has made that does what you want, that
is the easiest way to customize your ErgoDox. It requires no programming
experience or the setup of a build environment.
@@ -63,7 +65,7 @@ files. Check them out with:
# Flashing Firmware
-## ErgoDox Ez
+## ErgoDox EZ
The Ez uses the [Teensy Loader](https://www.pjrc.com/teensy/loader.html).
@@ -153,13 +155,10 @@ If you want to send a plain vanilla key, you can look up its code under `doc/key
There are external tools for customizing the layout, but those do not use
the featurs of this qmk firmware. These sites include:
- - [Massdrop configurator](https://keyboard-configurator.massdrop.com/ext/ergodox) for Ez
+ - The official [ErgoDox EZ configurator](http://configure.ergodox-ez.com)
+ - [Massdrop configurator](https://keyboard-configurator.massdrop.com/ext/ergodox) for EZ, works but not officially supported
- [Input Club configurator](https://input.club/configurator-ergodox) for Infinity, provides left and right files
You can also find an existing firmware that you like, for example from:
- [Dozens of community-contributed keymaps](http://qmk.fm/keyboards/ergodox/)
-
-This qmk firmware also provides the ability to customize keymaps, but requires
-a toolchain to build the firmware. See below for instructions on building
-firmware and customizing keymaps.
diff --git a/keyboards/ergodox/rules.mk b/keyboards/ergodox/rules.mk
index add64ec76f..2e501e81b2 100644
--- a/keyboards/ergodox/rules.mk
+++ b/keyboards/ergodox/rules.mk
@@ -24,6 +24,5 @@ COMMAND_ENABLE ?= yes # Commands for debug and configuration
CUSTOM_MATRIX ?= yes # Custom matrix file for the ErgoDox EZ
SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-MIDI_ENABLE ?= no # MIDI controls
UNICODE_ENABLE ?= yes # Unicode
ONEHAND_ENABLE ?= yes # Allow swapping hands of keyboard
diff --git a/keyboards/gh60/gh60.h b/keyboards/gh60/gh60.h
index 82624b6148..99ccf17574 100644
--- a/keyboards/gh60/gh60.h
+++ b/keyboards/gh60/gh60.h
@@ -4,7 +4,7 @@
#include "quantum.h"
#include "led.h"
-/* GH60 LEDs
+/* GH60 LEDs
* GPIO pads
* 0 F7 WASD LEDs
* 1 F6 ESC LED
@@ -35,40 +35,41 @@ inline void gh60_wasd_leds_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \
) { \
- { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D }, \
- { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D }, \
- { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D }, \
- { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D }, \
- { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_##K45, KC_NO, KC_NO, KC_NO, KC_##K49, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D } \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
}
-/* ANSI valiant. No extra keys for ISO */
+/* ANSI variant. No extra keys for ISO */
#define KEYMAP_ANSI( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
-) KEYMAP( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO, K2D, \
- K30, NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, NO, K3D, \
- K40, K41, K42, K45, NO, K4A, K4B, K4C, K4D \
-)
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
+}
+/* HHKB Variant */
#define KEYMAP_HHKB( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
-) KEYMAP( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO, K2D, \
- K30, NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
- K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \
-)
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
+ { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
+}
-#endif
+#endif
\ No newline at end of file
diff --git a/keyboards/gh60/keymaps/dbroqua/Makefile b/keyboards/gh60/keymaps/dbroqua/Makefile
new file mode 100644
index 0000000000..f1644a8e49
--- /dev/null
+++ b/keyboards/gh60/keymaps/dbroqua/Makefile
@@ -0,0 +1,112 @@
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device.
+# Please customize your programmer settings(PROGRAM_CMD)
+#
+# make teensy = Download the hex file to the device, using teensy_loader_cli.
+# (must have teensy_loader_cli installed).
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+# (must have Atmel FLIP installed).
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+# CONSOLE_ENABLE ?= yes # Console for debug(+400)
+# COMMAND_ENABLE ?= yes # Commands for debug and configuration
+KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
+NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
+# MIDI_ENABLE ?= YES # MIDI controls
+# UNICODE_ENABLE ?= YES # Unicode
+# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= yes # Enable RGB Underglow
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
+
diff --git a/keyboards/gh60/keymaps/dbroqua/config.h b/keyboards/gh60/keymaps/dbroqua/config.h
new file mode 100644
index 0000000000..75ccec0973
--- /dev/null
+++ b/keyboards/gh60/keymaps/dbroqua/config.h
@@ -0,0 +1,187 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER geekhack
+#define PRODUCT GH60
+#define DESCRIPTION t.m.k. keyboard firmware for GH60
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
+#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1 H
+//#define MAGIC_KEY_HELP2 SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0_ALT1 ESC
+//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER PAUSE
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/*
+ * RGB Underglow
+ * These settings are for the F4 by default:
+ *
+ *
+ * #define ws2812_PORTREG PORTF
+ * #define ws2812_DDRREG DDRF
+ * #define ws2812_pin PF4
+ * #define RGBLED_NUM 14 // Number of LEDs
+ * #define RGBLIGHT_HUE_STEP 10
+ * #define RGBLIGHT_SAT_STEP 17
+ * #define RGBLIGHT_VAL_STEP 17
+ *
+ * The firmware supports 5 different light effects, and the color (hue, saturation, brightness) can be customized in most effects.
+ * To control the underglow, you need to modify your keymap file to assign those functions to some keys/key combinations.
+ * For details, please check this keymap. keyboard/planck/keymaps/yang/keymap.c
+*/
+
+/* Deprecated code below
+#define ws2812_PORTREG PORTF
+#define ws2812_DDRREG DDRF
+#define ws2812_pin PF4
+*/
+#define RGB_DI_PIN F4
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 11 // Number of LEDs
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
diff --git a/keyboards/gh60/keymaps/dbroqua/keymap.c b/keyboards/gh60/keymaps/dbroqua/keymap.c
new file mode 100644
index 0000000000..be88edc090
--- /dev/null
+++ b/keyboards/gh60/keymaps/dbroqua/keymap.c
@@ -0,0 +1,198 @@
+#include "gh60.h"
+#include "action_layer.h"
+#include "rgblight.h"
+
+#define _DEFAULT 0
+#define _FN 1
+#define _WASD 2
+#define _SFX 3
+
+//bool esc_led_on;
+
+enum planck_keycodes {
+ DEFAULT = SAFE_RANGE
+};
+
+// Fillers to make layering more clear
+#define ______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty gui/alt/space/alt/gui
+ * ,-----------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ * |-----------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
+ * |-----------------------------------------------------------------------------------------+
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |-----------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
+ * |-----------------------------------------------------------------------------------------+
+ * |LGUI | LAlt | Space | RAlt |RGUI |
+ * `-----------------------------------------------------------------'
+ */
+ [_DEFAULT] = KEYMAP_HHKB( /* Basic QWERTY */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
+ ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \
+ ),
+
+/* FN Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ * |-----------------------------------------------------------------------------------------+
+ * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | Stop | |
+ * `-----------------------------------------------------------------'
+ */
+ [_FN] = KEYMAP_HHKB( /* Layer 1 */
+ TG(_SFX),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
+ KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \
+ ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, \
+ ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, \
+ ______, ______, ______, TG(_WASD), KC_MSTP, ______, ______, ______ \
+ ),
+
+/* WASD Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | Up | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Left| Down|Right| | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | | |
+ * `-----------------------------------------------------------------'
+ */
+ [_WASD] = KEYMAP_HHKB( /* Layer 2 */
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, KC_LEFT, KC_DOWN,KC_RGHT,______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______, \
+ ______, ______, ______, ______, ______, ______, ______, ______ \
+ ),
+
+/* SFX Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | BL- | BL+ | BL | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | RGBT| RGBM| | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | | |
+ * `-----------------------------------------------------------------'
+ */
+ [_SFX] = KEYMAP_HHKB(
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \
+ ______, ______, ______, ______, ______, ______, ______, ______ \
+ )
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ return MACRO_NONE;
+};
+
+enum function_id {
+ RGBLED_TOGGLE,
+ RGBLED_STEP_MODE,
+ RGBLED_INCREASE_HUE,
+ RGBLED_DECREASE_HUE,
+ RGBLED_INCREASE_SAT,
+ RGBLED_DECREASE_SAT,
+ RGBLED_INCREASE_VAL,
+ RGBLED_DECREASE_VAL
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(RGBLED_TOGGLE),
+ [1] = ACTION_FUNCTION(RGBLED_STEP_MODE),
+ [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+ [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+ [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+ [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+ [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+ [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL)
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ switch (id) {
+ case RGBLED_TOGGLE:
+ if (record->event.pressed) {
+ rgblight_toggle();
+ }
+ break;
+ case RGBLED_INCREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_increase_hue();
+ }
+ break;
+ case RGBLED_DECREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_decrease_hue();
+ }
+ break;
+ case RGBLED_INCREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_increase_sat();
+ }
+ break;
+ case RGBLED_DECREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_decrease_sat();
+ }
+ break;
+ case RGBLED_INCREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_increase_val();
+ }
+ break;
+ case RGBLED_DECREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_decrease_val();
+ }
+ break;
+ case RGBLED_STEP_MODE:
+ if (record->event.pressed) {
+ rgblight_step();
+ }
+ break;
+ }
+}
+
+void matrix_scan_user(void) {
+ uint32_t layer = layer_state;
+
+ if (layer & (1<<1)) {
+ gh60_fn_led_on();
+ } else {
+ gh60_fn_led_off();
+ }
+
+ if (layer & (1<<2)) {
+ gh60_wasd_leds_on();
+ } else {
+ gh60_wasd_leds_off();
+ }
+
+ if (layer & (1<<3)) {
+ gh60_esc_led_on();
+ } else {
+ gh60_esc_led_off();
+ }
+};
\ No newline at end of file
diff --git a/keyboards/gh60/keymaps/default/keymap.c b/keyboards/gh60/keymaps/default/keymap.c
index 3622be41b8..92f5459840 100644
--- a/keyboards/gh60/keymaps/default/keymap.c
+++ b/keyboards/gh60/keymaps/default/keymap.c
@@ -4,25 +4,25 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
KEYMAP(
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, GRV, \
- TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \
- CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NO, ENT, \
- LSFT,FN1, Z, X, C, V, B, N, M, COMM,DOT, SLSH,FN0, RSFT, \
- LCTL,LGUI,LALT, SPC, BSLS,RALT,RGUI,APP, RCTL),
+ KC_ESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_GRV,\
+ KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSPC,\
+ KC_CAPS,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT,\
+ KC_LSFT,F(1),KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,F(0),KC_RSFT,\
+ KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_BSLS,KC_RALT,KC_RGUI,KC_APP,KC_RCTL),
/* 1: fn */
KEYMAP(
- ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, \
- TRNS,TRNS,UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS),
+ KC_ESC,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
/* 2: arrows */
KEYMAP(
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,UP, \
- TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,LEFT,DOWN,RGHT),
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,\
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT),
};
const uint16_t PROGMEM fn_actions[] = {
@@ -49,7 +49,7 @@ void matrix_scan_user(void) {
//Layer LED indicators
uint32_t layer = layer_state;
-
+
if (layer & (1<<1)) {
gh60_wasd_leds_on();
gh60_fn_led_on();
@@ -57,7 +57,7 @@ void matrix_scan_user(void) {
gh60_wasd_leds_off();
gh60_fn_led_off();
}
-
+
if (layer & (1<<2)) {
gh60_poker_leds_on();
gh60_esc_led_on();
@@ -65,5 +65,5 @@ void matrix_scan_user(void) {
gh60_poker_leds_off();
gh60_esc_led_off();
}
-
+
};
diff --git a/keyboards/gh60/keymaps/robotmaxtron/config.h b/keyboards/gh60/keymaps/robotmaxtron/config.h
index 6a29e6b8c2..bcd7534617 100644
--- a/keyboards/gh60/keymaps/robotmaxtron/config.h
+++ b/keyboards/gh60/keymaps/robotmaxtron/config.h
@@ -182,7 +182,7 @@ along with this program. If not, see .
#define ws2812_pin PF4
*/
#define RGB_DI_PIN F4
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8 // Number of LEDs
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/gh60/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/keymaps/robotmaxtron/keymap.c
index 263eec4e53..9acac7cecf 100644
--- a/keyboards/gh60/keymaps/robotmaxtron/keymap.c
+++ b/keyboards/gh60/keymaps/robotmaxtron/keymap.c
@@ -8,9 +8,9 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
- * Base layer, pretty standard ANSI layout.
+ * Base layer, pretty standard ANSI layout.
* ,-----------------------------------------------------------.
- * |FN12| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
+ * |F(12)| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
* |-----------------------------------------------------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
* |-----------------------------------------------------------|
@@ -22,13 +22,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_BL] = KEYMAP(
- FN12,1,2,3,4,5,6,7,8,9,0,MINS,EQL,BSPC, \
- TAB,Q,W,E,R,T,Y,U,I,O,P,LBRC,RBRC,BSLS, \
- FN2,A,S,D,F,G,H,J,K,L,SCLN,QUOT,NO,ENT, \
- LSFT,NO,Z,X,C,V,B,N,M,COMM,DOT,SLSH,NO,RSFT, \
- LCTL,LGUI,LALT, SPC, NO,RALT,FN0,APP, RCTL),
-
- /*
+ F(12),KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC, \
+ KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS, \
+ F(2),KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT, \
+ KC_LSFT,KC_NO,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_NO,KC_RSFT, \
+ KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_NO,KC_RALT,F(0),KC_APP,KC_RCTL),
+
+ /*
* Locking arrow keys to WASD for when you need dedicated arrow keys
* ,-----------------------------------------------------------.
* | | | | | | | | | | | | | | |
@@ -43,14 +43,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_AL] = KEYMAP(
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,UP,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS),
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
- /*
+ /*
* Primary function layer, mostly the same as the traditional Pok3r layout.
* ,-------------------------------------------------------------.
* |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL |
@@ -65,15 +65,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------'
*/
[_FL] = KEYMAP(
- GRAVE,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12, DELETE, \
- TRNS,FN1,TRNS,TRNS,TRNS,TRNS,CALC,PGUP,UP,PGDN,PSCR,SLCK,PAUS,TRNS, \
- TRNS,MUTE,_VOLDOWN,_VOLUP,TRNS,TRNS,HOME,LEFT,DOWN,RGHT,INS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,FN3,TRNS,TRNS,TRNS,TRNS,END,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS),
-
- /*
+ KC_GRAVE,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_DELETE, \
+ KC_TRNS,F(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS, \
+ KC_TRNS,KC_MUTE,KC__VOLDOWN,KC__VOLUP,KC_TRNS,KC_TRNS,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_INS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,F(3),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_END,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
+
+ /*
* Locking layer for controlling the underglow.
- *
+ *
* ,-----------------------------------------------------------.
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------|
@@ -87,11 +87,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_UL] = KEYMAP(
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,FN4,FN5,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS,FN6,FN7,FN8,FN9,FN10,FN11,TRNS,TRNS,TRNS,TRNS,TRNS, \
- TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS),
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,F(4),F(5),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS,F(6),F(7),F(8),F(9),F(10),F(11),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
};
enum function_id {
@@ -124,7 +124,7 @@ const uint16_t PROGMEM fn_actions[] = {
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
- // MACRODOWN only works in this function
+ // MACRODOWN only works in this function
switch(id) {
case 0:
if (record->event.pressed) {
diff --git a/keyboards/gh60/keymaps/sethbc/Makefile b/keyboards/gh60/keymaps/sethbc/Makefile
new file mode 100644
index 0000000000..457a3d01d4
--- /dev/null
+++ b/keyboards/gh60/keymaps/sethbc/Makefile
@@ -0,0 +1,3 @@
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/gh60/keymaps/sethbc/keymap.c b/keyboards/gh60/keymaps/sethbc/keymap.c
new file mode 100644
index 0000000000..599e664e23
--- /dev/null
+++ b/keyboards/gh60/keymaps/sethbc/keymap.c
@@ -0,0 +1,76 @@
+#include "gh60.h"
+#include "action_layer.h"
+
+#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* 0: qwerty */
+ KEYMAP_HHKB(
+ F(0),KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSLS,KC_GRV,\
+ KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSPC,\
+ KC_LCTL,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_ENT,\
+ KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,F(1),\
+ KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_APP,KC_RCTL),
+ /* 1: fn */
+ KEYMAP_HHKB(
+ KC_GRV,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_TRNS,KC_TRNS,\
+ KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RIGHT,KC_PENT,\
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS,\
+ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
+};
+
+enum function_id {
+ SHIFT_ESC,
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(SHIFT_ESC),
+ [1] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+void matrix_scan_user(void) {
+
+}
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ static uint8_t shift_esc_shift_mask;
+ switch (id) {
+ case SHIFT_ESC:
+ shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+ if (record->event.pressed) {
+ if (shift_esc_shift_mask) {
+ add_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ add_key(KC_ESC);
+ send_keyboard_report();
+ }
+ } else {
+ if (shift_esc_shift_mask) {
+ del_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ del_key(KC_ESC);
+ send_keyboard_report();
+ }
+ }
+ break;
+ }
+}
diff --git a/keyboards/handwired/minorca/keymaps/rgb/config.h b/keyboards/handwired/minorca/keymaps/rgb/config.h
index deaac2e26f..43b3c59110 100644
--- a/keyboards/handwired/minorca/keymaps/rgb/config.h
+++ b/keyboards/handwired/minorca/keymaps/rgb/config.h
@@ -11,7 +11,7 @@
/* ws2812 RGB LED */
#define RGB_DI_PIN D5
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 13 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/handwired/pilcrow/Makefile b/keyboards/handwired/pilcrow/Makefile
new file mode 100644
index 0000000000..191c6bb664
--- /dev/null
+++ b/keyboards/handwired/pilcrow/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/config.h b/keyboards/handwired/pilcrow/config.h
new file mode 100644
index 0000000000..d63eeba36e
--- /dev/null
+++ b/keyboards/handwired/pilcrow/config.h
@@ -0,0 +1,162 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER You
+#define PRODUCT pilcrow
+#define DESCRIPTION A custom keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 10
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { B4, F7, B1, B3 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, F5, F6, B6, B2, F4, B5}
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1 H
+//#define MAGIC_KEY_HELP2 SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0_ALT1 ESC
+//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER PAUSE
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboards/handwired/pilcrow/keymaps/default/Makefile b/keyboards/handwired/pilcrow/keymaps/default/Makefile
new file mode 100644
index 0000000000..f4671a9d11
--- /dev/null
+++ b/keyboards/handwired/pilcrow/keymaps/default/Makefile
@@ -0,0 +1,21 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/keymaps/default/config.h b/keyboards/handwired/pilcrow/keymaps/default/config.h
new file mode 100644
index 0000000000..df06a26206
--- /dev/null
+++ b/keyboards/handwired/pilcrow/keymaps/default/config.h
@@ -0,0 +1,8 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+
+#endif
\ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/keymaps/default/keymap.c b/keyboards/handwired/pilcrow/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e382e4c6ad
--- /dev/null
+++ b/keyboards/handwired/pilcrow/keymaps/default/keymap.c
@@ -0,0 +1,88 @@
+#include "pilcrow.h"
+#define _______ KC_TRNS
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = KEYMAP( \
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+ KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MT(MOD_LSFT, KC_SPC), MO(2), MO(3), KC_DEL, KC_ESC \
+),
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[1] = KEYMAP( \
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_PIPE, S(KC_QUOT), \
+ _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV \
+),
+[2] = KEYMAP( \
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
+ KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \
+ OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT, \
+ _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU \
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| | | | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[3] = KEYMAP( \
+ RESET, KC_UP, _______, _______, _______, _______, _______, KC_MS_WH_DOWN, KC_MS_U, KC_MS_WH_UP, \
+ KC_LEFT, KC_DOWN, KC_RIGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L,KC_MS_D, KC_MS_R, \
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, \
+ _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, _______, _______, _______ \
+)
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
\ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/keymaps/default/readme.md b/keyboards/handwired/pilcrow/keymaps/default/readme.md
new file mode 100644
index 0000000000..95472dfca8
--- /dev/null
+++ b/keyboards/handwired/pilcrow/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for pilcrow
\ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/pilcrow.c b/keyboards/handwired/pilcrow/pilcrow.c
new file mode 100644
index 0000000000..c8243df7bf
--- /dev/null
+++ b/keyboards/handwired/pilcrow/pilcrow.c
@@ -0,0 +1,28 @@
+#include "pilcrow.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+
+ matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+
+ matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ // put your per-action keyboard code here
+ // runs for every action, just before processing by the firmware
+
+ return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+
+ led_set_user(usb_led);
+}
diff --git a/keyboards/handwired/pilcrow/pilcrow.h b/keyboards/handwired/pilcrow/pilcrow.h
new file mode 100644
index 0000000000..7138ccb3f6
--- /dev/null
+++ b/keyboards/handwired/pilcrow/pilcrow.h
@@ -0,0 +1,23 @@
+#ifndef PILCROW_H
+#define PILCROW_H
+
+#include "quantum.h"
+
+// This a shortcut to help you visually see your layout.
+// The following is an example using the Planck MIT layout
+// The first section contains all of the arguements
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 } \
+}
+
+#endif
diff --git a/keyboards/handwired/pilcrow/readme.md b/keyboards/handwired/pilcrow/readme.md
new file mode 100644
index 0000000000..7a7f6d2af5
--- /dev/null
+++ b/keyboards/handwired/pilcrow/readme.md
@@ -0,0 +1,28 @@
+pilcrow keyboard firmware
+======================
+
+## Quantum MK Firmware
+
+For the full Quantum feature list, see [the parent readme](/).
+
+## Building
+
+Download or clone the whole firmware and navigate to the keyboards/pilcrow folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
+
+Depending on which keymap you would like to use, you will have to compile slightly differently.
+
+### Default
+
+To build with the default keymap, simply run `make default`.
+
+### Other Keymaps
+
+Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.
+
+To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
+
+```
+$ make [default|jack|]
+```
+
+Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/handwired/pilcrow/rules.mk b/keyboards/handwired/pilcrow/rules.mk
new file mode 100644
index 0000000000..55898147dd
--- /dev/null
+++ b/keyboards/handwired/pilcrow/rules.mk
@@ -0,0 +1,67 @@
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=512
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE ?= no # USB Nkey Rollover
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE ?= no # MIDI controls
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/keyboards/handwired/promethium/Makefile b/keyboards/handwired/promethium/Makefile
new file mode 100644
index 0000000000..191c6bb664
--- /dev/null
+++ b/keyboards/handwired/promethium/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h
new file mode 100644
index 0000000000..23fbfd0b9a
--- /dev/null
+++ b/keyboards/handwired/promethium/config.h
@@ -0,0 +1,168 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+#define USB_VENDOR_ID_LENOVO 0x17ef
+#define USB_DEVICE_ID_LENOVO_TPKBD 0x6009
+#define USB_DEVICE_ID_LENOVO_CUSBKBD 0x6047
+#define USB_DEVICE_ID_LENOVO_CBTKBD 0x6048
+#define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID USB_VENDOR_ID_LENOVO
+#define PRODUCT_ID USB_DEVICE_ID_LENOVO_CBTKBD
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Priyadi
+#define PRODUCT Promethium Keyboard
+#define DESCRIPTION
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+
+/* default pin-out */
+#define MATRIX_COL_PINS { B6, B7, D6, C7, F6, F7 }
+#define MATRIX_ROW_PINS { D7, C6, D0, D1, F5, F4, F1, F0 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
+)
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* PS/2 mouse */
+#ifdef PS2_USE_BUSYWAIT
+# define PS2_CLOCK_PORT PORTD
+# define PS2_CLOCK_PIN PIND
+# define PS2_CLOCK_DDR DDRD
+# define PS2_CLOCK_BIT 1
+# define PS2_DATA_PORT PORTD
+# define PS2_DATA_PIN PIND
+# define PS2_DATA_DDR DDRD
+# define PS2_DATA_BIT 2
+#endif
+
+/* PS/2 mouse interrupt version */
+#ifdef PS2_USE_INT
+/* uses INT1 for clock line(ATMega32U4) */
+#define PS2_CLOCK_PORT PORTD
+#define PS2_CLOCK_PIN PIND
+#define PS2_CLOCK_DDR DDRD
+#define PS2_CLOCK_BIT 3
+#define PS2_DATA_PORT PORTD
+#define PS2_DATA_PIN PIND
+#define PS2_DATA_DDR DDRD
+#define PS2_DATA_BIT 2
+
+#define PS2_INT_INIT() do { \
+ EICRA |= ((1< | ( | ) | ' | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | _ | + | { | } | [ | ] | " | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_PUNC] = KEYMAP(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_GRV ,
+ XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_QUOT, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_DQUO, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Num
+ * ,-----------------------------------------------------------------------------------.
+ * | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | @ | A | B | C | ( | ) | 4 | 5 | 6 | : |Enter |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | & | # | D | E | F | [ | ] | 1 | 2 | 3 | / | * |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | x | | | 0 | , | . | + | - |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_NUM] = KEYMAP(
+ KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_ESC, KC_AT, S(KC_A), S(KC_B), S(KC_C), KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_COLN, KC_ENT,
+ KC_AMPR, KC_HASH, S(KC_D), S(KC_E), S(KC_F), KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, KC_SLSH, KC_ASTR,
+ _______, _______, _______, KC_X, _______, KC_SPC, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_PLUS, KC_MINS
+),
+
+/* Func
+ * ,-----------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | | | PgUp | Up | PgDn | PgUp | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | Ins |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F9 | F10 | F11 | F12 | | | | Home | End | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FUNC] = KEYMAP(
+ XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL,
+ XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8,KC_PSCREEN,XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_INS,
+ _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Emoji
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_EMOJI] = KEYMAP(
+ X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW),
+ X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS),
+ X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH),
+ X(POO), X(EYES),X(HUNRD), _______,X(SKULL),X(HORNS), X(HALO), X(FEAR), _______,X(YUMMY),X(DISAP),X(NOEVK)
+),
+
+/* GUI
+ * ,-----------------------------------------------------------------------------------.
+ * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |Linux | | Vol- | Mute | Vol+ | | | D- | | D+ | |Qwerty|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Win | | Prev | Play | Next | | | | | | |Colmak|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | OSX | | | | | BL- | BL+ | | | | |Workmn|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_GUI] = KEYMAP(
+ _______, LGUI(KC_1),LGUI(KC_2),LGUI(KC_3),LGUI(KC_4),LGUI(KC_5),LGUI(KC_6),LGUI(KC_7),LGUI(KC_8),LGUI(KC_9),LGUI(KC_0), _______,
+ LINUX, _______, KC_VOLD, KC_MUTE, KC_VOLU,_______,_______,KC_WWW_BACK,_______,KC_WWW_FORWARD,KC_PAUS, QWERTY,
+ WIN, _______, KC_MPRV, KC_MPLY, KC_MNXT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, COLEMAK,
+ OSX, _______, _______, _______, _______, BL_DEC, BL_INC, _______, _______, RGB_VAI, RGB_VAD, WORKMAN
+),
+
+};
+
+#ifdef AUDIO_ENABLE
+float tone_startup[][2] = SONG(STARTUP_SOUND);
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
+float tone_workman[][2] = SONG(DVORAK_SOUND);
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+float tone_linux[][2] = SONG(CAPS_LOCK_ON_SOUND);
+float tone_windows[][2] = SONG(SCROLL_LOCK_ON_SOUND);
+float tone_osx[][2] = SONG(NUM_LOCK_ON_SOUND);
+float tone_click[][2] = SONG(MUSICAL_NOTE(_F3, 2));
+#endif
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ #ifdef AUDIO_ENABLE
+ // faux clicky
+ if (record->event.pressed) PLAY_NOTE_ARRAY(tone_click, false, 0);
+ #endif
+
+ switch (keycode) {
+ // QWERTZ style comma and dot: semicolon and colon when shifted
+ case KC_COMM:
+ if (record->event.pressed) {
+ bool lshifted = keyboard_report->mods & MOD_BIT(KC_LSFT);
+ bool rshifted = keyboard_report->mods & MOD_BIT(KC_RSFT);
+ if (lshifted || rshifted) {
+ if (lshifted) unregister_code(KC_LSFT);
+ if (rshifted) unregister_code(KC_RSFT);
+ register_code(KC_SCLN);
+ unregister_code(KC_SCLN);
+ if (lshifted) register_code(KC_LSFT);
+ if (rshifted) register_code(KC_RSFT);
+ } else {
+ register_code(KC_COMM);
+ unregister_code(KC_COMM);
+ }
+ }
+ return false;
+ break;
+ case KC_DOT:
+ if (record->event.pressed) {
+ if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT))) {
+ register_code(KC_SCLN);
+ unregister_code(KC_SCLN);
+ } else {
+ register_code(KC_DOT);
+ unregister_code(KC_DOT);
+ }
+ }
+ return false;
+ break;
+
+ // layout switchers
+ case QWERTY:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_colemak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case WORKMAN:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_workman, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_WORKMAN);
+ }
+ return false;
+ break;
+
+ // layer switcher
+ case PUNC:
+ if (record->event.pressed) {
+ layer_on(_PUNC);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ if (IS_LAYER_ON(_GUI)) {
+ led_layer_gui();
+ } else {
+ led_layer_punc();;
+ }
+ } else {
+ layer_off(_PUNC);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ if (IS_LAYER_ON(_EMOJI)) {
+ led_layer_emoji();
+ } else {
+ led_layer_normal();;
+ }
+ }
+ return false;
+ break;
+ case EMOJI:
+ if (record->event.pressed) {
+ layer_on(_EMOJI);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ if (IS_LAYER_ON(_GUI)) {
+ led_layer_gui();
+ } else {
+ led_layer_emoji();;
+ }
+ } else {
+ layer_off(_EMOJI);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ if (IS_LAYER_ON(_PUNC)) {
+ led_layer_punc();
+ } else {
+ led_layer_normal();;
+ }
+ }
+ return false;
+ break;
+ case NUM:
+ if (record->event.pressed) {
+ layer_on(_NUM);
+ led_layer_num();
+ } else {
+ layer_off(_NUM);
+ led_layer_normal();
+ }
+ return false;
+ break;
+ case FUNC:
+ if (record->event.pressed) {
+ layer_on(_FUNC);
+ led_layer_func();
+ } else {
+ layer_off(_FUNC);
+ led_layer_normal();
+ }
+ return false;
+ break;
+
+ // OS switchers
+ case LINUX:
+ set_unicode_input_mode(UC_LNX);
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_linux, false, 0);
+ #endif
+ return false;
+ break;
+ case WIN:
+ set_unicode_input_mode(UC_WINC);
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_windows, false, 0);
+ #endif
+ return false;
+ break;
+ case OSX:
+ set_unicode_input_mode(UC_OSX);
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_osx, false, 0);
+ #endif
+ return false;
+ break;
+ }
+ return true;
+}
+
+void matrix_init_user(void) {
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
+ set_unicode_input_mode(UC_LNX);
+ led_init();
+}
+
+// void init_rgblight(void) {
+// for (uint8_t i = 0; i < RGBLED_NUM; i++) {
+// led[i].r = 255;
+// led[i].g = 85;
+// led[i].b = 0;
+// }
+// ws2812_setleds(led, RGBLED_NUM);
+// }
+
+
+#ifdef AUDIO_ENABLE
+
+void startup_user()
+{
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+}
+
+void shutdown_user()
+{
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+#endif
+
+
+void ps2_mouse_init_user() {
+ uint8_t rcv;
+
+ // set TrackPoint sensitivity
+ PS2_MOUSE_SEND(0xE2, "set trackpoint sensitivity: 0xE2");
+ PS2_MOUSE_SEND(0x81, "set trackpoint sensitivity: 0x81");
+ PS2_MOUSE_SEND(0x4A, "set trackpoint sensitivity: 0x4A");
+ PS2_MOUSE_SEND(0x49, "set trackpoint sensitivity: 0x59");
+
+ // set TrackPoint Negative Inertia factor
+ PS2_MOUSE_SEND(0xE2, "set negative inertia factor: 0xE2");
+ PS2_MOUSE_SEND(0x81, "set negative inertia factor: 0x81");
+ PS2_MOUSE_SEND(0x4D, "set negative inertia factor: 0x4D");
+ PS2_MOUSE_SEND(0x06, "set negative inertia factor: 0x06");
+
+ // set TrackPoint speed
+ // (transfer function upper plateau speed)
+ PS2_MOUSE_SEND(0xE2, "set trackpoint speed: 0xE2");
+ PS2_MOUSE_SEND(0x81, "set trackpoint speed: 0x81");
+ PS2_MOUSE_SEND(0x60, "set trackpoint speed: 0x60");
+ PS2_MOUSE_SEND(0x61, "set trackpoint speed: 0x61");
+
+ // inquire pts status
+ rcv = ps2_host_send(0xE2);
+ rcv = ps2_host_send(0x2C);
+ rcv = ps2_host_recv_response();
+ if ((rcv & 1) == 1) {
+ // if on, disable pts
+ rcv = ps2_host_send(0xE2);
+ rcv = ps2_host_send(0x47);
+ rcv = ps2_host_send(0x2C);
+ rcv = ps2_host_send(0x01);
+ }
+}
\ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/readme.md b/keyboards/handwired/promethium/keymaps/priyadi/readme.md
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/handwired/promethium/keymaps/readme.md b/keyboards/handwired/promethium/keymaps/readme.md
new file mode 100644
index 0000000000..527691389e
--- /dev/null
+++ b/keyboards/handwired/promethium/keymaps/readme.md
@@ -0,0 +1,22 @@
+# How to add your own keymap
+
+Folders can be named however you'd like (will be approved upon merging), or should follow the format with a preceding `_`:
+
+ _[ISO 3166-1 alpha-2 code*]_[layout variant]_[layout name/author]
+
+\* See full list: https://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements
+
+and contain the following files:
+
+* `keymap.c`
+* `readme.md` *recommended*
+* `config.h` *optional*, found automatically when compiling
+* `Makefile` *optional*, found automatically when compling
+
+When adding your keymap to this list, keep it organised alphabetically (select list, edit->sort lines), and use this format:
+
+ * **folder_name** description
+
+# List of Promethium keymaps
+
+
diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c
new file mode 100644
index 0000000000..a0035cce1a
--- /dev/null
+++ b/keyboards/handwired/promethium/promethium.c
@@ -0,0 +1,6 @@
+#include "promethium.h"
+
+void matrix_init_kb(void) {
+
+ matrix_init_user();
+}
\ No newline at end of file
diff --git a/keyboards/handwired/promethium/promethium.h b/keyboards/handwired/promethium/promethium.h
new file mode 100644
index 0000000000..662eeab990
--- /dev/null
+++ b/keyboards/handwired/promethium/promethium.h
@@ -0,0 +1,101 @@
+#ifndef PROMETHIUM_H
+#define PROMETHIUM_H
+
+#include "quantum.h"
+
+#define PS2_INIT_DELAY 2000
+
+#define KEYMAP( \
+ k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
+ k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
+ k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c \
+) \
+{ \
+ {k11, k12, k13, k14, k15, k16}, \
+ {k21, k22, k23, k24, k25, k26}, \
+ {k31, k32, k33, k34, k35, k36}, \
+ {k41, k42, k43, k44, k45, k46}, \
+ {k17, k18, k19, k1a, k1b, k1c}, \
+ {k27, k28, k29, k2a, k2b, k2c}, \
+ {k37, k38, k39, k3a, k3b, k3c}, \
+ {k47, k48, k49, k4a, k4b, k4c} \
+}
+
+enum led_sequence {
+ LED_IND_BLUETOOTH,
+ LED_IND_USB,
+ LED_IND_BATTERY,
+
+ LED_IND_FUNC,
+ LED_IND_NUM,
+ LED_IND_EMOJI,
+
+ LED_BKSP,
+ LED_ENT,
+ LED_RSFT,
+ LED_RCTL,
+
+ LED_RGUI,
+ LED_SLSH,
+ LED_SCLN,
+ LED_P,
+
+ LED_O,
+ LED_L,
+ LED_DOT,
+ LED_RALT,
+
+ LED_EMOJI,
+ LED_COMM,
+ LED_K,
+ LED_I,
+
+ LED_U,
+ LED_J,
+ LED_M,
+ LED_FUNC,
+
+ LED_RSPC,
+ LED_N,
+ LED_HH,
+ LED_Y,
+
+ LED_TRACKPOINT3,
+ LED_TRACKPOINT2,
+ LED_TRACKPOINT1,
+
+ LED_LSPC,
+ LED_B,
+ LED_G,
+ LED_T,
+
+ LED_R,
+ LED_F,
+ LED_V,
+ LED_NUM,
+
+ LED_PUNC,
+ LED_C,
+ LED_D,
+ LED_E,
+
+ LED_W,
+ LED_S,
+ LED_X,
+ LED_LALT,
+
+ LED_LGUI,
+ LED_Z,
+ LED_A,
+ LED_Q,
+
+ LED_TAB,
+ LED_ESC,
+ LED_LSFT,
+ LED_LCTL,
+};
+
+#endif
+
+
diff --git a/keyboards/handwired/promethium/readme.md b/keyboards/handwired/promethium/readme.md
new file mode 100644
index 0000000000..e63d2f1add
--- /dev/null
+++ b/keyboards/handwired/promethium/readme.md
@@ -0,0 +1,13 @@
+Promethium Keyboard Firmware
+============================
+A handwired Planck based keyboard using the Adafruit Feather 32u4 Bluefruit LE controller.
+
+Features:
+
+* Single piece split form factor
+* Columnar stagger
+* Trackpoint
+* Bluetooth LE *TBD*
+* Battery
+* Per switch RGB LED
+* Proximity sensor for energy conservation *TBD*
\ No newline at end of file
diff --git a/keyboards/handwired/promethium/rgbsps.c b/keyboards/handwired/promethium/rgbsps.c
new file mode 100644
index 0000000000..ea922ec3fd
--- /dev/null
+++ b/keyboards/handwired/promethium/rgbsps.c
@@ -0,0 +1,24 @@
+#include "light_ws2812.h"
+#include "rgbsps.h"
+
+struct cRGB led[RGBSPS_NUM];
+
+void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b) {
+ led[index].r = r;
+ led[index].g = g;
+ led[index].b = b;
+}
+
+void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b) {
+ for (uint16_t i = 0; i < RGBSPS_NUM; i++) {
+ rgbsps_set(i, r, g, b);
+ }
+}
+
+void rgbsps_turnoff(void) {
+ rgbsps_setall(0, 0, 0);
+}
+
+void rgbsps_send(void) {
+ ws2812_setleds(led, RGBSPS_NUM);
+}
\ No newline at end of file
diff --git a/keyboards/handwired/promethium/rgbsps.h b/keyboards/handwired/promethium/rgbsps.h
new file mode 100644
index 0000000000..6da197f75d
--- /dev/null
+++ b/keyboards/handwired/promethium/rgbsps.h
@@ -0,0 +1,4 @@
+void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b);
+void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b);
+void rgbsps_turnoff(void);
+void rgbsps_send(void);
\ No newline at end of file
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
new file mode 100644
index 0000000000..465ef3359a
--- /dev/null
+++ b/keyboards/handwired/promethium/rules.mk
@@ -0,0 +1,75 @@
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 8000000
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= no # Console for debug(+400)
+COMMAND_ENABLE ?= no # Commands for debug and configuration
+NKRO_ENABLE ?= yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no # MIDI controls
+AUDIO_ENABLE ?= no # Audio output on port C6
+UNICODE_ENABLE ?= no # Unicode
+UNICODEMAP_ENABLE ?= yes
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+PS2_MOUSE_ENABLE ?= yes
+PS2_USE_INT ?= yes
+ADAFRUIT_BLE_ENABLE ?= yes
+API_SYSEX_ENABLE ?= no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+
+SRC += $(QUANTUM_DIR)/light_ws2812.c
+SRC += rgbsps.c
\ No newline at end of file
diff --git a/keyboards/hhkb/keymaps/dbroqua/keymap.c b/keyboards/hhkb/keymaps/dbroqua/keymap.c
index 4e907acd87..2b6d3901a4 100644
--- a/keyboards/hhkb/keymaps/dbroqua/keymap.c
+++ b/keyboards/hhkb/keymaps/dbroqua/keymap.c
@@ -35,19 +35,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | Caps | | | | | | | |PrtSc| Slck| Paus| Up | | |
* |-----------------------------------------------------------------------------------------+
- * | | Vol-| Vol+| Mute| | | | | Home| PgUp| Left |Right| |
+ * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left |Right| |
* |-----------------------------------------------------------------------------------------+
- * | | Prev| Play| Next| | | | | End |PgDwn| Down| | |
+ * | | Prev| Play| Next| | | + | - | End |PgDwn| Down| | |
* +-----------------------------------------------------------------------------------------+
- * | | | | | |
+ * | | | | Stop | |
* `----------------------------------------------------------------´
*/
[FN] = KEYMAP(
KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, \
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, \
+ KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS
),
/* MOUSE Layer
diff --git a/keyboards/hhkb/keymaps/sh_jp/Makefile b/keyboards/hhkb/keymaps/sh_jp/Makefile
new file mode 100644
index 0000000000..a7f700f019
--- /dev/null
+++ b/keyboards/hhkb/keymaps/sh_jp/Makefile
@@ -0,0 +1 @@
+OPT_DEFS += -DHHKB_JP
diff --git a/keyboards/hhkb/keymaps/sh_jp/README.md b/keyboards/hhkb/keymaps/sh_jp/README.md
new file mode 100644
index 0000000000..4f82f2f4e9
--- /dev/null
+++ b/keyboards/hhkb/keymaps/sh_jp/README.md
@@ -0,0 +1,86 @@
+###Keymaps with both Dvorak layout and QWER layout for HHKB JP.
+
+1. The default layout is Dvorak.
+2. Use `Tog` to toggle between Dvorak and QWER
+3. Holding `NewCmd`, the original `LftCmd`, will activate the `NewCmd` layer which means `NewCmd+key` is the same as `Cmd+key` in normal QWER layout.[1](#cmdTab)
+ - For example, no matter you are in Dvorak layout or QWER layout, you can use `Cmd+s` to save a currently editing file.
+4. `Symb` makes type symbols easier
+ - for example: `Symb+a` is `!`.
+5. `Spc+key` equals to `Shft+key` while using `Spc` alone will yield a space as usual.
+6. There's an extra `Tab` in the last line.
+
+```
+Layer DVOR:
+,-----------------------------------------------------------.
+|Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| |Bsp|
+|-----------------------------------------------------------|
+|Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| |
+|------------------------------------------------------` Ent|
+|Ctrl | A| O| E| U| I| D| H| T| N| S| -| \| |
+|-----------------------------------------------------------|
+|Shft | ;| Q| J| K| X| B| M| W| V| Z| | Up| |
+|-----------------------------------------------------------|
+|FN| `| Alt|NewCmd|Symb| Spc |Symb|Tab|RCmd|Tog|Lft|Dwn|Rgh|
+`-----------------------------------------------------------'
+```
+
+```
+Layer QWER:
+,-----------------------------------------------------------.
+|Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =| |Bsp|
+|-----------------------------------------------------------|
+|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |
+|------------------------------------------------------` Ent|
+|Ctrl | A| S| D| F| G| H| J| K| L| ;| '| \| |
+|-----------------------------------------------------------|
+|Shft | Z| X| C| V| B| N| M| ,| .| /| | Up| |
+|-----------------------------------------------------------|
+|FN| `| Alt|NewCmd|Symb| Spc |Symb|Tab|Cmd|Tog|Lft|Dwn|Rgh|
+`-----------------------------------------------------------'
+```
+
+```
+Layer Symb:
+,-----------------------------------------------------------.
+| | | | | | | | | | | | | | | |
+|-----------------------------------------------------------|
+| | | | [| ]| | | {| }| | | | | |
+|------------------------------------------------------` |
+| | !| @| #| $| %| ^| &| *| (| )| '| \| |
+|-----------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|-----------------------------------------------------------|
+| | | | | | | | | | | | | |
+`-----------------------------------------------------------'
+```
+
+```
+Layer FUNC: HHKB mode (HHKB Fn)
+,-----------------------------------------------------------.
+|Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
+|-----------------------------------------------------------|
+|Caps | | | | | | | |Psc|Slk|Pus|Up | | |
+|------------------------------------------------------` |
+| |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig| | |
+|-----------------------------------------------------------|
+| | | | | | | +| -|End|PgD|Dow| | | |
+|-----------------------------------------------------------|
+| || | | | | | | | | || | | |
+`-----------------------------------------------------------'
+```
+
+```
+Empty Layer:
+,-----------------------------------------------------------.
+| | | | | | | | | | | | | | | |
+|-----------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|------------------------------------------------------` |
+| | | | | | | | | | | | | | |
+|-----------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|-----------------------------------------------------------|
+| | | | | | | | | | | | | |
+`-----------------------------------------------------------'
+```
+1 : `NewCmd + Tab` does not work, you can use `RCmd+Tab` to switch among applications.
diff --git a/keyboards/hhkb/keymaps/sh_jp/keymap.c b/keyboards/hhkb/keymaps/sh_jp/keymap.c
new file mode 100644
index 0000000000..d4cb3b0418
--- /dev/null
+++ b/keyboards/hhkb/keymaps/sh_jp/keymap.c
@@ -0,0 +1,60 @@
+#include "hhkb.h"
+
+#define _______ KC_TRNS
+
+enum {
+ DVOR,
+ QWER,
+ NEW_CMD,
+ SYMB,
+ FUNC
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [DVOR] = KEYMAP_JP(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_JYEN, KC_BSPC,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL,
+ KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RO, KC_UP, KC_RSFT,
+ MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, TG(QWER), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [QWER] = KEYMAP_JP(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_UP, KC_RSFT,
+ MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [NEW_CMD] = KEYMAP_JP(
+ _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), _______, _______, _______, LGUI(KC_BSPC),
+ _______, LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC),
+ _______, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), _______, _______, _______, _______,
+ LGUI(KC_LSFT), LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), _______, _______, _______,
+ _______, _______, _______, _______, _______, LGUI(KC_SPC), _______, _______, _______, _______, LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RGHT)
+ ),
+
+ [SYMB] = KEYMAP_JP(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, LSFT(KC_LBRC), LSFT(KC_RBRC), _______, _______,_______, _______,
+ _______, LSFT(KC_1),LSFT(KC_2),LSFT(KC_3),LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [FUNC] = KEYMAP_JP(
+ KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
+ _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt) {
+ return MACRO_NONE;
+}
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
diff --git a/keyboards/infinity60/chconf.h b/keyboards/infinity60/chconf.h
index 43c845739a..d9114ec858 100644
--- a/keyboards/infinity60/chconf.h
+++ b/keyboards/infinity60/chconf.h
@@ -48,7 +48,7 @@
* @details Frequency of the system timer that drives the system ticks. This
* setting also defines the system tick time unit.
*/
-#define CH_CFG_ST_FREQUENCY 1000
+#define CH_CFG_ST_FREQUENCY 100000
/**
* @brief Time delta constant for the tick-less mode.
diff --git a/keyboards/infinity60/matrix.c b/keyboards/infinity60/matrix.c
index 62c165aa53..d2f1852885 100644
--- a/keyboards/infinity60/matrix.c
+++ b/keyboards/infinity60/matrix.c
@@ -96,7 +96,12 @@ uint8_t matrix_scan(void)
}
#endif
- wait_us(1); // need wait to settle pin state
+ // need wait to settle pin state
+ // if you wait too short, or have a too high update rate
+ // the keyboard might freeze, or there might not be enough
+ // processing power to update the LCD screen properly.
+ // 20us, or two ticks at 100000Hz seems to be OK
+ wait_us(20);
// read col data
data = (palReadPort(GPIOD)>>1);
diff --git a/keyboards/jd40/Makefile b/keyboards/jd40/Makefile
index 242748111c..57b2ef62e5 100644
--- a/keyboards/jd40/Makefile
+++ b/keyboards/jd40/Makefile
@@ -1,74 +1,3 @@
-
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
-# CONSOLE_ENABLE ?= yes # Console for debug(+400)
-# COMMAND_ENABLE ?= yes # Commands for debug and configuration
-KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
-# MIDI_ENABLE ?= YES # MIDI controls
-# UNICODE_ENABLE ?= YES # Unicode
-# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE ?= yes # Enable RGB Underglow
-
-ifndef QUANTUM_DIR
+ifndef MAKEFILE_INCLUDED
include ../../Makefile
endif
-
diff --git a/keyboards/jd40/config.h b/keyboards/jd40/config.h
index e2594f4b37..047be5707b 100644
--- a/keyboards/jd40/config.h
+++ b/keyboards/jd40/config.h
@@ -70,7 +70,7 @@ along with this program. If not, see .
)
#define RGB_DI_PIN D3
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12 // Number of LEDs
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/kc60/keymaps/dbroqua/keymap.c b/keyboards/kc60/keymaps/dbroqua/keymap.c
index 1b645ea938..8b5efd0cee 100644
--- a/keyboards/kc60/keymaps/dbroqua/keymap.c
+++ b/keyboards/kc60/keymaps/dbroqua/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | Psc | | | | | |
* |-----------------------------------------------------------------------------------------+
- * | | Led | Led-| Led+| | Mute| Vol+| Vol-| | | | Play | |
+ * | | Led | Led+| Led-| | Mute| Vol+| Vol-| | | | Play | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | Prev | Stop | Next |
* `-----------------------------------------------------------------------------------------'
diff --git a/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c b/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c
new file mode 100644
index 0000000000..123c53a6de
--- /dev/null
+++ b/keyboards/kc60/keymaps/dbroqua_hhkb/keymap.c
@@ -0,0 +1,73 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "kc60.h"
+
+#define _QWERTY 0
+#define _FN 1
+
+// Fillers to make layering more clear
+#define ______ KC_TRNS
+#define XXXXXXX KC_NO
+
+// Func macro definitions.
+#define S_LED FUNC(0)
+#define S_LEDI FUNC(1)
+#define S_LEDD FUNC(2)
+
+// Enable these functions using FUNC(n) macro.
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_BACKLIGHT_TOGGLE(),
+ [1] = ACTION_BACKLIGHT_INCREASE(),
+ [2] = ACTION_BACKLIGHT_DECREASE()
+ };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ * |-----------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
+ * |-----------------------------------------------------------------------------------------+
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |-----------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
+ * |-----------------------------------------------------------------------------------------+
+ * | LGUI | LAlt | Space | RAlt | RGUI |
+ * `-----------------------------------------------------------------'
+ */
+ [0] = KEYMAP( /* Basic QWERTY */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_FN), KC_RSFT, \
+ ______, KC_LGUI, KC_LALT, KC_SPC, KC_GRV, KC_RALT, KC_RGUI, ______, ______ \
+ ),
+
+/* Layer 1
+ * ,-----------------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ * |-----------------------------------------------------------------------------------------+
+ * | CAPS | Led | Led-| Led+| | | | | Psc | Slck| Paus| Up | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | Stop | |
+ * `-----------------------------------------------------------------'
+ */
+ [_FN] = KEYMAP( /* Layer 1 */
+ ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, \
+ KC_CAPS, S_LED, S_LEDI, S_LEDD, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \
+ ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, ______, \
+ ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______,______,KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______,______, \
+ ______, ______, ______, ______, KC_DEL, KC_MSTP, ______, ______, ______ \
+ )
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ return MACRO_NONE;
+};
diff --git a/keyboards/kc60/keymaps/dbroqua_hhkb/readme.md b/keyboards/kc60/keymaps/dbroqua_hhkb/readme.md
new file mode 100644
index 0000000000..be99a3bc7e
--- /dev/null
+++ b/keyboards/kc60/keymaps/dbroqua_hhkb/readme.md
@@ -0,0 +1,9 @@
+# Dbroqua HHKB like Layout
+
+Like the HHKB but with a KC60 PCB :D.
+
+# Programming Instructions:
+Enter into programming mode and run the following command.
+```
+$ sudo KEYMAP=dbroqua_hhkb make dfu
+```
\ No newline at end of file
diff --git a/keyboards/kc60/keymaps/ws2812/config.h b/keyboards/kc60/keymaps/ws2812/config.h
index 2f39ea8e55..43abf6228e 100644
--- a/keyboards/kc60/keymaps/ws2812/config.h
+++ b/keyboards/kc60/keymaps/ws2812/config.h
@@ -2,7 +2,7 @@
/* WS2812B RGB Underglow LED */
#define RGB_DI_PIN F5 // Based on wiring depicted in ws2812_wiring.jpg
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs. Change this to match your use case.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/lets_split/config.h b/keyboards/lets_split/config.h
index f4d900accb..4db45ab0b3 100644
--- a/keyboards/lets_split/config.h
+++ b/keyboards/lets_split/config.h
@@ -28,29 +28,6 @@ along with this program. If not, see .
#define PRODUCT Lets Split
#define DESCRIPTION A split keyboard for the cheap makers
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 6
-
-// wiring of each half
-#define MATRIX_ROW_PINS { B5, B4, E6, D7 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
-
-#define CATERINA_BOOTLOADER
-
-// #define USE_I2C
-
-// Use serial if not using I2C
-#ifndef USE_I2C
-# define USE_SERIAL
-#endif
-
-// #define EE_HANDS
-
-#define I2C_MASTER_LEFT
-// #define I2C_MASTER_RIGHT
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -73,24 +50,11 @@ along with this program. If not, see .
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D4
-#define RGBLIGHT_TIMER
-#define RGBLED_NUM 8 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
/* disable debug print */
-// #define NO_DEBUG
+//#define NO_DEBUG
/* disable print */
-// #define NO_PRINT
+//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
@@ -99,4 +63,10 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
+#ifdef SUBPROJECT_rev1
+ #include "rev1/config.h"
+#endif
+#ifdef SUBPROJECT_rev2
+ #include "rev2/config.h"
+#endif
#endif
diff --git a/keyboards/lets_split/imgs/left.stl b/keyboards/lets_split/imgs/left.stl
new file mode 100644
index 0000000000..ea738d6260
Binary files /dev/null and b/keyboards/lets_split/imgs/left.stl differ
diff --git a/keyboards/lets_split/imgs/lets split rev2 case.iges b/keyboards/lets_split/imgs/lets split rev2 case.iges
new file mode 100644
index 0000000000..5677d09704
--- /dev/null
+++ b/keyboards/lets_split/imgs/lets split rev2 case.iges
@@ -0,0 +1,17931 @@
+ S 1
+,,20Hlets split rev2 case,20Hlets split rev2 case,7Hunknown,7Hunknown, G 1
+32,38,7,99,15,,1.,2,2HMM,1,0.08,15H20161218.141108,0.01,10000.,7HunknownG 2
+,7Hunknown,11,0,; G 3
+ 186 1 00000000D 1
+ 186 -5703 1 0 0D 2
+ 186 2 00000000D 3
+ 186 -5705 1 0 0D 4
+ 186 3 00000000D 5
+ 186 -5705 1 0 0D 6
+ 514 4 00010000D 7
+ 514 29 1 0D 8
+ 514 33 00010000D 9
+ 514 7 1 0D 10
+ 514 40 00010000D 11
+ 514 9 1 0D 12
+ 510 49 00010000D 13
+ 510 -5703 1 1 0D 14
+ 510 50 00010000D 15
+ 510 -5703 1 1 0D 16
+ 510 51 00010000D 17
+ 510 -5703 1 1 0D 18
+ 510 52 00010000D 19
+ 510 -5703 1 1 0D 20
+ 510 53 00010000D 21
+ 510 -5703 1 1 0D 22
+ 510 54 00010000D 23
+ 510 -5703 1 1 0D 24
+ 510 55 00010000D 25
+ 510 -5703 1 1 0D 26
+ 510 56 00010000D 27
+ 510 -5703 1 1 0D 28
+ 510 57 00010000D 29
+ 510 -5703 1 1 0D 30
+ 510 58 00010000D 31
+ 510 -5703 1 1 0D 32
+ 510 59 00010000D 33
+ 510 -5703 1 1 0D 34
+ 510 60 00010000D 35
+ 510 -5703 1 1 0D 36
+ 510 61 00010000D 37
+ 510 -5703 1 1 0D 38
+ 510 62 00010000D 39
+ 510 -5703 1 1 0D 40
+ 510 63 00010000D 41
+ 510 -5703 1 1 0D 42
+ 510 64 00010000D 43
+ 510 -5703 1 1 0D 44
+ 510 65 00010000D 45
+ 510 -5703 1 1 0D 46
+ 510 66 00010000D 47
+ 510 -5703 1 1 0D 48
+ 510 67 00010000D 49
+ 510 -5703 1 1 0D 50
+ 510 68 00010000D 51
+ 510 -5703 1 1 0D 52
+ 510 69 00010000D 53
+ 510 -5703 1 1 0D 54
+ 510 70 00010000D 55
+ 510 -5703 1 1 0D 56
+ 510 71 00010000D 57
+ 510 -5703 1 1 0D 58
+ 510 72 00010000D 59
+ 510 -5703 1 1 0D 60
+ 510 73 00010000D 61
+ 510 -5703 1 1 0D 62
+ 510 74 00010000D 63
+ 510 -5703 1 1 0D 64
+ 510 75 00010000D 65
+ 510 -5703 1 1 0D 66
+ 510 76 00010000D 67
+ 510 -5703 1 1 0D 68
+ 510 77 00010000D 69
+ 510 -5703 1 1 0D 70
+ 510 78 00010000D 71
+ 510 -5703 1 1 0D 72
+ 510 79 00010000D 73
+ 510 -5703 1 1 0D 74
+ 510 80 00010000D 75
+ 510 -5703 1 1 0D 76
+ 510 81 00010000D 77
+ 510 -5703 1 1 0D 78
+ 510 82 00010000D 79
+ 510 -5703 1 1 0D 80
+ 510 83 00010000D 81
+ 510 -5703 1 1 0D 82
+ 510 84 00010000D 83
+ 510 -5703 1 1 0D 84
+ 510 85 00010000D 85
+ 510 -5703 1 1 0D 86
+ 510 86 00010000D 87
+ 510 -5703 1 1 0D 88
+ 510 87 00010000D 89
+ 510 -5703 1 1 0D 90
+ 510 88 00010000D 91
+ 510 -5703 1 1 0D 92
+ 510 89 00010000D 93
+ 510 -5703 1 1 0D 94
+ 510 90 00010000D 95
+ 510 -5703 1 1 0D 96
+ 510 91 00010000D 97
+ 510 -5703 1 1 0D 98
+ 510 92 00010000D 99
+ 510 -5703 1 1 0D 100
+ 510 93 00010000D 101
+ 510 -5703 1 1 0D 102
+ 510 94 00010000D 103
+ 510 -5703 1 1 0D 104
+ 510 95 00010000D 105
+ 510 -5703 1 1 0D 106
+ 510 96 00010000D 107
+ 510 -5703 1 1 0D 108
+ 510 97 00010000D 109
+ 510 -5703 1 1 0D 110
+ 510 98 00010000D 111
+ 510 -5703 1 1 0D 112
+ 510 99 00010000D 113
+ 510 -5703 1 1 0D 114
+ 510 100 00010000D 115
+ 510 -5703 1 1 0D 116
+ 510 101 00010000D 117
+ 510 -5703 1 1 0D 118
+ 510 102 00010000D 119
+ 510 -5703 1 1 0D 120
+ 510 103 00010000D 121
+ 510 -5703 1 1 0D 122
+ 510 104 00010000D 123
+ 510 -5703 1 1 0D 124
+ 510 105 00010000D 125
+ 510 -5703 1 1 0D 126
+ 510 106 00010000D 127
+ 510 -5703 1 1 0D 128
+ 510 107 00010000D 129
+ 510 -5703 1 1 0D 130
+ 510 108 00010000D 131
+ 510 -5703 1 1 0D 132
+ 510 109 00010000D 133
+ 510 -5703 1 1 0D 134
+ 510 110 00010000D 135
+ 510 -5703 1 1 0D 136
+ 510 111 00010000D 137
+ 510 -5703 1 1 0D 138
+ 510 112 00010000D 139
+ 510 -5703 1 1 0D 140
+ 510 113 00010000D 141
+ 510 -5703 1 1 0D 142
+ 510 114 00010000D 143
+ 510 -5703 1 1 0D 144
+ 510 115 00010000D 145
+ 510 -5703 1 1 0D 146
+ 510 116 00010000D 147
+ 510 -5703 1 1 0D 148
+ 510 117 00010000D 149
+ 510 -5703 1 1 0D 150
+ 510 118 00010000D 151
+ 510 -5703 1 1 0D 152
+ 510 119 00010000D 153
+ 510 -5703 1 1 0D 154
+ 510 120 00010000D 155
+ 510 -5703 1 1 0D 156
+ 510 121 00010000D 157
+ 510 -5703 1 1 0D 158
+ 510 122 00010000D 159
+ 510 -5703 1 1 0D 160
+ 510 123 00010000D 161
+ 510 -5703 1 1 0D 162
+ 510 124 00010000D 163
+ 510 -5703 1 1 0D 164
+ 510 125 00010000D 165
+ 510 -5703 1 1 0D 166
+ 510 126 00010000D 167
+ 510 -5703 1 1 0D 168
+ 510 127 00010000D 169
+ 510 -5703 1 1 0D 170
+ 510 128 00010000D 171
+ 510 -5703 1 1 0D 172
+ 510 129 00010000D 173
+ 510 -5703 1 1 0D 174
+ 510 130 00010000D 175
+ 510 -5703 1 1 0D 176
+ 510 131 00010000D 177
+ 510 -5703 1 1 0D 178
+ 510 132 00010000D 179
+ 510 -5703 1 1 0D 180
+ 510 133 00010000D 181
+ 510 -5703 1 1 0D 182
+ 510 134 00010000D 183
+ 510 -5703 1 1 0D 184
+ 510 135 00010000D 185
+ 510 -5703 1 1 0D 186
+ 510 136 00010000D 187
+ 510 -5703 1 1 0D 188
+ 510 137 00010000D 189
+ 510 -5703 1 1 0D 190
+ 510 138 00010000D 191
+ 510 -5703 1 1 0D 192
+ 510 139 00010000D 193
+ 510 -5703 1 1 0D 194
+ 510 140 00010000D 195
+ 510 -5703 1 1 0D 196
+ 510 141 00010000D 197
+ 510 -5703 1 1 0D 198
+ 510 142 00010000D 199
+ 510 -5703 1 1 0D 200
+ 510 143 00010000D 201
+ 510 -5703 1 1 0D 202
+ 510 144 00010000D 203
+ 510 -5703 1 1 0D 204
+ 510 145 00010000D 205
+ 510 -5703 1 1 0D 206
+ 510 146 00010000D 207
+ 510 -5703 1 1 0D 208
+ 510 147 00010000D 209
+ 510 -5703 1 1 0D 210
+ 510 148 00010000D 211
+ 510 -5703 1 1 0D 212
+ 510 149 00010000D 213
+ 510 -5703 1 1 0D 214
+ 510 150 00010000D 215
+ 510 -5703 1 1 0D 216
+ 510 151 00010000D 217
+ 510 -5703 1 1 0D 218
+ 510 152 00010000D 219
+ 510 -5703 1 1 0D 220
+ 510 153 00010000D 221
+ 510 -5703 1 1 0D 222
+ 510 154 00010000D 223
+ 510 -5703 1 1 0D 224
+ 510 155 00010000D 225
+ 510 -5703 1 1 0D 226
+ 510 156 00010000D 227
+ 510 -5703 1 1 0D 228
+ 510 157 00010000D 229
+ 510 -5703 1 1 0D 230
+ 510 158 00010000D 231
+ 510 -5703 1 1 0D 232
+ 510 159 00010000D 233
+ 510 -5703 1 1 0D 234
+ 510 160 00010000D 235
+ 510 -5703 1 1 0D 236
+ 510 161 00010000D 237
+ 510 -5703 1 1 0D 238
+ 510 162 00010000D 239
+ 510 -5703 1 1 0D 240
+ 510 163 00010000D 241
+ 510 -5703 1 1 0D 242
+ 510 164 00010000D 243
+ 510 -5703 1 1 0D 244
+ 510 165 00010000D 245
+ 510 -5703 1 1 0D 246
+ 510 166 00010000D 247
+ 510 -5703 1 1 0D 248
+ 510 167 00010000D 249
+ 510 -5703 1 1 0D 250
+ 510 168 00010000D 251
+ 510 -5703 1 1 0D 252
+ 510 169 00010000D 253
+ 510 -5703 1 1 0D 254
+ 510 170 00010000D 255
+ 510 -5703 1 1 0D 256
+ 510 171 00010000D 257
+ 510 -5703 1 1 0D 258
+ 510 172 00010000D 259
+ 510 -5703 1 1 0D 260
+ 510 173 00010000D 261
+ 510 -5703 1 1 0D 262
+ 510 174 00010000D 263
+ 510 -5703 1 1 0D 264
+ 510 175 00010000D 265
+ 510 -5703 1 1 0D 266
+ 510 176 00010000D 267
+ 510 -5703 1 1 0D 268
+ 510 177 00010000D 269
+ 510 -5703 1 1 0D 270
+ 510 178 00010000D 271
+ 510 -5703 1 1 0D 272
+ 510 179 00010000D 273
+ 510 -5703 1 1 0D 274
+ 510 180 00010000D 275
+ 510 -5703 1 1 0D 276
+ 510 181 00010000D 277
+ 510 -5703 1 1 0D 278
+ 510 182 00010000D 279
+ 510 -5703 1 1 0D 280
+ 510 183 00010000D 281
+ 510 -5703 1 1 0D 282
+ 510 184 00010000D 283
+ 510 -5703 1 1 0D 284
+ 510 185 00010000D 285
+ 510 -5703 1 1 0D 286
+ 510 186 00010000D 287
+ 510 -5703 1 1 0D 288
+ 510 187 00010000D 289
+ 510 -5703 1 1 0D 290
+ 510 188 00010000D 291
+ 510 -5703 1 1 0D 292
+ 510 189 00010000D 293
+ 510 -5703 1 1 0D 294
+ 510 190 00010000D 295
+ 510 -5703 1 1 0D 296
+ 510 191 00010000D 297
+ 510 -5703 1 1 0D 298
+ 510 192 00010000D 299
+ 510 -5703 1 1 0D 300
+ 510 193 00010000D 301
+ 510 -5703 1 1 0D 302
+ 510 194 00010000D 303
+ 510 -5703 1 1 0D 304
+ 510 195 00010000D 305
+ 510 -5703 1 1 0D 306
+ 510 196 00010000D 307
+ 510 -5703 1 1 0D 308
+ 510 197 00010000D 309
+ 510 -5703 1 1 0D 310
+ 510 198 00010000D 311
+ 510 -5703 1 1 0D 312
+ 510 199 00010000D 313
+ 510 -5703 1 1 0D 314
+ 510 200 00010000D 315
+ 510 -5703 1 1 0D 316
+ 510 201 00010000D 317
+ 510 -5703 1 1 0D 318
+ 510 202 00010000D 319
+ 510 -5703 1 1 0D 320
+ 510 203 00010000D 321
+ 510 -5703 1 1 0D 322
+ 510 204 00010000D 323
+ 510 -5703 1 1 0D 324
+ 510 205 00010000D 325
+ 510 -5703 1 1 0D 326
+ 510 206 00010000D 327
+ 510 -5703 1 1 0D 328
+ 510 207 00010000D 329
+ 510 -5703 1 1 0D 330
+ 510 208 00010000D 331
+ 510 -5703 1 1 0D 332
+ 510 209 00010000D 333
+ 510 -5703 1 1 0D 334
+ 510 210 00010000D 335
+ 510 -5703 1 1 0D 336
+ 510 211 00010000D 337
+ 510 -5703 1 1 0D 338
+ 510 212 00010000D 339
+ 510 -5703 1 1 0D 340
+ 510 213 00010000D 341
+ 510 -5703 1 1 0D 342
+ 510 214 00010000D 343
+ 510 -5703 1 1 0D 344
+ 510 215 00010000D 345
+ 510 -5703 1 1 0D 346
+ 510 216 00010000D 347
+ 510 -5703 1 1 0D 348
+ 510 217 00010000D 349
+ 510 -5703 1 1 0D 350
+ 510 218 00010000D 351
+ 510 -5703 1 1 0D 352
+ 510 219 00010000D 353
+ 510 -5703 1 1 0D 354
+ 510 220 00010000D 355
+ 510 -5703 1 1 0D 356
+ 510 221 00010000D 357
+ 510 -5703 1 1 0D 358
+ 510 222 00010000D 359
+ 510 -5703 1 1 0D 360
+ 510 223 00010000D 361
+ 510 -5703 1 1 0D 362
+ 510 224 00010000D 363
+ 510 -5703 1 1 0D 364
+ 510 225 00010000D 365
+ 510 -5703 1 1 0D 366
+ 510 226 00010000D 367
+ 510 -5703 1 1 0D 368
+ 510 227 00010000D 369
+ 510 -5703 1 1 0D 370
+ 510 228 00010000D 371
+ 510 -5703 1 1 0D 372
+ 510 229 00010000D 373
+ 510 -5703 1 1 0D 374
+ 510 230 00010000D 375
+ 510 -5703 1 1 0D 376
+ 510 231 00010000D 377
+ 510 -5703 1 1 0D 378
+ 510 232 00010000D 379
+ 510 -5703 1 1 0D 380
+ 510 233 00010000D 381
+ 510 -5703 1 1 0D 382
+ 510 234 00010000D 383
+ 510 -5703 1 1 0D 384
+ 510 235 00010000D 385
+ 510 -5703 1 1 0D 386
+ 510 236 00010000D 387
+ 510 -5703 1 1 0D 388
+ 510 237 00010000D 389
+ 510 -5703 1 1 0D 390
+ 510 238 00010000D 391
+ 510 -5703 1 1 0D 392
+ 510 239 00010000D 393
+ 510 -5703 1 1 0D 394
+ 510 240 00010000D 395
+ 510 -5703 1 1 0D 396
+ 510 241 00010000D 397
+ 510 -5703 1 1 0D 398
+ 510 242 00010000D 399
+ 510 -5703 1 1 0D 400
+ 510 243 00010000D 401
+ 510 -5703 1 1 0D 402
+ 510 244 00010000D 403
+ 510 -5703 1 1 0D 404
+ 510 245 00010000D 405
+ 510 -5703 1 1 0D 406
+ 510 246 00010000D 407
+ 510 -5703 1 1 0D 408
+ 510 247 00010000D 409
+ 510 -5703 1 1 0D 410
+ 510 248 00010000D 411
+ 510 -5703 1 1 0D 412
+ 510 249 00010000D 413
+ 510 -5703 1 1 0D 414
+ 510 250 00010000D 415
+ 510 -5703 1 1 0D 416
+ 510 251 00010000D 417
+ 510 -5703 1 1 0D 418
+ 510 252 00010000D 419
+ 510 -5703 1 1 0D 420
+ 510 253 00010000D 421
+ 510 -5703 1 1 0D 422
+ 510 254 00010000D 423
+ 510 -5703 1 1 0D 424
+ 510 255 00010000D 425
+ 510 -5703 1 1 0D 426
+ 510 256 00010000D 427
+ 510 -5703 1 1 0D 428
+ 510 257 00010000D 429
+ 510 -5703 1 1 0D 430
+ 510 258 00010000D 431
+ 510 -5703 1 1 0D 432
+ 510 259 00010000D 433
+ 510 -5703 1 1 0D 434
+ 510 260 00010000D 435
+ 510 -5703 1 1 0D 436
+ 510 261 00010000D 437
+ 510 -5703 1 1 0D 438
+ 510 262 00010000D 439
+ 510 -5703 1 1 0D 440
+ 510 263 00010000D 441
+ 510 -5703 1 1 0D 442
+ 510 264 00010000D 443
+ 510 -5703 1 1 0D 444
+ 510 265 00010000D 445
+ 510 -5703 1 1 0D 446
+ 510 266 00010000D 447
+ 510 -5703 1 1 0D 448
+ 510 267 00010000D 449
+ 510 -5703 1 1 0D 450
+ 510 268 00010000D 451
+ 510 -5703 1 1 0D 452
+ 510 269 00010000D 453
+ 510 -5703 1 1 0D 454
+ 510 270 00010000D 455
+ 510 -5703 1 1 0D 456
+ 510 271 00010000D 457
+ 510 -5703 1 1 0D 458
+ 510 272 00010000D 459
+ 510 -5703 1 1 0D 460
+ 510 273 00010000D 461
+ 510 -5703 1 1 0D 462
+ 510 274 00010000D 463
+ 510 -5703 1 1 0D 464
+ 510 275 00010000D 465
+ 510 -5703 1 1 0D 466
+ 510 276 00010000D 467
+ 510 -5703 1 1 0D 468
+ 510 277 00010000D 469
+ 510 -5703 1 1 0D 470
+ 510 278 00010000D 471
+ 510 -5703 1 1 0D 472
+ 510 279 00010000D 473
+ 510 -5703 1 1 0D 474
+ 510 280 00010000D 475
+ 510 -5703 1 1 0D 476
+ 510 281 00010000D 477
+ 510 -5703 1 1 0D 478
+ 510 282 00010000D 479
+ 510 -5703 1 1 0D 480
+ 510 283 00010000D 481
+ 510 -5703 1 1 0D 482
+ 510 284 00010000D 483
+ 510 -5703 1 1 0D 484
+ 510 285 00010000D 485
+ 510 -5703 1 1 0D 486
+ 510 286 00010000D 487
+ 510 -5703 1 1 0D 488
+ 510 287 00010000D 489
+ 510 -5703 1 1 0D 490
+ 510 288 00010000D 491
+ 510 -5703 1 1 0D 492
+ 510 289 00010000D 493
+ 510 -5703 1 1 0D 494
+ 510 290 00010000D 495
+ 510 -5703 1 1 0D 496
+ 510 291 00010000D 497
+ 510 -5703 1 1 0D 498
+ 510 292 00010000D 499
+ 510 -5703 1 1 0D 500
+ 510 293 00010000D 501
+ 510 -5703 1 1 0D 502
+ 510 294 00010000D 503
+ 510 -5703 1 1 0D 504
+ 510 295 00010000D 505
+ 510 -5703 1 1 0D 506
+ 510 296 00010000D 507
+ 510 -5703 1 1 0D 508
+ 510 297 00010000D 509
+ 510 -5703 1 1 0D 510
+ 510 298 00010000D 511
+ 510 -5703 1 1 0D 512
+ 510 299 00010000D 513
+ 510 -5703 1 1 0D 514
+ 510 300 00010000D 515
+ 510 -5703 1 1 0D 516
+ 510 301 00010000D 517
+ 510 -5703 1 1 0D 518
+ 510 302 00010000D 519
+ 510 -5703 1 1 0D 520
+ 510 303 00010000D 521
+ 510 -5703 1 1 0D 522
+ 510 304 00010000D 523
+ 510 -5703 1 1 0D 524
+ 510 305 00010000D 525
+ 510 -5703 1 1 0D 526
+ 510 306 00010000D 527
+ 510 -5703 1 1 0D 528
+ 510 307 00010000D 529
+ 510 -5703 1 1 0D 530
+ 510 308 00010000D 531
+ 510 -5703 1 1 0D 532
+ 510 309 00010000D 533
+ 510 -5703 1 1 0D 534
+ 510 310 00010000D 535
+ 510 -5703 1 1 0D 536
+ 510 311 00010000D 537
+ 510 -5703 1 1 0D 538
+ 510 312 00010000D 539
+ 510 -5703 1 1 0D 540
+ 510 313 00010000D 541
+ 510 -5703 1 1 0D 542
+ 510 314 00010000D 543
+ 510 -5703 1 1 0D 544
+ 510 315 00010000D 545
+ 510 -5703 1 1 0D 546
+ 510 316 00010000D 547
+ 510 -5703 1 1 0D 548
+ 510 317 00010000D 549
+ 510 -5703 1 1 0D 550
+ 510 318 00010000D 551
+ 510 -5703 1 1 0D 552
+ 510 319 00010000D 553
+ 510 -5703 1 1 0D 554
+ 510 320 00010000D 555
+ 510 -5703 1 1 0D 556
+ 510 321 00010000D 557
+ 510 -5703 1 1 0D 558
+ 510 322 00010000D 559
+ 510 -5703 1 1 0D 560
+ 510 323 00010000D 561
+ 510 -5703 1 1 0D 562
+ 510 324 00010000D 563
+ 510 -5703 1 1 0D 564
+ 510 325 00010000D 565
+ 510 -5703 1 1 0D 566
+ 510 326 00010000D 567
+ 510 -5703 1 1 0D 568
+ 510 327 00010000D 569
+ 510 -5703 1 1 0D 570
+ 510 328 00010000D 571
+ 510 -5703 1 1 0D 572
+ 510 329 00010000D 573
+ 510 -5703 1 1 0D 574
+ 510 330 00010000D 575
+ 510 -5703 1 1 0D 576
+ 510 331 00010000D 577
+ 510 -5703 1 1 0D 578
+ 510 332 00010000D 579
+ 510 -5703 1 1 0D 580
+ 510 333 00010000D 581
+ 510 -5703 1 1 0D 582
+ 510 334 00010000D 583
+ 510 -5703 1 1 0D 584
+ 510 335 00010000D 585
+ 510 -5703 1 1 0D 586
+ 510 336 00010000D 587
+ 510 -5703 1 1 0D 588
+ 510 337 00010000D 589
+ 510 -5703 1 1 0D 590
+ 510 338 00010000D 591
+ 510 -5703 1 1 0D 592
+ 510 339 00010000D 593
+ 510 -5703 1 1 0D 594
+ 510 340 00010000D 595
+ 510 -5703 1 1 0D 596
+ 510 341 00010000D 597
+ 510 -5703 1 1 0D 598
+ 510 342 00010000D 599
+ 510 -5703 1 1 0D 600
+ 510 343 00010000D 601
+ 510 -5703 1 1 0D 602
+ 510 344 00010000D 603
+ 510 -5703 1 1 0D 604
+ 510 345 00010000D 605
+ 510 -5703 1 1 0D 606
+ 510 346 00010000D 607
+ 510 -5703 1 1 0D 608
+ 510 347 00010000D 609
+ 510 -5703 1 1 0D 610
+ 510 348 00010000D 611
+ 510 -5703 1 1 0D 612
+ 510 349 00010000D 613
+ 510 -5703 1 1 0D 614
+ 510 350 00010000D 615
+ 510 -5703 1 1 0D 616
+ 510 351 00010000D 617
+ 510 -5703 1 1 0D 618
+ 510 352 00010000D 619
+ 510 -5703 1 1 0D 620
+ 510 353 00010000D 621
+ 510 -5703 1 1 0D 622
+ 510 354 00010000D 623
+ 510 -5703 3 1 0D 624
+ 510 357 00010000D 625
+ 510 -5703 3 1 0D 626
+ 510 360 00010000D 627
+ 510 -5705 1 1 0D 628
+ 510 361 00010000D 629
+ 510 -5705 1 1 0D 630
+ 510 362 00010000D 631
+ 510 -5705 1 1 0D 632
+ 510 363 00010000D 633
+ 510 -5705 1 1 0D 634
+ 510 364 00010000D 635
+ 510 -5705 1 1 0D 636
+ 510 365 00010000D 637
+ 510 -5705 1 1 0D 638
+ 510 366 00010000D 639
+ 510 -5705 1 1 0D 640
+ 510 367 00010000D 641
+ 510 -5705 1 1 0D 642
+ 510 368 00010000D 643
+ 510 -5705 1 1 0D 644
+ 510 369 00010000D 645
+ 510 -5705 1 1 0D 646
+ 510 370 00010000D 647
+ 510 -5705 1 1 0D 648
+ 510 371 00010000D 649
+ 510 -5705 1 1 0D 650
+ 510 372 00010000D 651
+ 510 -5705 1 1 0D 652
+ 510 373 00010000D 653
+ 510 -5705 1 1 0D 654
+ 510 374 00010000D 655
+ 510 -5705 1 1 0D 656
+ 510 375 00010000D 657
+ 510 -5705 1 1 0D 658
+ 510 376 00010000D 659
+ 510 -5705 1 1 0D 660
+ 510 377 00010000D 661
+ 510 -5705 1 1 0D 662
+ 510 378 00010000D 663
+ 510 -5705 1 1 0D 664
+ 510 379 00010000D 665
+ 510 -5705 1 1 0D 666
+ 510 380 00010000D 667
+ 510 -5705 1 1 0D 668
+ 510 381 00010000D 669
+ 510 -5705 1 1 0D 670
+ 510 382 00010000D 671
+ 510 -5705 1 1 0D 672
+ 510 383 00010000D 673
+ 510 -5705 1 1 0D 674
+ 510 384 00010000D 675
+ 510 -5705 1 1 0D 676
+ 510 385 00010000D 677
+ 510 -5705 1 1 0D 678
+ 510 386 00010000D 679
+ 510 -5705 1 1 0D 680
+ 510 387 00010000D 681
+ 510 -5705 1 1 0D 682
+ 510 388 00010000D 683
+ 510 -5705 1 1 0D 684
+ 510 389 00010000D 685
+ 510 -5705 1 1 0D 686
+ 510 390 00010000D 687
+ 510 -5705 1 1 0D 688
+ 510 391 00010000D 689
+ 510 -5705 1 1 0D 690
+ 510 392 00010000D 691
+ 510 -5705 1 1 0D 692
+ 510 393 00010000D 693
+ 510 -5705 1 1 0D 694
+ 510 394 00010000D 695
+ 510 -5705 1 1 0D 696
+ 510 395 00010000D 697
+ 510 -5705 1 1 0D 698
+ 510 396 00010000D 699
+ 510 -5705 1 1 0D 700
+ 510 397 00010000D 701
+ 510 -5705 1 1 0D 702
+ 510 398 00010000D 703
+ 510 -5705 1 1 0D 704
+ 510 399 00010000D 705
+ 510 -5705 1 1 0D 706
+ 510 400 00010000D 707
+ 510 -5705 1 1 0D 708
+ 510 401 00010000D 709
+ 510 -5705 1 1 0D 710
+ 510 402 00010000D 711
+ 510 -5705 1 1 0D 712
+ 510 403 00010000D 713
+ 510 -5705 1 1 0D 714
+ 510 404 00010000D 715
+ 510 -5705 1 1 0D 716
+ 510 405 00010000D 717
+ 510 -5705 1 1 0D 718
+ 510 406 00010000D 719
+ 510 -5705 1 1 0D 720
+ 510 407 00010000D 721
+ 510 -5705 1 1 0D 722
+ 510 408 00010000D 723
+ 510 -5705 1 1 0D 724
+ 510 409 00010000D 725
+ 510 -5705 1 1 0D 726
+ 510 410 00010000D 727
+ 510 -5705 1 1 0D 728
+ 510 411 00010000D 729
+ 510 -5705 1 1 0D 730
+ 510 412 00010000D 731
+ 510 -5705 1 1 0D 732
+ 510 413 00010000D 733
+ 510 -5705 1 1 0D 734
+ 510 414 00010000D 735
+ 510 -5705 1 1 0D 736
+ 510 415 00010000D 737
+ 510 -5705 1 1 0D 738
+ 510 416 00010000D 739
+ 510 -5705 1 1 0D 740
+ 510 417 00010000D 741
+ 510 -5705 1 1 0D 742
+ 510 418 00010000D 743
+ 510 -5705 1 1 0D 744
+ 510 419 00010000D 745
+ 510 -5705 1 1 0D 746
+ 510 420 00010000D 747
+ 510 -5705 1 1 0D 748
+ 510 421 00010000D 749
+ 510 -5705 1 1 0D 750
+ 510 422 00010000D 751
+ 510 -5705 1 1 0D 752
+ 510 423 00010000D 753
+ 510 -5705 1 1 0D 754
+ 510 424 00010000D 755
+ 510 -5705 1 1 0D 756
+ 510 425 00010000D 757
+ 510 -5705 1 1 0D 758
+ 510 426 00010000D 759
+ 510 -5705 1 1 0D 760
+ 510 427 00010000D 761
+ 510 -5705 1 1 0D 762
+ 510 428 00010000D 763
+ 510 -5705 1 1 0D 764
+ 510 429 00010000D 765
+ 510 -5705 1 1 0D 766
+ 510 430 00010000D 767
+ 510 -5705 1 1 0D 768
+ 510 431 00010000D 769
+ 510 -5705 1 1 0D 770
+ 510 432 00010000D 771
+ 510 -5705 1 1 0D 772
+ 510 433 00010000D 773
+ 510 -5705 1 1 0D 774
+ 510 434 00010000D 775
+ 510 -5705 1 1 0D 776
+ 510 435 00010000D 777
+ 510 -5705 1 1 0D 778
+ 510 436 00010000D 779
+ 510 -5705 1 1 0D 780
+ 510 437 00010000D 781
+ 510 -5705 1 1 0D 782
+ 510 438 00010000D 783
+ 510 -5705 1 1 0D 784
+ 510 439 00010000D 785
+ 510 -5705 1 1 0D 786
+ 510 440 00010000D 787
+ 510 -5705 1 1 0D 788
+ 510 441 00010000D 789
+ 510 -5705 1 1 0D 790
+ 510 442 00010000D 791
+ 510 -5705 1 1 0D 792
+ 510 443 00010000D 793
+ 510 -5705 1 1 0D 794
+ 510 444 00010000D 795
+ 510 -5705 1 1 0D 796
+ 510 445 00010000D 797
+ 510 -5705 1 1 0D 798
+ 510 446 00010000D 799
+ 510 -5705 1 1 0D 800
+ 510 447 00010000D 801
+ 510 -5705 1 1 0D 802
+ 510 448 00010000D 803
+ 510 -5705 1 1 0D 804
+ 510 449 00010000D 805
+ 510 -5705 1 1 0D 806
+ 510 450 00010000D 807
+ 510 -5705 1 1 0D 808
+ 510 451 00010000D 809
+ 510 -5705 1 1 0D 810
+ 510 452 00010000D 811
+ 510 -5705 1 1 0D 812
+ 510 453 00010000D 813
+ 510 -5705 1 1 0D 814
+ 510 454 00010000D 815
+ 510 -5705 1 1 0D 816
+ 510 455 00010000D 817
+ 510 -5705 1 1 0D 818
+ 510 456 00010000D 819
+ 510 -5705 1 1 0D 820
+ 510 457 00010000D 821
+ 510 -5705 1 1 0D 822
+ 510 458 00010000D 823
+ 510 -5705 1 1 0D 824
+ 510 459 00010000D 825
+ 510 -5705 1 1 0D 826
+ 510 460 00010000D 827
+ 510 -5705 1 1 0D 828
+ 510 461 00010000D 829
+ 510 -5705 1 1 0D 830
+ 510 462 00010000D 831
+ 510 -5705 1 1 0D 832
+ 510 463 00010000D 833
+ 510 -5705 1 1 0D 834
+ 510 464 00010000D 835
+ 510 -5705 1 1 0D 836
+ 510 465 00010000D 837
+ 510 -5705 1 1 0D 838
+ 510 466 00010000D 839
+ 510 -5705 1 1 0D 840
+ 510 467 00010000D 841
+ 510 -5705 1 1 0D 842
+ 510 468 00010000D 843
+ 510 -5705 1 1 0D 844
+ 510 469 00010000D 845
+ 510 -5705 1 1 0D 846
+ 510 470 00010000D 847
+ 510 -5705 1 1 0D 848
+ 510 471 00010000D 849
+ 510 -5705 1 1 0D 850
+ 510 472 00010000D 851
+ 510 -5705 1 1 0D 852
+ 510 473 00010000D 853
+ 510 -5705 1 1 0D 854
+ 510 474 00010000D 855
+ 510 -5705 1 1 0D 856
+ 510 475 00010000D 857
+ 510 -5705 1 1 0D 858
+ 510 476 00010000D 859
+ 510 -5705 1 1 0D 860
+ 510 477 00010000D 861
+ 510 -5705 1 1 0D 862
+ 510 478 00010000D 863
+ 510 -5705 1 1 0D 864
+ 510 479 00010000D 865
+ 510 -5705 1 1 0D 866
+ 510 480 00010000D 867
+ 510 -5705 1 1 0D 868
+ 510 481 00010000D 869
+ 510 -5705 1 1 0D 870
+ 510 482 00010000D 871
+ 510 -5705 1 1 0D 872
+ 510 483 00010000D 873
+ 510 -5705 1 1 0D 874
+ 510 484 00010000D 875
+ 510 -5705 1 1 0D 876
+ 510 485 00010000D 877
+ 510 -5705 1 1 0D 878
+ 510 486 00010000D 879
+ 510 -5705 1 1 0D 880
+ 510 487 00010000D 881
+ 510 -5705 1 1 0D 882
+ 510 488 00010000D 883
+ 510 -5705 1 1 0D 884
+ 510 489 00010000D 885
+ 510 -5705 1 1 0D 886
+ 510 490 00010000D 887
+ 510 -5705 1 1 0D 888
+ 510 491 00010000D 889
+ 510 -5705 1 1 0D 890
+ 510 492 00010000D 891
+ 510 -5705 1 1 0D 892
+ 510 493 00010000D 893
+ 510 -5705 1 1 0D 894
+ 510 494 00010000D 895
+ 510 -5705 1 1 0D 896
+ 510 495 00010000D 897
+ 510 -5705 1 1 0D 898
+ 510 496 00010000D 899
+ 510 -5705 1 1 0D 900
+ 510 497 00010000D 901
+ 510 -5705 1 1 0D 902
+ 510 498 00010000D 903
+ 510 -5705 1 1 0D 904
+ 510 499 00010000D 905
+ 510 -5705 1 1 0D 906
+ 510 500 00010000D 907
+ 510 -5705 1 1 0D 908
+ 510 501 00010000D 909
+ 510 -5705 1 1 0D 910
+ 510 502 00010000D 911
+ 510 -5705 1 1 0D 912
+ 510 503 00010000D 913
+ 510 -5705 1 1 0D 914
+ 510 504 00010000D 915
+ 510 -5705 1 1 0D 916
+ 510 505 00010000D 917
+ 510 -5705 1 1 0D 918
+ 510 506 00010000D 919
+ 510 -5705 1 1 0D 920
+ 510 507 00010000D 921
+ 510 -5705 1 1 0D 922
+ 510 508 00010000D 923
+ 510 -5705 1 1 0D 924
+ 510 509 00010000D 925
+ 510 -5705 1 1 0D 926
+ 510 510 00010000D 927
+ 510 -5705 1 1 0D 928
+ 510 511 00010000D 929
+ 510 -5705 1 1 0D 930
+ 510 512 00010000D 931
+ 510 -5705 1 1 0D 932
+ 510 513 00010000D 933
+ 510 -5705 1 1 0D 934
+ 508 514 00010000D 935
+ 508 1 1 0D 936
+ 508 515 00010000D 937
+ 508 1 1 0D 938
+ 508 516 00010000D 939
+ 508 1 1 0D 940
+ 508 517 00010000D 941
+ 508 1 1 0D 942
+ 508 518 00010000D 943
+ 508 1 1 0D 944
+ 508 519 00010000D 945
+ 508 1 1 0D 946
+ 508 520 00010000D 947
+ 508 1 1 0D 948
+ 508 521 00010000D 949
+ 508 1 1 0D 950
+ 508 522 00010000D 951
+ 508 1 1 0D 952
+ 508 523 00010000D 953
+ 508 1 1 0D 954
+ 508 524 00010000D 955
+ 508 1 1 0D 956
+ 508 525 00010000D 957
+ 508 1 1 0D 958
+ 508 526 00010000D 959
+ 508 1 1 0D 960
+ 508 527 00010000D 961
+ 508 1 1 0D 962
+ 508 528 00010000D 963
+ 508 1 1 0D 964
+ 508 529 00010000D 965
+ 508 1 1 0D 966
+ 508 530 00010000D 967
+ 508 1 1 0D 968
+ 508 531 00010000D 969
+ 508 1 1 0D 970
+ 508 532 00010000D 971
+ 508 1 1 0D 972
+ 508 533 00010000D 973
+ 508 1 1 0D 974
+ 508 534 00010000D 975
+ 508 1 1 0D 976
+ 508 535 00010000D 977
+ 508 1 1 0D 978
+ 508 536 00010000D 979
+ 508 1 1 0D 980
+ 508 537 00010000D 981
+ 508 1 1 0D 982
+ 508 538 00010000D 983
+ 508 1 1 0D 984
+ 508 539 00010000D 985
+ 508 1 1 0D 986
+ 508 540 00010000D 987
+ 508 1 1 0D 988
+ 508 541 00010000D 989
+ 508 1 1 0D 990
+ 508 542 00010000D 991
+ 508 1 1 0D 992
+ 508 543 00010000D 993
+ 508 1 1 0D 994
+ 508 544 00010000D 995
+ 508 1 1 0D 996
+ 508 545 00010000D 997
+ 508 1 1 0D 998
+ 508 546 00010000D 999
+ 508 1 1 0D 1000
+ 508 547 00010000D 1001
+ 508 2 1 0D 1002
+ 508 549 00010000D 1003
+ 508 2 1 0D 1004
+ 508 551 00010000D 1005
+ 508 2 1 0D 1006
+ 508 553 00010000D 1007
+ 508 2 1 0D 1008
+ 508 555 00010000D 1009
+ 508 2 1 0D 1010
+ 508 557 00010000D 1011
+ 508 2 1 0D 1012
+ 508 559 00010000D 1013
+ 508 2 1 0D 1014
+ 508 561 00010000D 1015
+ 508 2 1 0D 1016
+ 508 563 00010000D 1017
+ 508 2 1 0D 1018
+ 508 565 00010000D 1019
+ 508 2 1 0D 1020
+ 508 567 00010000D 1021
+ 508 2 1 0D 1022
+ 508 569 00010000D 1023
+ 508 2 1 0D 1024
+ 508 571 00010000D 1025
+ 508 2 1 0D 1026
+ 508 573 00010000D 1027
+ 508 2 1 0D 1028
+ 508 575 00010000D 1029
+ 508 2 1 0D 1030
+ 508 577 00010000D 1031
+ 508 2 1 0D 1032
+ 508 579 00010000D 1033
+ 508 2 1 0D 1034
+ 508 581 00010000D 1035
+ 508 2 1 0D 1036
+ 508 583 00010000D 1037
+ 508 2 1 0D 1038
+ 508 585 00010000D 1039
+ 508 2 1 0D 1040
+ 508 587 00010000D 1041
+ 508 2 1 0D 1042
+ 508 589 00010000D 1043
+ 508 2 1 0D 1044
+ 508 591 00010000D 1045
+ 508 2 1 0D 1046
+ 508 593 00010000D 1047
+ 508 2 1 0D 1048
+ 508 595 00010000D 1049
+ 508 2 1 0D 1050
+ 508 597 00010000D 1051
+ 508 2 1 0D 1052
+ 508 599 00010000D 1053
+ 508 2 1 0D 1054
+ 508 601 00010000D 1055
+ 508 2 1 0D 1056
+ 508 603 00010000D 1057
+ 508 2 1 0D 1058
+ 508 605 00010000D 1059
+ 508 2 1 0D 1060
+ 508 607 00010000D 1061
+ 508 2 1 0D 1062
+ 508 609 00010000D 1063
+ 508 2 1 0D 1064
+ 508 611 00010000D 1065
+ 508 2 1 0D 1066
+ 508 613 00010000D 1067
+ 508 2 1 0D 1068
+ 508 615 00010000D 1069
+ 508 2 1 0D 1070
+ 508 617 00010000D 1071
+ 508 2 1 0D 1072
+ 508 619 00010000D 1073
+ 508 2 1 0D 1074
+ 508 621 00010000D 1075
+ 508 2 1 0D 1076
+ 508 623 00010000D 1077
+ 508 2 1 0D 1078
+ 508 625 00010000D 1079
+ 508 2 1 0D 1080
+ 508 627 00010000D 1081
+ 508 2 1 0D 1082
+ 508 629 00010000D 1083
+ 508 2 1 0D 1084
+ 508 631 00010000D 1085
+ 508 2 1 0D 1086
+ 508 633 00010000D 1087
+ 508 2 1 0D 1088
+ 508 635 00010000D 1089
+ 508 2 1 0D 1090
+ 508 637 00010000D 1091
+ 508 2 1 0D 1092
+ 508 639 00010000D 1093
+ 508 2 1 0D 1094
+ 508 641 00010000D 1095
+ 508 2 1 0D 1096
+ 508 643 00010000D 1097
+ 508 2 1 0D 1098
+ 508 645 00010000D 1099
+ 508 2 1 0D 1100
+ 508 647 00010000D 1101
+ 508 2 1 0D 1102
+ 508 649 00010000D 1103
+ 508 2 1 0D 1104
+ 508 651 00010000D 1105
+ 508 2 1 0D 1106
+ 508 653 00010000D 1107
+ 508 2 1 0D 1108
+ 508 655 00010000D 1109
+ 508 2 1 0D 1110
+ 508 657 00010000D 1111
+ 508 2 1 0D 1112
+ 508 659 00010000D 1113
+ 508 2 1 0D 1114
+ 508 661 00010000D 1115
+ 508 2 1 0D 1116
+ 508 663 00010000D 1117
+ 508 2 1 0D 1118
+ 508 665 00010000D 1119
+ 508 2 1 0D 1120
+ 508 667 00010000D 1121
+ 508 2 1 0D 1122
+ 508 669 00010000D 1123
+ 508 2 1 0D 1124
+ 508 671 00010000D 1125
+ 508 2 1 0D 1126
+ 508 673 00010000D 1127
+ 508 2 1 0D 1128
+ 508 675 00010000D 1129
+ 508 2 1 0D 1130
+ 508 677 00010000D 1131
+ 508 2 1 0D 1132
+ 508 679 00010000D 1133
+ 508 2 1 0D 1134
+ 508 681 00010000D 1135
+ 508 2 1 0D 1136
+ 508 683 00010000D 1137
+ 508 2 1 0D 1138
+ 508 685 00010000D 1139
+ 508 2 1 0D 1140
+ 508 687 00010000D 1141
+ 508 2 1 0D 1142
+ 508 689 00010000D 1143
+ 508 2 1 0D 1144
+ 508 691 00010000D 1145
+ 508 2 1 0D 1146
+ 508 693 00010000D 1147
+ 508 2 1 0D 1148
+ 508 695 00010000D 1149
+ 508 2 1 0D 1150
+ 508 697 00010000D 1151
+ 508 2 1 0D 1152
+ 508 699 00010000D 1153
+ 508 2 1 0D 1154
+ 508 701 00010000D 1155
+ 508 2 1 0D 1156
+ 508 703 00010000D 1157
+ 508 2 1 0D 1158
+ 508 705 00010000D 1159
+ 508 2 1 0D 1160
+ 508 707 00010000D 1161
+ 508 2 1 0D 1162
+ 508 709 00010000D 1163
+ 508 2 1 0D 1164
+ 508 711 00010000D 1165
+ 508 2 1 0D 1166
+ 508 713 00010000D 1167
+ 508 2 1 0D 1168
+ 508 715 00010000D 1169
+ 508 2 1 0D 1170
+ 508 717 00010000D 1171
+ 508 2 1 0D 1172
+ 508 719 00010000D 1173
+ 508 2 1 0D 1174
+ 508 721 00010000D 1175
+ 508 2 1 0D 1176
+ 508 723 00010000D 1177
+ 508 2 1 0D 1178
+ 508 725 00010000D 1179
+ 508 2 1 0D 1180
+ 508 727 00010000D 1181
+ 508 2 1 0D 1182
+ 508 729 00010000D 1183
+ 508 2 1 0D 1184
+ 508 731 00010000D 1185
+ 508 2 1 0D 1186
+ 508 733 00010000D 1187
+ 508 2 1 0D 1188
+ 508 735 00010000D 1189
+ 508 2 1 0D 1190
+ 508 737 00010000D 1191
+ 508 2 1 0D 1192
+ 508 739 00010000D 1193
+ 508 2 1 0D 1194
+ 508 741 00010000D 1195
+ 508 2 1 0D 1196
+ 508 743 00010000D 1197
+ 508 2 1 0D 1198
+ 508 745 00010000D 1199
+ 508 2 1 0D 1200
+ 508 747 00010000D 1201
+ 508 2 1 0D 1202
+ 508 749 00010000D 1203
+ 508 2 1 0D 1204
+ 508 751 00010000D 1205
+ 508 2 1 0D 1206
+ 508 753 00010000D 1207
+ 508 2 1 0D 1208
+ 508 755 00010000D 1209
+ 508 2 1 0D 1210
+ 508 757 00010000D 1211
+ 508 2 1 0D 1212
+ 508 759 00010000D 1213
+ 508 2 1 0D 1214
+ 508 761 00010000D 1215
+ 508 2 1 0D 1216
+ 508 763 00010000D 1217
+ 508 2 1 0D 1218
+ 508 765 00010000D 1219
+ 508 2 1 0D 1220
+ 508 767 00010000D 1221
+ 508 2 1 0D 1222
+ 508 769 00010000D 1223
+ 508 2 1 0D 1224
+ 508 771 00010000D 1225
+ 508 2 1 0D 1226
+ 508 773 00010000D 1227
+ 508 2 1 0D 1228
+ 508 775 00010000D 1229
+ 508 2 1 0D 1230
+ 508 777 00010000D 1231
+ 508 2 1 0D 1232
+ 508 779 00010000D 1233
+ 508 2 1 0D 1234
+ 508 781 00010000D 1235
+ 508 2 1 0D 1236
+ 508 783 00010000D 1237
+ 508 2 1 0D 1238
+ 508 785 00010000D 1239
+ 508 2 1 0D 1240
+ 508 787 00010000D 1241
+ 508 2 1 0D 1242
+ 508 789 00010000D 1243
+ 508 2 1 0D 1244
+ 508 791 00010000D 1245
+ 508 2 1 0D 1246
+ 508 793 00010000D 1247
+ 508 2 1 0D 1248
+ 508 795 00010000D 1249
+ 508 2 1 0D 1250
+ 508 797 00010000D 1251
+ 508 2 1 0D 1252
+ 508 799 00010000D 1253
+ 508 2 1 0D 1254
+ 508 801 00010000D 1255
+ 508 2 1 0D 1256
+ 508 803 00010000D 1257
+ 508 2 1 0D 1258
+ 508 805 00010000D 1259
+ 508 2 1 0D 1260
+ 508 807 00010000D 1261
+ 508 2 1 0D 1262
+ 508 809 00010000D 1263
+ 508 2 1 0D 1264
+ 508 811 00010000D 1265
+ 508 2 1 0D 1266
+ 508 813 00010000D 1267
+ 508 2 1 0D 1268
+ 508 815 00010000D 1269
+ 508 2 1 0D 1270
+ 508 817 00010000D 1271
+ 508 2 1 0D 1272
+ 508 819 00010000D 1273
+ 508 2 1 0D 1274
+ 508 821 00010000D 1275
+ 508 2 1 0D 1276
+ 508 823 00010000D 1277
+ 508 2 1 0D 1278
+ 508 825 00010000D 1279
+ 508 2 1 0D 1280
+ 508 827 00010000D 1281
+ 508 2 1 0D 1282
+ 508 829 00010000D 1283
+ 508 2 1 0D 1284
+ 508 831 00010000D 1285
+ 508 2 1 0D 1286
+ 508 833 00010000D 1287
+ 508 2 1 0D 1288
+ 508 835 00010000D 1289
+ 508 2 1 0D 1290
+ 508 837 00010000D 1291
+ 508 2 1 0D 1292
+ 508 839 00010000D 1293
+ 508 2 1 0D 1294
+ 508 841 00010000D 1295
+ 508 2 1 0D 1296
+ 508 843 00010000D 1297
+ 508 2 1 0D 1298
+ 508 845 00010000D 1299
+ 508 2 1 0D 1300
+ 508 847 00010000D 1301
+ 508 2 1 0D 1302
+ 508 849 00010000D 1303
+ 508 2 1 0D 1304
+ 508 851 00010000D 1305
+ 508 2 1 0D 1306
+ 508 853 00010000D 1307
+ 508 2 1 0D 1308
+ 508 855 00010000D 1309
+ 508 2 1 0D 1310
+ 508 857 00010000D 1311
+ 508 2 1 0D 1312
+ 508 859 00010000D 1313
+ 508 2 1 0D 1314
+ 508 861 00010000D 1315
+ 508 2 1 0D 1316
+ 508 863 00010000D 1317
+ 508 2 1 0D 1318
+ 508 865 00010000D 1319
+ 508 2 1 0D 1320
+ 508 867 00010000D 1321
+ 508 2 1 0D 1322
+ 508 869 00010000D 1323
+ 508 2 1 0D 1324
+ 508 871 00010000D 1325
+ 508 2 1 0D 1326
+ 508 873 00010000D 1327
+ 508 2 1 0D 1328
+ 508 875 00010000D 1329
+ 508 2 1 0D 1330
+ 508 877 00010000D 1331
+ 508 2 1 0D 1332
+ 508 879 00010000D 1333
+ 508 2 1 0D 1334
+ 508 881 00010000D 1335
+ 508 2 1 0D 1336
+ 508 883 00010000D 1337
+ 508 2 1 0D 1338
+ 508 885 00010000D 1339
+ 508 2 1 0D 1340
+ 508 887 00010000D 1341
+ 508 2 1 0D 1342
+ 508 889 00010000D 1343
+ 508 2 1 0D 1344
+ 508 891 00010000D 1345
+ 508 2 1 0D 1346
+ 508 893 00010000D 1347
+ 508 2 1 0D 1348
+ 508 895 00010000D 1349
+ 508 2 1 0D 1350
+ 508 897 00010000D 1351
+ 508 2 1 0D 1352
+ 508 899 00010000D 1353
+ 508 2 1 0D 1354
+ 508 901 00010000D 1355
+ 508 2 1 0D 1356
+ 508 903 00010000D 1357
+ 508 2 1 0D 1358
+ 508 905 00010000D 1359
+ 508 2 1 0D 1360
+ 508 907 00010000D 1361
+ 508 2 1 0D 1362
+ 508 909 00010000D 1363
+ 508 2 1 0D 1364
+ 508 911 00010000D 1365
+ 508 2 1 0D 1366
+ 508 913 00010000D 1367
+ 508 2 1 0D 1368
+ 508 915 00010000D 1369
+ 508 2 1 0D 1370
+ 508 917 00010000D 1371
+ 508 2 1 0D 1372
+ 508 919 00010000D 1373
+ 508 2 1 0D 1374
+ 508 921 00010000D 1375
+ 508 2 1 0D 1376
+ 508 923 00010000D 1377
+ 508 2 1 0D 1378
+ 508 925 00010000D 1379
+ 508 2 1 0D 1380
+ 508 927 00010000D 1381
+ 508 2 1 0D 1382
+ 508 929 00010000D 1383
+ 508 2 1 0D 1384
+ 508 931 00010000D 1385
+ 508 2 1 0D 1386
+ 508 933 00010000D 1387
+ 508 2 1 0D 1388
+ 508 935 00010000D 1389
+ 508 2 1 0D 1390
+ 508 937 00010000D 1391
+ 508 2 1 0D 1392
+ 508 939 00010000D 1393
+ 508 2 1 0D 1394
+ 508 941 00010000D 1395
+ 508 2 1 0D 1396
+ 508 943 00010000D 1397
+ 508 2 1 0D 1398
+ 508 945 00010000D 1399
+ 508 2 1 0D 1400
+ 508 947 00010000D 1401
+ 508 2 1 0D 1402
+ 508 949 00010000D 1403
+ 508 2 1 0D 1404
+ 508 951 00010000D 1405
+ 508 2 1 0D 1406
+ 508 953 00010000D 1407
+ 508 2 1 0D 1408
+ 508 955 00010000D 1409
+ 508 2 1 0D 1410
+ 508 957 00010000D 1411
+ 508 2 1 0D 1412
+ 508 959 00010000D 1413
+ 508 2 1 0D 1414
+ 508 961 00010000D 1415
+ 508 2 1 0D 1416
+ 508 963 00010000D 1417
+ 508 2 1 0D 1418
+ 508 965 00010000D 1419
+ 508 2 1 0D 1420
+ 508 967 00010000D 1421
+ 508 2 1 0D 1422
+ 508 969 00010000D 1423
+ 508 2 1 0D 1424
+ 508 971 00010000D 1425
+ 508 2 1 0D 1426
+ 508 973 00010000D 1427
+ 508 2 1 0D 1428
+ 508 975 00010000D 1429
+ 508 2 1 0D 1430
+ 508 977 00010000D 1431
+ 508 2 1 0D 1432
+ 508 979 00010000D 1433
+ 508 2 1 0D 1434
+ 508 981 00010000D 1435
+ 508 2 1 0D 1436
+ 508 983 00010000D 1437
+ 508 2 1 0D 1438
+ 508 985 00010000D 1439
+ 508 2 1 0D 1440
+ 508 987 00010000D 1441
+ 508 2 1 0D 1442
+ 508 989 00010000D 1443
+ 508 2 1 0D 1444
+ 508 991 00010000D 1445
+ 508 2 1 0D 1446
+ 508 993 00010000D 1447
+ 508 2 1 0D 1448
+ 508 995 00010000D 1449
+ 508 2 1 0D 1450
+ 508 997 00010000D 1451
+ 508 2 1 0D 1452
+ 508 999 00010000D 1453
+ 508 2 1 0D 1454
+ 508 1001 00010000D 1455
+ 508 2 1 0D 1456
+ 508 1003 00010000D 1457
+ 508 2 1 0D 1458
+ 508 1005 00010000D 1459
+ 508 2 1 0D 1460
+ 508 1007 00010000D 1461
+ 508 2 1 0D 1462
+ 508 1009 00010000D 1463
+ 508 2 1 0D 1464
+ 508 1011 00010000D 1465
+ 508 2 1 0D 1466
+ 508 1013 00010000D 1467
+ 508 2 1 0D 1468
+ 508 1015 00010000D 1469
+ 508 2 1 0D 1470
+ 508 1017 00010000D 1471
+ 508 2 1 0D 1472
+ 508 1019 00010000D 1473
+ 508 2 1 0D 1474
+ 508 1021 00010000D 1475
+ 508 2 1 0D 1476
+ 508 1023 00010000D 1477
+ 508 2 1 0D 1478
+ 508 1025 00010000D 1479
+ 508 2 1 0D 1480
+ 508 1027 00010000D 1481
+ 508 2 1 0D 1482
+ 508 1029 00010000D 1483
+ 508 2 1 0D 1484
+ 508 1031 00010000D 1485
+ 508 2 1 0D 1486
+ 508 1033 00010000D 1487
+ 508 2 1 0D 1488
+ 508 1035 00010000D 1489
+ 508 2 1 0D 1490
+ 508 1037 00010000D 1491
+ 508 2 1 0D 1492
+ 508 1039 00010000D 1493
+ 508 2 1 0D 1494
+ 508 1041 00010000D 1495
+ 508 2 1 0D 1496
+ 508 1043 00010000D 1497
+ 508 2 1 0D 1498
+ 508 1045 00010000D 1499
+ 508 2 1 0D 1500
+ 508 1047 00010000D 1501
+ 508 2 1 0D 1502
+ 508 1049 00010000D 1503
+ 508 2 1 0D 1504
+ 508 1051 00010000D 1505
+ 508 2 1 0D 1506
+ 508 1053 00010000D 1507
+ 508 2 1 0D 1508
+ 508 1055 00010000D 1509
+ 508 2 1 0D 1510
+ 508 1057 00010000D 1511
+ 508 2 1 0D 1512
+ 508 1059 00010000D 1513
+ 508 2 1 0D 1514
+ 508 1061 00010000D 1515
+ 508 2 1 0D 1516
+ 508 1063 00010000D 1517
+ 508 2 1 0D 1518
+ 508 1065 00010000D 1519
+ 508 2 1 0D 1520
+ 508 1067 00010000D 1521
+ 508 2 1 0D 1522
+ 508 1069 00010000D 1523
+ 508 2 1 0D 1524
+ 508 1071 00010000D 1525
+ 508 2 1 0D 1526
+ 508 1073 00010000D 1527
+ 508 2 1 0D 1528
+ 508 1075 00010000D 1529
+ 508 2 1 0D 1530
+ 508 1077 00010000D 1531
+ 508 2 1 0D 1532
+ 508 1079 00010000D 1533
+ 508 2 1 0D 1534
+ 508 1081 00010000D 1535
+ 508 2 1 0D 1536
+ 508 1083 00010000D 1537
+ 508 2 1 0D 1538
+ 508 1085 00010000D 1539
+ 508 2 1 0D 1540
+ 508 1087 00010000D 1541
+ 508 2 1 0D 1542
+ 508 1089 00010000D 1543
+ 508 2 1 0D 1544
+ 508 1091 00010000D 1545
+ 508 3 1 0D 1546
+ 508 1094 00010000D 1547
+ 508 3 1 0D 1548
+ 508 1097 00010000D 1549
+ 508 3 1 0D 1550
+ 508 1100 00010000D 1551
+ 508 3 1 0D 1552
+ 508 1103 00010000D 1553
+ 508 3 1 0D 1554
+ 508 1106 00010000D 1555
+ 508 3 1 0D 1556
+ 508 1109 00010000D 1557
+ 508 3 1 0D 1558
+ 508 1112 00010000D 1559
+ 508 3 1 0D 1560
+ 508 1115 00010000D 1561
+ 508 3 1 0D 1562
+ 508 1118 00010000D 1563
+ 508 3 1 0D 1564
+ 508 1121 00010000D 1565
+ 508 3 1 0D 1566
+ 508 1124 00010000D 1567
+ 508 3 1 0D 1568
+ 508 1127 00010000D 1569
+ 508 3 1 0D 1570
+ 508 1130 00010000D 1571
+ 508 3 1 0D 1572
+ 508 1133 00010000D 1573
+ 508 3 1 0D 1574
+ 508 1136 00010000D 1575
+ 508 3 1 0D 1576
+ 508 1139 00010000D 1577
+ 508 3 1 0D 1578
+ 508 1142 00010000D 1579
+ 508 3 1 0D 1580
+ 508 1145 00010000D 1581
+ 508 3 1 0D 1582
+ 508 1148 00010000D 1583
+ 508 3 1 0D 1584
+ 508 1151 00010000D 1585
+ 508 3 1 0D 1586
+ 508 1154 00010000D 1587
+ 508 3 1 0D 1588
+ 508 1157 00010000D 1589
+ 508 3 1 0D 1590
+ 508 1160 00010000D 1591
+ 508 3 1 0D 1592
+ 508 1163 00010000D 1593
+ 508 3 1 0D 1594
+ 508 1166 00010000D 1595
+ 508 1 1 0D 1596
+ 508 1167 00010000D 1597
+ 508 1 1 0D 1598
+ 508 1168 00010000D 1599
+ 508 1 1 0D 1600
+ 508 1169 00010000D 1601
+ 508 1 1 0D 1602
+ 508 1170 00010000D 1603
+ 508 3 1 0D 1604
+ 508 1173 00010000D 1605
+ 508 3 1 0D 1606
+ 508 1176 00010000D 1607
+ 508 3 1 0D 1608
+ 508 1179 00010000D 1609
+ 508 3 1 0D 1610
+ 508 1182 00010000D 1611
+ 508 3 1 0D 1612
+ 508 1185 00010000D 1613
+ 508 3 1 0D 1614
+ 508 1188 00010000D 1615
+ 508 3 1 0D 1616
+ 508 1191 00010000D 1617
+ 508 3 1 0D 1618
+ 508 1194 00010000D 1619
+ 508 3 1 0D 1620
+ 508 1197 00010000D 1621
+ 508 3 1 0D 1622
+ 508 1200 00010000D 1623
+ 508 3 1 0D 1624
+ 508 1203 00010000D 1625
+ 508 3 1 0D 1626
+ 508 1206 00010000D 1627
+ 508 3 1 0D 1628
+ 508 1209 00010000D 1629
+ 508 3 1 0D 1630
+ 508 1212 00010000D 1631
+ 508 3 1 0D 1632
+ 508 1215 00010000D 1633
+ 508 3 1 0D 1634
+ 508 1218 00010000D 1635
+ 508 3 1 0D 1636
+ 508 1221 00010000D 1637
+ 508 3 1 0D 1638
+ 508 1224 00010000D 1639
+ 508 3 1 0D 1640
+ 508 1227 00010000D 1641
+ 508 3 1 0D 1642
+ 508 1230 00010000D 1643
+ 508 3 1 0D 1644
+ 508 1233 00010000D 1645
+ 508 3 1 0D 1646
+ 508 1236 00010000D 1647
+ 508 3 1 0D 1648
+ 508 1239 00010000D 1649
+ 508 3 1 0D 1650
+ 508 1242 00010000D 1651
+ 508 3 1 0D 1652
+ 508 1245 00010000D 1653
+ 508 1 1 0D 1654
+ 508 1246 00010000D 1655
+ 508 1 1 0D 1656
+ 508 1247 00010000D 1657
+ 508 1 1 0D 1658
+ 508 1248 00010000D 1659
+ 508 1 1 0D 1660
+ 508 1249 00010000D 1661
+ 508 1 1 0D 1662
+ 508 1250 00010000D 1663
+ 508 1 1 0D 1664
+ 508 1251 00010000D 1665
+ 508 1 1 0D 1666
+ 508 1252 00010000D 1667
+ 508 1 1 0D 1668
+ 508 1253 00010000D 1669
+ 508 1 1 0D 1670
+ 508 1254 00010000D 1671
+ 508 1 1 0D 1672
+ 508 1255 00010000D 1673
+ 508 2 1 0D 1674
+ 508 1257 00010000D 1675
+ 508 1 1 0D 1676
+ 508 1258 00010000D 1677
+ 508 1 1 0D 1678
+ 508 1259 00010000D 1679
+ 508 1 1 0D 1680
+ 508 1260 00010000D 1681
+ 508 1 1 0D 1682
+ 508 1261 00010000D 1683
+ 508 1 1 0D 1684
+ 508 1262 00010000D 1685
+ 508 1 1 0D 1686
+ 508 1263 00010000D 1687
+ 508 1 1 0D 1688
+ 508 1264 00010000D 1689
+ 508 1 1 0D 1690
+ 508 1265 00010000D 1691
+ 508 2 1 0D 1692
+ 508 1267 00010000D 1693
+ 508 1 1 0D 1694
+ 508 1268 00010000D 1695
+ 508 1 1 0D 1696
+ 508 1269 00010000D 1697
+ 508 1 1 0D 1698
+ 508 1270 00010000D 1699
+ 508 1 1 0D 1700
+ 508 1271 00010000D 1701
+ 508 1 1 0D 1702
+ 508 1272 00010000D 1703
+ 508 1 1 0D 1704
+ 508 1273 00010000D 1705
+ 508 1 1 0D 1706
+ 508 1274 00010000D 1707
+ 508 1 1 0D 1708
+ 508 1275 00010000D 1709
+ 508 1 1 0D 1710
+ 508 1276 00010000D 1711
+ 508 1 1 0D 1712
+ 508 1277 00010000D 1713
+ 508 1 1 0D 1714
+ 508 1278 00010000D 1715
+ 508 1 1 0D 1716
+ 508 1279 00010000D 1717
+ 508 1 1 0D 1718
+ 508 1280 00010000D 1719
+ 508 1 1 0D 1720
+ 508 1281 00010000D 1721
+ 508 2 1 0D 1722
+ 508 1283 00010000D 1723
+ 508 5 1 0D 1724
+ 508 1288 00010000D 1725
+ 508 2 1 0D 1726
+ 508 1290 00010000D 1727
+ 508 1 1 0D 1728
+ 508 1291 00010000D 1729
+ 508 1 1 0D 1730
+ 508 1292 00010000D 1731
+ 508 1 1 0D 1732
+ 508 1293 00010000D 1733
+ 508 1 1 0D 1734
+ 508 1294 00010000D 1735
+ 508 1 1 0D 1736
+ 508 1295 00010000D 1737
+ 508 1 1 0D 1738
+ 508 1296 00010000D 1739
+ 508 2 1 0D 1740
+ 508 1298 00010000D 1741
+ 508 2 1 0D 1742
+ 508 1300 00010000D 1743
+ 508 2 1 0D 1744
+ 508 1302 00010000D 1745
+ 508 2 1 0D 1746
+ 508 1304 00010000D 1747
+ 508 3 1 0D 1748
+ 508 1307 00010000D 1749
+ 508 2 1 0D 1750
+ 508 1309 00010000D 1751
+ 508 2 1 0D 1752
+ 508 1311 00010000D 1753
+ 508 2 1 0D 1754
+ 508 1313 00010000D 1755
+ 508 2 1 0D 1756
+ 508 1315 00010000D 1757
+ 508 2 1 0D 1758
+ 508 1317 00010000D 1759
+ 508 2 1 0D 1760
+ 508 1319 00010000D 1761
+ 508 2 1 0D 1762
+ 508 1321 00010000D 1763
+ 508 2 1 0D 1764
+ 508 1323 00010000D 1765
+ 508 2 1 0D 1766
+ 508 1325 00010000D 1767
+ 508 1 1 0D 1768
+ 508 1326 00010000D 1769
+ 508 2 1 0D 1770
+ 508 1328 00010000D 1771
+ 508 2 1 0D 1772
+ 508 1330 00010000D 1773
+ 508 2 1 0D 1774
+ 508 1332 00010000D 1775
+ 508 2 1 0D 1776
+ 508 1334 00010000D 1777
+ 508 2 1 0D 1778
+ 508 1336 00010000D 1779
+ 508 2 1 0D 1780
+ 508 1338 00010000D 1781
+ 508 3 1 0D 1782
+ 508 1341 00010000D 1783
+ 508 2 1 0D 1784
+ 508 1343 00010000D 1785
+ 508 3 1 0D 1786
+ 508 1346 00010000D 1787
+ 508 3 1 0D 1788
+ 508 1349 00010000D 1789
+ 508 2 1 0D 1790
+ 508 1351 00010000D 1791
+ 508 2 1 0D 1792
+ 508 1353 00010000D 1793
+ 508 2 1 0D 1794
+ 508 1355 00010000D 1795
+ 508 2 1 0D 1796
+ 508 1357 00010000D 1797
+ 508 2 1 0D 1798
+ 508 1359 00010000D 1799
+ 508 2 1 0D 1800
+ 508 1361 00010000D 1801
+ 508 2 1 0D 1802
+ 508 1363 00010000D 1803
+ 508 3 1 0D 1804
+ 508 1366 00010000D 1805
+ 508 2 1 0D 1806
+ 508 1368 00010000D 1807
+ 508 5 1 0D 1808
+ 508 1373 00010000D 1809
+ 508 1 1 0D 1810
+ 508 1374 00010000D 1811
+ 508 1 1 0D 1812
+ 508 1375 00010000D 1813
+ 508 1 1 0D 1814
+ 508 1376 00010000D 1815
+ 508 1 1 0D 1816
+ 508 1377 00010000D 1817
+ 508 1 1 0D 1818
+ 508 1378 00010000D 1819
+ 508 1 1 0D 1820
+ 508 1379 00010000D 1821
+ 508 1 1 0D 1822
+ 508 1380 00010000D 1823
+ 508 2 1 0D 1824
+ 508 1382 00010000D 1825
+ 508 3 1 0D 1826
+ 508 1385 00010000D 1827
+ 508 2 1 0D 1828
+ 508 1387 00010000D 1829
+ 508 2 1 0D 1830
+ 508 1389 00010000D 1831
+ 508 1 1 0D 1832
+ 508 1390 00010000D 1833
+ 508 3 1 0D 1834
+ 508 1393 00010000D 1835
+ 508 4 1 0D 1836
+ 508 1397 00010000D 1837
+ 508 1 1 0D 1838
+ 508 1398 00010000D 1839
+ 508 1 1 0D 1840
+ 508 1399 00010000D 1841
+ 508 1 1 0D 1842
+ 508 1400 00010000D 1843
+ 508 1 1 0D 1844
+ 508 1401 00010000D 1845
+ 508 1 1 0D 1846
+ 508 1402 00010000D 1847
+ 508 1 1 0D 1848
+ 508 1403 00010000D 1849
+ 508 1 1 0D 1850
+ 508 1404 00010000D 1851
+ 508 1 1 0D 1852
+ 508 1405 00010000D 1853
+ 508 1 1 0D 1854
+ 508 1406 00010000D 1855
+ 508 1 1 0D 1856
+ 508 1407 00010000D 1857
+ 508 1 1 0D 1858
+ 508 1408 00010000D 1859
+ 508 1 1 0D 1860
+ 508 1409 00010000D 1861
+ 508 1 1 0D 1862
+ 508 1410 00010000D 1863
+ 508 1 1 0D 1864
+ 508 1411 00010000D 1865
+ 508 1 1 0D 1866
+ 508 1412 00010000D 1867
+ 508 1 1 0D 1868
+ 508 1413 00010000D 1869
+ 508 2 1 0D 1870
+ 508 1415 00010000D 1871
+ 508 2 1 0D 1872
+ 508 1417 00010000D 1873
+ 508 2 1 0D 1874
+ 508 1419 00010000D 1875
+ 508 2 1 0D 1876
+ 508 1421 00010000D 1877
+ 508 2 1 0D 1878
+ 508 1423 00010000D 1879
+ 508 2 1 0D 1880
+ 508 1425 00010000D 1881
+ 508 2 1 0D 1882
+ 508 1427 00010000D 1883
+ 508 2 1 0D 1884
+ 508 1429 00010000D 1885
+ 508 2 1 0D 1886
+ 508 1431 00010000D 1887
+ 508 2 1 0D 1888
+ 508 1433 00010000D 1889
+ 508 2 1 0D 1890
+ 508 1435 00010000D 1891
+ 508 2 1 0D 1892
+ 508 1437 00010000D 1893
+ 508 2 1 0D 1894
+ 508 1439 00010000D 1895
+ 508 2 1 0D 1896
+ 508 1441 00010000D 1897
+ 508 2 1 0D 1898
+ 508 1443 00010000D 1899
+ 508 2 1 0D 1900
+ 508 1445 00010000D 1901
+ 508 2 1 0D 1902
+ 508 1447 00010000D 1903
+ 508 5 1 0D 1904
+ 508 1452 00010000D 1905
+ 508 3 1 0D 1906
+ 508 1455 00010000D 1907
+ 508 5 1 0D 1908
+ 508 1460 00010000D 1909
+ 508 1 1 0D 1910
+ 508 1461 00010000D 1911
+ 508 1 1 0D 1912
+ 508 1462 00010000D 1913
+ 508 1 1 0D 1914
+ 508 1463 00010000D 1915
+ 508 1 1 0D 1916
+ 508 1464 00010000D 1917
+ 508 1 1 0D 1918
+ 508 1465 00010000D 1919
+ 508 1 1 0D 1920
+ 508 1466 00010000D 1921
+ 508 5 1 0D 1922
+ 508 1471 00010000D 1923
+ 508 2 1 0D 1924
+ 508 1473 00010000D 1925
+ 508 2 1 0D 1926
+ 508 1475 00010000D 1927
+ 508 2 1 0D 1928
+ 508 1477 00010000D 1929
+ 508 2 1 0D 1930
+ 508 1479 00010000D 1931
+ 508 2 1 0D 1932
+ 508 1481 00010000D 1933
+ 508 2 1 0D 1934
+ 508 1483 00010000D 1935
+ 508 2 1 0D 1936
+ 508 1485 00010000D 1937
+ 508 1 1 0D 1938
+ 508 1486 00010000D 1939
+ 508 2 1 0D 1940
+ 508 1488 00010000D 1941
+ 508 2 1 0D 1942
+ 508 1490 00010000D 1943
+ 508 2 1 0D 1944
+ 508 1492 00010000D 1945
+ 508 2 1 0D 1946
+ 508 1494 00010000D 1947
+ 508 2 1 0D 1948
+ 508 1496 00010000D 1949
+ 508 2 1 0D 1950
+ 508 1498 00010000D 1951
+ 508 2 1 0D 1952
+ 508 1500 00010000D 1953
+ 508 2 1 0D 1954
+ 508 1502 00010000D 1955
+ 508 2 1 0D 1956
+ 508 1504 00010000D 1957
+ 508 2 1 0D 1958
+ 508 1506 00010000D 1959
+ 508 2 1 0D 1960
+ 508 1508 00010000D 1961
+ 508 2 1 0D 1962
+ 508 1510 00010000D 1963
+ 508 2 1 0D 1964
+ 508 1512 00010000D 1965
+ 508 1 1 0D 1966
+ 508 1513 00010000D 1967
+ 508 2 1 0D 1968
+ 508 1515 00010000D 1969
+ 508 3 1 0D 1970
+ 508 1518 00010000D 1971
+ 508 1 1 0D 1972
+ 508 1519 00010000D 1973
+ 508 2 1 0D 1974
+ 508 1521 00010000D 1975
+ 508 1 1 0D 1976
+ 508 1522 00010000D 1977
+ 508 1 1 0D 1978
+ 508 1523 00010000D 1979
+ 508 1 1 0D 1980
+ 508 1524 00010000D 1981
+ 508 1 1 0D 1982
+ 508 1525 00010000D 1983
+ 508 2 1 0D 1984
+ 508 1527 00010000D 1985
+ 508 1 1 0D 1986
+ 508 1528 00010000D 1987
+ 508 2 1 0D 1988
+ 508 1530 00010000D 1989
+ 508 2 1 0D 1990
+ 508 1532 00010000D 1991
+ 508 2 1 0D 1992
+ 508 1534 00010000D 1993
+ 508 2 1 0D 1994
+ 508 1536 00010000D 1995
+ 508 2 1 0D 1996
+ 508 1538 00010000D 1997
+ 508 2 1 0D 1998
+ 508 1540 00010000D 1999
+ 508 2 1 0D 2000
+ 508 1542 00010000D 2001
+ 508 2 1 0D 2002
+ 508 1544 00010000D 2003
+ 508 3 1 0D 2004
+ 508 1547 00010000D 2005
+ 508 2 1 0D 2006
+ 508 1549 00010000D 2007
+ 508 3 1 0D 2008
+ 508 1552 00010000D 2009
+ 508 3 1 0D 2010
+ 508 1555 00010000D 2011
+ 508 2 1 0D 2012
+ 508 1557 00010000D 2013
+ 508 2 1 0D 2014
+ 508 1559 00010000D 2015
+ 508 2 1 0D 2016
+ 508 1561 00010000D 2017
+ 508 2 1 0D 2018
+ 508 1563 00010000D 2019
+ 508 2 1 0D 2020
+ 508 1565 00010000D 2021
+ 508 2 1 0D 2022
+ 508 1567 00010000D 2023
+ 508 1 1 0D 2024
+ 508 1568 00010000D 2025
+ 508 1 1 0D 2026
+ 126 1569 00010000D 2027
+ 126 0 13 0 0D 2028
+ 126 1582 00010000D 2029
+ 126 0 4 0 0D 2030
+ 126 1586 00010000D 2031
+ 126 0 13 0 0D 2032
+ 126 1599 00010000D 2033
+ 126 0 3 0 0D 2034
+ 126 1602 00010000D 2035
+ 126 0 13 0 0D 2036
+ 126 1615 00010000D 2037
+ 126 0 13 0 0D 2038
+ 126 1628 00010000D 2039
+ 126 0 13 0 0D 2040
+ 126 1641 00010000D 2041
+ 126 0 4 0 0D 2042
+ 126 1645 00010000D 2043
+ 126 0 13 0 0D 2044
+ 126 1658 00010000D 2045
+ 126 0 3 0 0D 2046
+ 126 1661 00010000D 2047
+ 126 0 13 0 0D 2048
+ 126 1674 00010000D 2049
+ 126 0 13 0 0D 2050
+ 126 1687 00010000D 2051
+ 126 0 11 0 0D 2052
+ 126 1698 00010000D 2053
+ 126 0 3 0 0D 2054
+ 126 1701 00010000D 2055
+ 126 0 11 0 0D 2056
+ 126 1712 00010000D 2057
+ 126 0 3 0 0D 2058
+ 126 1715 00010000D 2059
+ 126 0 11 0 0D 2060
+ 126 1726 00010000D 2061
+ 126 0 11 0 0D 2062
+ 126 1737 00010000D 2063
+ 126 0 11 0 0D 2064
+ 126 1748 00010000D 2065
+ 126 0 3 0 0D 2066
+ 126 1751 00010000D 2067
+ 126 0 11 0 0D 2068
+ 126 1762 00010000D 2069
+ 126 0 3 0 0D 2070
+ 126 1765 00010000D 2071
+ 126 0 11 0 0D 2072
+ 126 1776 00010000D 2073
+ 126 0 11 0 0D 2074
+ 126 1787 00010000D 2075
+ 126 0 4 0 0D 2076
+ 126 1791 00010000D 2077
+ 126 0 3 0 0D 2078
+ 126 1794 00010000D 2079
+ 126 0 4 0 0D 2080
+ 126 1798 00010000D 2081
+ 126 0 3 0 0D 2082
+ 126 1801 00010000D 2083
+ 126 0 4 0 0D 2084
+ 126 1805 00010000D 2085
+ 126 0 4 0 0D 2086
+ 126 1809 00010000D 2087
+ 126 0 3 0 0D 2088
+ 126 1812 00010000D 2089
+ 126 0 4 0 0D 2090
+ 126 1816 00010000D 2091
+ 126 0 4 0 0D 2092
+ 126 1820 00010000D 2093
+ 126 0 3 0 0D 2094
+ 126 1823 00010000D 2095
+ 126 0 4 0 0D 2096
+ 126 1827 00010000D 2097
+ 126 0 4 0 0D 2098
+ 126 1831 00010000D 2099
+ 126 0 3 0 0D 2100
+ 126 1834 00010000D 2101
+ 126 0 4 0 0D 2102
+ 126 1838 00010000D 2103
+ 126 0 4 0 0D 2104
+ 126 1842 00010000D 2105
+ 126 0 3 0 0D 2106
+ 126 1845 00010000D 2107
+ 126 0 4 0 0D 2108
+ 126 1849 00010000D 2109
+ 126 0 4 0 0D 2110
+ 126 1853 00010000D 2111
+ 126 0 3 0 0D 2112
+ 126 1856 00010000D 2113
+ 126 0 4 0 0D 2114
+ 126 1860 00010000D 2115
+ 126 0 4 0 0D 2116
+ 126 1864 00010000D 2117
+ 126 0 3 0 0D 2118
+ 126 1867 00010000D 2119
+ 126 0 4 0 0D 2120
+ 126 1871 00010000D 2121
+ 126 0 4 0 0D 2122
+ 126 1875 00010000D 2123
+ 126 0 3 0 0D 2124
+ 126 1878 00010000D 2125
+ 126 0 4 0 0D 2126
+ 126 1882 00010000D 2127
+ 126 0 4 0 0D 2128
+ 126 1886 00010000D 2129
+ 126 0 3 0 0D 2130
+ 126 1889 00010000D 2131
+ 126 0 4 0 0D 2132
+ 126 1893 00010000D 2133
+ 126 0 4 0 0D 2134
+ 126 1897 00010000D 2135
+ 126 0 3 0 0D 2136
+ 126 1900 00010000D 2137
+ 126 0 4 0 0D 2138
+ 126 1904 00010000D 2139
+ 126 0 4 0 0D 2140
+ 126 1908 00010000D 2141
+ 126 0 3 0 0D 2142
+ 126 1911 00010000D 2143
+ 126 0 4 0 0D 2144
+ 126 1915 00010000D 2145
+ 126 0 4 0 0D 2146
+ 126 1919 00010000D 2147
+ 126 0 4 0 0D 2148
+ 126 1923 00010000D 2149
+ 126 0 3 0 0D 2150
+ 126 1926 00010000D 2151
+ 126 0 4 0 0D 2152
+ 126 1930 00010000D 2153
+ 126 0 3 0 0D 2154
+ 126 1933 00010000D 2155
+ 126 0 4 0 0D 2156
+ 126 1937 00010000D 2157
+ 126 0 4 0 0D 2158
+ 126 1941 00010000D 2159
+ 126 0 3 0 0D 2160
+ 126 1944 00010000D 2161
+ 126 0 4 0 0D 2162
+ 126 1948 00010000D 2163
+ 126 0 4 0 0D 2164
+ 126 1952 00010000D 2165
+ 126 0 3 0 0D 2166
+ 126 1955 00010000D 2167
+ 126 0 4 0 0D 2168
+ 126 1959 00010000D 2169
+ 126 0 4 0 0D 2170
+ 126 1963 00010000D 2171
+ 126 0 3 0 0D 2172
+ 126 1966 00010000D 2173
+ 126 0 4 0 0D 2174
+ 126 1970 00010000D 2175
+ 126 0 4 0 0D 2176
+ 126 1974 00010000D 2177
+ 126 0 3 0 0D 2178
+ 126 1977 00010000D 2179
+ 126 0 4 0 0D 2180
+ 126 1981 00010000D 2181
+ 126 0 4 0 0D 2182
+ 126 1985 00010000D 2183
+ 126 0 3 0 0D 2184
+ 126 1988 00010000D 2185
+ 126 0 4 0 0D 2186
+ 126 1992 00010000D 2187
+ 126 0 4 0 0D 2188
+ 126 1996 00010000D 2189
+ 126 0 3 0 0D 2190
+ 126 1999 00010000D 2191
+ 126 0 4 0 0D 2192
+ 126 2003 00010000D 2193
+ 126 0 4 0 0D 2194
+ 126 2007 00010000D 2195
+ 126 0 3 0 0D 2196
+ 126 2010 00010000D 2197
+ 126 0 4 0 0D 2198
+ 126 2014 00010000D 2199
+ 126 0 4 0 0D 2200
+ 126 2018 00010000D 2201
+ 126 0 3 0 0D 2202
+ 126 2021 00010000D 2203
+ 126 0 4 0 0D 2204
+ 126 2025 00010000D 2205
+ 126 0 3 0 0D 2206
+ 126 2028 00010000D 2207
+ 126 0 3 0 0D 2208
+ 126 2031 00010000D 2209
+ 126 0 4 0 0D 2210
+ 126 2035 00010000D 2211
+ 126 0 4 0 0D 2212
+ 126 2039 00010000D 2213
+ 126 0 3 0 0D 2214
+ 126 2042 00010000D 2215
+ 126 0 4 0 0D 2216
+ 126 2046 00010000D 2217
+ 126 0 4 0 0D 2218
+ 126 2050 00010000D 2219
+ 126 0 4 0 0D 2220
+ 126 2054 00010000D 2221
+ 126 0 3 0 0D 2222
+ 126 2057 00010000D 2223
+ 126 0 3 0 0D 2224
+ 126 2060 00010000D 2225
+ 126 0 3 0 0D 2226
+ 126 2063 00010000D 2227
+ 126 0 4 0 0D 2228
+ 126 2067 00010000D 2229
+ 126 0 4 0 0D 2230
+ 126 2071 00010000D 2231
+ 126 0 3 0 0D 2232
+ 126 2074 00010000D 2233
+ 126 0 4 0 0D 2234
+ 126 2078 00010000D 2235
+ 126 0 4 0 0D 2236
+ 126 2082 00010000D 2237
+ 126 0 3 0 0D 2238
+ 126 2085 00010000D 2239
+ 126 0 4 0 0D 2240
+ 126 2089 00010000D 2241
+ 126 0 3 0 0D 2242
+ 126 2092 00010000D 2243
+ 126 0 3 0 0D 2244
+ 126 2095 00010000D 2245
+ 126 0 4 0 0D 2246
+ 126 2099 00010000D 2247
+ 126 0 4 0 0D 2248
+ 126 2103 00010000D 2249
+ 126 0 3 0 0D 2250
+ 126 2106 00010000D 2251
+ 126 0 4 0 0D 2252
+ 126 2110 00010000D 2253
+ 126 0 3 0 0D 2254
+ 126 2113 00010000D 2255
+ 126 0 3 0 0D 2256
+ 126 2116 00010000D 2257
+ 126 0 4 0 0D 2258
+ 126 2120 00010000D 2259
+ 126 0 3 0 0D 2260
+ 126 2123 00010000D 2261
+ 126 0 3 0 0D 2262
+ 126 2126 00010000D 2263
+ 126 0 4 0 0D 2264
+ 126 2130 00010000D 2265
+ 126 0 4 0 0D 2266
+ 126 2134 00010000D 2267
+ 126 0 3 0 0D 2268
+ 126 2137 00010000D 2269
+ 126 0 4 0 0D 2270
+ 126 2141 00010000D 2271
+ 126 0 4 0 0D 2272
+ 126 2145 00010000D 2273
+ 126 0 3 0 0D 2274
+ 126 2148 00010000D 2275
+ 126 0 4 0 0D 2276
+ 126 2152 00010000D 2277
+ 126 0 3 0 0D 2278
+ 126 2155 00010000D 2279
+ 126 0 3 0 0D 2280
+ 126 2158 00010000D 2281
+ 126 0 4 0 0D 2282
+ 126 2162 00010000D 2283
+ 126 0 4 0 0D 2284
+ 126 2166 00010000D 2285
+ 126 0 3 0 0D 2286
+ 126 2169 00010000D 2287
+ 126 0 4 0 0D 2288
+ 126 2173 00010000D 2289
+ 126 0 4 0 0D 2290
+ 126 2177 00010000D 2291
+ 126 0 3 0 0D 2292
+ 126 2180 00010000D 2293
+ 126 0 3 0 0D 2294
+ 126 2183 00010000D 2295
+ 126 0 3 0 0D 2296
+ 126 2186 00010000D 2297
+ 126 0 3 0 0D 2298
+ 126 2189 00010000D 2299
+ 126 0 4 0 0D 2300
+ 126 2193 00010000D 2301
+ 126 0 4 0 0D 2302
+ 126 2197 00010000D 2303
+ 126 0 3 0 0D 2304
+ 126 2200 00010000D 2305
+ 126 0 4 0 0D 2306
+ 126 2204 00010000D 2307
+ 126 0 4 0 0D 2308
+ 126 2208 00010000D 2309
+ 126 0 3 0 0D 2310
+ 126 2211 00010000D 2311
+ 126 0 4 0 0D 2312
+ 126 2215 00010000D 2313
+ 126 0 3 0 0D 2314
+ 126 2218 00010000D 2315
+ 126 0 3 0 0D 2316
+ 126 2221 00010000D 2317
+ 126 0 4 0 0D 2318
+ 126 2225 00010000D 2319
+ 126 0 4 0 0D 2320
+ 126 2229 00010000D 2321
+ 126 0 3 0 0D 2322
+ 126 2232 00010000D 2323
+ 126 0 4 0 0D 2324
+ 126 2236 00010000D 2325
+ 126 0 3 0 0D 2326
+ 126 2239 00010000D 2327
+ 126 0 3 0 0D 2328
+ 126 2242 00010000D 2329
+ 126 0 4 0 0D 2330
+ 126 2246 00010000D 2331
+ 126 0 3 0 0D 2332
+ 126 2249 00010000D 2333
+ 126 0 3 0 0D 2334
+ 126 2252 00010000D 2335
+ 126 0 3 0 0D 2336
+ 126 2255 00010000D 2337
+ 126 0 4 0 0D 2338
+ 126 2259 00010000D 2339
+ 126 0 3 0 0D 2340
+ 126 2262 00010000D 2341
+ 126 0 3 0 0D 2342
+ 126 2265 00010000D 2343
+ 126 0 4 0 0D 2344
+ 126 2269 00010000D 2345
+ 126 0 3 0 0D 2346
+ 126 2272 00010000D 2347
+ 126 0 3 0 0D 2348
+ 126 2275 00010000D 2349
+ 126 0 3 0 0D 2350
+ 126 2278 00010000D 2351
+ 126 0 3 0 0D 2352
+ 126 2281 00010000D 2353
+ 126 0 3 0 0D 2354
+ 126 2284 00010000D 2355
+ 126 0 4 0 0D 2356
+ 126 2288 00010000D 2357
+ 126 0 3 0 0D 2358
+ 126 2291 00010000D 2359
+ 126 0 3 0 0D 2360
+ 126 2294 00010000D 2361
+ 126 0 4 0 0D 2362
+ 126 2298 00010000D 2363
+ 126 0 3 0 0D 2364
+ 126 2301 00010000D 2365
+ 126 0 3 0 0D 2366
+ 126 2304 00010000D 2367
+ 126 0 3 0 0D 2368
+ 126 2307 00010000D 2369
+ 126 0 3 0 0D 2370
+ 126 2310 00010000D 2371
+ 126 0 3 0 0D 2372
+ 126 2313 00010000D 2373
+ 126 0 4 0 0D 2374
+ 126 2317 00010000D 2375
+ 126 0 3 0 0D 2376
+ 126 2320 00010000D 2377
+ 126 0 3 0 0D 2378
+ 126 2323 00010000D 2379
+ 126 0 4 0 0D 2380
+ 126 2327 00010000D 2381
+ 126 0 3 0 0D 2382
+ 126 2330 00010000D 2383
+ 126 0 3 0 0D 2384
+ 126 2333 00010000D 2385
+ 126 0 3 0 0D 2386
+ 126 2336 00010000D 2387
+ 126 0 3 0 0D 2388
+ 126 2339 00010000D 2389
+ 126 0 3 0 0D 2390
+ 126 2342 00010000D 2391
+ 126 0 4 0 0D 2392
+ 126 2346 00010000D 2393
+ 126 0 3 0 0D 2394
+ 126 2349 00010000D 2395
+ 126 0 3 0 0D 2396
+ 126 2352 00010000D 2397
+ 126 0 3 0 0D 2398
+ 126 2355 00010000D 2399
+ 126 0 3 0 0D 2400
+ 126 2358 00010000D 2401
+ 126 0 3 0 0D 2402
+ 126 2361 00010000D 2403
+ 126 0 3 0 0D 2404
+ 126 2364 00010000D 2405
+ 126 0 3 0 0D 2406
+ 126 2367 00010000D 2407
+ 126 0 3 0 0D 2408
+ 126 2370 00010000D 2409
+ 126 0 4 0 0D 2410
+ 126 2374 00010000D 2411
+ 126 0 3 0 0D 2412
+ 126 2377 00010000D 2413
+ 126 0 3 0 0D 2414
+ 126 2380 00010000D 2415
+ 126 0 4 0 0D 2416
+ 126 2384 00010000D 2417
+ 126 0 3 0 0D 2418
+ 126 2387 00010000D 2419
+ 126 0 3 0 0D 2420
+ 126 2390 00010000D 2421
+ 126 0 3 0 0D 2422
+ 126 2393 00010000D 2423
+ 126 0 3 0 0D 2424
+ 126 2396 00010000D 2425
+ 126 0 3 0 0D 2426
+ 126 2399 00010000D 2427
+ 126 0 4 0 0D 2428
+ 126 2403 00010000D 2429
+ 126 0 3 0 0D 2430
+ 126 2406 00010000D 2431
+ 126 0 3 0 0D 2432
+ 126 2409 00010000D 2433
+ 126 0 4 0 0D 2434
+ 126 2413 00010000D 2435
+ 126 0 3 0 0D 2436
+ 126 2416 00010000D 2437
+ 126 0 3 0 0D 2438
+ 126 2419 00010000D 2439
+ 126 0 3 0 0D 2440
+ 126 2422 00010000D 2441
+ 126 0 3 0 0D 2442
+ 126 2425 00010000D 2443
+ 126 0 3 0 0D 2444
+ 126 2428 00010000D 2445
+ 126 0 4 0 0D 2446
+ 126 2432 00010000D 2447
+ 126 0 3 0 0D 2448
+ 126 2435 00010000D 2449
+ 126 0 3 0 0D 2450
+ 126 2438 00010000D 2451
+ 126 0 4 0 0D 2452
+ 126 2442 00010000D 2453
+ 126 0 3 0 0D 2454
+ 126 2445 00010000D 2455
+ 126 0 3 0 0D 2456
+ 126 2448 00010000D 2457
+ 126 0 3 0 0D 2458
+ 126 2451 00010000D 2459
+ 126 0 3 0 0D 2460
+ 126 2454 00010000D 2461
+ 126 0 3 0 0D 2462
+ 126 2457 00010000D 2463
+ 126 0 4 0 0D 2464
+ 126 2461 00010000D 2465
+ 126 0 3 0 0D 2466
+ 126 2464 00010000D 2467
+ 126 0 3 0 0D 2468
+ 126 2467 00010000D 2469
+ 126 0 3 0 0D 2470
+ 126 2470 00010000D 2471
+ 126 0 3 0 0D 2472
+ 126 2473 00010000D 2473
+ 126 0 3 0 0D 2474
+ 126 2476 00010000D 2475
+ 126 0 4 0 0D 2476
+ 126 2480 00010000D 2477
+ 126 0 3 0 0D 2478
+ 126 2483 00010000D 2479
+ 126 0 3 0 0D 2480
+ 126 2486 00010000D 2481
+ 126 0 4 0 0D 2482
+ 126 2490 00010000D 2483
+ 126 0 3 0 0D 2484
+ 126 2493 00010000D 2485
+ 126 0 3 0 0D 2486
+ 126 2496 00010000D 2487
+ 126 0 4 0 0D 2488
+ 126 2500 00010000D 2489
+ 126 0 3 0 0D 2490
+ 126 2503 00010000D 2491
+ 126 0 3 0 0D 2492
+ 126 2506 00010000D 2493
+ 126 0 3 0 0D 2494
+ 126 2509 00010000D 2495
+ 126 0 3 0 0D 2496
+ 126 2512 00010000D 2497
+ 126 0 3 0 0D 2498
+ 126 2515 00010000D 2499
+ 126 0 4 0 0D 2500
+ 126 2519 00010000D 2501
+ 126 0 3 0 0D 2502
+ 126 2522 00010000D 2503
+ 126 0 3 0 0D 2504
+ 126 2525 00010000D 2505
+ 126 0 4 0 0D 2506
+ 126 2529 00010000D 2507
+ 126 0 4 0 0D 2508
+ 126 2533 00010000D 2509
+ 126 0 3 0 0D 2510
+ 126 2536 00010000D 2511
+ 126 0 4 0 0D 2512
+ 126 2540 00010000D 2513
+ 126 0 3 0 0D 2514
+ 126 2543 00010000D 2515
+ 126 0 4 0 0D 2516
+ 126 2547 00010000D 2517
+ 126 0 4 0 0D 2518
+ 126 2551 00010000D 2519
+ 126 0 3 0 0D 2520
+ 126 2554 00010000D 2521
+ 126 0 4 0 0D 2522
+ 126 2558 00010000D 2523
+ 126 0 4 0 0D 2524
+ 126 2562 00010000D 2525
+ 126 0 3 0 0D 2526
+ 126 2565 00010000D 2527
+ 126 0 4 0 0D 2528
+ 126 2569 00010000D 2529
+ 126 0 4 0 0D 2530
+ 126 2573 00010000D 2531
+ 126 0 3 0 0D 2532
+ 126 2576 00010000D 2533
+ 126 0 4 0 0D 2534
+ 126 2580 00010000D 2535
+ 126 0 4 0 0D 2536
+ 126 2584 00010000D 2537
+ 126 0 3 0 0D 2538
+ 126 2587 00010000D 2539
+ 126 0 4 0 0D 2540
+ 126 2591 00010000D 2541
+ 126 0 4 0 0D 2542
+ 126 2595 00010000D 2543
+ 126 0 3 0 0D 2544
+ 126 2598 00010000D 2545
+ 126 0 4 0 0D 2546
+ 126 2602 00010000D 2547
+ 126 0 4 0 0D 2548
+ 126 2606 00010000D 2549
+ 126 0 3 0 0D 2550
+ 126 2609 00010000D 2551
+ 126 0 4 0 0D 2552
+ 126 2613 00010000D 2553
+ 126 0 4 0 0D 2554
+ 126 2617 00010000D 2555
+ 126 0 3 0 0D 2556
+ 126 2620 00010000D 2557
+ 126 0 4 0 0D 2558
+ 126 2624 00010000D 2559
+ 126 0 4 0 0D 2560
+ 126 2628 00010000D 2561
+ 126 0 3 0 0D 2562
+ 126 2631 00010000D 2563
+ 126 0 4 0 0D 2564
+ 126 2635 00010000D 2565
+ 126 0 4 0 0D 2566
+ 126 2639 00010000D 2567
+ 126 0 3 0 0D 2568
+ 126 2642 00010000D 2569
+ 126 0 4 0 0D 2570
+ 126 2646 00010000D 2571
+ 126 0 4 0 0D 2572
+ 126 2650 00010000D 2573
+ 126 0 3 0 0D 2574
+ 126 2653 00010000D 2575
+ 126 0 4 0 0D 2576
+ 126 2657 00010000D 2577
+ 126 0 4 0 0D 2578
+ 126 2661 00010000D 2579
+ 126 0 4 0 0D 2580
+ 126 2665 00010000D 2581
+ 126 0 3 0 0D 2582
+ 126 2668 00010000D 2583
+ 126 0 4 0 0D 2584
+ 126 2672 00010000D 2585
+ 126 0 3 0 0D 2586
+ 126 2675 00010000D 2587
+ 126 0 4 0 0D 2588
+ 126 2679 00010000D 2589
+ 126 0 4 0 0D 2590
+ 126 2683 00010000D 2591
+ 126 0 3 0 0D 2592
+ 126 2686 00010000D 2593
+ 126 0 4 0 0D 2594
+ 126 2690 00010000D 2595
+ 126 0 4 0 0D 2596
+ 126 2694 00010000D 2597
+ 126 0 3 0 0D 2598
+ 126 2697 00010000D 2599
+ 126 0 4 0 0D 2600
+ 126 2701 00010000D 2601
+ 126 0 4 0 0D 2602
+ 126 2705 00010000D 2603
+ 126 0 3 0 0D 2604
+ 126 2708 00010000D 2605
+ 126 0 4 0 0D 2606
+ 126 2712 00010000D 2607
+ 126 0 4 0 0D 2608
+ 126 2716 00010000D 2609
+ 126 0 3 0 0D 2610
+ 126 2719 00010000D 2611
+ 126 0 4 0 0D 2612
+ 126 2723 00010000D 2613
+ 126 0 4 0 0D 2614
+ 126 2727 00010000D 2615
+ 126 0 3 0 0D 2616
+ 126 2730 00010000D 2617
+ 126 0 4 0 0D 2618
+ 126 2734 00010000D 2619
+ 126 0 4 0 0D 2620
+ 126 2738 00010000D 2621
+ 126 0 3 0 0D 2622
+ 126 2741 00010000D 2623
+ 126 0 4 0 0D 2624
+ 126 2745 00010000D 2625
+ 126 0 4 0 0D 2626
+ 126 2749 00010000D 2627
+ 126 0 3 0 0D 2628
+ 126 2752 00010000D 2629
+ 126 0 4 0 0D 2630
+ 126 2756 00010000D 2631
+ 126 0 4 0 0D 2632
+ 126 2760 00010000D 2633
+ 126 0 3 0 0D 2634
+ 126 2763 00010000D 2635
+ 126 0 4 0 0D 2636
+ 126 2767 00010000D 2637
+ 126 0 3 0 0D 2638
+ 126 2770 00010000D 2639
+ 126 0 3 0 0D 2640
+ 126 2773 00010000D 2641
+ 126 0 4 0 0D 2642
+ 126 2777 00010000D 2643
+ 126 0 4 0 0D 2644
+ 126 2781 00010000D 2645
+ 126 0 3 0 0D 2646
+ 126 2784 00010000D 2647
+ 126 0 4 0 0D 2648
+ 126 2788 00010000D 2649
+ 126 0 4 0 0D 2650
+ 126 2792 00010000D 2651
+ 126 0 4 0 0D 2652
+ 126 2796 00010000D 2653
+ 126 0 3 0 0D 2654
+ 126 2799 00010000D 2655
+ 126 0 3 0 0D 2656
+ 126 2802 00010000D 2657
+ 126 0 3 0 0D 2658
+ 126 2805 00010000D 2659
+ 126 0 4 0 0D 2660
+ 126 2809 00010000D 2661
+ 126 0 4 0 0D 2662
+ 126 2813 00010000D 2663
+ 126 0 3 0 0D 2664
+ 126 2816 00010000D 2665
+ 126 0 4 0 0D 2666
+ 126 2820 00010000D 2667
+ 126 0 4 0 0D 2668
+ 126 2824 00010000D 2669
+ 126 0 3 0 0D 2670
+ 126 2827 00010000D 2671
+ 126 0 4 0 0D 2672
+ 126 2831 00010000D 2673
+ 126 0 3 0 0D 2674
+ 126 2834 00010000D 2675
+ 126 0 3 0 0D 2676
+ 126 2837 00010000D 2677
+ 126 0 4 0 0D 2678
+ 126 2841 00010000D 2679
+ 126 0 4 0 0D 2680
+ 126 2845 00010000D 2681
+ 126 0 3 0 0D 2682
+ 126 2848 00010000D 2683
+ 126 0 4 0 0D 2684
+ 126 2852 00010000D 2685
+ 126 0 4 0 0D 2686
+ 126 2856 00010000D 2687
+ 126 0 3 0 0D 2688
+ 126 2859 00010000D 2689
+ 126 0 4 0 0D 2690
+ 126 2863 00010000D 2691
+ 126 0 3 0 0D 2692
+ 126 2866 00010000D 2693
+ 126 0 3 0 0D 2694
+ 126 2869 00010000D 2695
+ 126 0 4 0 0D 2696
+ 126 2873 00010000D 2697
+ 126 0 4 0 0D 2698
+ 126 2877 00010000D 2699
+ 126 0 3 0 0D 2700
+ 126 2880 00010000D 2701
+ 126 0 4 0 0D 2702
+ 126 2884 00010000D 2703
+ 126 0 4 0 0D 2704
+ 126 2888 00010000D 2705
+ 126 0 3 0 0D 2706
+ 126 2891 00010000D 2707
+ 126 0 4 0 0D 2708
+ 126 2895 00010000D 2709
+ 126 0 3 0 0D 2710
+ 126 2898 00010000D 2711
+ 126 0 3 0 0D 2712
+ 126 2901 00010000D 2713
+ 126 0 4 0 0D 2714
+ 126 2905 00010000D 2715
+ 126 0 4 0 0D 2716
+ 126 2909 00010000D 2717
+ 126 0 3 0 0D 2718
+ 126 2912 00010000D 2719
+ 126 0 4 0 0D 2720
+ 126 2916 00010000D 2721
+ 126 0 4 0 0D 2722
+ 126 2920 00010000D 2723
+ 126 0 3 0 0D 2724
+ 126 2923 00010000D 2725
+ 126 0 3 0 0D 2726
+ 126 2926 00010000D 2727
+ 126 0 3 0 0D 2728
+ 126 2929 00010000D 2729
+ 126 0 3 0 0D 2730
+ 126 2932 00010000D 2731
+ 126 0 4 0 0D 2732
+ 126 2936 00010000D 2733
+ 126 0 4 0 0D 2734
+ 126 2940 00010000D 2735
+ 126 0 3 0 0D 2736
+ 126 2943 00010000D 2737
+ 126 0 4 0 0D 2738
+ 126 2947 00010000D 2739
+ 126 0 4 0 0D 2740
+ 126 2951 00010000D 2741
+ 126 0 3 0 0D 2742
+ 126 2954 00010000D 2743
+ 126 0 4 0 0D 2744
+ 126 2958 00010000D 2745
+ 126 0 3 0 0D 2746
+ 126 2961 00010000D 2747
+ 126 0 3 0 0D 2748
+ 126 2964 00010000D 2749
+ 126 0 4 0 0D 2750
+ 126 2968 00010000D 2751
+ 126 0 4 0 0D 2752
+ 126 2972 00010000D 2753
+ 126 0 3 0 0D 2754
+ 126 2975 00010000D 2755
+ 126 0 4 0 0D 2756
+ 126 2979 00010000D 2757
+ 126 0 4 0 0D 2758
+ 126 2983 00010000D 2759
+ 126 0 3 0 0D 2760
+ 126 2986 00010000D 2761
+ 126 0 4 0 0D 2762
+ 126 2990 00010000D 2763
+ 126 0 3 0 0D 2764
+ 126 2993 00010000D 2765
+ 126 0 3 0 0D 2766
+ 126 2996 00010000D 2767
+ 126 0 3 0 0D 2768
+ 126 2999 00010000D 2769
+ 126 0 4 0 0D 2770
+ 126 3003 00010000D 2771
+ 126 0 3 0 0D 2772
+ 126 3006 00010000D 2773
+ 126 0 3 0 0D 2774
+ 126 3009 00010000D 2775
+ 126 0 4 0 0D 2776
+ 126 3013 00010000D 2777
+ 126 0 3 0 0D 2778
+ 126 3016 00010000D 2779
+ 126 0 3 0 0D 2780
+ 126 3019 00010000D 2781
+ 126 0 3 0 0D 2782
+ 126 3022 00010000D 2783
+ 126 0 3 0 0D 2784
+ 126 3025 00010000D 2785
+ 126 0 3 0 0D 2786
+ 126 3028 00010000D 2787
+ 126 0 4 0 0D 2788
+ 126 3032 00010000D 2789
+ 126 0 3 0 0D 2790
+ 126 3035 00010000D 2791
+ 126 0 3 0 0D 2792
+ 126 3038 00010000D 2793
+ 126 0 4 0 0D 2794
+ 126 3042 00010000D 2795
+ 126 0 3 0 0D 2796
+ 126 3045 00010000D 2797
+ 126 0 3 0 0D 2798
+ 126 3048 00010000D 2799
+ 126 0 3 0 0D 2800
+ 126 3051 00010000D 2801
+ 126 0 3 0 0D 2802
+ 126 3054 00010000D 2803
+ 126 0 3 0 0D 2804
+ 126 3057 00010000D 2805
+ 126 0 4 0 0D 2806
+ 126 3061 00010000D 2807
+ 126 0 3 0 0D 2808
+ 126 3064 00010000D 2809
+ 126 0 3 0 0D 2810
+ 126 3067 00010000D 2811
+ 126 0 4 0 0D 2812
+ 126 3071 00010000D 2813
+ 126 0 3 0 0D 2814
+ 126 3074 00010000D 2815
+ 126 0 3 0 0D 2816
+ 126 3077 00010000D 2817
+ 126 0 3 0 0D 2818
+ 126 3080 00010000D 2819
+ 126 0 3 0 0D 2820
+ 126 3083 00010000D 2821
+ 126 0 3 0 0D 2822
+ 126 3086 00010000D 2823
+ 126 0 4 0 0D 2824
+ 126 3090 00010000D 2825
+ 126 0 3 0 0D 2826
+ 126 3093 00010000D 2827
+ 126 0 3 0 0D 2828
+ 126 3096 00010000D 2829
+ 126 0 4 0 0D 2830
+ 126 3100 00010000D 2831
+ 126 0 3 0 0D 2832
+ 126 3103 00010000D 2833
+ 126 0 3 0 0D 2834
+ 126 3106 00010000D 2835
+ 126 0 3 0 0D 2836
+ 126 3109 00010000D 2837
+ 126 0 3 0 0D 2838
+ 126 3112 00010000D 2839
+ 126 0 3 0 0D 2840
+ 126 3115 00010000D 2841
+ 126 0 4 0 0D 2842
+ 126 3119 00010000D 2843
+ 126 0 3 0 0D 2844
+ 126 3122 00010000D 2845
+ 126 0 3 0 0D 2846
+ 126 3125 00010000D 2847
+ 126 0 4 0 0D 2848
+ 126 3129 00010000D 2849
+ 126 0 3 0 0D 2850
+ 126 3132 00010000D 2851
+ 126 0 3 0 0D 2852
+ 126 3135 00010000D 2853
+ 126 0 3 0 0D 2854
+ 126 3138 00010000D 2855
+ 126 0 3 0 0D 2856
+ 126 3141 00010000D 2857
+ 126 0 3 0 0D 2858
+ 126 3144 00010000D 2859
+ 126 0 4 0 0D 2860
+ 126 3148 00010000D 2861
+ 126 0 3 0 0D 2862
+ 126 3151 00010000D 2863
+ 126 0 3 0 0D 2864
+ 126 3154 00010000D 2865
+ 126 0 4 0 0D 2866
+ 126 3158 00010000D 2867
+ 126 0 3 0 0D 2868
+ 126 3161 00010000D 2869
+ 126 0 3 0 0D 2870
+ 126 3164 00010000D 2871
+ 126 0 3 0 0D 2872
+ 126 3167 00010000D 2873
+ 126 0 3 0 0D 2874
+ 126 3170 00010000D 2875
+ 126 0 3 0 0D 2876
+ 126 3173 00010000D 2877
+ 126 0 4 0 0D 2878
+ 126 3177 00010000D 2879
+ 126 0 3 0 0D 2880
+ 126 3180 00010000D 2881
+ 126 0 3 0 0D 2882
+ 126 3183 00010000D 2883
+ 126 0 4 0 0D 2884
+ 126 3187 00010000D 2885
+ 126 0 3 0 0D 2886
+ 126 3190 00010000D 2887
+ 126 0 3 0 0D 2888
+ 126 3193 00010000D 2889
+ 126 0 3 0 0D 2890
+ 126 3196 00010000D 2891
+ 126 0 3 0 0D 2892
+ 126 3199 00010000D 2893
+ 126 0 3 0 0D 2894
+ 126 3202 00010000D 2895
+ 126 0 4 0 0D 2896
+ 126 3206 00010000D 2897
+ 126 0 3 0 0D 2898
+ 126 3209 00010000D 2899
+ 126 0 3 0 0D 2900
+ 126 3212 00010000D 2901
+ 126 0 4 0 0D 2902
+ 126 3216 00010000D 2903
+ 126 0 3 0 0D 2904
+ 126 3219 00010000D 2905
+ 126 0 3 0 0D 2906
+ 126 3222 00010000D 2907
+ 126 0 4 0 0D 2908
+ 126 3226 00010000D 2909
+ 126 0 3 0 0D 2910
+ 126 3229 00010000D 2911
+ 126 0 3 0 0D 2912
+ 126 3232 00010000D 2913
+ 126 0 4 0 0D 2914
+ 126 3236 00010000D 2915
+ 126 0 3 0 0D 2916
+ 126 3239 00010000D 2917
+ 126 0 3 0 0D 2918
+ 126 3242 00010000D 2919
+ 126 0 4 0 0D 2920
+ 126 3246 00010000D 2921
+ 126 0 3 0 0D 2922
+ 126 3249 00010000D 2923
+ 126 0 3 0 0D 2924
+ 126 3252 00010000D 2925
+ 126 0 3 0 0D 2926
+ 126 3255 00010000D 2927
+ 126 0 3 0 0D 2928
+ 126 3258 00010000D 2929
+ 126 0 3 0 0D 2930
+ 126 3261 00010000D 2931
+ 126 0 4 0 0D 2932
+ 126 3265 00010000D 2933
+ 126 0 3 0 0D 2934
+ 126 3268 00010000D 2935
+ 126 0 3 0 0D 2936
+ 126 3271 00010000D 2937
+ 126 0 4 0 0D 2938
+ 126 3275 00010000D 2939
+ 126 0 4 0 0D 2940
+ 126 3279 00010000D 2941
+ 126 0 3 0 0D 2942
+ 126 3282 00010000D 2943
+ 126 0 4 0 0D 2944
+ 126 3286 00010000D 2945
+ 126 0 3 0 0D 2946
+ 126 3289 00010000D 2947
+ 126 0 4 0 0D 2948
+ 126 3293 00010000D 2949
+ 126 0 4 0 0D 2950
+ 126 3297 00010000D 2951
+ 126 0 3 0 0D 2952
+ 126 3300 00010000D 2953
+ 126 0 4 0 0D 2954
+ 126 3304 00010000D 2955
+ 126 0 4 0 0D 2956
+ 126 3308 00010000D 2957
+ 126 0 3 0 0D 2958
+ 126 3311 00010000D 2959
+ 126 0 4 0 0D 2960
+ 126 3315 00010000D 2961
+ 126 0 4 0 0D 2962
+ 126 3319 00010000D 2963
+ 126 0 3 0 0D 2964
+ 126 3322 00010000D 2965
+ 126 0 4 0 0D 2966
+ 126 3326 00010000D 2967
+ 126 0 4 0 0D 2968
+ 126 3330 00010000D 2969
+ 126 0 3 0 0D 2970
+ 126 3333 00010000D 2971
+ 126 0 4 0 0D 2972
+ 126 3337 00010000D 2973
+ 126 0 4 0 0D 2974
+ 126 3341 00010000D 2975
+ 126 0 3 0 0D 2976
+ 126 3344 00010000D 2977
+ 126 0 4 0 0D 2978
+ 126 3348 00010000D 2979
+ 126 0 4 0 0D 2980
+ 126 3352 00010000D 2981
+ 126 0 3 0 0D 2982
+ 126 3355 00010000D 2983
+ 126 0 4 0 0D 2984
+ 126 3359 00010000D 2985
+ 126 0 4 0 0D 2986
+ 126 3363 00010000D 2987
+ 126 0 3 0 0D 2988
+ 126 3366 00010000D 2989
+ 126 0 4 0 0D 2990
+ 126 3370 00010000D 2991
+ 126 0 4 0 0D 2992
+ 126 3374 00010000D 2993
+ 126 0 3 0 0D 2994
+ 126 3377 00010000D 2995
+ 126 0 4 0 0D 2996
+ 126 3381 00010000D 2997
+ 126 0 4 0 0D 2998
+ 126 3385 00010000D 2999
+ 126 0 3 0 0D 3000
+ 126 3388 00010000D 3001
+ 126 0 4 0 0D 3002
+ 126 3392 00010000D 3003
+ 126 0 4 0 0D 3004
+ 126 3396 00010000D 3005
+ 126 0 3 0 0D 3006
+ 126 3399 00010000D 3007
+ 126 0 4 0 0D 3008
+ 126 3403 00010000D 3009
+ 126 0 4 0 0D 3010
+ 126 3407 00010000D 3011
+ 126 0 4 0 0D 3012
+ 126 3411 00010000D 3013
+ 126 0 3 0 0D 3014
+ 126 3414 00010000D 3015
+ 126 0 4 0 0D 3016
+ 126 3418 00010000D 3017
+ 126 0 3 0 0D 3018
+ 126 3421 00010000D 3019
+ 126 0 4 0 0D 3020
+ 126 3425 00010000D 3021
+ 126 0 4 0 0D 3022
+ 126 3429 00010000D 3023
+ 126 0 3 0 0D 3024
+ 126 3432 00010000D 3025
+ 126 0 4 0 0D 3026
+ 126 3436 00010000D 3027
+ 126 0 4 0 0D 3028
+ 126 3440 00010000D 3029
+ 126 0 3 0 0D 3030
+ 126 3443 00010000D 3031
+ 126 0 4 0 0D 3032
+ 126 3447 00010000D 3033
+ 126 0 4 0 0D 3034
+ 126 3451 00010000D 3035
+ 126 0 3 0 0D 3036
+ 126 3454 00010000D 3037
+ 126 0 4 0 0D 3038
+ 126 3458 00010000D 3039
+ 126 0 4 0 0D 3040
+ 126 3462 00010000D 3041
+ 126 0 3 0 0D 3042
+ 126 3465 00010000D 3043
+ 126 0 4 0 0D 3044
+ 126 3469 00010000D 3045
+ 126 0 4 0 0D 3046
+ 126 3473 00010000D 3047
+ 126 0 3 0 0D 3048
+ 126 3476 00010000D 3049
+ 126 0 4 0 0D 3050
+ 126 3480 00010000D 3051
+ 126 0 4 0 0D 3052
+ 126 3484 00010000D 3053
+ 126 0 3 0 0D 3054
+ 126 3487 00010000D 3055
+ 126 0 4 0 0D 3056
+ 126 3491 00010000D 3057
+ 126 0 4 0 0D 3058
+ 126 3495 00010000D 3059
+ 126 0 3 0 0D 3060
+ 126 3498 00010000D 3061
+ 126 0 4 0 0D 3062
+ 126 3502 00010000D 3063
+ 126 0 4 0 0D 3064
+ 126 3506 00010000D 3065
+ 126 0 3 0 0D 3066
+ 126 3509 00010000D 3067
+ 126 0 4 0 0D 3068
+ 126 3513 00010000D 3069
+ 126 0 3 0 0D 3070
+ 126 3516 00010000D 3071
+ 126 0 3 0 0D 3072
+ 126 3519 00010000D 3073
+ 126 0 4 0 0D 3074
+ 126 3523 00010000D 3075
+ 126 0 4 0 0D 3076
+ 126 3527 00010000D 3077
+ 126 0 3 0 0D 3078
+ 126 3530 00010000D 3079
+ 126 0 4 0 0D 3080
+ 126 3534 00010000D 3081
+ 126 0 4 0 0D 3082
+ 126 3538 00010000D 3083
+ 126 0 4 0 0D 3084
+ 126 3542 00010000D 3085
+ 126 0 3 0 0D 3086
+ 126 3545 00010000D 3087
+ 126 0 3 0 0D 3088
+ 126 3548 00010000D 3089
+ 126 0 3 0 0D 3090
+ 126 3551 00010000D 3091
+ 126 0 4 0 0D 3092
+ 126 3555 00010000D 3093
+ 126 0 4 0 0D 3094
+ 126 3559 00010000D 3095
+ 126 0 3 0 0D 3096
+ 126 3562 00010000D 3097
+ 126 0 4 0 0D 3098
+ 126 3566 00010000D 3099
+ 126 0 4 0 0D 3100
+ 126 3570 00010000D 3101
+ 126 0 3 0 0D 3102
+ 126 3573 00010000D 3103
+ 126 0 4 0 0D 3104
+ 126 3577 00010000D 3105
+ 126 0 3 0 0D 3106
+ 126 3580 00010000D 3107
+ 126 0 3 0 0D 3108
+ 126 3583 00010000D 3109
+ 126 0 4 0 0D 3110
+ 126 3587 00010000D 3111
+ 126 0 4 0 0D 3112
+ 126 3591 00010000D 3113
+ 126 0 3 0 0D 3114
+ 126 3594 00010000D 3115
+ 126 0 4 0 0D 3116
+ 126 3598 00010000D 3117
+ 126 0 4 0 0D 3118
+ 126 3602 00010000D 3119
+ 126 0 3 0 0D 3120
+ 126 3605 00010000D 3121
+ 126 0 4 0 0D 3122
+ 126 3609 00010000D 3123
+ 126 0 3 0 0D 3124
+ 126 3612 00010000D 3125
+ 126 0 3 0 0D 3126
+ 126 3615 00010000D 3127
+ 126 0 4 0 0D 3128
+ 126 3619 00010000D 3129
+ 126 0 4 0 0D 3130
+ 126 3623 00010000D 3131
+ 126 0 3 0 0D 3132
+ 126 3626 00010000D 3133
+ 126 0 4 0 0D 3134
+ 126 3630 00010000D 3135
+ 126 0 4 0 0D 3136
+ 126 3634 00010000D 3137
+ 126 0 3 0 0D 3138
+ 126 3637 00010000D 3139
+ 126 0 4 0 0D 3140
+ 126 3641 00010000D 3141
+ 126 0 3 0 0D 3142
+ 126 3644 00010000D 3143
+ 126 0 3 0 0D 3144
+ 126 3647 00010000D 3145
+ 126 0 4 0 0D 3146
+ 126 3651 00010000D 3147
+ 126 0 4 0 0D 3148
+ 126 3655 00010000D 3149
+ 126 0 3 0 0D 3150
+ 126 3658 00010000D 3151
+ 126 0 4 0 0D 3152
+ 126 3662 00010000D 3153
+ 126 0 4 0 0D 3154
+ 126 3666 00010000D 3155
+ 126 0 3 0 0D 3156
+ 126 3669 00010000D 3157
+ 126 0 3 0 0D 3158
+ 126 3672 00010000D 3159
+ 126 0 3 0 0D 3160
+ 126 3675 00010000D 3161
+ 126 0 3 0 0D 3162
+ 126 3678 00010000D 3163
+ 126 0 4 0 0D 3164
+ 126 3682 00010000D 3165
+ 126 0 4 0 0D 3166
+ 126 3686 00010000D 3167
+ 126 0 3 0 0D 3168
+ 126 3689 00010000D 3169
+ 126 0 4 0 0D 3170
+ 126 3693 00010000D 3171
+ 126 0 4 0 0D 3172
+ 126 3697 00010000D 3173
+ 126 0 3 0 0D 3174
+ 126 3700 00010000D 3175
+ 126 0 4 0 0D 3176
+ 126 3704 00010000D 3177
+ 126 0 3 0 0D 3178
+ 126 3707 00010000D 3179
+ 126 0 3 0 0D 3180
+ 126 3710 00010000D 3181
+ 126 0 4 0 0D 3182
+ 126 3714 00010000D 3183
+ 126 0 4 0 0D 3184
+ 126 3718 00010000D 3185
+ 126 0 3 0 0D 3186
+ 126 3721 00010000D 3187
+ 126 0 4 0 0D 3188
+ 126 3725 00010000D 3189
+ 126 0 4 0 0D 3190
+ 126 3729 00010000D 3191
+ 126 0 3 0 0D 3192
+ 126 3732 00010000D 3193
+ 126 0 4 0 0D 3194
+ 126 3736 00010000D 3195
+ 126 0 3 0 0D 3196
+ 126 3739 00010000D 3197
+ 126 0 3 0 0D 3198
+ 126 3742 00010000D 3199
+ 126 0 3 0 0D 3200
+ 126 3745 00010000D 3201
+ 126 0 4 0 0D 3202
+ 126 3749 00010000D 3203
+ 126 0 3 0 0D 3204
+ 126 3752 00010000D 3205
+ 126 0 3 0 0D 3206
+ 126 3755 00010000D 3207
+ 126 0 4 0 0D 3208
+ 126 3759 00010000D 3209
+ 126 0 3 0 0D 3210
+ 126 3762 00010000D 3211
+ 126 0 3 0 0D 3212
+ 126 3765 00010000D 3213
+ 126 0 3 0 0D 3214
+ 126 3768 00010000D 3215
+ 126 0 3 0 0D 3216
+ 126 3771 00010000D 3217
+ 126 0 3 0 0D 3218
+ 126 3774 00010000D 3219
+ 126 0 4 0 0D 3220
+ 126 3778 00010000D 3221
+ 126 0 3 0 0D 3222
+ 126 3781 00010000D 3223
+ 126 0 3 0 0D 3224
+ 126 3784 00010000D 3225
+ 126 0 4 0 0D 3226
+ 126 3788 00010000D 3227
+ 126 0 3 0 0D 3228
+ 126 3791 00010000D 3229
+ 126 0 3 0 0D 3230
+ 126 3794 00010000D 3231
+ 126 0 3 0 0D 3232
+ 126 3797 00010000D 3233
+ 126 0 3 0 0D 3234
+ 126 3800 00010000D 3235
+ 126 0 3 0 0D 3236
+ 126 3803 00010000D 3237
+ 126 0 4 0 0D 3238
+ 126 3807 00010000D 3239
+ 126 0 3 0 0D 3240
+ 126 3810 00010000D 3241
+ 126 0 3 0 0D 3242
+ 126 3813 00010000D 3243
+ 126 0 4 0 0D 3244
+ 126 3817 00010000D 3245
+ 126 0 3 0 0D 3246
+ 126 3820 00010000D 3247
+ 126 0 3 0 0D 3248
+ 126 3823 00010000D 3249
+ 126 0 3 0 0D 3250
+ 126 3826 00010000D 3251
+ 126 0 3 0 0D 3252
+ 126 3829 00010000D 3253
+ 126 0 3 0 0D 3254
+ 126 3832 00010000D 3255
+ 126 0 4 0 0D 3256
+ 126 3836 00010000D 3257
+ 126 0 3 0 0D 3258
+ 126 3839 00010000D 3259
+ 126 0 3 0 0D 3260
+ 126 3842 00010000D 3261
+ 126 0 4 0 0D 3262
+ 126 3846 00010000D 3263
+ 126 0 3 0 0D 3264
+ 126 3849 00010000D 3265
+ 126 0 3 0 0D 3266
+ 126 3852 00010000D 3267
+ 126 0 3 0 0D 3268
+ 126 3855 00010000D 3269
+ 126 0 3 0 0D 3270
+ 126 3858 00010000D 3271
+ 126 0 3 0 0D 3272
+ 126 3861 00010000D 3273
+ 126 0 4 0 0D 3274
+ 126 3865 00010000D 3275
+ 126 0 3 0 0D 3276
+ 126 3868 00010000D 3277
+ 126 0 3 0 0D 3278
+ 126 3871 00010000D 3279
+ 126 0 4 0 0D 3280
+ 126 3875 00010000D 3281
+ 126 0 3 0 0D 3282
+ 126 3878 00010000D 3283
+ 126 0 3 0 0D 3284
+ 126 3881 00010000D 3285
+ 126 0 3 0 0D 3286
+ 126 3884 00010000D 3287
+ 126 0 3 0 0D 3288
+ 126 3887 00010000D 3289
+ 126 0 3 0 0D 3290
+ 126 3890 00010000D 3291
+ 126 0 4 0 0D 3292
+ 126 3894 00010000D 3293
+ 126 0 3 0 0D 3294
+ 126 3897 00010000D 3295
+ 126 0 3 0 0D 3296
+ 126 3900 00010000D 3297
+ 126 0 4 0 0D 3298
+ 126 3904 00010000D 3299
+ 126 0 3 0 0D 3300
+ 126 3907 00010000D 3301
+ 126 0 3 0 0D 3302
+ 126 3910 00010000D 3303
+ 126 0 3 0 0D 3304
+ 126 3913 00010000D 3305
+ 126 0 3 0 0D 3306
+ 126 3916 00010000D 3307
+ 126 0 3 0 0D 3308
+ 126 3919 00010000D 3309
+ 126 0 4 0 0D 3310
+ 126 3923 00010000D 3311
+ 126 0 3 0 0D 3312
+ 126 3926 00010000D 3313
+ 126 0 3 0 0D 3314
+ 126 3929 00010000D 3315
+ 126 0 4 0 0D 3316
+ 126 3933 00010000D 3317
+ 126 0 3 0 0D 3318
+ 126 3936 00010000D 3319
+ 126 0 3 0 0D 3320
+ 126 3939 00010000D 3321
+ 126 0 3 0 0D 3322
+ 126 3942 00010000D 3323
+ 126 0 3 0 0D 3324
+ 126 3945 00010000D 3325
+ 126 0 3 0 0D 3326
+ 126 3948 00010000D 3327
+ 126 0 4 0 0D 3328
+ 126 3952 00010000D 3329
+ 126 0 3 0 0D 3330
+ 126 3955 00010000D 3331
+ 126 0 3 0 0D 3332
+ 126 3958 00010000D 3333
+ 126 0 4 0 0D 3334
+ 126 3962 00010000D 3335
+ 126 0 3 0 0D 3336
+ 126 3965 00010000D 3337
+ 126 0 3 0 0D 3338
+ 126 3968 00010000D 3339
+ 126 0 4 0 0D 3340
+ 126 3972 00010000D 3341
+ 126 0 3 0 0D 3342
+ 126 3975 00010000D 3343
+ 126 0 3 0 0D 3344
+ 126 3978 00010000D 3345
+ 126 0 4 0 0D 3346
+ 126 3982 00010000D 3347
+ 126 0 3 0 0D 3348
+ 126 3985 00010000D 3349
+ 126 0 3 0 0D 3350
+ 126 3988 00010000D 3351
+ 126 0 4 0 0D 3352
+ 126 3992 00010000D 3353
+ 126 0 3 0 0D 3354
+ 126 3995 00010000D 3355
+ 126 0 3 0 0D 3356
+ 126 3998 00010000D 3357
+ 126 0 3 0 0D 3358
+ 126 4001 00010000D 3359
+ 126 0 3 0 0D 3360
+ 126 4004 00010000D 3361
+ 126 0 3 0 0D 3362
+ 126 4007 00010000D 3363
+ 126 0 4 0 0D 3364
+ 126 4011 00010000D 3365
+ 126 0 3 0 0D 3366
+ 126 4014 00010000D 3367
+ 126 0 3 0 0D 3368
+ 126 4017 00010000D 3369
+ 126 0 4 0 0D 3370
+ 126 4021 00010000D 3371
+ 126 0 4 0 0D 3372
+ 126 4025 00010000D 3373
+ 126 0 3 0 0D 3374
+ 126 4028 00010000D 3375
+ 126 0 4 0 0D 3376
+ 126 4032 00010000D 3377
+ 126 0 3 0 0D 3378
+ 126 4035 00010000D 3379
+ 126 0 4 0 0D 3380
+ 126 4039 00010000D 3381
+ 126 0 4 0 0D 3382
+ 126 4043 00010000D 3383
+ 126 0 3 0 0D 3384
+ 126 4046 00010000D 3385
+ 126 0 4 0 0D 3386
+ 126 4050 00010000D 3387
+ 126 0 4 0 0D 3388
+ 126 4054 00010000D 3389
+ 126 0 3 0 0D 3390
+ 126 4057 00010000D 3391
+ 126 0 4 0 0D 3392
+ 126 4061 00010000D 3393
+ 126 0 4 0 0D 3394
+ 126 4065 00010000D 3395
+ 126 0 3 0 0D 3396
+ 126 4068 00010000D 3397
+ 126 0 4 0 0D 3398
+ 126 4072 00010000D 3399
+ 126 0 4 0 0D 3400
+ 126 4076 00010000D 3401
+ 126 0 3 0 0D 3402
+ 126 4079 00010000D 3403
+ 126 0 4 0 0D 3404
+ 126 4083 00010000D 3405
+ 126 0 4 0 0D 3406
+ 126 4087 00010000D 3407
+ 126 0 3 0 0D 3408
+ 126 4090 00010000D 3409
+ 126 0 4 0 0D 3410
+ 126 4094 00010000D 3411
+ 126 0 4 0 0D 3412
+ 126 4098 00010000D 3413
+ 126 0 3 0 0D 3414
+ 126 4101 00010000D 3415
+ 126 0 4 0 0D 3416
+ 126 4105 00010000D 3417
+ 126 0 4 0 0D 3418
+ 126 4109 00010000D 3419
+ 126 0 3 0 0D 3420
+ 126 4112 00010000D 3421
+ 126 0 4 0 0D 3422
+ 126 4116 00010000D 3423
+ 126 0 4 0 0D 3424
+ 126 4120 00010000D 3425
+ 126 0 3 0 0D 3426
+ 126 4123 00010000D 3427
+ 126 0 4 0 0D 3428
+ 126 4127 00010000D 3429
+ 126 0 4 0 0D 3430
+ 126 4131 00010000D 3431
+ 126 0 3 0 0D 3432
+ 126 4134 00010000D 3433
+ 126 0 4 0 0D 3434
+ 126 4138 00010000D 3435
+ 126 0 4 0 0D 3436
+ 126 4142 00010000D 3437
+ 126 0 3 0 0D 3438
+ 126 4145 00010000D 3439
+ 126 0 4 0 0D 3440
+ 126 4149 00010000D 3441
+ 126 0 4 0 0D 3442
+ 126 4153 00010000D 3443
+ 126 0 4 0 0D 3444
+ 126 4157 00010000D 3445
+ 126 0 3 0 0D 3446
+ 126 4160 00010000D 3447
+ 126 0 4 0 0D 3448
+ 126 4164 00010000D 3449
+ 126 0 3 0 0D 3450
+ 126 4167 00010000D 3451
+ 126 0 4 0 0D 3452
+ 126 4171 00010000D 3453
+ 126 0 4 0 0D 3454
+ 126 4175 00010000D 3455
+ 126 0 3 0 0D 3456
+ 126 4178 00010000D 3457
+ 126 0 4 0 0D 3458
+ 126 4182 00010000D 3459
+ 126 0 4 0 0D 3460
+ 126 4186 00010000D 3461
+ 126 0 3 0 0D 3462
+ 126 4189 00010000D 3463
+ 126 0 4 0 0D 3464
+ 126 4193 00010000D 3465
+ 126 0 4 0 0D 3466
+ 126 4197 00010000D 3467
+ 126 0 3 0 0D 3468
+ 126 4200 00010000D 3469
+ 126 0 4 0 0D 3470
+ 126 4204 00010000D 3471
+ 126 0 4 0 0D 3472
+ 126 4208 00010000D 3473
+ 126 0 3 0 0D 3474
+ 126 4211 00010000D 3475
+ 126 0 4 0 0D 3476
+ 126 4215 00010000D 3477
+ 126 0 4 0 0D 3478
+ 126 4219 00010000D 3479
+ 126 0 3 0 0D 3480
+ 126 4222 00010000D 3481
+ 126 0 4 0 0D 3482
+ 126 4226 00010000D 3483
+ 126 0 4 0 0D 3484
+ 126 4230 00010000D 3485
+ 126 0 3 0 0D 3486
+ 126 4233 00010000D 3487
+ 126 0 4 0 0D 3488
+ 126 4237 00010000D 3489
+ 126 0 4 0 0D 3490
+ 126 4241 00010000D 3491
+ 126 0 3 0 0D 3492
+ 126 4244 00010000D 3493
+ 126 0 4 0 0D 3494
+ 126 4248 00010000D 3495
+ 126 0 4 0 0D 3496
+ 126 4252 00010000D 3497
+ 126 0 3 0 0D 3498
+ 126 4255 00010000D 3499
+ 126 0 4 0 0D 3500
+ 126 4259 00010000D 3501
+ 126 0 3 0 0D 3502
+ 126 4262 00010000D 3503
+ 126 0 3 0 0D 3504
+ 126 4265 00010000D 3505
+ 126 0 4 0 0D 3506
+ 126 4269 00010000D 3507
+ 126 0 4 0 0D 3508
+ 126 4273 00010000D 3509
+ 126 0 3 0 0D 3510
+ 126 4276 00010000D 3511
+ 126 0 4 0 0D 3512
+ 126 4280 00010000D 3513
+ 126 0 4 0 0D 3514
+ 126 4284 00010000D 3515
+ 126 0 4 0 0D 3516
+ 126 4288 00010000D 3517
+ 126 0 3 0 0D 3518
+ 126 4291 00010000D 3519
+ 126 0 3 0 0D 3520
+ 126 4294 00010000D 3521
+ 126 0 3 0 0D 3522
+ 126 4297 00010000D 3523
+ 126 0 4 0 0D 3524
+ 126 4301 00010000D 3525
+ 126 0 4 0 0D 3526
+ 126 4305 00010000D 3527
+ 126 0 3 0 0D 3528
+ 126 4308 00010000D 3529
+ 126 0 4 0 0D 3530
+ 126 4312 00010000D 3531
+ 126 0 4 0 0D 3532
+ 126 4316 00010000D 3533
+ 126 0 3 0 0D 3534
+ 126 4319 00010000D 3535
+ 126 0 4 0 0D 3536
+ 126 4323 00010000D 3537
+ 126 0 3 0 0D 3538
+ 126 4326 00010000D 3539
+ 126 0 3 0 0D 3540
+ 126 4329 00010000D 3541
+ 126 0 4 0 0D 3542
+ 126 4333 00010000D 3543
+ 126 0 4 0 0D 3544
+ 126 4337 00010000D 3545
+ 126 0 3 0 0D 3546
+ 126 4340 00010000D 3547
+ 126 0 4 0 0D 3548
+ 126 4344 00010000D 3549
+ 126 0 4 0 0D 3550
+ 126 4348 00010000D 3551
+ 126 0 3 0 0D 3552
+ 126 4351 00010000D 3553
+ 126 0 4 0 0D 3554
+ 126 4355 00010000D 3555
+ 126 0 3 0 0D 3556
+ 126 4358 00010000D 3557
+ 126 0 3 0 0D 3558
+ 126 4361 00010000D 3559
+ 126 0 4 0 0D 3560
+ 126 4365 00010000D 3561
+ 126 0 4 0 0D 3562
+ 126 4369 00010000D 3563
+ 126 0 3 0 0D 3564
+ 126 4372 00010000D 3565
+ 126 0 4 0 0D 3566
+ 126 4376 00010000D 3567
+ 126 0 4 0 0D 3568
+ 126 4380 00010000D 3569
+ 126 0 3 0 0D 3570
+ 126 4383 00010000D 3571
+ 126 0 4 0 0D 3572
+ 126 4387 00010000D 3573
+ 126 0 3 0 0D 3574
+ 126 4390 00010000D 3575
+ 126 0 3 0 0D 3576
+ 126 4393 00010000D 3577
+ 126 0 4 0 0D 3578
+ 126 4397 00010000D 3579
+ 126 0 4 0 0D 3580
+ 126 4401 00010000D 3581
+ 126 0 3 0 0D 3582
+ 126 4404 00010000D 3583
+ 126 0 4 0 0D 3584
+ 126 4408 00010000D 3585
+ 126 0 4 0 0D 3586
+ 126 4412 00010000D 3587
+ 126 0 3 0 0D 3588
+ 126 4415 00010000D 3589
+ 126 0 3 0 0D 3590
+ 126 4418 00010000D 3591
+ 126 0 3 0 0D 3592
+ 126 4421 00010000D 3593
+ 126 0 3 0 0D 3594
+ 126 4424 00010000D 3595
+ 126 0 4 0 0D 3596
+ 126 4428 00010000D 3597
+ 126 0 4 0 0D 3598
+ 126 4432 00010000D 3599
+ 126 0 3 0 0D 3600
+ 126 4435 00010000D 3601
+ 126 0 4 0 0D 3602
+ 126 4439 00010000D 3603
+ 126 0 4 0 0D 3604
+ 126 4443 00010000D 3605
+ 126 0 3 0 0D 3606
+ 126 4446 00010000D 3607
+ 126 0 4 0 0D 3608
+ 126 4450 00010000D 3609
+ 126 0 3 0 0D 3610
+ 126 4453 00010000D 3611
+ 126 0 3 0 0D 3612
+ 126 4456 00010000D 3613
+ 126 0 4 0 0D 3614
+ 126 4460 00010000D 3615
+ 126 0 4 0 0D 3616
+ 126 4464 00010000D 3617
+ 126 0 3 0 0D 3618
+ 126 4467 00010000D 3619
+ 126 0 4 0 0D 3620
+ 126 4471 00010000D 3621
+ 126 0 4 0 0D 3622
+ 126 4475 00010000D 3623
+ 126 0 3 0 0D 3624
+ 126 4478 00010000D 3625
+ 126 0 4 0 0D 3626
+ 126 4482 00010000D 3627
+ 126 0 3 0 0D 3628
+ 126 4485 00010000D 3629
+ 126 0 3 0 0D 3630
+ 126 4488 00010000D 3631
+ 126 0 3 0 0D 3632
+ 126 4491 00010000D 3633
+ 126 0 3 0 0D 3634
+ 126 4494 00010000D 3635
+ 126 0 3 0 0D 3636
+ 126 4497 00010000D 3637
+ 126 0 3 0 0D 3638
+ 126 4500 00010000D 3639
+ 126 0 4 0 0D 3640
+ 126 4504 00010000D 3641
+ 126 0 3 0 0D 3642
+ 126 4507 00010000D 3643
+ 126 0 3 0 0D 3644
+ 126 4510 00010000D 3645
+ 126 0 3 0 0D 3646
+ 126 4513 00010000D 3647
+ 126 0 3 0 0D 3648
+ 126 4516 00010000D 3649
+ 126 0 3 0 0D 3650
+ 126 4519 00010000D 3651
+ 126 0 4 0 0D 3652
+ 126 4523 00010000D 3653
+ 126 0 3 0 0D 3654
+ 126 4526 00010000D 3655
+ 126 0 3 0 0D 3656
+ 126 4529 00010000D 3657
+ 126 0 4 0 0D 3658
+ 126 4533 00010000D 3659
+ 126 0 3 0 0D 3660
+ 126 4536 00010000D 3661
+ 126 0 3 0 0D 3662
+ 126 4539 00010000D 3663
+ 126 0 3 0 0D 3664
+ 126 4542 00010000D 3665
+ 126 0 3 0 0D 3666
+ 126 4545 00010000D 3667
+ 126 0 3 0 0D 3668
+ 126 4548 00010000D 3669
+ 126 0 4 0 0D 3670
+ 126 4552 00010000D 3671
+ 126 0 3 0 0D 3672
+ 126 4555 00010000D 3673
+ 126 0 3 0 0D 3674
+ 126 4558 00010000D 3675
+ 126 0 4 0 0D 3676
+ 126 4562 00010000D 3677
+ 126 0 3 0 0D 3678
+ 126 4565 00010000D 3679
+ 126 0 3 0 0D 3680
+ 126 4568 00010000D 3681
+ 126 0 3 0 0D 3682
+ 126 4571 00010000D 3683
+ 126 0 3 0 0D 3684
+ 126 4574 00010000D 3685
+ 126 0 3 0 0D 3686
+ 126 4577 00010000D 3687
+ 126 0 4 0 0D 3688
+ 126 4581 00010000D 3689
+ 126 0 3 0 0D 3690
+ 126 4584 00010000D 3691
+ 126 0 3 0 0D 3692
+ 126 4587 00010000D 3693
+ 126 0 4 0 0D 3694
+ 126 4591 00010000D 3695
+ 126 0 3 0 0D 3696
+ 126 4594 00010000D 3697
+ 126 0 3 0 0D 3698
+ 126 4597 00010000D 3699
+ 126 0 3 0 0D 3700
+ 126 4600 00010000D 3701
+ 126 0 3 0 0D 3702
+ 126 4603 00010000D 3703
+ 126 0 3 0 0D 3704
+ 126 4606 00010000D 3705
+ 126 0 4 0 0D 3706
+ 126 4610 00010000D 3707
+ 126 0 3 0 0D 3708
+ 126 4613 00010000D 3709
+ 126 0 3 0 0D 3710
+ 126 4616 00010000D 3711
+ 126 0 4 0 0D 3712
+ 126 4620 00010000D 3713
+ 126 0 3 0 0D 3714
+ 126 4623 00010000D 3715
+ 126 0 3 0 0D 3716
+ 126 4626 00010000D 3717
+ 126 0 3 0 0D 3718
+ 126 4629 00010000D 3719
+ 126 0 3 0 0D 3720
+ 126 4632 00010000D 3721
+ 126 0 3 0 0D 3722
+ 126 4635 00010000D 3723
+ 126 0 4 0 0D 3724
+ 126 4639 00010000D 3725
+ 126 0 3 0 0D 3726
+ 126 4642 00010000D 3727
+ 126 0 3 0 0D 3728
+ 126 4645 00010000D 3729
+ 126 0 4 0 0D 3730
+ 126 4649 00010000D 3731
+ 126 0 3 0 0D 3732
+ 126 4652 00010000D 3733
+ 126 0 3 0 0D 3734
+ 126 4655 00010000D 3735
+ 126 0 3 0 0D 3736
+ 126 4658 00010000D 3737
+ 126 0 3 0 0D 3738
+ 126 4661 00010000D 3739
+ 126 0 3 0 0D 3740
+ 126 4664 00010000D 3741
+ 126 0 4 0 0D 3742
+ 126 4668 00010000D 3743
+ 126 0 3 0 0D 3744
+ 126 4671 00010000D 3745
+ 126 0 3 0 0D 3746
+ 126 4674 00010000D 3747
+ 126 0 4 0 0D 3748
+ 126 4678 00010000D 3749
+ 126 0 3 0 0D 3750
+ 126 4681 00010000D 3751
+ 126 0 3 0 0D 3752
+ 126 4684 00010000D 3753
+ 126 0 3 0 0D 3754
+ 126 4687 00010000D 3755
+ 126 0 3 0 0D 3756
+ 126 4690 00010000D 3757
+ 126 0 3 0 0D 3758
+ 126 4693 00010000D 3759
+ 126 0 4 0 0D 3760
+ 126 4697 00010000D 3761
+ 126 0 3 0 0D 3762
+ 126 4700 00010000D 3763
+ 126 0 3 0 0D 3764
+ 126 4703 00010000D 3765
+ 126 0 4 0 0D 3766
+ 126 4707 00010000D 3767
+ 126 0 3 0 0D 3768
+ 126 4710 00010000D 3769
+ 126 0 3 0 0D 3770
+ 126 4713 00010000D 3771
+ 126 0 4 0 0D 3772
+ 126 4717 00010000D 3773
+ 126 0 3 0 0D 3774
+ 126 4720 00010000D 3775
+ 126 0 3 0 0D 3776
+ 126 4723 00010000D 3777
+ 126 0 4 0 0D 3778
+ 126 4727 00010000D 3779
+ 126 0 3 0 0D 3780
+ 126 4730 00010000D 3781
+ 126 0 3 0 0D 3782
+ 126 4733 00010000D 3783
+ 126 0 4 0 0D 3784
+ 126 4737 00010000D 3785
+ 126 0 3 0 0D 3786
+ 126 4740 00010000D 3787
+ 126 0 3 0 0D 3788
+ 126 4743 00010000D 3789
+ 126 0 3 0 0D 3790
+ 126 4746 00010000D 3791
+ 126 0 3 0 0D 3792
+ 126 4749 00010000D 3793
+ 126 0 3 0 0D 3794
+ 126 4752 00010000D 3795
+ 126 0 4 0 0D 3796
+ 126 4756 00010000D 3797
+ 126 0 3 0 0D 3798
+ 126 4759 00010000D 3799
+ 126 0 3 0 0D 3800
+ 126 4762 00010000D 3801
+ 126 0 3 0 0D 3802
+ 126 4765 00010000D 3803
+ 126 0 5 0 0D 3804
+ 126 4770 00010000D 3805
+ 126 0 3 0 0D 3806
+ 126 4773 00010000D 3807
+ 126 0 5 0 0D 3808
+ 126 4778 00010000D 3809
+ 126 0 3 0 0D 3810
+ 126 4781 00010000D 3811
+ 126 0 3 0 0D 3812
+ 126 4784 00010000D 3813
+ 126 0 3 0 0D 3814
+ 126 4787 00010000D 3815
+ 126 0 3 0 0D 3816
+ 126 4790 00010000D 3817
+ 126 0 5 0 0D 3818
+ 126 4795 00010000D 3819
+ 126 0 5 0 0D 3820
+ 126 4800 00010000D 3821
+ 126 0 3 0 0D 3822
+ 126 4803 00010000D 3823
+ 126 0 3 0 0D 3824
+ 126 4806 00010000D 3825
+ 126 0 3 0 0D 3826
+ 126 4809 00010000D 3827
+ 126 0 3 0 0D 3828
+ 126 4812 00010000D 3829
+ 126 0 5 0 0D 3830
+ 126 4817 00010000D 3831
+ 126 0 5 0 0D 3832
+ 126 4822 00010000D 3833
+ 126 0 3 0 0D 3834
+ 126 4825 00010000D 3835
+ 126 0 4 0 0D 3836
+ 126 4829 00010000D 3837
+ 126 0 4 0 0D 3838
+ 126 4833 00010000D 3839
+ 126 0 3 0 0D 3840
+ 126 4836 00010000D 3841
+ 126 0 8 0 0D 3842
+ 126 4844 00010000D 3843
+ 126 0 8 0 0D 3844
+ 126 4852 00010000D 3845
+ 126 0 3 0 0D 3846
+ 126 4855 00010000D 3847
+ 126 0 4 0 0D 3848
+ 126 4859 00010000D 3849
+ 126 0 4 0 0D 3850
+ 126 4863 00010000D 3851
+ 126 0 3 0 0D 3852
+ 126 4866 00010000D 3853
+ 126 0 5 0 0D 3854
+ 126 4871 00010000D 3855
+ 126 0 5 0 0D 3856
+ 126 4876 00010000D 3857
+ 126 0 5 0 0D 3858
+ 126 4881 00010000D 3859
+ 126 0 3 0 0D 3860
+ 126 4884 00010000D 3861
+ 126 0 4 0 0D 3862
+ 126 4888 00010000D 3863
+ 126 0 3 0 0D 3864
+ 126 4891 00010000D 3865
+ 126 0 5 0 0D 3866
+ 126 4896 00010000D 3867
+ 126 0 3 0 0D 3868
+ 126 4899 00010000D 3869
+ 126 0 3 0 0D 3870
+ 126 4902 00010000D 3871
+ 126 0 5 0 0D 3872
+ 126 4907 00010000D 3873
+ 126 0 3 0 0D 3874
+ 126 4910 00010000D 3875
+ 126 0 4 0 0D 3876
+ 126 4914 00010000D 3877
+ 126 0 5 0 0D 3878
+ 126 4919 00010000D 3879
+ 126 0 3 0 0D 3880
+ 126 4922 00010000D 3881
+ 126 0 4 0 0D 3882
+ 126 4926 00010000D 3883
+ 126 0 5 0 0D 3884
+ 126 4931 00010000D 3885
+ 126 0 3 0 0D 3886
+ 126 4934 00010000D 3887
+ 126 0 4 0 0D 3888
+ 126 4938 00010000D 3889
+ 126 0 5 0 0D 3890
+ 126 4943 00010000D 3891
+ 126 0 4 0 0D 3892
+ 126 4947 00010000D 3893
+ 126 0 13 0 0D 3894
+ 126 4960 00010000D 3895
+ 126 0 4 0 0D 3896
+ 126 4964 00010000D 3897
+ 126 0 9 0 0D 3898
+ 126 4973 00010000D 3899
+ 126 0 4 0 0D 3900
+ 126 4977 00010000D 3901
+ 126 0 13 0 0D 3902
+ 126 4990 00010000D 3903
+ 126 0 11 0 0D 3904
+ 126 5001 00010000D 3905
+ 126 0 13 0 0D 3906
+ 126 5014 00010000D 3907
+ 126 0 4 0 0D 3908
+ 126 5018 00010000D 3909
+ 126 0 9 0 0D 3910
+ 126 5027 00010000D 3911
+ 126 0 4 0 0D 3912
+ 126 5031 00010000D 3913
+ 126 0 13 0 0D 3914
+ 126 5044 00010000D 3915
+ 126 0 11 0 0D 3916
+ 126 5055 00010000D 3917
+ 126 0 7 0 0D 3918
+ 126 5062 00010000D 3919
+ 126 0 3 0 0D 3920
+ 126 5065 00010000D 3921
+ 126 0 7 0 0D 3922
+ 126 5072 00010000D 3923
+ 126 0 3 0 0D 3924
+ 126 5075 00010000D 3925
+ 126 0 3 0 0D 3926
+ 126 5078 00010000D 3927
+ 126 0 5 0 0D 3928
+ 126 5083 00010000D 3929
+ 126 0 3 0 0D 3930
+ 126 5086 00010000D 3931
+ 126 0 5 0 0D 3932
+ 126 5091 00010000D 3933
+ 126 0 3 0 0D 3934
+ 126 5094 00010000D 3935
+ 126 0 4 0 0D 3936
+ 126 5098 00010000D 3937
+ 126 0 3 0 0D 3938
+ 126 5101 00010000D 3939
+ 126 0 5 0 0D 3940
+ 126 5106 00010000D 3941
+ 126 0 6 0 0D 3942
+ 126 5112 00010000D 3943
+ 126 0 5 0 0D 3944
+ 126 5117 00010000D 3945
+ 126 0 5 0 0D 3946
+ 126 5122 00010000D 3947
+ 126 0 5 0 0D 3948
+ 126 5127 00010000D 3949
+ 126 0 7 0 0D 3950
+ 126 5134 00010000D 3951
+ 126 0 5 0 0D 3952
+ 126 5139 00010000D 3953
+ 126 0 5 0 0D 3954
+ 126 5144 00010000D 3955
+ 126 0 5 0 0D 3956
+ 126 5149 00010000D 3957
+ 126 0 7 0 0D 3958
+ 126 5156 00010000D 3959
+ 126 0 7 0 0D 3960
+ 126 5163 00010000D 3961
+ 126 0 5 0 0D 3962
+ 126 5168 00010000D 3963
+ 126 0 3 0 0D 3964
+ 126 5171 00010000D 3965
+ 126 0 5 0 0D 3966
+ 126 5176 00010000D 3967
+ 126 0 3 0 0D 3968
+ 126 5179 00010000D 3969
+ 126 0 3 0 0D 3970
+ 126 5182 00010000D 3971
+ 126 0 5 0 0D 3972
+ 126 5187 00010000D 3973
+ 126 0 3 0 0D 3974
+ 126 5190 00010000D 3975
+ 126 0 5 0 0D 3976
+ 126 5195 00010000D 3977
+ 126 0 7 0 0D 3978
+ 126 5202 00010000D 3979
+ 126 0 5 0 0D 3980
+ 126 5207 00010000D 3981
+ 126 0 7 0 0D 3982
+ 126 5214 00010000D 3983
+ 126 0 5 0 0D 3984
+ 126 5219 00010000D 3985
+ 126 0 7 0 0D 3986
+ 126 5226 00010000D 3987
+ 126 0 5 0 0D 3988
+ 126 5231 00010000D 3989
+ 126 0 5 0 0D 3990
+ 126 5236 00010000D 3991
+ 126 0 13 0 0D 3992
+ 126 5249 00010000D 3993
+ 126 0 3 0 0D 3994
+ 126 5252 00010000D 3995
+ 126 0 11 0 0D 3996
+ 126 5263 00010000D 3997
+ 126 0 3 0 0D 3998
+ 126 5266 00010000D 3999
+ 126 0 13 0 0D 4000
+ 126 5279 00010000D 4001
+ 126 0 11 0 0D 4002
+ 126 5290 00010000D 4003
+ 126 0 13 0 0D 4004
+ 126 5303 00010000D 4005
+ 126 0 3 0 0D 4006
+ 126 5306 00010000D 4007
+ 126 0 13 0 0D 4008
+ 126 5319 00010000D 4009
+ 126 0 3 0 0D 4010
+ 126 5322 00010000D 4011
+ 126 0 13 0 0D 4012
+ 126 5335 00010000D 4013
+ 126 0 13 0 0D 4014
+ 126 5348 00010000D 4015
+ 126 0 13 0 0D 4016
+ 126 5361 00010000D 4017
+ 126 0 3 0 0D 4018
+ 126 5364 00010000D 4019
+ 126 0 11 0 0D 4020
+ 126 5375 00010000D 4021
+ 126 0 3 0 0D 4022
+ 126 5378 00010000D 4023
+ 126 0 13 0 0D 4024
+ 126 5391 00010000D 4025
+ 126 0 11 0 0D 4026
+ 126 5402 00010000D 4027
+ 126 0 13 0 0D 4028
+ 126 5415 00010000D 4029
+ 126 0 3 0 0D 4030
+ 126 5418 00010000D 4031
+ 126 0 13 0 0D 4032
+ 126 5431 00010000D 4033
+ 126 0 3 0 0D 4034
+ 126 5434 00010000D 4035
+ 126 0 13 0 0D 4036
+ 126 5447 00010000D 4037
+ 126 0 13 0 0D 4038
+ 126 5460 00010000D 4039
+ 126 0 5 0 0D 4040
+ 126 5465 00010000D 4041
+ 126 0 3 0 0D 4042
+ 126 5468 00010000D 4043
+ 126 0 4 0 0D 4044
+ 126 5472 00010000D 4045
+ 126 0 3 0 0D 4046
+ 126 5475 00010000D 4047
+ 126 0 3 0 0D 4048
+ 126 5478 00010000D 4049
+ 126 0 5 0 0D 4050
+ 126 5483 00010000D 4051
+ 126 0 3 0 0D 4052
+ 126 5486 00010000D 4053
+ 126 0 5 0 0D 4054
+ 126 5491 00010000D 4055
+ 126 0 5 0 0D 4056
+ 126 5496 00010000D 4057
+ 126 0 7 0 0D 4058
+ 126 5503 00010000D 4059
+ 126 0 10 0 0D 4060
+ 126 5513 00010000D 4061
+ 126 0 5 0 0D 4062
+ 126 5518 00010000D 4063
+ 126 0 5 0 0D 4064
+ 126 5523 00010000D 4065
+ 126 0 5 0 0D 4066
+ 126 5528 00010000D 4067
+ 126 0 5 0 0D 4068
+ 126 5533 00010000D 4069
+ 126 0 5 0 0D 4070
+ 126 5538 00010000D 4071
+ 126 0 5 0 0D 4072
+ 126 5543 00010000D 4073
+ 126 0 10 0 0D 4074
+ 126 5553 00010000D 4075
+ 126 0 5 0 0D 4076
+ 126 5558 00010000D 4077
+ 126 0 5 0 0D 4078
+ 126 5563 00010000D 4079
+ 126 0 13 0 0D 4080
+ 126 5576 00010000D 4081
+ 126 0 13 0 0D 4082
+ 126 5589 00010000D 4083
+ 126 0 3 0 0D 4084
+ 126 5592 00010000D 4085
+ 126 0 4 0 0D 4086
+ 126 5596 00010000D 4087
+ 126 0 3 0 0D 4088
+ 126 5599 00010000D 4089
+ 126 0 4 0 0D 4090
+ 126 5603 00010000D 4091
+ 126 0 5 0 0D 4092
+ 126 5608 00010000D 4093
+ 126 0 5 0 0D 4094
+ 126 5613 00010000D 4095
+ 126 0 5 0 0D 4096
+ 126 5618 00010000D 4097
+ 126 0 3 0 0D 4098
+ 126 5621 00010000D 4099
+ 126 0 4 0 0D 4100
+ 126 5625 00010000D 4101
+ 126 0 5 0 0D 4102
+ 126 5630 00010000D 4103
+ 126 0 5 0 0D 4104
+ 126 5635 00010000D 4105
+ 126 0 5 0 0D 4106
+ 126 5640 00010000D 4107
+ 126 0 5 0 0D 4108
+ 126 5645 00010000D 4109
+ 126 0 5 0 0D 4110
+ 126 5650 00010000D 4111
+ 126 0 5 0 0D 4112
+ 126 5655 00010000D 4113
+ 126 0 5 0 0D 4114
+ 126 5660 00010000D 4115
+ 126 0 4 0 0D 4116
+ 126 5664 00010000D 4117
+ 126 0 3 0 0D 4118
+ 126 5667 00010000D 4119
+ 126 0 5 0 0D 4120
+ 126 5672 00010000D 4121
+ 126 0 3 0 0D 4122
+ 126 5675 00010000D 4123
+ 126 0 3 0 0D 4124
+ 126 5678 00010000D 4125
+ 126 0 4 0 0D 4126
+ 126 5682 00010000D 4127
+ 126 0 3 0 0D 4128
+ 126 5685 00010000D 4129
+ 126 0 5 0 0D 4130
+ 126 5690 00010000D 4131
+ 126 0 3 0 0D 4132
+ 126 5693 00010000D 4133
+ 126 0 5 0 0D 4134
+ 126 5698 00010000D 4135
+ 126 0 4 0 0D 4136
+ 126 5702 00010000D 4137
+ 126 0 4 0 0D 4138
+ 126 5706 00010000D 4139
+ 126 0 5 0 0D 4140
+ 126 5711 00010000D 4141
+ 126 0 5 0 0D 4142
+ 126 5716 00010000D 4143
+ 126 0 5 0 0D 4144
+ 126 5721 00010000D 4145
+ 126 0 5 0 0D 4146
+ 126 5726 00010000D 4147
+ 126 0 5 0 0D 4148
+ 126 5731 00010000D 4149
+ 126 0 3 0 0D 4150
+ 126 5734 00010000D 4151
+ 126 0 3 0 0D 4152
+ 126 5737 00010000D 4153
+ 126 0 3 0 0D 4154
+ 126 5740 00010000D 4155
+ 126 0 3 0 0D 4156
+ 126 5743 00010000D 4157
+ 126 0 3 0 0D 4158
+ 126 5746 00010000D 4159
+ 126 0 5 0 0D 4160
+ 126 5751 00010000D 4161
+ 126 0 3 0 0D 4162
+ 126 5754 00010000D 4163
+ 126 0 3 0 0D 4164
+ 126 5757 00010000D 4165
+ 126 0 5 0 0D 4166
+ 126 5762 00010000D 4167
+ 126 0 3 0 0D 4168
+ 126 5765 00010000D 4169
+ 126 0 9 0 0D 4170
+ 126 5774 00010000D 4171
+ 126 0 3 0 0D 4172
+ 126 5777 00010000D 4173
+ 126 0 5 0 0D 4174
+ 126 5782 00010000D 4175
+ 126 0 3 0 0D 4176
+ 126 5785 00010000D 4177
+ 126 0 6 0 0D 4178
+ 126 5791 00010000D 4179
+ 126 0 3 0 0D 4180
+ 126 5794 00010000D 4181
+ 126 0 5 0 0D 4182
+ 126 5799 00010000D 4183
+ 126 0 3 0 0D 4184
+ 126 5802 00010000D 4185
+ 126 0 6 0 0D 4186
+ 126 5808 00010000D 4187
+ 126 0 6 0 0D 4188
+ 126 5814 00010000D 4189
+ 126 0 5 0 0D 4190
+ 126 5819 00010000D 4191
+ 126 0 5 0 0D 4192
+ 126 5824 00010000D 4193
+ 126 0 4 0 0D 4194
+ 126 5828 00010000D 4195
+ 126 0 8 0 0D 4196
+ 126 5836 00010000D 4197
+ 126 0 4 0 0D 4198
+ 126 5840 00010000D 4199
+ 126 0 5 0 0D 4200
+ 126 5845 00010000D 4201
+ 126 0 4 0 0D 4202
+ 126 5849 00010000D 4203
+ 126 0 5 0 0D 4204
+ 126 5854 00010000D 4205
+ 126 0 4 0 0D 4206
+ 126 5858 00010000D 4207
+ 126 0 3 0 0D 4208
+ 126 5861 00010000D 4209
+ 126 0 3 0 0D 4210
+ 126 5864 00010000D 4211
+ 126 0 3 0 0D 4212
+ 126 5867 00010000D 4213
+ 126 0 3 0 0D 4214
+ 126 5870 00010000D 4215
+ 126 0 3 0 0D 4216
+ 126 5873 00010000D 4217
+ 126 0 7 0 0D 4218
+ 126 5880 00010000D 4219
+ 126 0 3 0 0D 4220
+ 126 5883 00010000D 4221
+ 126 0 4 0 0D 4222
+ 126 5887 00010000D 4223
+ 126 0 3 0 0D 4224
+ 126 5890 00010000D 4225
+ 126 0 6 0 0D 4226
+ 126 5896 00010000D 4227
+ 126 0 3 0 0D 4228
+ 126 5899 00010000D 4229
+ 126 0 4 0 0D 4230
+ 126 5903 00010000D 4231
+ 126 0 3 0 0D 4232
+ 126 5906 00010000D 4233
+ 126 0 6 0 0D 4234
+ 126 5912 00010000D 4235
+ 126 0 3 0 0D 4236
+ 126 5915 00010000D 4237
+ 126 0 4 0 0D 4238
+ 126 5919 00010000D 4239
+ 126 0 4 0 0D 4240
+ 126 5923 00010000D 4241
+ 126 0 3 0 0D 4242
+ 126 5926 00010000D 4243
+ 126 0 4 0 0D 4244
+ 126 5930 00010000D 4245
+ 126 0 5 0 0D 4246
+ 126 5935 00010000D 4247
+ 126 0 3 0 0D 4248
+ 126 5938 00010000D 4249
+ 126 0 4 0 0D 4250
+ 126 5942 00010000D 4251
+ 126 0 3 0 0D 4252
+ 126 5945 00010000D 4253
+ 126 0 4 0 0D 4254
+ 126 5949 00010000D 4255
+ 126 0 4 0 0D 4256
+ 126 5953 00010000D 4257
+ 126 0 4 0 0D 4258
+ 126 5957 00010000D 4259
+ 126 0 4 0 0D 4260
+ 126 5961 00010000D 4261
+ 126 0 4 0 0D 4262
+ 126 5965 00010000D 4263
+ 126 0 4 0 0D 4264
+ 126 5969 00010000D 4265
+ 126 0 4 0 0D 4266
+ 126 5973 00010000D 4267
+ 126 0 4 0 0D 4268
+ 126 5977 00010000D 4269
+ 126 0 4 0 0D 4270
+ 126 5981 00010000D 4271
+ 126 0 3 0 0D 4272
+ 126 5984 00010000D 4273
+ 126 0 4 0 0D 4274
+ 126 5988 00010000D 4275
+ 126 0 3 0 0D 4276
+ 126 5991 00010000D 4277
+ 126 0 4 0 0D 4278
+ 126 5995 00010000D 4279
+ 126 0 3 0 0D 4280
+ 126 5998 00010000D 4281
+ 126 0 4 0 0D 4282
+ 126 6002 00010000D 4283
+ 126 0 3 0 0D 4284
+ 126 6005 00010000D 4285
+ 126 0 4 0 0D 4286
+ 126 6009 00010000D 4287
+ 126 0 3 0 0D 4288
+ 126 6012 00010000D 4289
+ 126 0 3 0 0D 4290
+ 126 6015 00010000D 4291
+ 126 0 4 0 0D 4292
+ 126 6019 00010000D 4293
+ 126 0 3 0 0D 4294
+ 126 6022 00010000D 4295
+ 126 0 5 0 0D 4296
+ 126 6027 00010000D 4297
+ 126 0 4 0 0D 4298
+ 126 6031 00010000D 4299
+ 126 0 3 0 0D 4300
+ 126 6034 00010000D 4301
+ 126 0 3 0 0D 4302
+ 126 6037 00010000D 4303
+ 126 0 4 0 0D 4304
+ 126 6041 00010000D 4305
+ 126 0 3 0 0D 4306
+ 126 6044 00010000D 4307
+ 126 0 4 0 0D 4308
+ 126 6048 00010000D 4309
+ 126 0 3 0 0D 4310
+ 126 6051 00010000D 4311
+ 126 0 4 0 0D 4312
+ 126 6055 00010000D 4313
+ 126 0 3 0 0D 4314
+ 126 6058 00010000D 4315
+ 126 0 4 0 0D 4316
+ 126 6062 00010000D 4317
+ 126 0 4 0 0D 4318
+ 126 6066 00010000D 4319
+ 126 0 4 0 0D 4320
+ 126 6070 00010000D 4321
+ 126 0 3 0 0D 4322
+ 126 6073 00010000D 4323
+ 126 0 3 0 0D 4324
+ 126 6076 00010000D 4325
+ 126 0 3 0 0D 4326
+ 126 6079 00010000D 4327
+ 126 0 3 0 0D 4328
+ 126 6082 00010000D 4329
+ 126 0 3 0 0D 4330
+ 126 6085 00010000D 4331
+ 126 0 4 0 0D 4332
+ 126 6089 00010000D 4333
+ 126 0 4 0 0D 4334
+ 126 6093 00010000D 4335
+ 126 0 3 0 0D 4336
+ 126 6096 00010000D 4337
+ 126 0 4 0 0D 4338
+ 126 6100 00010000D 4339
+ 126 0 4 0 0D 4340
+ 126 6104 00010000D 4341
+ 126 0 4 0 0D 4342
+ 126 6108 00010000D 4343
+ 126 0 4 0 0D 4344
+ 126 6112 00010000D 4345
+ 126 0 5 0 0D 4346
+ 126 6117 00010000D 4347
+ 126 0 3 0 0D 4348
+ 126 6120 00010000D 4349
+ 126 0 5 0 0D 4350
+ 126 6125 00010000D 4351
+ 126 0 3 0 0D 4352
+ 126 6128 00010000D 4353
+ 126 0 7 0 0D 4354
+ 126 6135 00010000D 4355
+ 126 0 3 0 0D 4356
+ 126 6138 00010000D 4357
+ 126 0 3 0 0D 4358
+ 126 6141 00010000D 4359
+ 126 0 5 0 0D 4360
+ 126 6146 00010000D 4361
+ 126 0 11 0 0D 4362
+ 126 6157 00010000D 4363
+ 126 0 11 0 0D 4364
+ 126 6168 00010000D 4365
+ 126 0 11 0 0D 4366
+ 126 6179 00010000D 4367
+ 126 0 11 0 0D 4368
+ 126 6190 00010000D 4369
+ 126 0 11 0 0D 4370
+ 126 6201 00010000D 4371
+ 126 0 11 0 0D 4372
+ 126 6212 00010000D 4373
+ 126 0 11 0 0D 4374
+ 126 6223 00010000D 4375
+ 126 0 11 0 0D 4376
+ 126 6234 00010000D 4377
+ 126 0 11 0 0D 4378
+ 126 6245 00010000D 4379
+ 126 0 9 0 0D 4380
+ 126 6254 00010000D 4381
+ 126 0 11 0 0D 4382
+ 126 6265 00010000D 4383
+ 126 0 9 0 0D 4384
+ 126 6274 00010000D 4385
+ 126 0 4 0 0D 4386
+ 126 6278 00010000D 4387
+ 126 0 3 0 0D 4388
+ 126 6281 00010000D 4389
+ 126 0 3 0 0D 4390
+ 126 6284 00010000D 4391
+ 126 0 3 0 0D 4392
+ 126 6287 00010000D 4393
+ 126 0 6 0 0D 4394
+ 126 6293 00010000D 4395
+ 126 0 3 0 0D 4396
+ 126 6296 00010000D 4397
+ 126 0 6 0 0D 4398
+ 126 6302 00010000D 4399
+ 126 0 6 0 0D 4400
+ 126 6308 00010000D 4401
+ 126 0 3 0 0D 4402
+ 126 6311 00010000D 4403
+ 126 0 6 0 0D 4404
+ 126 6317 00010000D 4405
+ 126 0 6 0 0D 4406
+ 126 6323 00010000D 4407
+ 126 0 3 0 0D 4408
+ 126 6326 00010000D 4409
+ 126 0 6 0 0D 4410
+ 126 6332 00010000D 4411
+ 126 0 6 0 0D 4412
+ 126 6338 00010000D 4413
+ 126 0 3 0 0D 4414
+ 126 6341 00010000D 4415
+ 126 0 6 0 0D 4416
+ 126 6347 00010000D 4417
+ 126 0 6 0 0D 4418
+ 126 6353 00010000D 4419
+ 126 0 3 0 0D 4420
+ 126 6356 00010000D 4421
+ 126 0 6 0 0D 4422
+ 126 6362 00010000D 4423
+ 126 0 6 0 0D 4424
+ 126 6368 00010000D 4425
+ 126 0 3 0 0D 4426
+ 126 6371 00010000D 4427
+ 126 0 6 0 0D 4428
+ 126 6377 00010000D 4429
+ 126 0 4 0 0D 4430
+ 126 6381 00010000D 4431
+ 126 0 3 0 0D 4432
+ 126 6384 00010000D 4433
+ 126 0 3 0 0D 4434
+ 126 6387 00010000D 4435
+ 126 0 4 0 0D 4436
+ 126 6391 00010000D 4437
+ 126 0 3 0 0D 4438
+ 126 6394 00010000D 4439
+ 126 0 4 0 0D 4440
+ 126 6398 00010000D 4441
+ 126 0 3 0 0D 4442
+ 126 6401 00010000D 4443
+ 126 0 3 0 0D 4444
+ 126 6404 00010000D 4445
+ 126 0 3 0 0D 4446
+ 126 6407 00010000D 4447
+ 126 0 4 0 0D 4448
+ 126 6411 00010000D 4449
+ 126 0 3 0 0D 4450
+ 126 6414 00010000D 4451
+ 126 0 3 0 0D 4452
+ 126 6417 00010000D 4453
+ 126 0 6 0 0D 4454
+ 126 6423 00010000D 4455
+ 126 0 3 0 0D 4456
+ 126 6426 00010000D 4457
+ 126 0 6 0 0D 4458
+ 126 6432 00010000D 4459
+ 126 0 6 0 0D 4460
+ 126 6438 00010000D 4461
+ 126 0 3 0 0D 4462
+ 126 6441 00010000D 4463
+ 126 0 6 0 0D 4464
+ 126 6447 00010000D 4465
+ 126 0 6 0 0D 4466
+ 126 6453 00010000D 4467
+ 126 0 3 0 0D 4468
+ 126 6456 00010000D 4469
+ 126 0 6 0 0D 4470
+ 126 6462 00010000D 4471
+ 126 0 4 0 0D 4472
+ 126 6466 00010000D 4473
+ 126 0 3 0 0D 4474
+ 126 6469 00010000D 4475
+ 126 0 3 0 0D 4476
+ 126 6472 00010000D 4477
+ 126 0 4 0 0D 4478
+ 126 6476 00010000D 4479
+ 126 0 3 0 0D 4480
+ 126 6479 00010000D 4481
+ 126 0 3 0 0D 4482
+ 126 6482 00010000D 4483
+ 126 0 4 0 0D 4484
+ 126 6486 00010000D 4485
+ 126 0 3 0 0D 4486
+ 126 6489 00010000D 4487
+ 126 0 3 0 0D 4488
+ 126 6492 00010000D 4489
+ 126 0 6 0 0D 4490
+ 126 6498 00010000D 4491
+ 126 0 3 0 0D 4492
+ 126 6501 00010000D 4493
+ 126 0 6 0 0D 4494
+ 126 6507 00010000D 4495
+ 126 0 6 0 0D 4496
+ 126 6513 00010000D 4497
+ 126 0 3 0 0D 4498
+ 126 6516 00010000D 4499
+ 126 0 6 0 0D 4500
+ 126 6522 00010000D 4501
+ 126 0 6 0 0D 4502
+ 126 6528 00010000D 4503
+ 126 0 3 0 0D 4504
+ 126 6531 00010000D 4505
+ 126 0 6 0 0D 4506
+ 126 6537 00010000D 4507
+ 126 0 6 0 0D 4508
+ 126 6543 00010000D 4509
+ 126 0 3 0 0D 4510
+ 126 6546 00010000D 4511
+ 126 0 6 0 0D 4512
+ 126 6552 00010000D 4513
+ 126 0 6 0 0D 4514
+ 126 6558 00010000D 4515
+ 126 0 3 0 0D 4516
+ 126 6561 00010000D 4517
+ 126 0 6 0 0D 4518
+ 126 6567 00010000D 4519
+ 126 0 6 0 0D 4520
+ 126 6573 00010000D 4521
+ 126 0 3 0 0D 4522
+ 126 6576 00010000D 4523
+ 126 0 6 0 0D 4524
+ 126 6582 00010000D 4525
+ 126 0 6 0 0D 4526
+ 126 6588 00010000D 4527
+ 126 0 3 0 0D 4528
+ 126 6591 00010000D 4529
+ 126 0 6 0 0D 4530
+ 126 6597 00010000D 4531
+ 126 0 4 0 0D 4532
+ 126 6601 00010000D 4533
+ 126 0 3 0 0D 4534
+ 126 6604 00010000D 4535
+ 126 0 3 0 0D 4536
+ 126 6607 00010000D 4537
+ 126 0 4 0 0D 4538
+ 126 6611 00010000D 4539
+ 126 0 3 0 0D 4540
+ 126 6614 00010000D 4541
+ 126 0 3 0 0D 4542
+ 126 6617 00010000D 4543
+ 126 0 4 0 0D 4544
+ 126 6621 00010000D 4545
+ 126 0 3 0 0D 4546
+ 126 6624 00010000D 4547
+ 126 0 4 0 0D 4548
+ 126 6628 00010000D 4549
+ 126 0 6 0 0D 4550
+ 126 6634 00010000D 4551
+ 126 0 8 0 0D 4552
+ 126 6642 00010000D 4553
+ 126 0 4 0 0D 4554
+ 126 6646 00010000D 4555
+ 126 0 4 0 0D 4556
+ 126 6650 00010000D 4557
+ 126 0 4 0 0D 4558
+ 126 6654 00010000D 4559
+ 126 0 4 0 0D 4560
+ 126 6658 00010000D 4561
+ 126 0 4 0 0D 4562
+ 126 6662 00010000D 4563
+ 126 0 4 0 0D 4564
+ 126 6666 00010000D 4565
+ 126 0 4 0 0D 4566
+ 126 6670 00010000D 4567
+ 126 0 8 0 0D 4568
+ 126 6678 00010000D 4569
+ 126 0 4 0 0D 4570
+ 126 6682 00010000D 4571
+ 126 0 6 0 0D 4572
+ 126 6688 00010000D 4573
+ 126 0 4 0 0D 4574
+ 126 6692 00010000D 4575
+ 126 0 3 0 0D 4576
+ 126 6695 00010000D 4577
+ 126 0 11 0 0D 4578
+ 126 6706 00010000D 4579
+ 126 0 4 0 0D 4580
+ 126 6710 00010000D 4581
+ 126 0 11 0 0D 4582
+ 126 6721 00010000D 4583
+ 126 0 11 0 0D 4584
+ 126 6732 00010000D 4585
+ 126 0 11 0 0D 4586
+ 126 6743 00010000D 4587
+ 126 0 11 0 0D 4588
+ 126 6754 00010000D 4589
+ 126 0 11 0 0D 4590
+ 126 6765 00010000D 4591
+ 126 0 11 0 0D 4592
+ 126 6776 00010000D 4593
+ 126 0 11 0 0D 4594
+ 126 6787 00010000D 4595
+ 126 0 11 0 0D 4596
+ 126 6798 00010000D 4597
+ 126 0 11 0 0D 4598
+ 126 6809 00010000D 4599
+ 126 0 13 0 0D 4600
+ 126 6822 00010000D 4601
+ 126 0 13 0 0D 4602
+ 126 6835 00010000D 4603
+ 126 0 11 0 0D 4604
+ 126 6846 00010000D 4605
+ 126 0 11 0 0D 4606
+ 126 6857 00010000D 4607
+ 126 0 3 0 0D 4608
+ 126 6860 00010000D 4609
+ 126 0 3 0 0D 4610
+ 126 6863 00010000D 4611
+ 126 0 3 0 0D 4612
+ 126 6866 00010000D 4613
+ 126 0 3 0 0D 4614
+ 126 6869 00010000D 4615
+ 126 0 6 0 0D 4616
+ 126 6875 00010000D 4617
+ 126 0 3 0 0D 4618
+ 126 6878 00010000D 4619
+ 126 0 3 0 0D 4620
+ 126 6881 00010000D 4621
+ 126 0 3 0 0D 4622
+ 126 6884 00010000D 4623
+ 126 0 3 0 0D 4624
+ 126 6887 00010000D 4625
+ 126 0 4 0 0D 4626
+ 126 6891 00010000D 4627
+ 126 0 3 0 0D 4628
+ 126 6894 00010000D 4629
+ 126 0 3 0 0D 4630
+ 126 6897 00010000D 4631
+ 126 0 4 0 0D 4632
+ 126 6901 00010000D 4633
+ 126 0 5 0 0D 4634
+ 126 6906 00010000D 4635
+ 126 0 6 0 0D 4636
+ 126 6912 00010000D 4637
+ 126 0 4 0 0D 4638
+ 126 6916 00010000D 4639
+ 126 0 4 0 0D 4640
+ 126 6920 00010000D 4641
+ 126 0 4 0 0D 4642
+ 126 6924 00010000D 4643
+ 126 0 6 0 0D 4644
+ 126 6930 00010000D 4645
+ 126 0 6 0 0D 4646
+ 126 6936 00010000D 4647
+ 126 0 4 0 0D 4648
+ 126 6940 00010000D 4649
+ 126 0 3 0 0D 4650
+ 126 6943 00010000D 4651
+ 126 0 4 0 0D 4652
+ 126 6947 00010000D 4653
+ 126 0 3 0 0D 4654
+ 126 6950 00010000D 4655
+ 126 0 6 0 0D 4656
+ 126 6956 00010000D 4657
+ 126 0 4 0 0D 4658
+ 126 6960 00010000D 4659
+ 126 0 6 0 0D 4660
+ 126 6966 00010000D 4661
+ 126 0 4 0 0D 4662
+ 126 6970 00010000D 4663
+ 126 0 6 0 0D 4664
+ 126 6976 00010000D 4665
+ 126 0 4 0 0D 4666
+ 126 6980 00010000D 4667
+ 126 0 3 0 0D 4668
+ 126 6983 00010000D 4669
+ 126 0 3 0 0D 4670
+ 126 6986 00010000D 4671
+ 126 0 3 0 0D 4672
+ 126 6989 00010000D 4673
+ 126 0 3 0 0D 4674
+ 126 6992 00010000D 4675
+ 126 0 3 0 0D 4676
+ 126 6995 00010000D 4677
+ 126 0 3 0 0D 4678
+ 126 6998 00010000D 4679
+ 126 0 3 0 0D 4680
+ 126 7001 00010000D 4681
+ 126 0 3 0 0D 4682
+ 126 7004 00010000D 4683
+ 126 0 3 0 0D 4684
+ 126 7007 00010000D 4685
+ 126 0 4 0 0D 4686
+ 126 7011 00010000D 4687
+ 126 0 3 0 0D 4688
+ 126 7014 00010000D 4689
+ 126 0 3 0 0D 4690
+ 126 7017 00010000D 4691
+ 126 0 4 0 0D 4692
+ 126 7021 00010000D 4693
+ 126 0 3 0 0D 4694
+ 126 7024 00010000D 4695
+ 126 0 3 0 0D 4696
+ 126 7027 00010000D 4697
+ 126 0 3 0 0D 4698
+ 126 7030 00010000D 4699
+ 126 0 3 0 0D 4700
+ 126 7033 00010000D 4701
+ 126 0 3 0 0D 4702
+ 126 7036 00010000D 4703
+ 126 0 4 0 0D 4704
+ 126 7040 00010000D 4705
+ 126 0 3 0 0D 4706
+ 126 7043 00010000D 4707
+ 126 0 3 0 0D 4708
+ 126 7046 00010000D 4709
+ 126 0 4 0 0D 4710
+ 126 7050 00010000D 4711
+ 126 0 3 0 0D 4712
+ 126 7053 00010000D 4713
+ 126 0 7 0 0D 4714
+ 126 7060 00010000D 4715
+ 126 0 3 0 0D 4716
+ 126 7063 00010000D 4717
+ 126 0 4 0 0D 4718
+ 126 7067 00010000D 4719
+ 126 0 3 0 0D 4720
+ 126 7070 00010000D 4721
+ 126 0 5 0 0D 4722
+ 126 7075 00010000D 4723
+ 126 0 3 0 0D 4724
+ 126 7078 00010000D 4725
+ 126 0 4 0 0D 4726
+ 126 7082 00010000D 4727
+ 126 0 3 0 0D 4728
+ 126 7085 00010000D 4729
+ 126 0 5 0 0D 4730
+ 126 7090 00010000D 4731
+ 126 0 5 0 0D 4732
+ 126 7095 00010000D 4733
+ 126 0 5 0 0D 4734
+ 126 7100 00010000D 4735
+ 126 0 4 0 0D 4736
+ 126 7104 00010000D 4737
+ 126 0 3 0 0D 4738
+ 126 7107 00010000D 4739
+ 126 0 7 0 0D 4740
+ 126 7114 00010000D 4741
+ 126 0 3 0 0D 4742
+ 126 7117 00010000D 4743
+ 126 0 5 0 0D 4744
+ 126 7122 00010000D 4745
+ 126 0 3 0 0D 4746
+ 126 7125 00010000D 4747
+ 126 0 5 0 0D 4748
+ 126 7130 00010000D 4749
+ 126 0 3 0 0D 4750
+ 126 7133 00010000D 4751
+ 126 0 3 0 0D 4752
+ 126 7136 00010000D 4753
+ 126 0 3 0 0D 4754
+ 126 7139 00010000D 4755
+ 126 0 3 0 0D 4756
+ 126 7142 00010000D 4757
+ 126 0 3 0 0D 4758
+ 126 7145 00010000D 4759
+ 126 0 3 0 0D 4760
+ 126 7148 00010000D 4761
+ 126 0 3 0 0D 4762
+ 128 7151 00010000D 4763
+ 128 0 -5703 23 0 0D 4764
+ 128 7174 00010000D 4765
+ 128 0 -5703 23 0 0D 4766
+ 128 7197 00010000D 4767
+ 128 0 -5703 23 0 0D 4768
+ 128 7220 00010000D 4769
+ 128 0 -5703 23 0 0D 4770
+ 128 7243 00010000D 4771
+ 128 0 -5703 20 0 0D 4772
+ 128 7263 00010000D 4773
+ 128 0 -5703 20 0 0D 4774
+ 128 7283 00010000D 4775
+ 128 0 -5703 20 0 0D 4776
+ 128 7303 00010000D 4777
+ 128 0 -5703 20 0 0D 4778
+ 128 7323 00010000D 4779
+ 128 0 -5703 8 0 0D 4780
+ 128 7331 00010000D 4781
+ 128 0 -5703 7 0 0D 4782
+ 128 7338 00010000D 4783
+ 128 0 -5703 7 0 0D 4784
+ 128 7345 00010000D 4785
+ 128 0 -5703 7 0 0D 4786
+ 128 7352 00010000D 4787
+ 128 0 -5703 8 0 0D 4788
+ 128 7360 00010000D 4789
+ 128 0 -5703 7 0 0D 4790
+ 128 7367 00010000D 4791
+ 128 0 -5703 7 0 0D 4792
+ 128 7374 00010000D 4793
+ 128 0 -5703 7 0 0D 4794
+ 128 7381 00010000D 4795
+ 128 0 -5703 8 0 0D 4796
+ 128 7389 00010000D 4797
+ 128 0 -5703 7 0 0D 4798
+ 128 7396 00010000D 4799
+ 128 0 -5703 7 0 0D 4800
+ 128 7403 00010000D 4801
+ 128 0 -5703 7 0 0D 4802
+ 128 7410 00010000D 4803
+ 128 0 -5703 8 0 0D 4804
+ 128 7418 00010000D 4805
+ 128 0 -5703 7 0 0D 4806
+ 128 7425 00010000D 4807
+ 128 0 -5703 7 0 0D 4808
+ 128 7432 00010000D 4809
+ 128 0 -5703 7 0 0D 4810
+ 128 7439 00010000D 4811
+ 128 0 -5703 8 0 0D 4812
+ 128 7447 00010000D 4813
+ 128 0 -5703 7 0 0D 4814
+ 128 7454 00010000D 4815
+ 128 0 -5703 7 0 0D 4816
+ 128 7461 00010000D 4817
+ 128 0 -5703 7 0 0D 4818
+ 128 7468 00010000D 4819
+ 128 0 -5703 8 0 0D 4820
+ 128 7476 00010000D 4821
+ 128 0 -5703 7 0 0D 4822
+ 128 7483 00010000D 4823
+ 128 0 -5703 7 0 0D 4824
+ 128 7490 00010000D 4825
+ 128 0 -5703 7 0 0D 4826
+ 128 7497 00010000D 4827
+ 128 0 -5703 8 0 0D 4828
+ 128 7505 00010000D 4829
+ 128 0 -5703 7 0 0D 4830
+ 128 7512 00010000D 4831
+ 128 0 -5703 7 0 0D 4832
+ 128 7519 00010000D 4833
+ 128 0 -5703 7 0 0D 4834
+ 128 7526 00010000D 4835
+ 128 0 -5703 8 0 0D 4836
+ 128 7534 00010000D 4837
+ 128 0 -5703 7 0 0D 4838
+ 128 7541 00010000D 4839
+ 128 0 -5703 7 0 0D 4840
+ 128 7548 00010000D 4841
+ 128 0 -5703 6 0 0D 4842
+ 128 7554 00010000D 4843
+ 128 0 -5703 8 0 0D 4844
+ 128 7562 00010000D 4845
+ 128 0 -5703 6 0 0D 4846
+ 128 7568 00010000D 4847
+ 128 0 -5703 7 0 0D 4848
+ 128 7575 00010000D 4849
+ 128 0 -5703 6 0 0D 4850
+ 128 7581 00010000D 4851
+ 128 0 -5703 8 0 0D 4852
+ 128 7589 00010000D 4853
+ 128 0 -5703 7 0 0D 4854
+ 128 7596 00010000D 4855
+ 128 0 -5703 7 0 0D 4856
+ 128 7603 00010000D 4857
+ 128 0 -5703 6 0 0D 4858
+ 128 7609 00010000D 4859
+ 128 0 -5703 8 0 0D 4860
+ 128 7617 00010000D 4861
+ 128 0 -5703 6 0 0D 4862
+ 128 7623 00010000D 4863
+ 128 0 -5703 6 0 0D 4864
+ 128 7629 00010000D 4865
+ 128 0 -5703 6 0 0D 4866
+ 128 7635 00010000D 4867
+ 128 0 -5703 8 0 0D 4868
+ 128 7643 00010000D 4869
+ 128 0 -5703 6 0 0D 4870
+ 128 7649 00010000D 4871
+ 128 0 -5703 6 0 0D 4872
+ 128 7655 00010000D 4873
+ 128 0 -5703 6 0 0D 4874
+ 128 7661 00010000D 4875
+ 128 0 -5703 8 0 0D 4876
+ 128 7669 00010000D 4877
+ 128 0 -5703 6 0 0D 4878
+ 128 7675 00010000D 4879
+ 128 0 -5703 6 0 0D 4880
+ 128 7681 00010000D 4881
+ 128 0 -5703 6 0 0D 4882
+ 128 7687 00010000D 4883
+ 128 0 -5703 8 0 0D 4884
+ 128 7695 00010000D 4885
+ 128 0 -5703 6 0 0D 4886
+ 128 7701 00010000D 4887
+ 128 0 -5703 6 0 0D 4888
+ 128 7707 00010000D 4889
+ 128 0 -5703 6 0 0D 4890
+ 128 7713 00010000D 4891
+ 128 0 -5703 8 0 0D 4892
+ 128 7721 00010000D 4893
+ 128 0 -5703 6 0 0D 4894
+ 128 7727 00010000D 4895
+ 128 0 -5703 6 0 0D 4896
+ 128 7733 00010000D 4897
+ 128 0 -5703 6 0 0D 4898
+ 128 7739 00010000D 4899
+ 128 0 -5703 6 0 0D 4900
+ 128 7745 00010000D 4901
+ 128 0 -5703 6 0 0D 4902
+ 128 7751 00010000D 4903
+ 128 0 -5703 8 0 0D 4904
+ 128 7759 00010000D 4905
+ 128 0 -5703 6 0 0D 4906
+ 128 7765 00010000D 4907
+ 128 0 -5703 6 0 0D 4908
+ 128 7771 00010000D 4909
+ 128 0 -5703 6 0 0D 4910
+ 128 7777 00010000D 4911
+ 128 0 -5703 7 0 0D 4912
+ 128 7784 00010000D 4913
+ 128 0 -5703 6 0 0D 4914
+ 128 7790 00010000D 4915
+ 128 0 -5703 7 0 0D 4916
+ 128 7797 00010000D 4917
+ 128 0 -5703 6 0 0D 4918
+ 128 7803 00010000D 4919
+ 128 0 -5703 6 0 0D 4920
+ 128 7809 00010000D 4921
+ 128 0 -5703 6 0 0D 4922
+ 128 7815 00010000D 4923
+ 128 0 -5703 8 0 0D 4924
+ 128 7823 00010000D 4925
+ 128 0 -5703 7 0 0D 4926
+ 128 7830 00010000D 4927
+ 128 0 -5703 7 0 0D 4928
+ 128 7837 00010000D 4929
+ 128 0 -5703 7 0 0D 4930
+ 128 7844 00010000D 4931
+ 128 0 -5703 8 0 0D 4932
+ 128 7852 00010000D 4933
+ 128 0 -5703 7 0 0D 4934
+ 128 7859 00010000D 4935
+ 128 0 -5703 7 0 0D 4936
+ 128 7866 00010000D 4937
+ 128 0 -5703 7 0 0D 4938
+ 128 7873 00010000D 4939
+ 128 0 -5703 8 0 0D 4940
+ 128 7881 00010000D 4941
+ 128 0 -5703 7 0 0D 4942
+ 128 7888 00010000D 4943
+ 128 0 -5703 7 0 0D 4944
+ 128 7895 00010000D 4945
+ 128 0 -5703 7 0 0D 4946
+ 128 7902 00010000D 4947
+ 128 0 -5703 8 0 0D 4948
+ 128 7910 00010000D 4949
+ 128 0 -5703 7 0 0D 4950
+ 128 7917 00010000D 4951
+ 128 0 -5703 7 0 0D 4952
+ 128 7924 00010000D 4953
+ 128 0 -5703 7 0 0D 4954
+ 128 7931 00010000D 4955
+ 128 0 -5703 8 0 0D 4956
+ 128 7939 00010000D 4957
+ 128 0 -5703 7 0 0D 4958
+ 128 7946 00010000D 4959
+ 128 0 -5703 7 0 0D 4960
+ 128 7953 00010000D 4961
+ 128 0 -5703 7 0 0D 4962
+ 128 7960 00010000D 4963
+ 128 0 -5703 8 0 0D 4964
+ 128 7968 00010000D 4965
+ 128 0 -5703 7 0 0D 4966
+ 128 7975 00010000D 4967
+ 128 0 -5703 7 0 0D 4968
+ 128 7982 00010000D 4969
+ 128 0 -5703 7 0 0D 4970
+ 128 7989 00010000D 4971
+ 128 0 -5703 8 0 0D 4972
+ 128 7997 00010000D 4973
+ 128 0 -5703 7 0 0D 4974
+ 128 8004 00010000D 4975
+ 128 0 -5703 7 0 0D 4976
+ 128 8011 00010000D 4977
+ 128 0 -5703 7 0 0D 4978
+ 128 8018 00010000D 4979
+ 128 0 -5703 8 0 0D 4980
+ 128 8026 00010000D 4981
+ 128 0 -5703 7 0 0D 4982
+ 128 8033 00010000D 4983
+ 128 0 -5703 7 0 0D 4984
+ 128 8040 00010000D 4985
+ 128 0 -5703 7 0 0D 4986
+ 128 8047 00010000D 4987
+ 128 0 -5703 8 0 0D 4988
+ 128 8055 00010000D 4989
+ 128 0 -5703 6 0 0D 4990
+ 128 8061 00010000D 4991
+ 128 0 -5703 7 0 0D 4992
+ 128 8068 00010000D 4993
+ 128 0 -5703 6 0 0D 4994
+ 128 8074 00010000D 4995
+ 128 0 -5703 8 0 0D 4996
+ 128 8082 00010000D 4997
+ 128 0 -5703 7 0 0D 4998
+ 128 8089 00010000D 4999
+ 128 0 -5703 7 0 0D 5000
+ 128 8096 00010000D 5001
+ 128 0 -5703 6 0 0D 5002
+ 128 8102 00010000D 5003
+ 128 0 -5703 8 0 0D 5004
+ 128 8110 00010000D 5005
+ 128 0 -5703 6 0 0D 5006
+ 128 8116 00010000D 5007
+ 128 0 -5703 6 0 0D 5008
+ 128 8122 00010000D 5009
+ 128 0 -5703 6 0 0D 5010
+ 128 8128 00010000D 5011
+ 128 0 -5703 8 0 0D 5012
+ 128 8136 00010000D 5013
+ 128 0 -5703 6 0 0D 5014
+ 128 8142 00010000D 5015
+ 128 0 -5703 6 0 0D 5016
+ 128 8148 00010000D 5017
+ 128 0 -5703 6 0 0D 5018
+ 128 8154 00010000D 5019
+ 128 0 -5703 8 0 0D 5020
+ 128 8162 00010000D 5021
+ 128 0 -5703 6 0 0D 5022
+ 128 8168 00010000D 5023
+ 128 0 -5703 6 0 0D 5024
+ 128 8174 00010000D 5025
+ 128 0 -5703 6 0 0D 5026
+ 128 8180 00010000D 5027
+ 128 0 -5703 8 0 0D 5028
+ 128 8188 00010000D 5029
+ 128 0 -5703 6 0 0D 5030
+ 128 8194 00010000D 5031
+ 128 0 -5703 6 0 0D 5032
+ 128 8200 00010000D 5033
+ 128 0 -5703 6 0 0D 5034
+ 128 8206 00010000D 5035
+ 128 0 -5703 8 0 0D 5036
+ 128 8214 00010000D 5037
+ 128 0 -5703 6 0 0D 5038
+ 128 8220 00010000D 5039
+ 128 0 -5703 6 0 0D 5040
+ 128 8226 00010000D 5041
+ 128 0 -5703 6 0 0D 5042
+ 128 8232 00010000D 5043
+ 128 0 -5703 6 0 0D 5044
+ 128 8238 00010000D 5045
+ 128 0 -5703 6 0 0D 5046
+ 128 8244 00010000D 5047
+ 128 0 -5703 8 0 0D 5048
+ 128 8252 00010000D 5049
+ 128 0 -5703 6 0 0D 5050
+ 128 8258 00010000D 5051
+ 128 0 -5703 6 0 0D 5052
+ 128 8264 00010000D 5053
+ 128 0 -5703 6 0 0D 5054
+ 128 8270 00010000D 5055
+ 128 0 -5703 7 0 0D 5056
+ 128 8277 00010000D 5057
+ 128 0 -5703 6 0 0D 5058
+ 128 8283 00010000D 5059
+ 128 0 -5703 7 0 0D 5060
+ 128 8290 00010000D 5061
+ 128 0 -5703 6 0 0D 5062
+ 128 8296 00010000D 5063
+ 128 0 -5703 6 0 0D 5064
+ 128 8302 00010000D 5065
+ 128 0 -5703 6 0 0D 5066
+ 128 8308 00010000D 5067
+ 128 0 -5703 8 0 0D 5068
+ 128 8316 00010000D 5069
+ 128 0 -5703 7 0 0D 5070
+ 128 8323 00010000D 5071
+ 128 0 -5703 7 0 0D 5072
+ 128 8330 00010000D 5073
+ 128 0 -5703 7 0 0D 5074
+ 128 8337 00010000D 5075
+ 128 0 -5703 8 0 0D 5076
+ 128 8345 00010000D 5077
+ 128 0 -5703 7 0 0D 5078
+ 128 8352 00010000D 5079
+ 128 0 -5703 7 0 0D 5080
+ 128 8359 00010000D 5081
+ 128 0 -5703 7 0 0D 5082
+ 128 8366 00010000D 5083
+ 128 0 -5703 8 0 0D 5084
+ 128 8374 00010000D 5085
+ 128 0 -5703 7 0 0D 5086
+ 128 8381 00010000D 5087
+ 128 0 -5703 7 0 0D 5088
+ 128 8388 00010000D 5089
+ 128 0 -5703 7 0 0D 5090
+ 128 8395 00010000D 5091
+ 128 0 -5703 8 0 0D 5092
+ 128 8403 00010000D 5093
+ 128 0 -5703 7 0 0D 5094
+ 128 8410 00010000D 5095
+ 128 0 -5703 7 0 0D 5096
+ 128 8417 00010000D 5097
+ 128 0 -5703 7 0 0D 5098
+ 128 8424 00010000D 5099
+ 128 0 -5703 8 0 0D 5100
+ 128 8432 00010000D 5101
+ 128 0 -5703 7 0 0D 5102
+ 128 8439 00010000D 5103
+ 128 0 -5703 7 0 0D 5104
+ 128 8446 00010000D 5105
+ 128 0 -5703 7 0 0D 5106
+ 128 8453 00010000D 5107
+ 128 0 -5703 8 0 0D 5108
+ 128 8461 00010000D 5109
+ 128 0 -5703 7 0 0D 5110
+ 128 8468 00010000D 5111
+ 128 0 -5703 7 0 0D 5112
+ 128 8475 00010000D 5113
+ 128 0 -5703 7 0 0D 5114
+ 128 8482 00010000D 5115
+ 128 0 -5703 8 0 0D 5116
+ 128 8490 00010000D 5117
+ 128 0 -5703 7 0 0D 5118
+ 128 8497 00010000D 5119
+ 128 0 -5703 7 0 0D 5120
+ 128 8504 00010000D 5121
+ 128 0 -5703 7 0 0D 5122
+ 128 8511 00010000D 5123
+ 128 0 -5703 8 0 0D 5124
+ 128 8519 00010000D 5125
+ 128 0 -5703 7 0 0D 5126
+ 128 8526 00010000D 5127
+ 128 0 -5703 7 0 0D 5128
+ 128 8533 00010000D 5129
+ 128 0 -5703 7 0 0D 5130
+ 128 8540 00010000D 5131
+ 128 0 -5703 8 0 0D 5132
+ 128 8548 00010000D 5133
+ 128 0 -5703 6 0 0D 5134
+ 128 8554 00010000D 5135
+ 128 0 -5703 7 0 0D 5136
+ 128 8561 00010000D 5137
+ 128 0 -5703 6 0 0D 5138
+ 128 8567 00010000D 5139
+ 128 0 -5703 8 0 0D 5140
+ 128 8575 00010000D 5141
+ 128 0 -5703 7 0 0D 5142
+ 128 8582 00010000D 5143
+ 128 0 -5703 7 0 0D 5144
+ 128 8589 00010000D 5145
+ 128 0 -5703 6 0 0D 5146
+ 128 8595 00010000D 5147
+ 128 0 -5703 8 0 0D 5148
+ 128 8603 00010000D 5149
+ 128 0 -5703 7 0 0D 5150
+ 128 8610 00010000D 5151
+ 128 0 -5703 6 0 0D 5152
+ 128 8616 00010000D 5153
+ 128 0 -5703 6 0 0D 5154
+ 128 8622 00010000D 5155
+ 128 0 -5703 8 0 0D 5156
+ 128 8630 00010000D 5157
+ 128 0 -5703 6 0 0D 5158
+ 128 8636 00010000D 5159
+ 128 0 -5703 6 0 0D 5160
+ 128 8642 00010000D 5161
+ 128 0 -5703 6 0 0D 5162
+ 128 8648 00010000D 5163
+ 128 0 -5703 8 0 0D 5164
+ 128 8656 00010000D 5165
+ 128 0 -5703 6 0 0D 5166
+ 128 8662 00010000D 5167
+ 128 0 -5703 6 0 0D 5168
+ 128 8668 00010000D 5169
+ 128 0 -5703 6 0 0D 5170
+ 128 8674 00010000D 5171
+ 128 0 -5703 8 0 0D 5172
+ 128 8682 00010000D 5173
+ 128 0 -5703 6 0 0D 5174
+ 128 8688 00010000D 5175
+ 128 0 -5703 6 0 0D 5176
+ 128 8694 00010000D 5177
+ 128 0 -5703 6 0 0D 5178
+ 128 8700 00010000D 5179
+ 128 0 -5703 8 0 0D 5180
+ 128 8708 00010000D 5181
+ 128 0 -5703 6 0 0D 5182
+ 128 8714 00010000D 5183
+ 128 0 -5703 6 0 0D 5184
+ 128 8720 00010000D 5185
+ 128 0 -5703 6 0 0D 5186
+ 128 8726 00010000D 5187
+ 128 0 -5703 6 0 0D 5188
+ 128 8732 00010000D 5189
+ 128 0 -5703 6 0 0D 5190
+ 128 8738 00010000D 5191
+ 128 0 -5703 8 0 0D 5192
+ 128 8746 00010000D 5193
+ 128 0 -5703 6 0 0D 5194
+ 128 8752 00010000D 5195
+ 128 0 -5703 6 0 0D 5196
+ 128 8758 00010000D 5197
+ 128 0 -5703 6 0 0D 5198
+ 128 8764 00010000D 5199
+ 128 0 -5703 7 0 0D 5200
+ 128 8771 00010000D 5201
+ 128 0 -5703 6 0 0D 5202
+ 128 8777 00010000D 5203
+ 128 0 -5703 7 0 0D 5204
+ 128 8784 00010000D 5205
+ 128 0 -5703 6 0 0D 5206
+ 128 8790 00010000D 5207
+ 128 0 -5703 6 0 0D 5208
+ 128 8796 00010000D 5209
+ 128 0 -5703 6 0 0D 5210
+ 128 8802 00010000D 5211
+ 128 0 -5703 8 0 0D 5212
+ 128 8810 00010000D 5213
+ 128 0 -5703 7 0 0D 5214
+ 128 8817 00010000D 5215
+ 128 0 -5703 7 0 0D 5216
+ 128 8824 00010000D 5217
+ 128 0 -5703 7 0 0D 5218
+ 128 8831 00010000D 5219
+ 128 0 -5703 8 0 0D 5220
+ 128 8839 00010000D 5221
+ 128 0 -5703 7 0 0D 5222
+ 128 8846 00010000D 5223
+ 128 0 -5703 7 0 0D 5224
+ 128 8853 00010000D 5225
+ 128 0 -5703 7 0 0D 5226
+ 128 8860 00010000D 5227
+ 128 0 -5703 8 0 0D 5228
+ 128 8868 00010000D 5229
+ 128 0 -5703 7 0 0D 5230
+ 128 8875 00010000D 5231
+ 128 0 -5703 7 0 0D 5232
+ 128 8882 00010000D 5233
+ 128 0 -5703 7 0 0D 5234
+ 128 8889 00010000D 5235
+ 128 0 -5703 8 0 0D 5236
+ 128 8897 00010000D 5237
+ 128 0 -5703 7 0 0D 5238
+ 128 8904 00010000D 5239
+ 128 0 -5703 7 0 0D 5240
+ 128 8911 00010000D 5241
+ 128 0 -5703 7 0 0D 5242
+ 128 8918 00010000D 5243
+ 128 0 -5703 8 0 0D 5244
+ 128 8926 00010000D 5245
+ 128 0 -5703 7 0 0D 5246
+ 128 8933 00010000D 5247
+ 128 0 -5703 7 0 0D 5248
+ 128 8940 00010000D 5249
+ 128 0 -5703 7 0 0D 5250
+ 128 8947 00010000D 5251
+ 128 0 -5703 8 0 0D 5252
+ 128 8955 00010000D 5253
+ 128 0 -5703 7 0 0D 5254
+ 128 8962 00010000D 5255
+ 128 0 -5703 7 0 0D 5256
+ 128 8969 00010000D 5257
+ 128 0 -5703 7 0 0D 5258
+ 128 8976 00010000D 5259
+ 128 0 -5703 8 0 0D 5260
+ 128 8984 00010000D 5261
+ 128 0 -5703 7 0 0D 5262
+ 128 8991 00010000D 5263
+ 128 0 -5703 7 0 0D 5264
+ 128 8998 00010000D 5265
+ 128 0 -5703 7 0 0D 5266
+ 128 9005 00010000D 5267
+ 128 0 -5703 8 0 0D 5268
+ 128 9013 00010000D 5269
+ 128 0 -5703 7 0 0D 5270
+ 128 9020 00010000D 5271
+ 128 0 -5703 7 0 0D 5272
+ 128 9027 00010000D 5273
+ 128 0 -5703 7 0 0D 5274
+ 128 9034 00010000D 5275
+ 128 0 -5703 8 0 0D 5276
+ 128 9042 00010000D 5277
+ 128 0 -5703 6 0 0D 5278
+ 128 9048 00010000D 5279
+ 128 0 -5703 7 0 0D 5280
+ 128 9055 00010000D 5281
+ 128 0 -5703 6 0 0D 5282
+ 128 9061 00010000D 5283
+ 128 0 -5703 8 0 0D 5284
+ 128 9069 00010000D 5285
+ 128 0 -5703 6 0 0D 5286
+ 128 9075 00010000D 5287
+ 128 0 -5703 7 0 0D 5288
+ 128 9082 00010000D 5289
+ 128 0 -5703 7 0 0D 5290
+ 128 9089 00010000D 5291
+ 128 0 -5703 8 0 0D 5292
+ 128 9097 00010000D 5293
+ 128 0 -5703 7 0 0D 5294
+ 128 9104 00010000D 5295
+ 128 0 -5703 6 0 0D 5296
+ 128 9110 00010000D 5297
+ 128 0 -5703 6 0 0D 5298
+ 128 9116 00010000D 5299
+ 128 0 -5703 7 0 0D 5300
+ 128 9123 00010000D 5301
+ 128 0 -5703 6 0 0D 5302
+ 128 9129 00010000D 5303
+ 128 0 -5703 6 0 0D 5304
+ 128 9135 00010000D 5305
+ 128 0 -5703 6 0 0D 5306
+ 128 9141 00010000D 5307
+ 128 0 -5703 8 0 0D 5308
+ 128 9149 00010000D 5309
+ 128 0 -5703 6 0 0D 5310
+ 128 9155 00010000D 5311
+ 128 0 -5703 6 0 0D 5312
+ 128 9161 00010000D 5313
+ 128 0 -5703 6 0 0D 5314
+ 128 9167 00010000D 5315
+ 128 0 -5703 8 0 0D 5316
+ 128 9175 00010000D 5317
+ 128 0 -5703 6 0 0D 5318
+ 128 9181 00010000D 5319
+ 128 0 -5703 6 0 0D 5320
+ 128 9187 00010000D 5321
+ 128 0 -5703 6 0 0D 5322
+ 128 9193 00010000D 5323
+ 128 0 -5703 8 0 0D 5324
+ 128 9201 00010000D 5325
+ 128 0 -5703 6 0 0D 5326
+ 128 9207 00010000D 5327
+ 128 0 -5703 6 0 0D 5328
+ 128 9213 00010000D 5329
+ 128 0 -5703 6 0 0D 5330
+ 128 9219 00010000D 5331
+ 128 0 -5703 6 0 0D 5332
+ 128 9225 00010000D 5333
+ 128 0 -5703 6 0 0D 5334
+ 128 9231 00010000D 5335
+ 128 0 -5703 8 0 0D 5336
+ 128 9239 00010000D 5337
+ 128 0 -5703 6 0 0D 5338
+ 128 9245 00010000D 5339
+ 128 0 -5703 6 0 0D 5340
+ 128 9251 00010000D 5341
+ 128 0 -5703 6 0 0D 5342
+ 128 9257 00010000D 5343
+ 128 0 -5703 7 0 0D 5344
+ 128 9264 00010000D 5345
+ 128 0 -5703 6 0 0D 5346
+ 128 9270 00010000D 5347
+ 128 0 -5703 8 0 0D 5348
+ 128 9278 00010000D 5349
+ 128 0 -5703 6 0 0D 5350
+ 128 9284 00010000D 5351
+ 128 0 -5703 6 0 0D 5352
+ 128 9290 00010000D 5353
+ 128 0 -5703 6 0 0D 5354
+ 128 9296 00010000D 5355
+ 128 0 -5703 11 0 0D 5356
+ 128 9307 00010000D 5357
+ 128 0 -5703 7 0 0D 5358
+ 128 9314 00010000D 5359
+ 128 0 -5703 11 0 0D 5360
+ 128 9325 00010000D 5361
+ 128 0 -5703 6 0 0D 5362
+ 128 9331 00010000D 5363
+ 128 0 -5703 11 0 0D 5364
+ 128 9342 00010000D 5365
+ 128 0 -5703 7 0 0D 5366
+ 128 9349 00010000D 5367
+ 128 0 -5703 18 0 0D 5368
+ 128 9367 00010000D 5369
+ 128 0 -5703 7 0 0D 5370
+ 128 9374 00010000D 5371
+ 128 0 -5703 7 0 0D 5372
+ 128 9381 00010000D 5373
+ 128 0 -5703 8 0 0D 5374
+ 128 9389 00010000D 5375
+ 128 0 -5703 8 0 0D 5376
+ 128 9397 00010000D 5377
+ 128 0 -5705 7 0 0D 5378
+ 128 9404 00010000D 5379
+ 128 0 -5705 9 0 0D 5380
+ 128 9413 00010000D 5381
+ 128 0 -5705 7 0 0D 5382
+ 128 9420 00010000D 5383
+ 128 0 -5705 8 0 0D 5384
+ 128 9428 00010000D 5385
+ 128 0 -5705 7 0 0D 5386
+ 128 9435 00010000D 5387
+ 128 0 -5705 7 0 0D 5388
+ 128 9442 00010000D 5389
+ 128 0 -5705 8 0 0D 5390
+ 128 9450 00010000D 5391
+ 128 0 -5705 20 0 0D 5392
+ 128 9470 00010000D 5393
+ 128 0 -5705 20 0 0D 5394
+ 128 9490 00010000D 5395
+ 128 0 -5705 20 0 0D 5396
+ 128 9510 00010000D 5397
+ 128 0 -5705 20 0 0D 5398
+ 128 9530 00010000D 5399
+ 128 0 -5705 12 0 0D 5400
+ 128 9542 00010000D 5401
+ 128 0 -5705 7 0 0D 5402
+ 128 9549 00010000D 5403
+ 128 0 -5705 8 0 0D 5404
+ 128 9557 00010000D 5405
+ 128 0 -5705 9 0 0D 5406
+ 128 9566 00010000D 5407
+ 128 0 -5705 9 0 0D 5408
+ 128 9575 00010000D 5409
+ 128 0 -5705 9 0 0D 5410
+ 128 9584 00010000D 5411
+ 128 0 -5705 7 0 0D 5412
+ 128 9591 00010000D 5413
+ 128 0 -5705 8 0 0D 5414
+ 128 9599 00010000D 5415
+ 128 0 -5705 9 0 0D 5416
+ 128 9608 00010000D 5417
+ 128 0 -5705 9 0 0D 5418
+ 128 9617 00010000D 5419
+ 128 0 -5705 20 0 0D 5420
+ 128 9637 00010000D 5421
+ 128 0 -5705 20 0 0D 5422
+ 128 9657 00010000D 5423
+ 128 0 -5705 23 0 0D 5424
+ 128 9680 00010000D 5425
+ 128 0 -5705 23 0 0D 5426
+ 128 9703 00010000D 5427
+ 128 0 -5705 20 0 0D 5428
+ 128 9723 00010000D 5429
+ 128 0 -5705 20 0 0D 5430
+ 128 9743 00010000D 5431
+ 128 0 -5705 23 0 0D 5432
+ 128 9766 00010000D 5433
+ 128 0 -5705 23 0 0D 5434
+ 128 9789 00010000D 5435
+ 128 0 -5705 7 0 0D 5436
+ 128 9796 00010000D 5437
+ 128 0 -5705 7 0 0D 5438
+ 128 9803 00010000D 5439
+ 128 0 -5705 9 0 0D 5440
+ 128 9812 00010000D 5441
+ 128 0 -5705 8 0 0D 5442
+ 128 9820 00010000D 5443
+ 128 0 -5705 7 0 0D 5444
+ 128 9827 00010000D 5445
+ 128 0 -5705 8 0 0D 5446
+ 128 9835 00010000D 5447
+ 128 0 -5705 8 0 0D 5448
+ 128 9843 00010000D 5449
+ 128 0 -5705 9 0 0D 5450
+ 128 9852 00010000D 5451
+ 128 0 -5705 6 0 0D 5452
+ 128 9858 00010000D 5453
+ 128 0 -5705 7 0 0D 5454
+ 128 9865 00010000D 5455
+ 128 0 -5705 7 0 0D 5456
+ 128 9872 00010000D 5457
+ 128 0 -5705 9 0 0D 5458
+ 128 9881 00010000D 5459
+ 128 0 -5705 7 0 0D 5460
+ 128 9888 00010000D 5461
+ 128 0 -5705 8 0 0D 5462
+ 128 9896 00010000D 5463
+ 128 0 -5705 7 0 0D 5464
+ 128 9903 00010000D 5465
+ 128 0 -5705 8 0 0D 5466
+ 128 9911 00010000D 5467
+ 128 0 -5705 7 0 0D 5468
+ 128 9918 00010000D 5469
+ 128 0 -5705 8 0 0D 5470
+ 128 9926 00010000D 5471
+ 128 0 -5705 7 0 0D 5472
+ 128 9933 00010000D 5473
+ 128 0 -5705 7 0 0D 5474
+ 128 9940 00010000D 5475
+ 128 0 -5705 23 0 0D 5476
+ 128 9963 00010000D 5477
+ 128 0 -5705 8 0 0D 5478
+ 128 9971 00010000D 5479
+ 128 0 -5705 23 0 0D 5480
+ 128 9994 00010000D 5481
+ 128 0 -5705 7 0 0D 5482
+ 128 10001 00010000D 5483
+ 128 0 -5705 23 0 0D 5484
+ 128 10024 00010000D 5485
+ 128 0 -5705 18 0 0D 5486
+ 128 10042 00010000D 5487
+ 128 0 -5705 9 0 0D 5488
+ 128 10051 00010000D 5489
+ 128 0 -5705 6 0 0D 5490
+ 128 10057 00010000D 5491
+ 128 0 -5705 6 0 0D 5492
+ 128 10063 00010000D 5493
+ 128 0 -5705 15 0 0D 5494
+ 128 10078 00010000D 5495
+ 128 0 -5705 7 0 0D 5496
+ 128 10085 00010000D 5497
+ 128 0 -5705 12 0 0D 5498
+ 128 10097 00010000D 5499
+ 128 0 -5705 7 0 0D 5500
+ 128 10104 00010000D 5501
+ 128 0 -5705 13 0 0D 5502
+ 128 10117 00010000D 5503
+ 128 0 -5705 8 0 0D 5504
+ 128 10125 00010000D 5505
+ 128 0 -5705 12 0 0D 5506
+ 128 10137 00010000D 5507
+ 128 0 -5705 8 0 0D 5508
+ 128 10145 00010000D 5509
+ 128 0 -5705 6 0 0D 5510
+ 128 10151 00010000D 5511
+ 128 0 -5705 7 0 0D 5512
+ 128 10158 00010000D 5513
+ 128 0 -5705 6 0 0D 5514
+ 128 10164 00010000D 5515
+ 128 0 -5705 7 0 0D 5516
+ 128 10171 00010000D 5517
+ 128 0 -5705 6 0 0D 5518
+ 128 10177 00010000D 5519
+ 128 0 -5705 6 0 0D 5520
+ 128 10183 00010000D 5521
+ 128 0 -5705 6 0 0D 5522
+ 128 10189 00010000D 5523
+ 128 0 -5705 8 0 0D 5524
+ 128 10197 00010000D 5525
+ 128 0 -5705 5 0 0D 5526
+ 128 10202 00010000D 5527
+ 128 0 -5705 11 0 0D 5528
+ 128 10213 00010000D 5529
+ 128 0 -5705 11 0 0D 5530
+ 128 10224 00010000D 5531
+ 128 0 -5705 11 0 0D 5532
+ 128 10235 00010000D 5533
+ 128 0 -5705 11 0 0D 5534
+ 128 10246 00010000D 5535
+ 128 0 -5705 11 0 0D 5536
+ 128 10257 00010000D 5537
+ 128 0 -5705 11 0 0D 5538
+ 128 10268 00010000D 5539
+ 128 0 -5705 5 0 0D 5540
+ 128 10273 00010000D 5541
+ 128 0 -5705 5 0 0D 5542
+ 128 10278 00010000D 5543
+ 128 0 -5705 5 0 0D 5544
+ 128 10283 00010000D 5545
+ 128 0 -5705 5 0 0D 5546
+ 128 10288 00010000D 5547
+ 128 0 -5705 11 0 0D 5548
+ 128 10299 00010000D 5549
+ 128 0 -5705 11 0 0D 5550
+ 128 10310 00010000D 5551
+ 128 0 -5705 11 0 0D 5552
+ 128 10321 00010000D 5553
+ 128 0 -5705 6 0 0D 5554
+ 128 10327 00010000D 5555
+ 128 0 -5705 5 0 0D 5556
+ 128 10332 00010000D 5557
+ 128 0 -5705 6 0 0D 5558
+ 128 10338 00010000D 5559
+ 128 0 -5705 11 0 0D 5560
+ 128 10349 00010000D 5561
+ 128 0 -5705 11 0 0D 5562
+ 128 10360 00010000D 5563
+ 128 0 -5705 11 0 0D 5564
+ 128 10371 00010000D 5565
+ 128 0 -5705 11 0 0D 5566
+ 128 10382 00010000D 5567
+ 128 0 -5705 11 0 0D 5568
+ 128 10393 00010000D 5569
+ 128 0 -5705 11 0 0D 5570
+ 128 10404 00010000D 5571
+ 128 0 -5705 11 0 0D 5572
+ 128 10415 00010000D 5573
+ 128 0 -5705 5 0 0D 5574
+ 128 10420 00010000D 5575
+ 128 0 -5705 5 0 0D 5576
+ 128 10425 00010000D 5577
+ 128 0 -5705 5 0 0D 5578
+ 128 10430 00010000D 5579
+ 128 0 -5705 6 0 0D 5580
+ 128 10436 00010000D 5581
+ 128 0 -5705 7 0 0D 5582
+ 128 10443 00010000D 5583
+ 128 0 -5705 18 0 0D 5584
+ 128 10461 00010000D 5585
+ 128 0 -5705 18 0 0D 5586
+ 128 10479 00010000D 5587
+ 128 0 -5705 18 0 0D 5588
+ 128 10497 00010000D 5589
+ 128 0 -5705 18 0 0D 5590
+ 128 10515 00010000D 5591
+ 128 0 -5705 10 0 0D 5592
+ 128 10525 00010000D 5593
+ 128 0 -5705 6 0 0D 5594
+ 128 10531 00010000D 5595
+ 128 0 -5705 6 0 0D 5596
+ 128 10537 00010000D 5597
+ 128 0 -5705 7 0 0D 5598
+ 128 10544 00010000D 5599
+ 128 0 -5705 7 0 0D 5600
+ 128 10551 00010000D 5601
+ 128 0 -5705 7 0 0D 5602
+ 128 10558 00010000D 5603
+ 128 0 -5705 6 0 0D 5604
+ 128 10564 00010000D 5605
+ 128 0 -5705 7 0 0D 5606
+ 128 10571 00010000D 5607
+ 128 0 -5705 7 0 0D 5608
+ 128 10578 00010000D 5609
+ 128 0 -5705 18 0 0D 5610
+ 128 10596 00010000D 5611
+ 128 0 -5705 18 0 0D 5612
+ 128 10614 00010000D 5613
+ 128 0 -5705 18 0 0D 5614
+ 128 10632 00010000D 5615
+ 128 0 -5705 18 0 0D 5616
+ 128 10650 00010000D 5617
+ 128 0 -5705 18 0 0D 5618
+ 128 10668 00010000D 5619
+ 128 0 -5705 18 0 0D 5620
+ 128 10686 00010000D 5621
+ 128 0 -5705 18 0 0D 5622
+ 128 10704 00010000D 5623
+ 128 0 -5705 18 0 0D 5624
+ 128 10722 00010000D 5625
+ 128 0 -5705 6 0 0D 5626
+ 128 10728 00010000D 5627
+ 128 0 -5705 6 0 0D 5628
+ 128 10734 00010000D 5629
+ 128 0 -5705 7 0 0D 5630
+ 128 10741 00010000D 5631
+ 128 0 -5705 6 0 0D 5632
+ 128 10747 00010000D 5633
+ 128 0 -5705 6 0 0D 5634
+ 128 10753 00010000D 5635
+ 128 0 -5705 7 0 0D 5636
+ 128 10760 00010000D 5637
+ 128 0 -5705 6 0 0D 5638
+ 128 10766 00010000D 5639
+ 128 0 -5705 6 0 0D 5640
+ 128 10772 00010000D 5641
+ 128 0 -5705 6 0 0D 5642
+ 128 10778 00010000D 5643
+ 128 0 -5705 6 0 0D 5644
+ 128 10784 00010000D 5645
+ 128 0 -5705 6 0 0D 5646
+ 128 10790 00010000D 5647
+ 128 0 -5705 6 0 0D 5648
+ 128 10796 00010000D 5649
+ 128 0 -5705 6 0 0D 5650
+ 128 10802 00010000D 5651
+ 128 0 -5705 6 0 0D 5652
+ 128 10808 00010000D 5653
+ 128 0 -5705 6 0 0D 5654
+ 128 10814 00010000D 5655
+ 128 0 -5705 17 0 0D 5656
+ 128 10831 00010000D 5657
+ 128 0 -5705 6 0 0D 5658
+ 128 10837 00010000D 5659
+ 128 0 -5705 17 0 0D 5660
+ 128 10854 00010000D 5661
+ 128 0 -5705 6 0 0D 5662
+ 128 10860 00010000D 5663
+ 128 0 -5705 17 0 0D 5664
+ 128 10877 00010000D 5665
+ 128 0 -5705 13 0 0D 5666
+ 128 10890 00010000D 5667
+ 128 0 -5705 7 0 0D 5668
+ 128 10897 00010000D 5669
+ 128 0 -5705 6 0 0D 5670
+ 128 10903 00010000D 5671
+ 128 0 -5705 6 0 0D 5672
+ 128 10909 00010000D 5673
+ 128 0 -5705 13 0 0D 5674
+ 128 10922 00010000D 5675
+ 128 0 -5705 6 0 0D 5676
+ 128 10928 00010000D 5677
+ 128 0 -5705 9 0 0D 5678
+ 128 10937 00010000D 5679
+ 128 0 -5705 6 0 0D 5680
+ 128 10943 00010000D 5681
+ 128 0 -5705 9 0 0D 5682
+ 128 10952 00010000D 5683
+ 128 0 -5705 9 0 0D 5684
+ 502 10961 00010000D 5685
+ 502 514 1 0D 5686
+ 502 11475 00010000D 5687
+ 502 125 1 0D 5688
+ 502 11600 00010000D 5689
+ 502 115 1 0D 5690
+ 504 11715 00010001D 5691
+ 504 337 1 0D 5692
+ 504 12052 00010001D 5693
+ 504 67 1 0D 5694
+ 504 12119 00010001D 5695
+ 504 91 1 0D 5696
+ 406 12210 00000000D 5697
+ 406 1 15 0D 5698
+ 406 12211 00000000D 5699
+ 406 1 15 0D 5700
+ 406 12212 00000000D 5701
+ 406 1 15 0D 5702
+ 314 12213 00000200D 5703
+ 314 2 0 0D 5704
+ 314 12215 00000200D 5705
+ 314 2 0 0D 5706
+ 314 12217 00000200D 5707
+ 314 2 0 0D 5708
+186,7,1,0,0,1,5697; 1P 1
+186,9,1,0,0,1,5699; 3P 2
+186,11,1,0,0,1,5701; 5P 3
+514,307,13,1,15,1,17,1,19,1,21,1,23,1,25,1,27,1,29,1,31,1,33,1, 7P 4
+35,1,37,1,39,1,41,1,43,1,45,1,47,1,49,1,51,1,53,1,55,1,57,1,59, 7P 5
+1,61,1,63,1,65,1,67,1,69,1,71,1,73,1,75,1,77,1,79,1,81,1,83,1, 7P 6
+85,1,87,1,89,1,91,1,93,1,95,1,97,1,99,1,101,1,103,1,105,1,107,1, 7P 7
+109,1,111,1,113,1,115,1,117,1,119,1,121,1,123,1,125,1,127,1,129, 7P 8
+1,131,1,133,1,135,1,137,1,139,1,141,1,143,1,145,1,147,1,149,1, 7P 9
+151,1,153,1,155,1,157,1,159,1,161,1,163,1,165,1,167,1,169,1,171, 7P 10
+1,173,1,175,1,177,1,179,1,181,1,183,1,185,1,187,1,189,1,191,1, 7P 11
+193,1,195,1,197,1,199,1,201,1,203,1,205,1,207,1,209,1,211,1,213, 7P 12
+1,215,1,217,1,219,1,221,1,223,1,225,1,227,1,229,1,231,1,233,1, 7P 13
+235,1,237,1,239,1,241,1,243,1,245,1,247,1,249,1,251,1,253,1,255, 7P 14
+1,257,1,259,1,261,1,263,1,265,1,267,1,269,1,271,1,273,1,275,1, 7P 15
+277,1,279,1,281,1,283,1,285,1,287,1,289,1,291,1,293,1,295,1,297, 7P 16
+1,299,1,301,1,303,1,305,1,307,1,309,1,311,1,313,1,315,1,317,1, 7P 17
+319,1,321,1,323,1,325,1,327,1,329,1,331,1,333,1,335,1,337,1,339, 7P 18
+1,341,1,343,1,345,1,347,1,349,1,351,1,353,1,355,1,357,1,359,1, 7P 19
+361,1,363,1,365,1,367,1,369,1,371,1,373,1,375,1,377,1,379,1,381, 7P 20
+1,383,1,385,1,387,1,389,1,391,1,393,1,395,1,397,1,399,1,401,1, 7P 21
+403,1,405,1,407,1,409,1,411,1,413,1,415,1,417,1,419,1,421,1,423, 7P 22
+1,425,1,427,1,429,1,431,1,433,1,435,1,437,1,439,1,441,1,443,1, 7P 23
+445,1,447,1,449,1,451,1,453,1,455,1,457,1,459,1,461,1,463,1,465, 7P 24
+1,467,1,469,1,471,1,473,1,475,1,477,1,479,1,481,1,483,1,485,1, 7P 25
+487,1,489,1,491,1,493,1,495,1,497,1,499,1,501,1,503,1,505,1,507, 7P 26
+1,509,1,511,1,513,1,515,1,517,1,519,1,521,1,523,1,525,1,527,1, 7P 27
+529,1,531,1,533,1,535,1,537,1,539,1,541,1,543,1,545,1,547,1,549, 7P 28
+1,551,1,553,1,555,1,557,1,559,1,561,1,563,1,565,1,567,1,569,1, 7P 29
+571,1,573,1,575,1,577,1,579,1,581,1,583,1,585,1,587,1,589,1,591, 7P 30
+1,593,1,595,1,597,1,599,1,601,1,603,1,605,1,607,1,609,1,611,1, 7P 31
+613,1,615,1,617,1,619,1,621,1,623,1,625,1; 7P 32
+514,66,627,1,629,1,631,1,633,1,635,1,637,1,639,1,641,1,643,1, 9P 33
+645,1,647,1,649,1,651,1,653,1,655,1,657,1,659,1,661,1,663,1,665, 9P 34
+1,667,1,669,1,671,1,673,1,675,1,677,1,679,1,681,1,683,1,685,1, 9P 35
+687,1,689,1,691,1,693,1,695,1,697,1,699,1,701,1,703,1,705,1,707, 9P 36
+1,709,1,711,1,713,1,715,1,717,1,719,1,721,1,723,1,725,1,727,1, 9P 37
+729,1,731,1,733,1,735,1,737,1,739,1,741,1,743,1,745,1,747,1,749, 9P 38
+1,751,1,753,1,755,1,757,1; 9P 39
+514,88,759,1,761,1,763,1,765,1,767,1,769,1,771,1,773,1,775,1, 11P 40
+777,1,779,1,781,1,783,1,785,1,787,1,789,1,791,1,793,1,795,1,797, 11P 41
+1,799,1,801,1,803,1,805,1,807,1,809,1,811,1,813,1,815,1,817,1, 11P 42
+819,1,821,1,823,1,825,1,827,1,829,1,831,1,833,1,835,1,837,1,839, 11P 43
+1,841,1,843,1,845,1,847,1,849,1,851,1,853,1,855,1,857,1,859,1, 11P 44
+861,1,863,1,865,1,867,1,869,1,871,1,873,1,875,1,877,1,879,1,881, 11P 45
+1,883,1,885,1,887,1,889,1,891,1,893,1,895,1,897,1,899,1,901,1, 11P 46
+903,1,905,1,907,1,909,1,911,1,913,1,915,1,917,1,919,1,921,1,923, 11P 47
+1,925,1,927,1,929,1,931,1,933,1; 11P 48
+510,4763,1,1,935; 13P 49
+510,4765,1,1,937; 15P 50
+510,4767,1,1,939; 17P 51
+510,4769,1,1,941; 19P 52
+510,4771,1,1,943; 21P 53
+510,4773,1,1,945; 23P 54
+510,4775,1,1,947; 25P 55
+510,4777,1,1,949; 27P 56
+510,4779,1,1,951; 29P 57
+510,4781,1,1,953; 31P 58
+510,4783,1,1,955; 33P 59
+510,4785,1,1,957; 35P 60
+510,4787,1,1,959; 37P 61
+510,4789,1,1,961; 39P 62
+510,4791,1,1,963; 41P 63
+510,4793,1,1,965; 43P 64
+510,4795,1,1,967; 45P 65
+510,4797,1,1,969; 47P 66
+510,4799,1,1,971; 49P 67
+510,4801,1,1,973; 51P 68
+510,4803,1,1,975; 53P 69
+510,4805,1,1,977; 55P 70
+510,4807,1,1,979; 57P 71
+510,4809,1,1,981; 59P 72
+510,4811,1,1,983; 61P 73
+510,4813,1,1,985; 63P 74
+510,4815,1,1,987; 65P 75
+510,4817,1,1,989; 67P 76
+510,4819,1,1,991; 69P 77
+510,4821,1,1,993; 71P 78
+510,4823,1,1,995; 73P 79
+510,4825,1,1,997; 75P 80
+510,4827,1,1,999; 77P 81
+510,4829,1,1,1001; 79P 82
+510,4831,1,1,1003; 81P 83
+510,4833,1,1,1005; 83P 84
+510,4835,1,1,1007; 85P 85
+510,4837,1,1,1009; 87P 86
+510,4839,1,1,1011; 89P 87
+510,4841,1,1,1013; 91P 88
+510,4843,1,1,1015; 93P 89
+510,4845,1,1,1017; 95P 90
+510,4847,1,1,1019; 97P 91
+510,4849,1,1,1021; 99P 92
+510,4851,1,1,1023; 101P 93
+510,4853,1,1,1025; 103P 94
+510,4855,1,1,1027; 105P 95
+510,4857,1,1,1029; 107P 96
+510,4859,1,1,1031; 109P 97
+510,4861,1,1,1033; 111P 98
+510,4863,1,1,1035; 113P 99
+510,4865,1,1,1037; 115P 100
+510,4867,1,1,1039; 117P 101
+510,4869,1,1,1041; 119P 102
+510,4871,1,1,1043; 121P 103
+510,4873,1,1,1045; 123P 104
+510,4875,1,1,1047; 125P 105
+510,4877,1,1,1049; 127P 106
+510,4879,1,1,1051; 129P 107
+510,4881,1,1,1053; 131P 108
+510,4883,1,1,1055; 133P 109
+510,4885,1,1,1057; 135P 110
+510,4887,1,1,1059; 137P 111
+510,4889,1,1,1061; 139P 112
+510,4891,1,1,1063; 141P 113
+510,4893,1,1,1065; 143P 114
+510,4895,1,1,1067; 145P 115
+510,4897,1,1,1069; 147P 116
+510,4899,1,1,1071; 149P 117
+510,4901,1,1,1073; 151P 118
+510,4903,1,1,1075; 153P 119
+510,4905,1,1,1077; 155P 120
+510,4907,1,1,1079; 157P 121
+510,4909,1,1,1081; 159P 122
+510,4911,1,1,1083; 161P 123
+510,4913,1,1,1085; 163P 124
+510,4915,1,1,1087; 165P 125
+510,4917,1,1,1089; 167P 126
+510,4919,1,1,1091; 169P 127
+510,4921,1,1,1093; 171P 128
+510,4923,1,1,1095; 173P 129
+510,4925,1,1,1097; 175P 130
+510,4927,1,1,1099; 177P 131
+510,4929,1,1,1101; 179P 132
+510,4931,1,1,1103; 181P 133
+510,4933,1,1,1105; 183P 134
+510,4935,1,1,1107; 185P 135
+510,4937,1,1,1109; 187P 136
+510,4939,1,1,1111; 189P 137
+510,4941,1,1,1113; 191P 138
+510,4943,1,1,1115; 193P 139
+510,4945,1,1,1117; 195P 140
+510,4947,1,1,1119; 197P 141
+510,4949,1,1,1121; 199P 142
+510,4951,1,1,1123; 201P 143
+510,4953,1,1,1125; 203P 144
+510,4955,1,1,1127; 205P 145
+510,4957,1,1,1129; 207P 146
+510,4959,1,1,1131; 209P 147
+510,4961,1,1,1133; 211P 148
+510,4963,1,1,1135; 213P 149
+510,4965,1,1,1137; 215P 150
+510,4967,1,1,1139; 217P 151
+510,4969,1,1,1141; 219P 152
+510,4971,1,1,1143; 221P 153
+510,4973,1,1,1145; 223P 154
+510,4975,1,1,1147; 225P 155
+510,4977,1,1,1149; 227P 156
+510,4979,1,1,1151; 229P 157
+510,4981,1,1,1153; 231P 158
+510,4983,1,1,1155; 233P 159
+510,4985,1,1,1157; 235P 160
+510,4987,1,1,1159; 237P 161
+510,4989,1,1,1161; 239P 162
+510,4991,1,1,1163; 241P 163
+510,4993,1,1,1165; 243P 164
+510,4995,1,1,1167; 245P 165
+510,4997,1,1,1169; 247P 166
+510,4999,1,1,1171; 249P 167
+510,5001,1,1,1173; 251P 168
+510,5003,1,1,1175; 253P 169
+510,5005,1,1,1177; 255P 170
+510,5007,1,1,1179; 257P 171
+510,5009,1,1,1181; 259P 172
+510,5011,1,1,1183; 261P 173
+510,5013,1,1,1185; 263P 174
+510,5015,1,1,1187; 265P 175
+510,5017,1,1,1189; 267P 176
+510,5019,1,1,1191; 269P 177
+510,5021,1,1,1193; 271P 178
+510,5023,1,1,1195; 273P 179
+510,5025,1,1,1197; 275P 180
+510,5027,1,1,1199; 277P 181
+510,5029,1,1,1201; 279P 182
+510,5031,1,1,1203; 281P 183
+510,5033,1,1,1205; 283P 184
+510,5035,1,1,1207; 285P 185
+510,5037,1,1,1209; 287P 186
+510,5039,1,1,1211; 289P 187
+510,5041,1,1,1213; 291P 188
+510,5043,1,1,1215; 293P 189
+510,5045,1,1,1217; 295P 190
+510,5047,1,1,1219; 297P 191
+510,5049,1,1,1221; 299P 192
+510,5051,1,1,1223; 301P 193
+510,5053,1,1,1225; 303P 194
+510,5055,1,1,1227; 305P 195
+510,5057,1,1,1229; 307P 196
+510,5059,1,1,1231; 309P 197
+510,5061,1,1,1233; 311P 198
+510,5063,1,1,1235; 313P 199
+510,5065,1,1,1237; 315P 200
+510,5067,1,1,1239; 317P 201
+510,5069,1,1,1241; 319P 202
+510,5071,1,1,1243; 321P 203
+510,5073,1,1,1245; 323P 204
+510,5075,1,1,1247; 325P 205
+510,5077,1,1,1249; 327P 206
+510,5079,1,1,1251; 329P 207
+510,5081,1,1,1253; 331P 208
+510,5083,1,1,1255; 333P 209
+510,5085,1,1,1257; 335P 210
+510,5087,1,1,1259; 337P 211
+510,5089,1,1,1261; 339P 212
+510,5091,1,1,1263; 341P 213
+510,5093,1,1,1265; 343P 214
+510,5095,1,1,1267; 345P 215
+510,5097,1,1,1269; 347P 216
+510,5099,1,1,1271; 349P 217
+510,5101,1,1,1273; 351P 218
+510,5103,1,1,1275; 353P 219
+510,5105,1,1,1277; 355P 220
+510,5107,1,1,1279; 357P 221
+510,5109,1,1,1281; 359P 222
+510,5111,1,1,1283; 361P 223
+510,5113,1,1,1285; 363P 224
+510,5115,1,1,1287; 365P 225
+510,5117,1,1,1289; 367P 226
+510,5119,1,1,1291; 369P 227
+510,5121,1,1,1293; 371P 228
+510,5123,1,1,1295; 373P 229
+510,5125,1,1,1297; 375P 230
+510,5127,1,1,1299; 377P 231
+510,5129,1,1,1301; 379P 232
+510,5131,1,1,1303; 381P 233
+510,5133,1,1,1305; 383P 234
+510,5135,1,1,1307; 385P 235
+510,5137,1,1,1309; 387P 236
+510,5139,1,1,1311; 389P 237
+510,5141,1,1,1313; 391P 238
+510,5143,1,1,1315; 393P 239
+510,5145,1,1,1317; 395P 240
+510,5147,1,1,1319; 397P 241
+510,5149,1,1,1321; 399P 242
+510,5151,1,1,1323; 401P 243
+510,5153,1,1,1325; 403P 244
+510,5155,1,1,1327; 405P 245
+510,5157,1,1,1329; 407P 246
+510,5159,1,1,1331; 409P 247
+510,5161,1,1,1333; 411P 248
+510,5163,1,1,1335; 413P 249
+510,5165,1,1,1337; 415P 250
+510,5167,1,1,1339; 417P 251
+510,5169,1,1,1341; 419P 252
+510,5171,1,1,1343; 421P 253
+510,5173,1,1,1345; 423P 254
+510,5175,1,1,1347; 425P 255
+510,5177,1,1,1349; 427P 256
+510,5179,1,1,1351; 429P 257
+510,5181,1,1,1353; 431P 258
+510,5183,1,1,1355; 433P 259
+510,5185,1,1,1357; 435P 260
+510,5187,1,1,1359; 437P 261
+510,5189,1,1,1361; 439P 262
+510,5191,1,1,1363; 441P 263
+510,5193,1,1,1365; 443P 264
+510,5195,1,1,1367; 445P 265
+510,5197,1,1,1369; 447P 266
+510,5199,1,1,1371; 449P 267
+510,5201,1,1,1373; 451P 268
+510,5203,1,1,1375; 453P 269
+510,5205,1,1,1377; 455P 270
+510,5207,1,1,1379; 457P 271
+510,5209,1,1,1381; 459P 272
+510,5211,1,1,1383; 461P 273
+510,5213,1,1,1385; 463P 274
+510,5215,1,1,1387; 465P 275
+510,5217,1,1,1389; 467P 276
+510,5219,1,1,1391; 469P 277
+510,5221,1,1,1393; 471P 278
+510,5223,1,1,1395; 473P 279
+510,5225,1,1,1397; 475P 280
+510,5227,1,1,1399; 477P 281
+510,5229,1,1,1401; 479P 282
+510,5231,1,1,1403; 481P 283
+510,5233,1,1,1405; 483P 284
+510,5235,1,1,1407; 485P 285
+510,5237,1,1,1409; 487P 286
+510,5239,1,1,1411; 489P 287
+510,5241,1,1,1413; 491P 288
+510,5243,1,1,1415; 493P 289
+510,5245,1,1,1417; 495P 290
+510,5247,1,1,1419; 497P 291
+510,5249,1,1,1421; 499P 292
+510,5251,1,1,1423; 501P 293
+510,5253,1,1,1425; 503P 294
+510,5255,1,1,1427; 505P 295
+510,5257,1,1,1429; 507P 296
+510,5259,1,1,1431; 509P 297
+510,5261,1,1,1433; 511P 298
+510,5263,1,1,1435; 513P 299
+510,5265,1,1,1437; 515P 300
+510,5267,1,1,1439; 517P 301
+510,5269,1,1,1441; 519P 302
+510,5271,1,1,1443; 521P 303
+510,5273,1,1,1445; 523P 304
+510,5275,1,1,1447; 525P 305
+510,5277,1,1,1449; 527P 306
+510,5279,1,1,1451; 529P 307
+510,5281,1,1,1453; 531P 308
+510,5283,1,1,1455; 533P 309
+510,5285,1,1,1457; 535P 310
+510,5287,1,1,1459; 537P 311
+510,5289,1,1,1461; 539P 312
+510,5291,1,1,1463; 541P 313
+510,5293,1,1,1465; 543P 314
+510,5295,1,1,1467; 545P 315
+510,5297,1,1,1469; 547P 316
+510,5299,1,1,1471; 549P 317
+510,5301,1,1,1473; 551P 318
+510,5303,1,1,1475; 553P 319
+510,5305,1,1,1477; 555P 320
+510,5307,1,1,1479; 557P 321
+510,5309,1,1,1481; 559P 322
+510,5311,1,1,1483; 561P 323
+510,5313,1,1,1485; 563P 324
+510,5315,1,1,1487; 565P 325
+510,5317,1,1,1489; 567P 326
+510,5319,1,1,1491; 569P 327
+510,5321,1,1,1493; 571P 328
+510,5323,1,1,1495; 573P 329
+510,5325,1,1,1497; 575P 330
+510,5327,1,1,1499; 577P 331
+510,5329,1,1,1501; 579P 332
+510,5331,1,1,1503; 581P 333
+510,5333,1,1,1505; 583P 334
+510,5335,1,1,1507; 585P 335
+510,5337,1,1,1509; 587P 336
+510,5339,1,1,1511; 589P 337
+510,5341,1,1,1513; 591P 338
+510,5343,1,1,1515; 593P 339
+510,5345,1,1,1517; 595P 340
+510,5347,1,1,1519; 597P 341
+510,5349,1,1,1521; 599P 342
+510,5351,1,1,1523; 601P 343
+510,5353,1,1,1525; 603P 344
+510,5355,1,1,1527; 605P 345
+510,5357,1,1,1529; 607P 346
+510,5359,1,1,1531; 609P 347
+510,5361,1,1,1533; 611P 348
+510,5363,1,1,1535; 613P 349
+510,5365,1,1,1537; 615P 350
+510,5367,1,1,1539; 617P 351
+510,5369,1,1,1541; 619P 352
+510,5371,1,1,1543; 621P 353
+510,5373,29,1,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563, 623P 354
+1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587, 623P 355
+1589,1591,1593,1595,1597,1599,1601; 623P 356
+510,5375,29,1,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621, 625P 357
+1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645, 625P 358
+1647,1649,1651,1653,1655,1657,1659; 625P 359
+510,5377,1,1,1661; 627P 360
+510,5379,1,1,1663; 629P 361
+510,5381,1,1,1665; 631P 362
+510,5383,1,1,1667; 633P 363
+510,5385,1,1,1669; 635P 364
+510,5387,1,1,1671; 637P 365
+510,5389,1,1,1673; 639P 366
+510,5391,1,1,1675; 641P 367
+510,5393,1,1,1677; 643P 368
+510,5395,1,1,1679; 645P 369
+510,5397,1,1,1681; 647P 370
+510,5399,1,1,1683; 649P 371
+510,5401,1,1,1685; 651P 372
+510,5403,1,1,1687; 653P 373
+510,5405,1,1,1689; 655P 374
+510,5407,1,1,1691; 657P 375
+510,5409,1,1,1693; 659P 376
+510,5411,1,1,1695; 661P 377
+510,5413,1,1,1697; 663P 378
+510,5415,1,1,1699; 665P 379
+510,5417,1,1,1701; 667P 380
+510,5419,1,1,1703; 669P 381
+510,5421,1,1,1705; 671P 382
+510,5423,1,1,1707; 673P 383
+510,5425,1,1,1709; 675P 384
+510,5427,1,1,1711; 677P 385
+510,5429,1,1,1713; 679P 386
+510,5431,1,1,1715; 681P 387
+510,5433,1,1,1717; 683P 388
+510,5435,1,1,1719; 685P 389
+510,5437,1,1,1721; 687P 390
+510,5439,8,1,1723,1725,1727,1729,1731,1733,1735,1737; 689P 391
+510,5441,1,1,1739; 691P 392
+510,5443,1,1,1741; 693P 393
+510,5445,1,1,1743; 695P 394
+510,5447,1,1,1745; 697P 395
+510,5449,1,1,1747; 699P 396
+510,5451,1,1,1749; 701P 397
+510,5453,1,1,1751; 703P 398
+510,5455,1,1,1753; 705P 399
+510,5457,1,1,1755; 707P 400
+510,5459,1,1,1757; 709P 401
+510,5461,1,1,1759; 711P 402
+510,5463,1,1,1761; 713P 403
+510,5465,1,1,1763; 715P 404
+510,5467,1,1,1765; 717P 405
+510,5469,1,1,1767; 719P 406
+510,5471,1,1,1769; 721P 407
+510,5473,1,1,1771; 723P 408
+510,5475,1,1,1773; 725P 409
+510,5477,1,1,1775; 727P 410
+510,5479,1,1,1777; 729P 411
+510,5481,1,1,1779; 731P 412
+510,5483,1,1,1781; 733P 413
+510,5485,1,1,1783; 735P 414
+510,5487,2,1,1785,1787; 737P 415
+510,5489,1,1,1789; 739P 416
+510,5491,1,1,1791; 741P 417
+510,5493,1,1,1793; 743P 418
+510,5495,1,1,1795; 745P 419
+510,5497,1,1,1797; 747P 420
+510,5499,1,1,1799; 749P 421
+510,5501,1,1,1801; 751P 422
+510,5503,1,1,1803; 753P 423
+510,5505,1,1,1805; 755P 424
+510,5507,7,1,1807,1809,1811,1813,1815,1817,1819; 757P 425
+510,5509,1,1,1821; 759P 426
+510,5511,1,1,1823; 761P 427
+510,5513,1,1,1825; 763P 428
+510,5515,1,1,1827; 765P 429
+510,5517,1,1,1829; 767P 430
+510,5519,1,1,1831; 769P 431
+510,5521,1,1,1833; 771P 432
+510,5523,7,1,1835,1837,1839,1841,1843,1845,1847; 773P 433
+510,5525,1,1,1849; 775P 434
+510,5527,1,1,1851; 777P 435
+510,5529,1,1,1853; 779P 436
+510,5531,1,1,1855; 781P 437
+510,5533,1,1,1857; 783P 438
+510,5535,1,1,1859; 785P 439
+510,5537,1,1,1861; 787P 440
+510,5539,1,1,1863; 789P 441
+510,5541,1,1,1865; 791P 442
+510,5543,1,1,1867; 793P 443
+510,5545,1,1,1869; 795P 444
+510,5547,1,1,1871; 797P 445
+510,5549,1,1,1873; 799P 446
+510,5551,1,1,1875; 801P 447
+510,5553,1,1,1877; 803P 448
+510,5555,1,1,1879; 805P 449
+510,5557,1,1,1881; 807P 450
+510,5559,1,1,1883; 809P 451
+510,5561,1,1,1885; 811P 452
+510,5563,1,1,1887; 813P 453
+510,5565,1,1,1889; 815P 454
+510,5567,1,1,1891; 817P 455
+510,5569,1,1,1893; 819P 456
+510,5571,1,1,1895; 821P 457
+510,5573,1,1,1897; 823P 458
+510,5575,1,1,1899; 825P 459
+510,5577,1,1,1901; 827P 460
+510,5579,2,1,1903,1905; 829P 461
+510,5581,8,1,1907,1909,1911,1913,1915,1917,1919,1921; 831P 462
+510,5583,1,1,1923; 833P 463
+510,5585,1,1,1925; 835P 464
+510,5587,1,1,1927; 837P 465
+510,5589,1,1,1929; 839P 466
+510,5591,1,1,1931; 841P 467
+510,5593,1,1,1933; 843P 468
+510,5595,1,1,1935; 845P 469
+510,5597,1,1,1937; 847P 470
+510,5599,1,1,1939; 849P 471
+510,5601,1,1,1941; 851P 472
+510,5603,1,1,1943; 853P 473
+510,5605,1,1,1945; 855P 474
+510,5607,1,1,1947; 857P 475
+510,5609,1,1,1949; 859P 476
+510,5611,1,1,1951; 861P 477
+510,5613,1,1,1953; 863P 478
+510,5615,1,1,1955; 865P 479
+510,5617,1,1,1957; 867P 480
+510,5619,1,1,1959; 869P 481
+510,5621,1,1,1961; 871P 482
+510,5623,1,1,1963; 873P 483
+510,5625,1,1,1965; 875P 484
+510,5627,1,1,1967; 877P 485
+510,5629,1,1,1969; 879P 486
+510,5631,1,1,1971; 881P 487
+510,5633,1,1,1973; 883P 488
+510,5635,1,1,1975; 885P 489
+510,5637,1,1,1977; 887P 490
+510,5639,1,1,1979; 889P 491
+510,5641,1,1,1981; 891P 492
+510,5643,1,1,1983; 893P 493
+510,5645,1,1,1985; 895P 494
+510,5647,1,1,1987; 897P 495
+510,5649,1,1,1989; 899P 496
+510,5651,1,1,1991; 901P 497
+510,5653,1,1,1993; 903P 498
+510,5655,1,1,1995; 905P 499
+510,5657,1,1,1997; 907P 500
+510,5659,1,1,1999; 909P 501
+510,5661,1,1,2001; 911P 502
+510,5663,1,1,2003; 913P 503
+510,5665,1,1,2005; 915P 504
+510,5667,2,1,2007,2009; 917P 505
+510,5669,1,1,2011; 919P 506
+510,5671,1,1,2013; 921P 507
+510,5673,1,1,2015; 923P 508
+510,5675,1,1,2017; 925P 509
+510,5677,1,1,2019; 927P 510
+510,5679,1,1,2021; 929P 511
+510,5681,1,1,2023; 931P 512
+510,5683,1,1,2025; 933P 513
+508,4,0,5691,1,1,0,0,5691,2,1,0,0,5691,3,0,0,0,5691,4,0,0; 935P 514
+508,4,0,5691,5,1,0,0,5691,4,1,0,0,5691,6,0,0,0,5691,2,0,0; 937P 515
+508,4,0,5691,7,1,0,0,5691,8,1,0,0,5691,9,0,0,0,5691,10,0,0; 939P 516
+508,4,0,5691,11,1,0,0,5691,10,1,0,0,5691,12,0,0,0,5691,8,0,0; 941P 517
+508,4,0,5691,13,1,0,0,5691,14,1,0,0,5691,15,0,0,0,5691,16,0,0; 943P 518
+508,4,0,5691,17,1,0,0,5691,16,1,0,0,5691,18,0,0,0,5691,14,0,0; 945P 519
+508,4,0,5691,19,1,0,0,5691,20,1,0,0,5691,21,0,0,0,5691,22,0,0; 947P 520
+508,4,0,5691,23,1,0,0,5691,22,1,0,0,5691,24,0,0,0,5691,20,0,0; 949P 521
+508,4,0,5691,25,0,0,0,5691,26,1,0,0,5691,27,0,0,0,5691,28,0,0; 951P 522
+508,4,0,5691,29,0,0,0,5691,28,1,0,0,5691,30,0,0,0,5691,31,0,0; 953P 523
+508,4,0,5691,32,0,0,0,5691,31,1,0,0,5691,33,0,0,0,5691,34,0,0; 955P 524
+508,4,0,5691,35,0,0,0,5691,34,1,0,0,5691,36,0,0,0,5691,37,0,0; 957P 525
+508,4,0,5691,38,0,0,0,5691,37,1,0,0,5691,39,0,0,0,5691,40,0,0; 959P 526
+508,4,0,5691,41,0,0,0,5691,40,1,0,0,5691,42,0,0,0,5691,43,0,0; 961P 527
+508,4,0,5691,44,0,0,0,5691,43,1,0,0,5691,45,0,0,0,5691,46,0,0; 963P 528
+508,4,0,5691,47,0,0,0,5691,46,1,0,0,5691,48,0,0,0,5691,49,0,0; 965P 529
+508,4,0,5691,50,0,0,0,5691,49,1,0,0,5691,51,0,0,0,5691,52,0,0; 967P 530
+508,4,0,5691,53,0,0,0,5691,52,1,0,0,5691,54,0,0,0,5691,55,0,0; 969P 531
+508,4,0,5691,56,0,0,0,5691,55,1,0,0,5691,57,0,0,0,5691,58,0,0; 971P 532
+508,4,0,5691,59,0,0,0,5691,58,1,0,0,5691,60,0,0,0,5691,26,0,0; 973P 533
+508,4,0,5691,61,0,0,0,5691,62,1,0,0,5691,63,0,0,0,5691,64,0,0; 975P 534
+508,4,0,5691,65,0,0,0,5691,64,1,0,0,5691,66,0,0,0,5691,67,0,0; 977P 535
+508,4,0,5691,68,0,0,0,5691,67,1,0,0,5691,69,0,0,0,5691,70,0,0; 979P 536
+508,4,0,5691,71,0,0,0,5691,70,1,0,0,5691,72,0,0,0,5691,73,0,0; 981P 537
+508,4,0,5691,74,0,0,0,5691,73,1,0,0,5691,75,0,0,0,5691,76,0,0; 983P 538
+508,4,0,5691,77,0,0,0,5691,76,1,0,0,5691,78,0,0,0,5691,79,0,0; 985P 539
+508,4,0,5691,80,0,0,0,5691,79,1,0,0,5691,81,0,0,0,5691,82,0,0; 987P 540
+508,4,0,5691,83,0,0,0,5691,82,1,0,0,5691,84,0,0,0,5691,85,0,0; 989P 541
+508,4,0,5691,86,0,0,0,5691,85,1,0,0,5691,87,0,0,0,5691,88,0,0; 991P 542
+508,4,0,5691,89,0,0,0,5691,88,1,0,0,5691,90,0,0,0,5691,91,0,0; 993P 543
+508,4,0,5691,92,0,0,0,5691,91,1,0,0,5691,93,0,0,0,5691,94,0,0; 995P 544
+508,4,0,5691,95,0,0,0,5691,94,1,0,0,5691,96,0,0,0,5691,62,0,0; 997P 545
+508,4,0,5691,97,0,0,0,5691,98,1,0,0,5691,99,0,0,0,5691,100,0,0; 999P 546
+508,4,0,5691,101,0,0,0,5691,100,1,0,0,5691,102,0,0,0,5691,103,0, 1001P 547
+0; 1001P 548
+508,4,0,5691,104,0,0,0,5691,103,1,0,0,5691,105,0,0,0,5691,106,0, 1003P 549
+0; 1003P 550
+508,4,0,5691,107,0,0,0,5691,106,1,0,0,5691,108,0,0,0,5691,109,0, 1005P 551
+0; 1005P 552
+508,4,0,5691,110,0,0,0,5691,109,1,0,0,5691,111,0,0,0,5691,112,0, 1007P 553
+0; 1007P 554
+508,4,0,5691,113,0,0,0,5691,112,1,0,0,5691,114,0,0,0,5691,115,0, 1009P 555
+0; 1009P 556
+508,4,0,5691,116,0,0,0,5691,115,1,0,0,5691,117,0,0,0,5691,118,0, 1011P 557
+0; 1011P 558
+508,4,0,5691,119,0,0,0,5691,118,1,0,0,5691,120,0,0,0,5691,121,0, 1013P 559
+0; 1013P 560
+508,4,0,5691,122,0,0,0,5691,121,1,0,0,5691,123,0,0,0,5691,124,0, 1015P 561
+0; 1015P 562
+508,4,0,5691,125,0,0,0,5691,124,1,0,0,5691,126,0,0,0,5691,127,0, 1017P 563
+0; 1017P 564
+508,4,0,5691,128,0,0,0,5691,127,1,0,0,5691,129,0,0,0,5691,130,0, 1019P 565
+0; 1019P 566
+508,4,0,5691,131,0,0,0,5691,130,1,0,0,5691,132,0,0,0,5691,98,0, 1021P 567
+0; 1021P 568
+508,4,0,5691,133,0,0,0,5691,134,1,0,0,5691,135,0,0,0,5691,136,0, 1023P 569
+0; 1023P 570
+508,4,0,5691,137,0,0,0,5691,136,1,0,0,5691,138,0,0,0,5691,139,0, 1025P 571
+0; 1025P 572
+508,4,0,5691,140,0,0,0,5691,139,1,0,0,5691,141,0,0,0,5691,142,0, 1027P 573
+0; 1027P 574
+508,4,0,5691,143,0,0,0,5691,142,1,0,0,5691,144,0,0,0,5691,145,0, 1029P 575
+0; 1029P 576
+508,4,0,5691,146,0,0,0,5691,145,1,0,0,5691,147,0,0,0,5691,148,0, 1031P 577
+0; 1031P 578
+508,4,0,5691,149,0,0,0,5691,148,1,0,0,5691,150,0,0,0,5691,151,0, 1033P 579
+0; 1033P 580
+508,4,0,5691,152,0,0,0,5691,151,1,0,0,5691,153,0,0,0,5691,154,0, 1035P 581
+0; 1035P 582
+508,4,0,5691,155,0,0,0,5691,154,1,0,0,5691,156,0,0,0,5691,157,0, 1037P 583
+0; 1037P 584
+508,4,0,5691,158,0,0,0,5691,157,1,0,0,5691,159,0,0,0,5691,160,0, 1039P 585
+0; 1039P 586
+508,4,0,5691,161,0,0,0,5691,160,1,0,0,5691,162,0,0,0,5691,163,0, 1041P 587
+0; 1041P 588
+508,4,0,5691,164,0,0,0,5691,163,1,0,0,5691,165,0,0,0,5691,166,0, 1043P 589
+0; 1043P 590
+508,4,0,5691,167,0,0,0,5691,166,1,0,0,5691,168,0,0,0,5691,134,0, 1045P 591
+0; 1045P 592
+508,4,0,5691,169,0,0,0,5691,170,1,0,0,5691,171,0,0,0,5691,172,0, 1047P 593
+0; 1047P 594
+508,4,0,5691,173,0,0,0,5691,172,1,0,0,5691,174,0,0,0,5691,175,0, 1049P 595
+0; 1049P 596
+508,4,0,5691,176,0,0,0,5691,175,1,0,0,5691,177,0,0,0,5691,178,0, 1051P 597
+0; 1051P 598
+508,4,0,5691,179,0,0,0,5691,178,1,0,0,5691,180,0,0,0,5691,181,0, 1053P 599
+0; 1053P 600
+508,4,0,5691,182,0,0,0,5691,181,1,0,0,5691,183,0,0,0,5691,184,0, 1055P 601
+0; 1055P 602
+508,4,0,5691,185,0,0,0,5691,184,1,0,0,5691,186,0,0,0,5691,187,0, 1057P 603
+0; 1057P 604
+508,4,0,5691,188,0,0,0,5691,187,1,0,0,5691,189,0,0,0,5691,190,0, 1059P 605
+0; 1059P 606
+508,4,0,5691,191,0,0,0,5691,190,1,0,0,5691,192,0,0,0,5691,193,0, 1061P 607
+0; 1061P 608
+508,4,0,5691,194,0,0,0,5691,193,1,0,0,5691,195,0,0,0,5691,196,0, 1063P 609
+0; 1063P 610
+508,4,0,5691,197,0,0,0,5691,196,1,0,0,5691,198,0,0,0,5691,199,0, 1065P 611
+0; 1065P 612
+508,4,0,5691,200,0,0,0,5691,199,1,0,0,5691,201,0,0,0,5691,202,0, 1067P 613
+0; 1067P 614
+508,4,0,5691,203,0,0,0,5691,202,1,0,0,5691,204,0,0,0,5691,170,0, 1069P 615
+0; 1069P 616
+508,4,0,5691,205,0,0,0,5691,206,1,0,0,5691,207,0,0,0,5691,208,0, 1071P 617
+0; 1071P 618
+508,4,0,5691,209,0,0,0,5691,208,1,0,0,5691,210,0,0,0,5691,211,0, 1073P 619
+0; 1073P 620
+508,4,0,5691,212,0,0,0,5691,211,1,0,0,5691,213,0,0,0,5691,214,0, 1075P 621
+0; 1075P 622
+508,4,0,5691,215,0,0,0,5691,214,1,0,0,5691,216,0,0,0,5691,217,0, 1077P 623
+0; 1077P 624
+508,4,0,5691,218,0,0,0,5691,217,1,0,0,5691,219,0,0,0,5691,220,0, 1079P 625
+0; 1079P 626
+508,4,0,5691,221,0,0,0,5691,220,1,0,0,5691,222,0,0,0,5691,223,0, 1081P 627
+0; 1081P 628
+508,4,0,5691,224,0,0,0,5691,223,1,0,0,5691,225,0,0,0,5691,226,0, 1083P 629
+0; 1083P 630
+508,4,0,5691,227,0,0,0,5691,226,1,0,0,5691,228,0,0,0,5691,229,0, 1085P 631
+0; 1085P 632
+508,4,0,5691,230,0,0,0,5691,229,1,0,0,5691,231,0,0,0,5691,232,0, 1087P 633
+0; 1087P 634
+508,4,0,5691,233,0,0,0,5691,232,1,0,0,5691,234,0,0,0,5691,235,0, 1089P 635
+0; 1089P 636
+508,4,0,5691,236,0,0,0,5691,235,1,0,0,5691,237,0,0,0,5691,238,0, 1091P 637
+0; 1091P 638
+508,4,0,5691,239,0,0,0,5691,238,1,0,0,5691,240,0,0,0,5691,206,0, 1093P 639
+0; 1093P 640
+508,4,0,5691,241,0,0,0,5691,242,1,0,0,5691,243,0,0,0,5691,244,0, 1095P 641
+0; 1095P 642
+508,4,0,5691,245,0,0,0,5691,244,1,0,0,5691,246,0,0,0,5691,247,0, 1097P 643
+0; 1097P 644
+508,4,0,5691,248,0,0,0,5691,247,1,0,0,5691,249,0,0,0,5691,250,0, 1099P 645
+0; 1099P 646
+508,4,0,5691,251,0,0,0,5691,250,1,0,0,5691,252,0,0,0,5691,253,0, 1101P 647
+0; 1101P 648
+508,4,0,5691,254,0,0,0,5691,253,1,0,0,5691,255,0,0,0,5691,256,0, 1103P 649
+0; 1103P 650
+508,4,0,5691,257,0,0,0,5691,256,1,0,0,5691,258,0,0,0,5691,259,0, 1105P 651
+0; 1105P 652
+508,4,0,5691,260,0,0,0,5691,259,1,0,0,5691,261,0,0,0,5691,262,0, 1107P 653
+0; 1107P 654
+508,4,0,5691,263,0,0,0,5691,262,1,0,0,5691,264,0,0,0,5691,265,0, 1109P 655
+0; 1109P 656
+508,4,0,5691,266,0,0,0,5691,265,1,0,0,5691,267,0,0,0,5691,268,0, 1111P 657
+0; 1111P 658
+508,4,0,5691,269,0,0,0,5691,268,1,0,0,5691,270,0,0,0,5691,271,0, 1113P 659
+0; 1113P 660
+508,4,0,5691,272,0,0,0,5691,271,1,0,0,5691,273,0,0,0,5691,274,0, 1115P 661
+0; 1115P 662
+508,4,0,5691,275,0,0,0,5691,274,1,0,0,5691,276,0,0,0,5691,242,0, 1117P 663
+0; 1117P 664
+508,4,0,5691,277,0,0,0,5691,278,1,0,0,5691,279,0,0,0,5691,280,0, 1119P 665
+0; 1119P 666
+508,4,0,5691,281,0,0,0,5691,280,1,0,0,5691,282,0,0,0,5691,283,0, 1121P 667
+0; 1121P 668
+508,4,0,5691,284,0,0,0,5691,283,1,0,0,5691,285,0,0,0,5691,286,0, 1123P 669
+0; 1123P 670
+508,4,0,5691,287,0,0,0,5691,286,1,0,0,5691,288,0,0,0,5691,289,0, 1125P 671
+0; 1125P 672
+508,4,0,5691,290,0,0,0,5691,289,1,0,0,5691,291,0,0,0,5691,292,0, 1127P 673
+0; 1127P 674
+508,4,0,5691,293,0,0,0,5691,292,1,0,0,5691,294,0,0,0,5691,295,0, 1129P 675
+0; 1129P 676
+508,4,0,5691,296,0,0,0,5691,295,1,0,0,5691,297,0,0,0,5691,298,0, 1131P 677
+0; 1131P 678
+508,4,0,5691,299,0,0,0,5691,298,1,0,0,5691,300,0,0,0,5691,301,0, 1133P 679
+0; 1133P 680
+508,4,0,5691,302,0,0,0,5691,301,1,0,0,5691,303,0,0,0,5691,304,0, 1135P 681
+0; 1135P 682
+508,4,0,5691,305,0,0,0,5691,304,1,0,0,5691,306,0,0,0,5691,307,0, 1137P 683
+0; 1137P 684
+508,4,0,5691,308,0,0,0,5691,307,1,0,0,5691,309,0,0,0,5691,310,0, 1139P 685
+0; 1139P 686
+508,4,0,5691,311,0,0,0,5691,310,1,0,0,5691,312,0,0,0,5691,278,0, 1141P 687
+0; 1141P 688
+508,4,0,5691,313,0,0,0,5691,314,1,0,0,5691,315,0,0,0,5691,316,0, 1143P 689
+0; 1143P 690
+508,4,0,5691,317,0,0,0,5691,316,1,0,0,5691,318,0,0,0,5691,319,0, 1145P 691
+0; 1145P 692
+508,4,0,5691,320,0,0,0,5691,319,1,0,0,5691,321,0,0,0,5691,322,0, 1147P 693
+0; 1147P 694
+508,4,0,5691,323,0,0,0,5691,322,1,0,0,5691,324,0,0,0,5691,325,0, 1149P 695
+0; 1149P 696
+508,4,0,5691,326,0,0,0,5691,325,1,0,0,5691,327,0,0,0,5691,328,0, 1151P 697
+0; 1151P 698
+508,4,0,5691,329,0,0,0,5691,328,1,0,0,5691,330,0,0,0,5691,331,0, 1153P 699
+0; 1153P 700
+508,4,0,5691,332,0,0,0,5691,331,1,0,0,5691,333,0,0,0,5691,334,0, 1155P 701
+0; 1155P 702
+508,4,0,5691,335,0,0,0,5691,334,1,0,0,5691,336,0,0,0,5691,337,0, 1157P 703
+0; 1157P 704
+508,4,0,5691,338,0,0,0,5691,337,1,0,0,5691,339,0,0,0,5691,340,0, 1159P 705
+0; 1159P 706
+508,4,0,5691,341,0,0,0,5691,340,1,0,0,5691,342,0,0,0,5691,343,0, 1161P 707
+0; 1161P 708
+508,4,0,5691,344,0,0,0,5691,343,1,0,0,5691,345,0,0,0,5691,346,0, 1163P 709
+0; 1163P 710
+508,4,0,5691,347,0,0,0,5691,346,1,0,0,5691,348,0,0,0,5691,314,0, 1165P 711
+0; 1165P 712
+508,4,0,5691,349,0,0,0,5691,350,1,0,0,5691,351,0,0,0,5691,352,0, 1167P 713
+0; 1167P 714
+508,4,0,5691,353,0,0,0,5691,352,1,0,0,5691,354,0,0,0,5691,355,0, 1169P 715
+0; 1169P 716
+508,4,0,5691,356,0,0,0,5691,355,1,0,0,5691,357,0,0,0,5691,358,0, 1171P 717
+0; 1171P 718
+508,4,0,5691,359,0,0,0,5691,358,1,0,0,5691,360,0,0,0,5691,361,0, 1173P 719
+0; 1173P 720
+508,4,0,5691,362,0,0,0,5691,361,1,0,0,5691,363,0,0,0,5691,364,0, 1175P 721
+0; 1175P 722
+508,4,0,5691,365,0,0,0,5691,364,1,0,0,5691,366,0,0,0,5691,367,0, 1177P 723
+0; 1177P 724
+508,4,0,5691,368,0,0,0,5691,367,1,0,0,5691,369,0,0,0,5691,370,0, 1179P 725
+0; 1179P 726
+508,4,0,5691,371,0,0,0,5691,370,1,0,0,5691,372,0,0,0,5691,373,0, 1181P 727
+0; 1181P 728
+508,4,0,5691,374,0,0,0,5691,373,1,0,0,5691,375,0,0,0,5691,376,0, 1183P 729
+0; 1183P 730
+508,4,0,5691,377,0,0,0,5691,376,1,0,0,5691,378,0,0,0,5691,379,0, 1185P 731
+0; 1185P 732
+508,4,0,5691,380,0,0,0,5691,379,1,0,0,5691,381,0,0,0,5691,382,0, 1187P 733
+0; 1187P 734
+508,4,0,5691,383,0,0,0,5691,382,1,0,0,5691,384,0,0,0,5691,350,0, 1189P 735
+0; 1189P 736
+508,4,0,5691,385,0,0,0,5691,386,1,0,0,5691,387,0,0,0,5691,388,0, 1191P 737
+0; 1191P 738
+508,4,0,5691,389,0,0,0,5691,388,1,0,0,5691,390,0,0,0,5691,391,0, 1193P 739
+0; 1193P 740
+508,4,0,5691,392,0,0,0,5691,391,1,0,0,5691,393,0,0,0,5691,394,0, 1195P 741
+0; 1195P 742
+508,4,0,5691,395,0,0,0,5691,394,1,0,0,5691,396,0,0,0,5691,397,0, 1197P 743
+0; 1197P 744
+508,4,0,5691,398,0,0,0,5691,397,1,0,0,5691,399,0,0,0,5691,400,0, 1199P 745
+0; 1199P 746
+508,4,0,5691,401,0,0,0,5691,400,1,0,0,5691,402,0,0,0,5691,403,0, 1201P 747
+0; 1201P 748
+508,4,0,5691,404,0,0,0,5691,403,1,0,0,5691,405,0,0,0,5691,406,0, 1203P 749
+0; 1203P 750
+508,4,0,5691,407,0,0,0,5691,406,1,0,0,5691,408,0,0,0,5691,409,0, 1205P 751
+0; 1205P 752
+508,4,0,5691,410,0,0,0,5691,409,1,0,0,5691,411,0,0,0,5691,412,0, 1207P 753
+0; 1207P 754
+508,4,0,5691,413,0,0,0,5691,412,1,0,0,5691,414,0,0,0,5691,415,0, 1209P 755
+0; 1209P 756
+508,4,0,5691,416,0,0,0,5691,415,1,0,0,5691,417,0,0,0,5691,418,0, 1211P 757
+0; 1211P 758
+508,4,0,5691,419,0,0,0,5691,418,1,0,0,5691,420,0,0,0,5691,386,0, 1213P 759
+0; 1213P 760
+508,4,0,5691,421,0,0,0,5691,422,1,0,0,5691,423,0,0,0,5691,424,0, 1215P 761
+0; 1215P 762
+508,4,0,5691,425,0,0,0,5691,424,1,0,0,5691,426,0,0,0,5691,427,0, 1217P 763
+0; 1217P 764
+508,4,0,5691,428,0,0,0,5691,427,1,0,0,5691,429,0,0,0,5691,430,0, 1219P 765
+0; 1219P 766
+508,4,0,5691,431,0,0,0,5691,430,1,0,0,5691,432,0,0,0,5691,433,0, 1221P 767
+0; 1221P 768
+508,4,0,5691,434,0,0,0,5691,433,1,0,0,5691,435,0,0,0,5691,436,0, 1223P 769
+0; 1223P 770
+508,4,0,5691,437,0,0,0,5691,436,1,0,0,5691,438,0,0,0,5691,439,0, 1225P 771
+0; 1225P 772
+508,4,0,5691,440,0,0,0,5691,439,1,0,0,5691,441,0,0,0,5691,442,0, 1227P 773
+0; 1227P 774
+508,4,0,5691,443,0,0,0,5691,442,1,0,0,5691,444,0,0,0,5691,445,0, 1229P 775
+0; 1229P 776
+508,4,0,5691,446,0,0,0,5691,445,1,0,0,5691,447,0,0,0,5691,448,0, 1231P 777
+0; 1231P 778
+508,4,0,5691,449,0,0,0,5691,448,1,0,0,5691,450,0,0,0,5691,451,0, 1233P 779
+0; 1233P 780
+508,4,0,5691,452,0,0,0,5691,451,1,0,0,5691,453,0,0,0,5691,454,0, 1235P 781
+0; 1235P 782
+508,4,0,5691,455,0,0,0,5691,454,1,0,0,5691,456,0,0,0,5691,422,0, 1237P 783
+0; 1237P 784
+508,4,0,5691,457,0,0,0,5691,458,1,0,0,5691,459,0,0,0,5691,460,0, 1239P 785
+0; 1239P 786
+508,4,0,5691,461,0,0,0,5691,460,1,0,0,5691,462,0,0,0,5691,463,0, 1241P 787
+0; 1241P 788
+508,4,0,5691,464,0,0,0,5691,463,1,0,0,5691,465,0,0,0,5691,466,0, 1243P 789
+0; 1243P 790
+508,4,0,5691,467,0,0,0,5691,466,1,0,0,5691,468,0,0,0,5691,469,0, 1245P 791
+0; 1245P 792
+508,4,0,5691,470,0,0,0,5691,469,1,0,0,5691,471,0,0,0,5691,472,0, 1247P 793
+0; 1247P 794
+508,4,0,5691,473,0,0,0,5691,472,1,0,0,5691,474,0,0,0,5691,475,0, 1249P 795
+0; 1249P 796
+508,4,0,5691,476,0,0,0,5691,475,1,0,0,5691,477,0,0,0,5691,478,0, 1251P 797
+0; 1251P 798
+508,4,0,5691,479,0,0,0,5691,478,1,0,0,5691,480,0,0,0,5691,481,0, 1253P 799
+0; 1253P 800
+508,4,0,5691,482,0,0,0,5691,481,1,0,0,5691,483,0,0,0,5691,484,0, 1255P 801
+0; 1255P 802
+508,4,0,5691,485,0,0,0,5691,484,1,0,0,5691,486,0,0,0,5691,487,0, 1257P 803
+0; 1257P 804
+508,4,0,5691,488,0,0,0,5691,487,1,0,0,5691,489,0,0,0,5691,490,0, 1259P 805
+0; 1259P 806
+508,4,0,5691,491,0,0,0,5691,490,1,0,0,5691,492,0,0,0,5691,458,0, 1261P 807
+0; 1261P 808
+508,4,0,5691,493,0,0,0,5691,494,1,0,0,5691,495,0,0,0,5691,496,0, 1263P 809
+0; 1263P 810
+508,4,0,5691,497,0,0,0,5691,496,1,0,0,5691,498,0,0,0,5691,499,0, 1265P 811
+0; 1265P 812
+508,4,0,5691,500,0,0,0,5691,499,1,0,0,5691,501,0,0,0,5691,502,0, 1267P 813
+0; 1267P 814
+508,4,0,5691,503,0,0,0,5691,502,1,0,0,5691,504,0,0,0,5691,505,0, 1269P 815
+0; 1269P 816
+508,4,0,5691,506,0,0,0,5691,505,1,0,0,5691,507,0,0,0,5691,508,0, 1271P 817
+0; 1271P 818
+508,4,0,5691,509,0,0,0,5691,508,1,0,0,5691,510,0,0,0,5691,511,0, 1273P 819
+0; 1273P 820
+508,4,0,5691,512,0,0,0,5691,511,1,0,0,5691,513,0,0,0,5691,514,0, 1275P 821
+0; 1275P 822
+508,4,0,5691,515,0,0,0,5691,514,1,0,0,5691,516,0,0,0,5691,517,0, 1277P 823
+0; 1277P 824
+508,4,0,5691,518,0,0,0,5691,517,1,0,0,5691,519,0,0,0,5691,520,0, 1279P 825
+0; 1279P 826
+508,4,0,5691,521,0,0,0,5691,520,1,0,0,5691,522,0,0,0,5691,523,0, 1281P 827
+0; 1281P 828
+508,4,0,5691,524,0,0,0,5691,523,1,0,0,5691,525,0,0,0,5691,526,0, 1283P 829
+0; 1283P 830
+508,4,0,5691,527,0,0,0,5691,526,1,0,0,5691,528,0,0,0,5691,494,0, 1285P 831
+0; 1285P 832
+508,4,0,5691,529,0,0,0,5691,530,1,0,0,5691,531,0,0,0,5691,532,0, 1287P 833
+0; 1287P 834
+508,4,0,5691,533,0,0,0,5691,532,1,0,0,5691,534,0,0,0,5691,535,0, 1289P 835
+0; 1289P 836
+508,4,0,5691,536,0,0,0,5691,535,1,0,0,5691,537,0,0,0,5691,538,0, 1291P 837
+0; 1291P 838
+508,4,0,5691,539,0,0,0,5691,538,1,0,0,5691,540,0,0,0,5691,541,0, 1293P 839
+0; 1293P 840
+508,4,0,5691,542,0,0,0,5691,541,1,0,0,5691,543,0,0,0,5691,544,0, 1295P 841
+0; 1295P 842
+508,4,0,5691,545,0,0,0,5691,544,1,0,0,5691,546,0,0,0,5691,547,0, 1297P 843
+0; 1297P 844
+508,4,0,5691,548,0,0,0,5691,547,1,0,0,5691,549,0,0,0,5691,550,0, 1299P 845
+0; 1299P 846
+508,4,0,5691,551,0,0,0,5691,550,1,0,0,5691,552,0,0,0,5691,553,0, 1301P 847
+0; 1301P 848
+508,4,0,5691,554,0,0,0,5691,553,1,0,0,5691,555,0,0,0,5691,556,0, 1303P 849
+0; 1303P 850
+508,4,0,5691,557,0,0,0,5691,556,1,0,0,5691,558,0,0,0,5691,559,0, 1305P 851
+0; 1305P 852
+508,4,0,5691,560,0,0,0,5691,559,1,0,0,5691,561,0,0,0,5691,562,0, 1307P 853
+0; 1307P 854
+508,4,0,5691,563,0,0,0,5691,562,1,0,0,5691,564,0,0,0,5691,530,0, 1309P 855
+0; 1309P 856
+508,4,0,5691,565,0,0,0,5691,566,1,0,0,5691,567,0,0,0,5691,568,0, 1311P 857
+0; 1311P 858
+508,4,0,5691,569,0,0,0,5691,568,1,0,0,5691,570,0,0,0,5691,571,0, 1313P 859
+0; 1313P 860
+508,4,0,5691,572,0,0,0,5691,571,1,0,0,5691,573,0,0,0,5691,574,0, 1315P 861
+0; 1315P 862
+508,4,0,5691,575,0,0,0,5691,574,1,0,0,5691,576,0,0,0,5691,577,0, 1317P 863
+0; 1317P 864
+508,4,0,5691,578,0,0,0,5691,577,1,0,0,5691,579,0,0,0,5691,580,0, 1319P 865
+0; 1319P 866
+508,4,0,5691,581,0,0,0,5691,580,1,0,0,5691,582,0,0,0,5691,583,0, 1321P 867
+0; 1321P 868
+508,4,0,5691,584,0,0,0,5691,583,1,0,0,5691,585,0,0,0,5691,586,0, 1323P 869
+0; 1323P 870
+508,4,0,5691,587,0,0,0,5691,586,1,0,0,5691,588,0,0,0,5691,589,0, 1325P 871
+0; 1325P 872
+508,4,0,5691,590,0,0,0,5691,589,1,0,0,5691,591,0,0,0,5691,592,0, 1327P 873
+0; 1327P 874
+508,4,0,5691,593,0,0,0,5691,592,1,0,0,5691,594,0,0,0,5691,595,0, 1329P 875
+0; 1329P 876
+508,4,0,5691,596,0,0,0,5691,595,1,0,0,5691,597,0,0,0,5691,598,0, 1331P 877
+0; 1331P 878
+508,4,0,5691,599,0,0,0,5691,598,1,0,0,5691,600,0,0,0,5691,566,0, 1333P 879
+0; 1333P 880
+508,4,0,5691,601,0,0,0,5691,602,1,0,0,5691,603,0,0,0,5691,604,0, 1335P 881
+0; 1335P 882
+508,4,0,5691,605,0,0,0,5691,604,1,0,0,5691,606,0,0,0,5691,607,0, 1337P 883
+0; 1337P 884
+508,4,0,5691,608,0,0,0,5691,607,1,0,0,5691,609,0,0,0,5691,610,0, 1339P 885
+0; 1339P 886
+508,4,0,5691,611,0,0,0,5691,610,1,0,0,5691,612,0,0,0,5691,613,0, 1341P 887
+0; 1341P 888
+508,4,0,5691,614,0,0,0,5691,613,1,0,0,5691,615,0,0,0,5691,616,0, 1343P 889
+0; 1343P 890
+508,4,0,5691,617,0,0,0,5691,616,1,0,0,5691,618,0,0,0,5691,619,0, 1345P 891
+0; 1345P 892
+508,4,0,5691,620,0,0,0,5691,619,1,0,0,5691,621,0,0,0,5691,622,0, 1347P 893
+0; 1347P 894
+508,4,0,5691,623,0,0,0,5691,622,1,0,0,5691,624,0,0,0,5691,625,0, 1349P 895
+0; 1349P 896
+508,4,0,5691,626,0,0,0,5691,625,1,0,0,5691,627,0,0,0,5691,628,0, 1351P 897
+0; 1351P 898
+508,4,0,5691,629,0,0,0,5691,628,1,0,0,5691,630,0,0,0,5691,631,0, 1353P 899
+0; 1353P 900
+508,4,0,5691,632,0,0,0,5691,631,1,0,0,5691,633,0,0,0,5691,634,0, 1355P 901
+0; 1355P 902
+508,4,0,5691,635,0,0,0,5691,634,1,0,0,5691,636,0,0,0,5691,602,0, 1357P 903
+0; 1357P 904
+508,4,0,5691,637,0,0,0,5691,638,1,0,0,5691,639,0,0,0,5691,640,0, 1359P 905
+0; 1359P 906
+508,4,0,5691,641,0,0,0,5691,640,1,0,0,5691,642,0,0,0,5691,643,0, 1361P 907
+0; 1361P 908
+508,4,0,5691,644,0,0,0,5691,643,1,0,0,5691,645,0,0,0,5691,646,0, 1363P 909
+0; 1363P 910
+508,4,0,5691,647,0,0,0,5691,646,1,0,0,5691,648,0,0,0,5691,649,0, 1365P 911
+0; 1365P 912
+508,4,0,5691,650,0,0,0,5691,649,1,0,0,5691,651,0,0,0,5691,652,0, 1367P 913
+0; 1367P 914
+508,4,0,5691,653,0,0,0,5691,652,1,0,0,5691,654,0,0,0,5691,655,0, 1369P 915
+0; 1369P 916
+508,4,0,5691,656,0,0,0,5691,655,1,0,0,5691,657,0,0,0,5691,658,0, 1371P 917
+0; 1371P 918
+508,4,0,5691,659,0,0,0,5691,658,1,0,0,5691,660,0,0,0,5691,661,0, 1373P 919
+0; 1373P 920
+508,4,0,5691,662,0,0,0,5691,661,1,0,0,5691,663,0,0,0,5691,664,0, 1375P 921
+0; 1375P 922
+508,4,0,5691,665,0,0,0,5691,664,1,0,0,5691,666,0,0,0,5691,667,0, 1377P 923
+0; 1377P 924
+508,4,0,5691,668,0,0,0,5691,667,1,0,0,5691,669,0,0,0,5691,670,0, 1379P 925
+0; 1379P 926
+508,4,0,5691,671,0,0,0,5691,670,1,0,0,5691,672,0,0,0,5691,638,0, 1381P 927
+0; 1381P 928
+508,4,0,5691,673,0,0,0,5691,674,1,0,0,5691,675,0,0,0,5691,676,0, 1383P 929
+0; 1383P 930
+508,4,0,5691,677,0,0,0,5691,676,1,0,0,5691,678,0,0,0,5691,679,0, 1385P 931
+0; 1385P 932
+508,4,0,5691,680,0,0,0,5691,679,1,0,0,5691,681,0,0,0,5691,682,0, 1387P 933
+0; 1387P 934
+508,4,0,5691,683,0,0,0,5691,682,1,0,0,5691,684,0,0,0,5691,685,0, 1389P 935
+0; 1389P 936
+508,4,0,5691,686,0,0,0,5691,685,1,0,0,5691,687,0,0,0,5691,688,0, 1391P 937
+0; 1391P 938
+508,4,0,5691,689,0,0,0,5691,688,1,0,0,5691,690,0,0,0,5691,691,0, 1393P 939
+0; 1393P 940
+508,4,0,5691,692,0,0,0,5691,691,1,0,0,5691,693,0,0,0,5691,694,0, 1395P 941
+0; 1395P 942
+508,4,0,5691,695,0,0,0,5691,694,1,0,0,5691,696,0,0,0,5691,697,0, 1397P 943
+0; 1397P 944
+508,4,0,5691,698,0,0,0,5691,697,1,0,0,5691,699,0,0,0,5691,700,0, 1399P 945
+0; 1399P 946
+508,4,0,5691,701,0,0,0,5691,700,1,0,0,5691,702,0,0,0,5691,703,0, 1401P 947
+0; 1401P 948
+508,4,0,5691,704,0,0,0,5691,703,1,0,0,5691,705,0,0,0,5691,706,0, 1403P 949
+0; 1403P 950
+508,4,0,5691,707,0,0,0,5691,706,1,0,0,5691,708,0,0,0,5691,674,0, 1405P 951
+0; 1405P 952
+508,4,0,5691,709,0,0,0,5691,710,1,0,0,5691,711,0,0,0,5691,712,0, 1407P 953
+0; 1407P 954
+508,4,0,5691,713,0,0,0,5691,712,1,0,0,5691,714,0,0,0,5691,715,0, 1409P 955
+0; 1409P 956
+508,4,0,5691,716,0,0,0,5691,715,1,0,0,5691,717,0,0,0,5691,718,0, 1411P 957
+0; 1411P 958
+508,4,0,5691,719,0,0,0,5691,718,1,0,0,5691,720,0,0,0,5691,721,0, 1413P 959
+0; 1413P 960
+508,4,0,5691,722,0,0,0,5691,721,1,0,0,5691,723,0,0,0,5691,724,0, 1415P 961
+0; 1415P 962
+508,4,0,5691,725,0,0,0,5691,724,1,0,0,5691,726,0,0,0,5691,727,0, 1417P 963
+0; 1417P 964
+508,4,0,5691,728,0,0,0,5691,727,1,0,0,5691,729,0,0,0,5691,730,0, 1419P 965
+0; 1419P 966
+508,4,0,5691,731,0,0,0,5691,730,1,0,0,5691,732,0,0,0,5691,733,0, 1421P 967
+0; 1421P 968
+508,4,0,5691,734,0,0,0,5691,733,1,0,0,5691,735,0,0,0,5691,736,0, 1423P 969
+0; 1423P 970
+508,4,0,5691,737,0,0,0,5691,736,1,0,0,5691,738,0,0,0,5691,739,0, 1425P 971
+0; 1425P 972
+508,4,0,5691,740,0,0,0,5691,739,1,0,0,5691,741,0,0,0,5691,742,0, 1427P 973
+0; 1427P 974
+508,4,0,5691,743,0,0,0,5691,742,1,0,0,5691,744,0,0,0,5691,710,0, 1429P 975
+0; 1429P 976
+508,4,0,5691,745,0,0,0,5691,746,1,0,0,5691,747,0,0,0,5691,748,0, 1431P 977
+0; 1431P 978
+508,4,0,5691,749,0,0,0,5691,748,1,0,0,5691,750,0,0,0,5691,751,0, 1433P 979
+0; 1433P 980
+508,4,0,5691,752,0,0,0,5691,751,1,0,0,5691,753,0,0,0,5691,754,0, 1435P 981
+0; 1435P 982
+508,4,0,5691,755,0,0,0,5691,754,1,0,0,5691,756,0,0,0,5691,757,0, 1437P 983
+0; 1437P 984
+508,4,0,5691,758,0,0,0,5691,757,1,0,0,5691,759,0,0,0,5691,760,0, 1439P 985
+0; 1439P 986
+508,4,0,5691,761,0,0,0,5691,760,1,0,0,5691,762,0,0,0,5691,763,0, 1441P 987
+0; 1441P 988
+508,4,0,5691,764,0,0,0,5691,763,1,0,0,5691,765,0,0,0,5691,766,0, 1443P 989
+0; 1443P 990
+508,4,0,5691,767,0,0,0,5691,766,1,0,0,5691,768,0,0,0,5691,769,0, 1445P 991
+0; 1445P 992
+508,4,0,5691,770,0,0,0,5691,769,1,0,0,5691,771,0,0,0,5691,772,0, 1447P 993
+0; 1447P 994
+508,4,0,5691,773,0,0,0,5691,772,1,0,0,5691,774,0,0,0,5691,775,0, 1449P 995
+0; 1449P 996
+508,4,0,5691,776,0,0,0,5691,775,1,0,0,5691,777,0,0,0,5691,778,0, 1451P 997
+0; 1451P 998
+508,4,0,5691,779,0,0,0,5691,778,1,0,0,5691,780,0,0,0,5691,746,0, 1453P 999
+0; 1453P 1000
+508,4,0,5691,781,0,0,0,5691,782,1,0,0,5691,783,0,0,0,5691,784,0, 1455P 1001
+0; 1455P 1002
+508,4,0,5691,785,0,0,0,5691,784,1,0,0,5691,786,0,0,0,5691,787,0, 1457P 1003
+0; 1457P 1004
+508,4,0,5691,788,0,0,0,5691,787,1,0,0,5691,789,0,0,0,5691,790,0, 1459P 1005
+0; 1459P 1006
+508,4,0,5691,791,0,0,0,5691,790,1,0,0,5691,792,0,0,0,5691,793,0, 1461P 1007
+0; 1461P 1008
+508,4,0,5691,794,0,0,0,5691,793,1,0,0,5691,795,0,0,0,5691,796,0, 1463P 1009
+0; 1463P 1010
+508,4,0,5691,797,0,0,0,5691,796,1,0,0,5691,798,0,0,0,5691,799,0, 1465P 1011
+0; 1465P 1012
+508,4,0,5691,800,0,0,0,5691,799,1,0,0,5691,801,0,0,0,5691,802,0, 1467P 1013
+0; 1467P 1014
+508,4,0,5691,803,0,0,0,5691,802,1,0,0,5691,804,0,0,0,5691,805,0, 1469P 1015
+0; 1469P 1016
+508,4,0,5691,806,0,0,0,5691,805,1,0,0,5691,807,0,0,0,5691,808,0, 1471P 1017
+0; 1471P 1018
+508,4,0,5691,809,0,0,0,5691,808,1,0,0,5691,810,0,0,0,5691,811,0, 1473P 1019
+0; 1473P 1020
+508,4,0,5691,812,0,0,0,5691,811,1,0,0,5691,813,0,0,0,5691,814,0, 1475P 1021
+0; 1475P 1022
+508,4,0,5691,815,0,0,0,5691,814,1,0,0,5691,816,0,0,0,5691,782,0, 1477P 1023
+0; 1477P 1024
+508,4,0,5691,817,0,0,0,5691,818,1,0,0,5691,819,0,0,0,5691,820,0, 1479P 1025
+0; 1479P 1026
+508,4,0,5691,821,0,0,0,5691,820,1,0,0,5691,822,0,0,0,5691,823,0, 1481P 1027
+0; 1481P 1028
+508,4,0,5691,824,0,0,0,5691,823,1,0,0,5691,825,0,0,0,5691,826,0, 1483P 1029
+0; 1483P 1030
+508,4,0,5691,827,0,0,0,5691,826,1,0,0,5691,828,0,0,0,5691,829,0, 1485P 1031
+0; 1485P 1032
+508,4,0,5691,830,0,0,0,5691,829,1,0,0,5691,831,0,0,0,5691,832,0, 1487P 1033
+0; 1487P 1034
+508,4,0,5691,833,0,0,0,5691,832,1,0,0,5691,834,0,0,0,5691,835,0, 1489P 1035
+0; 1489P 1036
+508,4,0,5691,836,0,0,0,5691,835,1,0,0,5691,837,0,0,0,5691,838,0, 1491P 1037
+0; 1491P 1038
+508,4,0,5691,839,0,0,0,5691,838,1,0,0,5691,840,0,0,0,5691,841,0, 1493P 1039
+0; 1493P 1040
+508,4,0,5691,842,0,0,0,5691,841,1,0,0,5691,843,0,0,0,5691,844,0, 1495P 1041
+0; 1495P 1042
+508,4,0,5691,845,0,0,0,5691,844,1,0,0,5691,846,0,0,0,5691,847,0, 1497P 1043
+0; 1497P 1044
+508,4,0,5691,848,0,0,0,5691,847,1,0,0,5691,849,0,0,0,5691,850,0, 1499P 1045
+0; 1499P 1046
+508,4,0,5691,851,0,0,0,5691,850,1,0,0,5691,852,0,0,0,5691,818,0, 1501P 1047
+0; 1501P 1048
+508,4,0,5691,853,0,0,0,5691,854,1,0,0,5691,855,0,0,0,5691,856,0, 1503P 1049
+0; 1503P 1050
+508,4,0,5691,857,0,0,0,5691,856,1,0,0,5691,858,0,0,0,5691,859,0, 1505P 1051
+0; 1505P 1052
+508,4,0,5691,860,0,0,0,5691,859,1,0,0,5691,861,0,0,0,5691,862,0, 1507P 1053
+0; 1507P 1054
+508,4,0,5691,863,0,0,0,5691,862,1,0,0,5691,864,0,0,0,5691,865,0, 1509P 1055
+0; 1509P 1056
+508,4,0,5691,866,0,0,0,5691,865,1,0,0,5691,867,0,0,0,5691,868,0, 1511P 1057
+0; 1511P 1058
+508,4,0,5691,869,0,0,0,5691,868,1,0,0,5691,870,0,0,0,5691,871,0, 1513P 1059
+0; 1513P 1060
+508,4,0,5691,872,0,0,0,5691,871,1,0,0,5691,873,0,0,0,5691,874,0, 1515P 1061
+0; 1515P 1062
+508,4,0,5691,875,0,0,0,5691,874,1,0,0,5691,876,0,0,0,5691,877,0, 1517P 1063
+0; 1517P 1064
+508,4,0,5691,878,0,0,0,5691,877,1,0,0,5691,879,0,0,0,5691,880,0, 1519P 1065
+0; 1519P 1066
+508,4,0,5691,881,0,0,0,5691,880,1,0,0,5691,882,0,0,0,5691,883,0, 1521P 1067
+0; 1521P 1068
+508,4,0,5691,884,0,0,0,5691,883,1,0,0,5691,885,0,0,0,5691,886,0, 1523P 1069
+0; 1523P 1070
+508,4,0,5691,887,0,0,0,5691,886,1,0,0,5691,888,0,0,0,5691,854,0, 1525P 1071
+0; 1525P 1072
+508,4,0,5691,889,1,0,0,5691,890,1,0,0,5691,891,0,0,0,5691,892,0, 1527P 1073
+0; 1527P 1074
+508,4,0,5691,893,1,0,0,5691,892,1,0,0,5691,894,0,0,0,5691,895,0, 1529P 1075
+0; 1529P 1076
+508,4,0,5691,896,1,0,0,5691,895,1,0,0,5691,897,0,0,0,5691,898,0, 1531P 1077
+0; 1531P 1078
+508,4,0,5691,899,1,0,0,5691,898,1,0,0,5691,900,0,0,0,5691,901,0, 1533P 1079
+0; 1533P 1080
+508,4,0,5691,902,1,0,0,5691,901,1,0,0,5691,903,0,0,0,5691,904,0, 1535P 1081
+0; 1535P 1082
+508,4,0,5691,905,1,0,0,5691,904,1,0,0,5691,906,0,0,0,5691,907,0, 1537P 1083
+0; 1537P 1084
+508,4,0,5691,908,1,0,0,5691,907,1,0,0,5691,909,0,0,0,5691,910,0, 1539P 1085
+0; 1539P 1086
+508,4,0,5691,911,1,0,0,5691,910,1,0,0,5691,912,0,0,0,5691,913,0, 1541P 1087
+0; 1541P 1088
+508,4,0,5691,914,1,0,0,5691,913,1,0,0,5691,915,0,0,0,5691,890,0, 1543P 1089
+0; 1543P 1090
+508,9,0,5691,915,1,0,0,5691,912,1,0,0,5691,909,1,0,0,5691,906,1, 1545P 1091
+0,0,5691,903,1,0,0,5691,900,1,0,0,5691,897,1,0,0,5691,894,1,0,0, 1545P 1092
+5691,891,1,0; 1545P 1093
+508,12,0,5691,888,1,0,0,5691,885,1,0,0,5691,882,1,0,0,5691,879, 1547P 1094
+1,0,0,5691,876,1,0,0,5691,873,1,0,0,5691,870,1,0,0,5691,867,1,0, 1547P 1095
+0,5691,864,1,0,0,5691,861,1,0,0,5691,858,1,0,0,5691,855,1,0; 1547P 1096
+508,12,0,5691,852,1,0,0,5691,849,1,0,0,5691,846,1,0,0,5691,843, 1549P 1097
+1,0,0,5691,840,1,0,0,5691,837,1,0,0,5691,834,1,0,0,5691,831,1,0, 1549P 1098
+0,5691,828,1,0,0,5691,825,1,0,0,5691,822,1,0,0,5691,819,1,0; 1549P 1099
+508,12,0,5691,816,1,0,0,5691,813,1,0,0,5691,810,1,0,0,5691,807, 1551P 1100
+1,0,0,5691,804,1,0,0,5691,801,1,0,0,5691,798,1,0,0,5691,795,1,0, 1551P 1101
+0,5691,792,1,0,0,5691,789,1,0,0,5691,786,1,0,0,5691,783,1,0; 1551P 1102
+508,12,0,5691,780,1,0,0,5691,777,1,0,0,5691,774,1,0,0,5691,771, 1553P 1103
+1,0,0,5691,768,1,0,0,5691,765,1,0,0,5691,762,1,0,0,5691,759,1,0, 1553P 1104
+0,5691,756,1,0,0,5691,753,1,0,0,5691,750,1,0,0,5691,747,1,0; 1553P 1105
+508,12,0,5691,744,1,0,0,5691,741,1,0,0,5691,738,1,0,0,5691,735, 1555P 1106
+1,0,0,5691,732,1,0,0,5691,729,1,0,0,5691,726,1,0,0,5691,723,1,0, 1555P 1107
+0,5691,720,1,0,0,5691,717,1,0,0,5691,714,1,0,0,5691,711,1,0; 1555P 1108
+508,12,0,5691,708,1,0,0,5691,705,1,0,0,5691,702,1,0,0,5691,699, 1557P 1109
+1,0,0,5691,696,1,0,0,5691,693,1,0,0,5691,690,1,0,0,5691,687,1,0, 1557P 1110
+0,5691,684,1,0,0,5691,681,1,0,0,5691,678,1,0,0,5691,675,1,0; 1557P 1111
+508,12,0,5691,672,1,0,0,5691,669,1,0,0,5691,666,1,0,0,5691,663, 1559P 1112
+1,0,0,5691,660,1,0,0,5691,657,1,0,0,5691,654,1,0,0,5691,651,1,0, 1559P 1113
+0,5691,648,1,0,0,5691,645,1,0,0,5691,642,1,0,0,5691,639,1,0; 1559P 1114
+508,12,0,5691,636,1,0,0,5691,633,1,0,0,5691,630,1,0,0,5691,627, 1561P 1115
+1,0,0,5691,624,1,0,0,5691,621,1,0,0,5691,618,1,0,0,5691,615,1,0, 1561P 1116
+0,5691,612,1,0,0,5691,609,1,0,0,5691,606,1,0,0,5691,603,1,0; 1561P 1117
+508,12,0,5691,600,1,0,0,5691,597,1,0,0,5691,594,1,0,0,5691,591, 1563P 1118
+1,0,0,5691,588,1,0,0,5691,585,1,0,0,5691,582,1,0,0,5691,579,1,0, 1563P 1119
+0,5691,576,1,0,0,5691,573,1,0,0,5691,570,1,0,0,5691,567,1,0; 1563P 1120
+508,12,0,5691,564,1,0,0,5691,561,1,0,0,5691,558,1,0,0,5691,555, 1565P 1121
+1,0,0,5691,552,1,0,0,5691,549,1,0,0,5691,546,1,0,0,5691,543,1,0, 1565P 1122
+0,5691,540,1,0,0,5691,537,1,0,0,5691,534,1,0,0,5691,531,1,0; 1565P 1123
+508,12,0,5691,528,1,0,0,5691,525,1,0,0,5691,522,1,0,0,5691,519, 1567P 1124
+1,0,0,5691,516,1,0,0,5691,513,1,0,0,5691,510,1,0,0,5691,507,1,0, 1567P 1125
+0,5691,504,1,0,0,5691,501,1,0,0,5691,498,1,0,0,5691,495,1,0; 1567P 1126
+508,12,0,5691,492,1,0,0,5691,489,1,0,0,5691,486,1,0,0,5691,483, 1569P 1127
+1,0,0,5691,480,1,0,0,5691,477,1,0,0,5691,474,1,0,0,5691,471,1,0, 1569P 1128
+0,5691,468,1,0,0,5691,465,1,0,0,5691,462,1,0,0,5691,459,1,0; 1569P 1129
+508,12,0,5691,456,1,0,0,5691,453,1,0,0,5691,450,1,0,0,5691,447, 1571P 1130
+1,0,0,5691,444,1,0,0,5691,441,1,0,0,5691,438,1,0,0,5691,435,1,0, 1571P 1131
+0,5691,432,1,0,0,5691,429,1,0,0,5691,426,1,0,0,5691,423,1,0; 1571P 1132
+508,12,0,5691,420,1,0,0,5691,417,1,0,0,5691,414,1,0,0,5691,411, 1573P 1133
+1,0,0,5691,408,1,0,0,5691,405,1,0,0,5691,402,1,0,0,5691,399,1,0, 1573P 1134
+0,5691,396,1,0,0,5691,393,1,0,0,5691,390,1,0,0,5691,387,1,0; 1573P 1135
+508,12,0,5691,384,1,0,0,5691,381,1,0,0,5691,378,1,0,0,5691,375, 1575P 1136
+1,0,0,5691,372,1,0,0,5691,369,1,0,0,5691,366,1,0,0,5691,363,1,0, 1575P 1137
+0,5691,360,1,0,0,5691,357,1,0,0,5691,354,1,0,0,5691,351,1,0; 1575P 1138
+508,12,0,5691,348,1,0,0,5691,345,1,0,0,5691,342,1,0,0,5691,339, 1577P 1139
+1,0,0,5691,336,1,0,0,5691,333,1,0,0,5691,330,1,0,0,5691,327,1,0, 1577P 1140
+0,5691,324,1,0,0,5691,321,1,0,0,5691,318,1,0,0,5691,315,1,0; 1577P 1141
+508,12,0,5691,312,1,0,0,5691,309,1,0,0,5691,306,1,0,0,5691,303, 1579P 1142
+1,0,0,5691,300,1,0,0,5691,297,1,0,0,5691,294,1,0,0,5691,291,1,0, 1579P 1143
+0,5691,288,1,0,0,5691,285,1,0,0,5691,282,1,0,0,5691,279,1,0; 1579P 1144
+508,12,0,5691,276,1,0,0,5691,273,1,0,0,5691,270,1,0,0,5691,267, 1581P 1145
+1,0,0,5691,264,1,0,0,5691,261,1,0,0,5691,258,1,0,0,5691,255,1,0, 1581P 1146
+0,5691,252,1,0,0,5691,249,1,0,0,5691,246,1,0,0,5691,243,1,0; 1581P 1147
+508,12,0,5691,240,1,0,0,5691,237,1,0,0,5691,234,1,0,0,5691,231, 1583P 1148
+1,0,0,5691,228,1,0,0,5691,225,1,0,0,5691,222,1,0,0,5691,219,1,0, 1583P 1149
+0,5691,216,1,0,0,5691,213,1,0,0,5691,210,1,0,0,5691,207,1,0; 1583P 1150
+508,12,0,5691,204,1,0,0,5691,201,1,0,0,5691,198,1,0,0,5691,195, 1585P 1151
+1,0,0,5691,192,1,0,0,5691,189,1,0,0,5691,186,1,0,0,5691,183,1,0, 1585P 1152
+0,5691,180,1,0,0,5691,177,1,0,0,5691,174,1,0,0,5691,171,1,0; 1585P 1153
+508,12,0,5691,168,1,0,0,5691,165,1,0,0,5691,162,1,0,0,5691,159, 1587P 1154
+1,0,0,5691,156,1,0,0,5691,153,1,0,0,5691,150,1,0,0,5691,147,1,0, 1587P 1155
+0,5691,144,1,0,0,5691,141,1,0,0,5691,138,1,0,0,5691,135,1,0; 1587P 1156
+508,12,0,5691,132,1,0,0,5691,129,1,0,0,5691,126,1,0,0,5691,123, 1589P 1157
+1,0,0,5691,120,1,0,0,5691,117,1,0,0,5691,114,1,0,0,5691,111,1,0, 1589P 1158
+0,5691,108,1,0,0,5691,105,1,0,0,5691,102,1,0,0,5691,99,1,0; 1589P 1159
+508,12,0,5691,96,1,0,0,5691,93,1,0,0,5691,90,1,0,0,5691,87,1,0, 1591P 1160
+0,5691,84,1,0,0,5691,81,1,0,0,5691,78,1,0,0,5691,75,1,0,0,5691, 1591P 1161
+72,1,0,0,5691,69,1,0,0,5691,66,1,0,0,5691,63,1,0; 1591P 1162
+508,12,0,5691,60,1,0,0,5691,57,1,0,0,5691,54,1,0,0,5691,51,1,0, 1593P 1163
+0,5691,48,1,0,0,5691,45,1,0,0,5691,42,1,0,0,5691,39,1,0,0,5691, 1593P 1164
+36,1,0,0,5691,33,1,0,0,5691,30,1,0,0,5691,27,1,0; 1593P 1165
+508,2,0,5691,24,1,0,0,5691,21,1,0; 1595P 1166
+508,2,0,5691,18,1,0,0,5691,15,1,0; 1597P 1167
+508,2,0,5691,12,1,0,0,5691,9,1,0; 1599P 1168
+508,2,0,5691,6,1,0,0,5691,3,1,0; 1601P 1169
+508,9,0,5691,914,0,0,0,5691,889,0,0,0,5691,893,0,0,0,5691,896,0, 1603P 1170
+0,0,5691,899,0,0,0,5691,902,0,0,0,5691,905,0,0,0,5691,908,0,0,0, 1603P 1171
+5691,911,0,0; 1603P 1172
+508,12,0,5691,887,1,0,0,5691,853,1,0,0,5691,857,1,0,0,5691,860, 1605P 1173
+1,0,0,5691,863,1,0,0,5691,866,1,0,0,5691,869,1,0,0,5691,872,1,0, 1605P 1174
+0,5691,875,1,0,0,5691,878,1,0,0,5691,881,1,0,0,5691,884,1,0; 1605P 1175
+508,12,0,5691,851,1,0,0,5691,817,1,0,0,5691,821,1,0,0,5691,824, 1607P 1176
+1,0,0,5691,827,1,0,0,5691,830,1,0,0,5691,833,1,0,0,5691,836,1,0, 1607P 1177
+0,5691,839,1,0,0,5691,842,1,0,0,5691,845,1,0,0,5691,848,1,0; 1607P 1178
+508,12,0,5691,815,1,0,0,5691,781,1,0,0,5691,785,1,0,0,5691,788, 1609P 1179
+1,0,0,5691,791,1,0,0,5691,794,1,0,0,5691,797,1,0,0,5691,800,1,0, 1609P 1180
+0,5691,803,1,0,0,5691,806,1,0,0,5691,809,1,0,0,5691,812,1,0; 1609P 1181
+508,12,0,5691,779,1,0,0,5691,745,1,0,0,5691,749,1,0,0,5691,752, 1611P 1182
+1,0,0,5691,755,1,0,0,5691,758,1,0,0,5691,761,1,0,0,5691,764,1,0, 1611P 1183
+0,5691,767,1,0,0,5691,770,1,0,0,5691,773,1,0,0,5691,776,1,0; 1611P 1184
+508,12,0,5691,743,1,0,0,5691,709,1,0,0,5691,713,1,0,0,5691,716, 1613P 1185
+1,0,0,5691,719,1,0,0,5691,722,1,0,0,5691,725,1,0,0,5691,728,1,0, 1613P 1186
+0,5691,731,1,0,0,5691,734,1,0,0,5691,737,1,0,0,5691,740,1,0; 1613P 1187
+508,12,0,5691,707,1,0,0,5691,673,1,0,0,5691,677,1,0,0,5691,680, 1615P 1188
+1,0,0,5691,683,1,0,0,5691,686,1,0,0,5691,689,1,0,0,5691,692,1,0, 1615P 1189
+0,5691,695,1,0,0,5691,698,1,0,0,5691,701,1,0,0,5691,704,1,0; 1615P 1190
+508,12,0,5691,671,1,0,0,5691,637,1,0,0,5691,641,1,0,0,5691,644, 1617P 1191
+1,0,0,5691,647,1,0,0,5691,650,1,0,0,5691,653,1,0,0,5691,656,1,0, 1617P 1192
+0,5691,659,1,0,0,5691,662,1,0,0,5691,665,1,0,0,5691,668,1,0; 1617P 1193
+508,12,0,5691,635,1,0,0,5691,601,1,0,0,5691,605,1,0,0,5691,608, 1619P 1194
+1,0,0,5691,611,1,0,0,5691,614,1,0,0,5691,617,1,0,0,5691,620,1,0, 1619P 1195
+0,5691,623,1,0,0,5691,626,1,0,0,5691,629,1,0,0,5691,632,1,0; 1619P 1196
+508,12,0,5691,599,1,0,0,5691,565,1,0,0,5691,569,1,0,0,5691,572, 1621P 1197
+1,0,0,5691,575,1,0,0,5691,578,1,0,0,5691,581,1,0,0,5691,584,1,0, 1621P 1198
+0,5691,587,1,0,0,5691,590,1,0,0,5691,593,1,0,0,5691,596,1,0; 1621P 1199
+508,12,0,5691,563,1,0,0,5691,529,1,0,0,5691,533,1,0,0,5691,536, 1623P 1200
+1,0,0,5691,539,1,0,0,5691,542,1,0,0,5691,545,1,0,0,5691,548,1,0, 1623P 1201
+0,5691,551,1,0,0,5691,554,1,0,0,5691,557,1,0,0,5691,560,1,0; 1623P 1202
+508,12,0,5691,527,1,0,0,5691,493,1,0,0,5691,497,1,0,0,5691,500, 1625P 1203
+1,0,0,5691,503,1,0,0,5691,506,1,0,0,5691,509,1,0,0,5691,512,1,0, 1625P 1204
+0,5691,515,1,0,0,5691,518,1,0,0,5691,521,1,0,0,5691,524,1,0; 1625P 1205
+508,12,0,5691,491,1,0,0,5691,457,1,0,0,5691,461,1,0,0,5691,464, 1627P 1206
+1,0,0,5691,467,1,0,0,5691,470,1,0,0,5691,473,1,0,0,5691,476,1,0, 1627P 1207
+0,5691,479,1,0,0,5691,482,1,0,0,5691,485,1,0,0,5691,488,1,0; 1627P 1208
+508,12,0,5691,455,1,0,0,5691,421,1,0,0,5691,425,1,0,0,5691,428, 1629P 1209
+1,0,0,5691,431,1,0,0,5691,434,1,0,0,5691,437,1,0,0,5691,440,1,0, 1629P 1210
+0,5691,443,1,0,0,5691,446,1,0,0,5691,449,1,0,0,5691,452,1,0; 1629P 1211
+508,12,0,5691,419,1,0,0,5691,385,1,0,0,5691,389,1,0,0,5691,392, 1631P 1212
+1,0,0,5691,395,1,0,0,5691,398,1,0,0,5691,401,1,0,0,5691,404,1,0, 1631P 1213
+0,5691,407,1,0,0,5691,410,1,0,0,5691,413,1,0,0,5691,416,1,0; 1631P 1214
+508,12,0,5691,383,1,0,0,5691,349,1,0,0,5691,353,1,0,0,5691,356, 1633P 1215
+1,0,0,5691,359,1,0,0,5691,362,1,0,0,5691,365,1,0,0,5691,368,1,0, 1633P 1216
+0,5691,371,1,0,0,5691,374,1,0,0,5691,377,1,0,0,5691,380,1,0; 1633P 1217
+508,12,0,5691,347,1,0,0,5691,313,1,0,0,5691,317,1,0,0,5691,320, 1635P 1218
+1,0,0,5691,323,1,0,0,5691,326,1,0,0,5691,329,1,0,0,5691,332,1,0, 1635P 1219
+0,5691,335,1,0,0,5691,338,1,0,0,5691,341,1,0,0,5691,344,1,0; 1635P 1220
+508,12,0,5691,311,1,0,0,5691,277,1,0,0,5691,281,1,0,0,5691,284, 1637P 1221
+1,0,0,5691,287,1,0,0,5691,290,1,0,0,5691,293,1,0,0,5691,296,1,0, 1637P 1222
+0,5691,299,1,0,0,5691,302,1,0,0,5691,305,1,0,0,5691,308,1,0; 1637P 1223
+508,12,0,5691,275,1,0,0,5691,241,1,0,0,5691,245,1,0,0,5691,248, 1639P 1224
+1,0,0,5691,251,1,0,0,5691,254,1,0,0,5691,257,1,0,0,5691,260,1,0, 1639P 1225
+0,5691,263,1,0,0,5691,266,1,0,0,5691,269,1,0,0,5691,272,1,0; 1639P 1226
+508,12,0,5691,239,1,0,0,5691,205,1,0,0,5691,209,1,0,0,5691,212, 1641P 1227
+1,0,0,5691,215,1,0,0,5691,218,1,0,0,5691,221,1,0,0,5691,224,1,0, 1641P 1228
+0,5691,227,1,0,0,5691,230,1,0,0,5691,233,1,0,0,5691,236,1,0; 1641P 1229
+508,12,0,5691,203,1,0,0,5691,169,1,0,0,5691,173,1,0,0,5691,176, 1643P 1230
+1,0,0,5691,179,1,0,0,5691,182,1,0,0,5691,185,1,0,0,5691,188,1,0, 1643P 1231
+0,5691,191,1,0,0,5691,194,1,0,0,5691,197,1,0,0,5691,200,1,0; 1643P 1232
+508,12,0,5691,167,1,0,0,5691,133,1,0,0,5691,137,1,0,0,5691,140, 1645P 1233
+1,0,0,5691,143,1,0,0,5691,146,1,0,0,5691,149,1,0,0,5691,152,1,0, 1645P 1234
+0,5691,155,1,0,0,5691,158,1,0,0,5691,161,1,0,0,5691,164,1,0; 1645P 1235
+508,12,0,5691,131,1,0,0,5691,97,1,0,0,5691,101,1,0,0,5691,104,1, 1647P 1236
+0,0,5691,107,1,0,0,5691,110,1,0,0,5691,113,1,0,0,5691,116,1,0,0, 1647P 1237
+5691,119,1,0,0,5691,122,1,0,0,5691,125,1,0,0,5691,128,1,0; 1647P 1238
+508,12,0,5691,95,1,0,0,5691,61,1,0,0,5691,65,1,0,0,5691,68,1,0, 1649P 1239
+0,5691,71,1,0,0,5691,74,1,0,0,5691,77,1,0,0,5691,80,1,0,0,5691, 1649P 1240
+83,1,0,0,5691,86,1,0,0,5691,89,1,0,0,5691,92,1,0; 1649P 1241
+508,12,0,5691,59,1,0,0,5691,25,1,0,0,5691,29,1,0,0,5691,32,1,0, 1651P 1242
+0,5691,35,1,0,0,5691,38,1,0,0,5691,41,1,0,0,5691,44,1,0,0,5691, 1651P 1243
+47,1,0,0,5691,50,1,0,0,5691,53,1,0,0,5691,56,1,0; 1651P 1244
+508,2,0,5691,23,0,0,0,5691,19,0,0; 1653P 1245
+508,2,0,5691,17,0,0,0,5691,13,0,0; 1655P 1246
+508,2,0,5691,11,0,0,0,5691,7,0,0; 1657P 1247
+508,2,0,5691,5,0,0,0,5691,1,0,0; 1659P 1248
+508,4,0,5693,1,0,0,0,5693,2,1,0,0,5693,3,1,0,0,5693,4,0,0; 1661P 1249
+508,4,0,5693,5,0,0,0,5693,6,1,0,0,5693,7,1,0,0,5693,2,0,0; 1663P 1250
+508,4,0,5693,8,0,0,0,5693,9,1,0,0,5693,10,1,0,0,5693,6,0,0; 1665P 1251
+508,4,0,5693,11,0,0,0,5693,12,1,0,0,5693,13,1,0,0,5693,9,0,0; 1667P 1252
+508,4,0,5693,14,0,0,0,5693,15,1,0,0,5693,16,1,0,0,5693,12,0,0; 1669P 1253
+508,4,0,5693,17,0,0,0,5693,4,1,0,0,5693,18,1,0,0,5693,15,0,0; 1671P 1254
+508,6,0,5693,18,0,0,0,5693,3,0,0,0,5693,7,0,0,0,5693,10,0,0,0, 1673P 1255
+5693,13,0,0,0,5693,16,0,0; 1673P 1256
+508,4,0,5693,19,0,0,0,5693,20,1,0,0,5693,21,0,0,0,5693,22,0,0; 1675P 1257
+508,4,0,5693,23,0,0,0,5693,22,1,0,0,5693,24,0,0,0,5693,20,0,0; 1677P 1258
+508,4,0,5693,25,0,0,0,5693,26,1,0,0,5693,27,0,0,0,5693,28,0,0; 1679P 1259
+508,4,0,5693,29,0,0,0,5693,28,1,0,0,5693,30,0,0,0,5693,26,0,0; 1681P 1260
+508,4,0,5693,31,0,0,0,5693,32,0,0,0,5693,33,1,0,0,5693,34,0,0; 1683P 1261
+508,4,0,5693,35,1,0,0,5693,36,1,0,0,5693,37,1,0,0,5693,38,1,0; 1685P 1262
+508,4,0,5693,39,1,0,0,5693,40,1,0,0,5693,41,0,0,0,5693,42,1,0; 1687P 1263
+508,4,0,5693,43,1,0,0,5693,44,0,0,0,5693,45,1,0,0,5693,46,0,0; 1689P 1264
+508,6,0,5693,47,1,0,0,5693,42,0,0,0,5693,48,0,0,0,5693,31,1,0,0, 1691P 1265
+5693,49,0,0,0,5693,50,0,0; 1691P 1266
+508,4,0,5693,51,1,0,0,5693,38,0,0,0,5693,52,1,0,0,5693,53,0,0; 1693P 1267
+508,4,0,5693,54,1,0,0,5693,55,1,0,0,5693,56,1,0,0,5693,44,1,0; 1695P 1268
+508,4,0,5693,57,1,0,0,5693,58,1,0,0,5693,59,1,0,0,5693,60,1,0; 1697P 1269
+508,4,0,5693,61,1,0,0,5693,62,0,0,0,5693,63,1,0,0,5693,64,0,0; 1699P 1270
+508,4,0,5693,65,1,0,0,5693,66,0,0,0,5693,67,1,0,0,5693,58,0,0; 1701P 1271
+508,4,0,5693,68,0,0,0,5693,69,1,0,0,5693,70,0,0,0,5693,71,0,0; 1703P 1272
+508,4,0,5693,72,0,0,0,5693,71,1,0,0,5693,73,0,0,0,5693,69,0,0; 1705P 1273
+508,4,0,5693,74,0,0,0,5693,75,1,0,0,5693,76,0,0,0,5693,77,0,0; 1707P 1274
+508,4,0,5693,78,0,0,0,5693,77,1,0,0,5693,79,0,0,0,5693,75,0,0; 1709P 1275
+508,4,0,5693,80,0,0,0,5693,81,1,0,0,5693,82,0,0,0,5693,83,0,0; 1711P 1276
+508,4,0,5693,84,0,0,0,5693,83,1,0,0,5693,85,0,0,0,5693,81,0,0; 1713P 1277
+508,4,0,5693,86,0,0,0,5693,87,1,0,0,5693,88,0,0,0,5693,89,0,0; 1715P 1278
+508,4,0,5693,90,0,0,0,5693,89,1,0,0,5693,91,0,0,0,5693,87,0,0; 1717P 1279
+508,4,0,5693,92,0,0,0,5693,93,1,0,0,5693,94,0,0,0,5693,95,0,0; 1719P 1280
+508,7,0,5693,59,0,0,0,5693,67,0,0,0,5693,96,1,0,0,5693,97,1,0,0, 1721P 1281
+5693,98,0,0,0,5693,99,0,0,0,5693,93,0,0; 1721P 1282
+508,20,0,5693,100,0,0,0,5693,101,0,0,0,5693,102,0,0,0,5693,60,0, 1723P 1283
+0,0,5693,92,1,0,0,5693,103,0,0,0,5693,104,1,0,0,5693,105,1,0,0, 1723P 1284
+5693,106,1,0,0,5693,107,0,0,0,5693,108,1,0,0,5693,55,0,0,0,5693, 1723P 1285
+109,0,0,0,5693,110,0,0,0,5693,33,0,0,0,5693,111,0,0,0,5693,40,0, 1723P 1286
+0,0,5693,112,0,0,0,5693,36,0,0,0,5693,113,0,0; 1723P 1287
+508,6,0,5693,1,1,0,0,5693,17,1,0,0,5693,14,1,0,0,5693,11,1,0,0, 1725P 1288
+5693,8,1,0,0,5693,5,1,0; 1725P 1289
+508,2,0,5693,23,1,0,0,5693,19,1,0; 1727P 1290
+508,2,0,5693,29,1,0,0,5693,25,1,0; 1729P 1291
+508,2,0,5693,72,1,0,0,5693,68,1,0; 1731P 1292
+508,2,0,5693,78,1,0,0,5693,74,1,0; 1733P 1293
+508,2,0,5693,84,1,0,0,5693,80,1,0; 1735P 1294
+508,2,0,5693,90,1,0,0,5693,86,1,0; 1737P 1295
+508,4,0,5693,108,0,0,0,5693,114,1,0,0,5693,115,0,0,0,5693,116,0, 1739P 1296
+0; 1739P 1297
+508,7,0,5693,117,0,0,0,5693,118,0,0,0,5693,119,1,0,0,5693,120,1, 1741P 1298
+0,0,5693,121,0,0,0,5693,122,0,0,0,5693,114,0,0; 1741P 1299
+508,4,0,5693,123,0,0,0,5693,120,0,0,0,5693,124,0,0,0,5693,125,1, 1743P 1300
+0; 1743P 1301
+508,4,0,5693,126,0,0,0,5693,97,0,0,0,5693,127,0,0,0,5693,128,1, 1745P 1302
+0; 1745P 1303
+508,12,0,5693,124,1,0,0,5693,119,0,0,0,5693,129,1,0,0,5693,130, 1747P 1304
+0,0,0,5693,127,1,0,0,5693,96,0,0,0,5693,66,1,0,0,5693,131,0,0,0, 1747P 1305
+5693,132,0,0,0,5693,133,1,0,0,5693,46,1,0,0,5693,134,0,0; 1747P 1306
+508,7,0,5693,116,1,0,0,5693,135,0,0,0,5693,136,0,0,0,5693,125,0, 1749P 1307
+0,0,5693,134,1,0,0,5693,45,0,0,0,5693,56,0,0; 1749P 1308
+508,7,0,5693,95,1,0,0,5693,137,0,0,0,5693,138,0,0,0,5693,128,0, 1751P 1309
+0,0,5693,130,1,0,0,5693,139,0,0,0,5693,140,0,0; 1751P 1310
+508,4,0,5693,117,1,0,0,5693,107,1,0,0,5693,141,1,0,0,5693,142,1, 1753P 1311
+0; 1753P 1312
+508,8,0,5693,118,1,0,0,5693,142,0,0,0,5693,143,1,0,0,5693,144,1, 1755P 1313
+0,0,5693,145,1,0,0,5693,146,0,0,0,5693,139,1,0,0,5693,129,0,0; 1755P 1314
+508,4,0,5693,104,0,0,0,5693,147,0,0,0,5693,145,0,0,0,5693,148,0, 1757P 1315
+0; 1757P 1316
+508,4,0,5693,105,0,0,0,5693,148,1,0,0,5693,144,0,0,0,5693,149,0, 1759P 1317
+0; 1759P 1318
+508,4,0,5693,106,0,0,0,5693,149,1,0,0,5693,143,0,0,0,5693,141,0, 1761P 1319
+0; 1761P 1320
+508,4,0,5693,150,1,0,0,5693,64,1,0,0,5693,151,1,0,0,5693,100,1, 1763P 1321
+0; 1763P 1322
+508,4,0,5693,140,1,0,0,5693,146,1,0,0,5693,147,1,0,0,5693,103,1, 1765P 1323
+0; 1765P 1324
+508,4,0,5693,32,1,0,0,5693,48,1,0,0,5693,41,1,0,0,5693,111,1,0; 1767P 1325
+508,6,0,5693,152,0,0,0,5693,153,1,0,0,5693,49,1,0,0,5693,34,1,0, 1769P 1326
+0,5693,110,1,0,0,5693,154,0,0; 1769P 1327
+508,4,0,5693,155,0,0,0,5693,156,1,0,0,5693,50,1,0,0,5693,153,0, 1771P 1328
+0; 1771P 1329
+508,8,0,5693,157,0,0,0,5693,158,1,0,0,5693,52,0,0,0,5693,37,0,0, 1773P 1330
+0,5693,112,1,0,0,5693,39,0,0,0,5693,47,0,0,0,5693,156,0,0; 1773P 1331
+508,4,0,5693,159,0,0,0,5693,160,1,0,0,5693,53,1,0,0,5693,158,0, 1775P 1332
+0; 1775P 1333
+508,8,0,5693,161,0,0,0,5693,162,1,0,0,5693,61,0,0,0,5693,150,0, 1777P 1334
+0,0,5693,113,1,0,0,5693,35,0,0,0,5693,51,0,0,0,5693,160,0,0; 1777P 1335
+508,4,0,5693,163,0,0,0,5693,164,1,0,0,5693,62,1,0,0,5693,162,0, 1779P 1336
+0; 1779P 1337
+508,9,0,5693,165,0,0,0,5693,131,1,0,0,5693,65,0,0,0,5693,57,0,0, 1781P 1338
+0,5693,102,1,0,0,5693,101,1,0,0,5693,151,0,0,0,5693,63,0,0,0, 1781P 1339
+5693,164,0,0; 1781P 1340
+508,6,0,5693,166,0,0,0,5693,154,1,0,0,5693,109,1,0,0,5693,54,0, 1783P 1341
+0,0,5693,43,0,0,0,5693,133,0,0; 1783P 1342
+508,9,0,5693,167,1,0,0,5693,168,1,0,0,5693,169,1,0,0,5693,170,1, 1785P 1343
+0,0,5693,171,1,0,0,5693,172,1,0,0,5693,173,1,0,0,5693,174,1,0,0, 1785P 1344
+5693,175,1,0; 1785P 1345
+508,9,0,5693,152,1,0,0,5693,166,1,0,0,5693,132,1,0,0,5693,165,1, 1787P 1346
+0,0,5693,163,1,0,0,5693,161,1,0,0,5693,159,1,0,0,5693,157,1,0,0, 1787P 1347
+5693,155,1,0; 1787P 1348
+508,4,0,5693,168,0,0,0,5693,176,1,0,0,5693,177,0,0,0,5693,178,0, 1789P 1349
+0; 1789P 1350
+508,4,0,5693,169,0,0,0,5693,178,1,0,0,5693,179,0,0,0,5693,180,0, 1791P 1351
+0; 1791P 1352
+508,4,0,5693,170,0,0,0,5693,180,1,0,0,5693,181,0,0,0,5693,182,0, 1793P 1353
+0; 1793P 1354
+508,4,0,5693,171,0,0,0,5693,182,1,0,0,5693,183,0,0,0,5693,184,0, 1795P 1355
+0; 1795P 1356
+508,4,0,5693,172,0,0,0,5693,184,1,0,0,5693,185,0,0,0,5693,186,0, 1797P 1357
+0; 1797P 1358
+508,4,0,5693,173,0,0,0,5693,186,1,0,0,5693,187,0,0,0,5693,188,0, 1799P 1359
+0; 1799P 1360
+508,4,0,5693,174,0,0,0,5693,188,1,0,0,5693,189,0,0,0,5693,190,0, 1801P 1361
+0; 1801P 1362
+508,12,0,5693,98,1,0,0,5693,126,1,0,0,5693,138,1,0,0,5693,191,0, 1803P 1363
+0,0,5693,121,1,0,0,5693,123,1,0,0,5693,136,1,0,0,5693,192,0,0,0, 1803P 1364
+5693,193,0,0,0,5693,175,0,0,0,5693,190,1,0,0,5693,194,0,0; 1803P 1365
+508,4,0,5693,167,0,0,0,5693,193,1,0,0,5693,195,0,0,0,5693,176,0, 1805P 1366
+0; 1805P 1367
+508,17,0,5693,99,1,0,0,5693,194,1,0,0,5693,189,1,0,0,5693,187,1, 1807P 1368
+0,0,5693,185,1,0,0,5693,183,1,0,0,5693,181,1,0,0,5693,179,1,0,0, 1807P 1369
+5693,177,1,0,0,5693,195,1,0,0,5693,192,1,0,0,5693,135,1,0,0, 1807P 1370
+5693,115,1,0,0,5693,122,1,0,0,5693,191,1,0,0,5693,137,1,0,0, 1807P 1371
+5693,94,1,0; 1807P 1372
+508,2,0,5693,24,1,0,0,5693,21,1,0; 1809P 1373
+508,2,0,5693,30,1,0,0,5693,27,1,0; 1811P 1374
+508,2,0,5693,73,1,0,0,5693,70,1,0; 1813P 1375
+508,2,0,5693,79,1,0,0,5693,76,1,0; 1815P 1376
+508,2,0,5693,85,1,0,0,5693,82,1,0; 1817P 1377
+508,2,0,5693,91,1,0,0,5693,88,1,0; 1819P 1378
+508,4,0,5695,1,1,0,0,5695,2,1,0,0,5695,3,1,0,0,5695,4,1,0; 1821P 1379
+508,8,0,5695,5,1,0,0,5695,6,0,0,0,5695,7,1,0,0,5695,8,0,0,0, 1823P 1380
+5695,9,1,0,0,5695,10,1,0,0,5695,11,1,0,0,5695,2,0,0; 1823P 1381
+508,12,0,5695,12,1,0,0,5695,13,0,0,0,5695,14,1,0,0,5695,15,0,0, 1825P 1382
+0,5695,16,0,0,0,5695,17,1,0,0,5695,18,1,0,0,5695,19,0,0,0,5695, 1825P 1383
+20,1,0,0,5695,21,0,0,0,5695,6,1,0,0,5695,22,0,0; 1825P 1384
+508,7,0,5695,23,0,0,0,5695,24,0,0,0,5695,25,1,0,0,5695,19,1,0,0, 1827P 1385
+5695,26,0,0,0,5695,27,0,0,0,5695,28,0,0; 1827P 1386
+508,7,0,5695,29,0,0,0,5695,30,0,0,0,5695,31,1,0,0,5695,22,1,0,0, 1829P 1387
+5695,5,0,0,0,5695,1,0,0,0,5695,32,0,0; 1829P 1388
+508,4,0,5695,27,1,0,0,5695,33,1,0,0,5695,34,1,0,0,5695,35,1,0; 1831P 1389
+508,12,0,5695,36,1,0,0,5695,24,1,0,0,5695,37,0,0,0,5695,38,0,0, 1833P 1390
+0,5695,39,0,0,0,5695,40,1,0,0,5695,41,0,0,0,5695,42,1,0,0,5695, 1833P 1391
+43,1,0,0,5695,30,1,0,0,5695,44,0,0,0,5695,45,1,0; 1833P 1392
+508,17,0,5695,23,1,0,0,5695,46,1,0,0,5695,47,1,0,0,5695,44,1,0, 1835P 1393
+0,5695,29,1,0,0,5695,48,1,0,0,5695,49,1,0,0,5695,41,1,0,0,5695, 1835P 1394
+50,1,0,0,5695,51,1,0,0,5695,52,1,0,0,5695,53,1,0,0,5695,54,1,0, 1835P 1395
+0,5695,55,1,0,0,5695,56,1,0,0,5695,57,1,0,0,5695,37,1,0; 1835P 1396
+508,2,0,5695,58,1,0,0,5695,59,1,0; 1837P 1397
+508,2,0,5695,60,1,0,0,5695,61,1,0; 1839P 1398
+508,2,0,5695,62,1,0,0,5695,63,1,0; 1841P 1399
+508,2,0,5695,64,1,0,0,5695,65,1,0; 1843P 1400
+508,2,0,5695,66,1,0,0,5695,67,1,0; 1845P 1401
+508,2,0,5695,68,1,0,0,5695,69,1,0; 1847P 1402
+508,4,0,5695,70,0,0,0,5695,71,1,0,0,5695,72,1,0,0,5695,73,0,0; 1849P 1403
+508,4,0,5695,74,0,0,0,5695,75,1,0,0,5695,76,1,0,0,5695,71,0,0; 1851P 1404
+508,4,0,5695,77,0,0,0,5695,78,1,0,0,5695,79,1,0,0,5695,75,0,0; 1853P 1405
+508,4,0,5695,80,0,0,0,5695,81,1,0,0,5695,82,1,0,0,5695,78,0,0; 1855P 1406
+508,4,0,5695,83,0,0,0,5695,84,1,0,0,5695,85,1,0,0,5695,81,0,0; 1857P 1407
+508,4,0,5695,86,0,0,0,5695,87,1,0,0,5695,88,1,0,0,5695,84,0,0; 1859P 1408
+508,4,0,5695,89,0,0,0,5695,90,1,0,0,5695,91,1,0,0,5695,87,0,0; 1861P 1409
+508,4,0,5695,92,0,0,0,5695,93,1,0,0,5695,94,1,0,0,5695,90,0,0; 1863P 1410
+508,4,0,5695,95,0,0,0,5695,73,1,0,0,5695,96,1,0,0,5695,93,0,0; 1865P 1411
+508,4,0,5695,97,0,0,0,5695,98,1,0,0,5695,99,1,0,0,5695,100,0,0; 1867P 1412
+508,4,0,5695,101,0,0,0,5695,102,1,0,0,5695,103,1,0,0,5695,98,0, 1869P 1413
+0; 1869P 1414
+508,4,0,5695,104,0,0,0,5695,105,1,0,0,5695,106,1,0,0,5695,102,0, 1871P 1415
+0; 1871P 1416
+508,4,0,5695,107,0,0,0,5695,108,1,0,0,5695,109,1,0,0,5695,105,0, 1873P 1417
+0; 1873P 1418
+508,4,0,5695,110,0,0,0,5695,111,1,0,0,5695,112,1,0,0,5695,108,0, 1875P 1419
+0; 1875P 1420
+508,4,0,5695,113,0,0,0,5695,114,1,0,0,5695,115,1,0,0,5695,111,0, 1877P 1421
+0; 1877P 1422
+508,4,0,5695,116,0,0,0,5695,117,1,0,0,5695,118,1,0,0,5695,114,0, 1879P 1423
+0; 1879P 1424
+508,4,0,5695,119,0,0,0,5695,120,1,0,0,5695,121,1,0,0,5695,117,0, 1881P 1425
+0; 1881P 1426
+508,4,0,5695,122,0,0,0,5695,123,1,0,0,5695,124,1,0,0,5695,120,0, 1883P 1427
+0; 1883P 1428
+508,4,0,5695,125,0,0,0,5695,126,1,0,0,5695,127,1,0,0,5695,123,0, 1885P 1429
+0; 1885P 1430
+508,4,0,5695,128,0,0,0,5695,129,1,0,0,5695,130,1,0,0,5695,126,0, 1887P 1431
+0; 1887P 1432
+508,4,0,5695,131,0,0,0,5695,132,1,0,0,5695,133,1,0,0,5695,129,0, 1889P 1433
+0; 1889P 1434
+508,4,0,5695,134,0,0,0,5695,135,1,0,0,5695,136,1,0,0,5695,132,0, 1891P 1435
+0; 1891P 1436
+508,4,0,5695,137,0,0,0,5695,138,1,0,0,5695,139,1,0,0,5695,135,0, 1893P 1437
+0; 1893P 1438
+508,4,0,5695,140,0,0,0,5695,141,1,0,0,5695,142,1,0,0,5695,138,0, 1895P 1439
+0; 1895P 1440
+508,4,0,5695,143,0,0,0,5695,144,1,0,0,5695,145,1,0,0,5695,141,0, 1897P 1441
+0; 1897P 1442
+508,4,0,5695,146,0,0,0,5695,147,1,0,0,5695,148,1,0,0,5695,144,0, 1899P 1443
+0; 1899P 1444
+508,4,0,5695,149,0,0,0,5695,100,1,0,0,5695,150,1,0,0,5695,147,0, 1901P 1445
+0; 1901P 1446
+508,18,0,5695,150,0,0,0,5695,99,0,0,0,5695,103,0,0,0,5695,106,0, 1903P 1447
+0,0,5695,109,0,0,0,5695,112,0,0,0,5695,115,0,0,0,5695,118,0,0,0, 1903P 1448
+5695,121,0,0,0,5695,124,0,0,0,5695,127,0,0,0,5695,130,0,0,0, 1903P 1449
+5695,133,0,0,0,5695,136,0,0,0,5695,139,0,0,0,5695,142,0,0,0, 1903P 1450
+5695,145,0,0,0,5695,148,0,0; 1903P 1451
+508,9,0,5695,96,0,0,0,5695,72,0,0,0,5695,76,0,0,0,5695,79,0,0,0, 1905P 1452
+5695,82,0,0,0,5695,85,0,0,0,5695,88,0,0,0,5695,91,0,0,0,5695,94, 1905P 1453
+0,0; 1905P 1454
+508,20,0,5695,151,0,0,0,5695,152,0,0,0,5695,153,0,0,0,5695,154, 1907P 1455
+0,0,0,5695,155,1,0,0,5695,4,0,0,0,5695,156,1,0,0,5695,157,1,0,0, 1907P 1456
+5695,158,1,0,0,5695,159,0,0,0,5695,160,1,0,0,5695,35,0,0,0,5695, 1907P 1457
+161,0,0,0,5695,162,0,0,0,5695,163,0,0,0,5695,164,0,0,0,5695,165, 1907P 1458
+0,0,0,5695,166,0,0,0,5695,167,0,0,0,5695,168,0,0; 1907P 1459
+508,2,0,5695,169,1,0,0,5695,170,1,0; 1909P 1460
+508,2,0,5695,171,1,0,0,5695,172,1,0; 1911P 1461
+508,2,0,5695,173,1,0,0,5695,174,1,0; 1913P 1462
+508,2,0,5695,175,1,0,0,5695,176,1,0; 1915P 1463
+508,2,0,5695,177,1,0,0,5695,178,1,0; 1917P 1464
+508,2,0,5695,179,1,0,0,5695,180,1,0; 1919P 1465
+508,18,0,5695,97,1,0,0,5695,149,1,0,0,5695,146,1,0,0,5695,143,1, 1921P 1466
+0,0,5695,140,1,0,0,5695,137,1,0,0,5695,134,1,0,0,5695,131,1,0,0, 1921P 1467
+5695,128,1,0,0,5695,125,1,0,0,5695,122,1,0,0,5695,119,1,0,0, 1921P 1468
+5695,116,1,0,0,5695,113,1,0,0,5695,110,1,0,0,5695,107,1,0,0, 1921P 1469
+5695,104,1,0,0,5695,101,1,0; 1921P 1470
+508,4,0,5695,180,0,0,0,5695,181,1,0,0,5695,69,0,0,0,5695,182,0, 1923P 1471
+0; 1923P 1472
+508,4,0,5695,179,0,0,0,5695,182,1,0,0,5695,68,0,0,0,5695,181,0, 1925P 1473
+0; 1925P 1474
+508,4,0,5695,178,0,0,0,5695,183,1,0,0,5695,67,0,0,0,5695,184,0, 1927P 1475
+0; 1927P 1476
+508,4,0,5695,177,0,0,0,5695,184,1,0,0,5695,66,0,0,0,5695,183,0, 1929P 1477
+0; 1929P 1478
+508,4,0,5695,185,0,0,0,5695,186,0,0,0,5695,163,1,0,0,5695,187,0, 1931P 1479
+0; 1931P 1480
+508,4,0,5695,188,1,0,0,5695,167,1,0,0,5695,189,1,0,0,5695,190,1, 1933P 1481
+0; 1933P 1482
+508,4,0,5695,191,1,0,0,5695,165,1,0,0,5695,192,0,0,0,5695,193,1, 1935P 1483
+0; 1935P 1484
+508,4,0,5695,26,1,0,0,5695,18,0,0,0,5695,194,1,0,0,5695,33,0,0; 1937P 1485
+508,6,0,5695,195,1,0,0,5695,193,0,0,0,5695,196,0,0,0,5695,185,1, 1939P 1486
+0,0,5695,197,0,0,0,5695,198,0,0; 1939P 1487
+508,4,0,5695,199,1,0,0,5695,190,0,0,0,5695,200,1,0,0,5695,201,0, 1941P 1488
+0; 1941P 1489
+508,4,0,5695,202,1,0,0,5695,203,1,0,0,5695,204,1,0,0,5695,154,1, 1943P 1490
+0; 1943P 1491
+508,4,0,5695,205,1,0,0,5695,206,0,0,0,5695,207,1,0,0,5695,208,0, 1945P 1492
+0; 1945P 1493
+508,4,0,5695,209,1,0,0,5695,14,0,0,0,5695,210,1,0,0,5695,203,0, 1947P 1494
+0; 1947P 1495
+508,4,0,5695,176,0,0,0,5695,211,1,0,0,5695,65,0,0,0,5695,212,0, 1949P 1496
+0; 1949P 1497
+508,4,0,5695,175,0,0,0,5695,212,1,0,0,5695,64,0,0,0,5695,211,0, 1951P 1498
+0; 1951P 1499
+508,4,0,5695,174,0,0,0,5695,213,1,0,0,5695,63,0,0,0,5695,214,0, 1953P 1500
+0; 1953P 1501
+508,4,0,5695,173,0,0,0,5695,214,1,0,0,5695,62,0,0,0,5695,213,0, 1955P 1502
+0; 1955P 1503
+508,4,0,5695,172,0,0,0,5695,215,1,0,0,5695,61,0,0,0,5695,216,0, 1957P 1504
+0; 1957P 1505
+508,4,0,5695,171,0,0,0,5695,216,1,0,0,5695,60,0,0,0,5695,215,0, 1959P 1506
+0; 1959P 1507
+508,4,0,5695,170,0,0,0,5695,217,1,0,0,5695,59,0,0,0,5695,218,0, 1961P 1508
+0; 1961P 1509
+508,4,0,5695,169,0,0,0,5695,218,1,0,0,5695,58,0,0,0,5695,217,0, 1963P 1510
+0; 1963P 1511
+508,4,0,5695,155,0,0,0,5695,219,1,0,0,5695,48,0,0,0,5695,32,1,0; 1965P 1512
+508,7,0,5695,204,0,0,0,5695,210,0,0,0,5695,13,1,0,0,5695,220,1, 1967P 1513
+0,0,5695,42,0,0,0,5695,49,0,0,0,5695,219,0,0; 1967P 1514
+508,9,0,5695,70,1,0,0,5695,95,1,0,0,5695,92,1,0,0,5695,89,1,0,0, 1969P 1515
+5695,86,1,0,0,5695,83,1,0,0,5695,80,1,0,0,5695,77,1,0,0,5695,74, 1969P 1516
+1,0; 1969P 1517
+508,4,0,5695,160,0,0,0,5695,221,1,0,0,5695,46,0,0,0,5695,28,1,0; 1971P 1518
+508,7,0,5695,222,0,0,0,5695,7,0,0,0,5695,21,1,0,0,5695,223,1,0, 1973P 1519
+0,5695,45,0,0,0,5695,47,0,0,0,5695,221,0,0; 1973P 1520
+508,4,0,5695,20,0,0,0,5695,25,0,0,0,5695,36,0,0,0,5695,223,0,0; 1975P 1521
+508,4,0,5695,12,0,0,0,5695,31,0,0,0,5695,43,0,0,0,5695,220,0,0; 1977P 1522
+508,4,0,5695,222,1,0,0,5695,159,1,0,0,5695,224,1,0,0,5695,8,1,0; 1979P 1523
+508,4,0,5695,156,0,0,0,5695,3,0,0,0,5695,11,0,0,0,5695,225,0,0; 1981P 1524
+508,4,0,5695,157,0,0,0,5695,225,1,0,0,5695,10,0,0,0,5695,226,0, 1983P 1525
+0; 1983P 1526
+508,4,0,5695,158,0,0,0,5695,226,1,0,0,5695,9,0,0,0,5695,224,0,0; 1985P 1527
+508,4,0,5695,227,1,0,0,5695,208,1,0,0,5695,228,1,0,0,5695,151,1, 1987P 1528
+0; 1987P 1529
+508,4,0,5695,186,1,0,0,5695,196,1,0,0,5695,192,1,0,0,5695,164,1, 1989P 1530
+0; 1989P 1531
+508,6,0,5695,229,0,0,0,5695,230,1,0,0,5695,197,1,0,0,5695,187,1, 1991P 1532
+0,0,5695,162,1,0,0,5695,231,0,0; 1991P 1533
+508,4,0,5695,232,0,0,0,5695,233,1,0,0,5695,198,1,0,0,5695,230,0, 1993P 1534
+0; 1993P 1535
+508,8,0,5695,234,0,0,0,5695,235,1,0,0,5695,200,0,0,0,5695,189,0, 1995P 1536
+0,0,5695,166,1,0,0,5695,191,0,0,0,5695,195,0,0,0,5695,233,0,0; 1995P 1537
+508,4,0,5695,236,0,0,0,5695,237,1,0,0,5695,201,1,0,0,5695,235,0, 1997P 1538
+0; 1997P 1539
+508,8,0,5695,238,0,0,0,5695,239,1,0,0,5695,205,0,0,0,5695,227,0, 1999P 1540
+0,0,5695,168,1,0,0,5695,188,0,0,0,5695,199,0,0,0,5695,237,0,0; 1999P 1541
+508,4,0,5695,240,0,0,0,5695,241,1,0,0,5695,206,1,0,0,5695,239,0, 2001P 1542
+0; 2001P 1543
+508,9,0,5695,242,0,0,0,5695,15,1,0,0,5695,209,0,0,0,5695,202,0, 2003P 1544
+0,0,5695,153,1,0,0,5695,152,1,0,0,5695,228,0,0,0,5695,207,0,0,0, 2003P 1545
+5695,241,0,0; 2003P 1546
+508,6,0,5695,243,0,0,0,5695,231,1,0,0,5695,161,1,0,0,5695,34,0, 2005P 1547
+0,0,5695,194,0,0,0,5695,17,0,0; 2005P 1548
+508,9,0,5695,244,1,0,0,5695,245,1,0,0,5695,246,1,0,0,5695,247,1, 2007P 1549
+0,0,5695,248,1,0,0,5695,249,1,0,0,5695,250,1,0,0,5695,251,1,0,0, 2007P 1550
+5695,39,1,0; 2007P 1551
+508,9,0,5695,229,1,0,0,5695,243,1,0,0,5695,16,1,0,0,5695,242,1, 2009P 1552
+0,0,5695,240,1,0,0,5695,238,1,0,0,5695,236,1,0,0,5695,234,1,0,0, 2009P 1553
+5695,232,1,0; 2009P 1554
+508,4,0,5695,245,0,0,0,5695,252,1,0,0,5695,56,0,0,0,5695,253,0, 2011P 1555
+0; 2011P 1556
+508,4,0,5695,246,0,0,0,5695,253,1,0,0,5695,55,0,0,0,5695,254,0, 2013P 1557
+0; 2013P 1558
+508,4,0,5695,247,0,0,0,5695,254,1,0,0,5695,54,0,0,0,5695,255,0, 2015P 1559
+0; 2015P 1560
+508,4,0,5695,248,0,0,0,5695,255,1,0,0,5695,53,0,0,0,5695,256,0, 2017P 1561
+0; 2017P 1562
+508,4,0,5695,249,0,0,0,5695,256,1,0,0,5695,52,0,0,0,5695,257,0, 2019P 1563
+0; 2019P 1564
+508,4,0,5695,250,0,0,0,5695,257,1,0,0,5695,51,0,0,0,5695,258,0, 2021P 1565
+0; 2021P 1566
+508,4,0,5695,251,0,0,0,5695,258,1,0,0,5695,50,0,0,0,5695,40,0,0; 2023P 1567
+508,4,0,5695,244,0,0,0,5695,38,1,0,0,5695,57,0,0,0,5695,252,0,0; 2025P 1568
+126,6,2,0,0,0,0,-6.28326580027829,-6.28326580027829, 2027P 1569
+-6.28326580027829,-5.23526324929942,-5.23526324929942, 2027P 1570
+-4.18726069832056,-4.18726069832056,-3.1392581473417, 2027P 1571
+-3.1392581473417,-3.1392581473417,1.,0.865824083693573,1., 2027P 1572
+0.865824083693555,1.,0.865824083693611,1.,139.68226259674, 2027P 1573
+-80.5980231141957,8.73624999999999,139.683239604231, 2027P 1574
+-79.7889073538704,8.73624999999999,138.982687181724, 2027P 1575
+-79.3840671737141,8.73624999999999,138.282134759216, 2027P 1576
+-78.9792269935579,8.73624999999999,137.581582336708, 2027P 1577
+-79.3840671737141,8.73624999999999,136.8810299142, 2027P 1578
+-79.7889073538704,8.73624999999999,136.882006921691, 2027P 1579
+-80.5980231141957,8.73624999999999,-6.28326580027829, 2027P 1580
+-3.1392581473417,0.,0.,0.; 2027P 1581
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1., 2029P 1582
+136.882006921691,-80.5980231141957,8.73624999999999, 2029P 1583
+136.882006921691,-80.5980231141957,7.11812499999999,0., 2029P 1584
+0.1618125,0.,0.,0.; 2029P 1585
+126,6,2,0,0,0,0,-6.28326580027829,-6.28326580027829, 2031P 1586
+-6.28326580027829,-5.23526324929942,-5.23526324929942, 2031P 1587
+-4.18726069832056,-4.18726069832056,-3.1392581473417, 2031P 1588
+-3.1392581473417,-3.1392581473417,1.,0.865824083693573,1., 2031P 1589
+0.865824083693555,1.,0.865824083693611,1.,139.68226259674, 2031P 1590
+-80.5980231141957,7.11812499999999,139.683239604231, 2031P 1591
+-79.7889073538704,7.11812499999999,138.982687181724, 2031P 1592
+-79.3840671737141,7.11812499999999,138.282134759216, 2031P 1593
+-78.9792269935579,7.11812499999999,137.581582336708, 2031P 1594
+-79.3840671737141,7.11812499999999,136.8810299142, 2031P 1595
+-79.7889073538704,7.11812499999999,136.882006921691, 2031P 1596
+-80.5980231141957,7.11812499999999,-6.28326580027829, 2031P 1597
+-3.1392581473417,0.,0.,0.; 2031P 1598
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1.,139.68226259674, 2033P 1599
+-80.5980231141957,8.73624999999999,139.68226259674, 2033P 1600
+-80.5980231141957,7.11812499999999,0.,0.1618125,0.,0.,0.; 2033P 1601
+126,6,2,0,0,0,0,-6.28326580027831,-6.28326580027831, 2035P 1602
+-6.28326580027831,-5.23526324929943,-5.23526324929943, 2035P 1603
+-4.18726069832055,-4.18726069832055,-3.13925814734167, 2035P 1604
+-3.13925814734167,-3.13925814734167,1.,0.865824083693529,1., 2035P 1605
+0.865824083693519,1.,0.865824083693529,1.,136.882006921691, 2035P 1606
+-80.5980231141957,8.73624999999999,136.8810299142, 2035P 1607
+-81.4071388745211,8.73624999999999,137.581582336708, 2035P 1608
+-81.8119790546774,8.73624999999999,138.282134759216, 2035P 1609
+-82.2168192348336,8.73624999999999,138.982687181724, 2035P 1610
+-81.8119790546774,8.73624999999999,139.683239604231, 2035P 1611
+-81.4071388745211,8.73624999999999,139.68226259674, 2035P 1612
+-80.5980231141957,8.73624999999999,-6.28326580027831, 2035P 1613
+-3.13925814734167,0.,0.,0.; 2035P 1614
+126,6,2,0,0,0,0,-6.28326580027831,-6.28326580027831, 2037P 1615
+-6.28326580027831,-5.23526324929943,-5.23526324929943, 2037P 1616
+-4.18726069832055,-4.18726069832055,-3.13925814734167, 2037P 1617
+-3.13925814734167,-3.13925814734167,1.,0.865824083693529,1., 2037P 1618
+0.865824083693519,1.,0.865824083693529,1.,136.882006921691, 2037P 1619
+-80.5980231141957,7.11812499999999,136.8810299142, 2037P 1620
+-81.4071388745211,7.11812499999999,137.581582336708, 2037P 1621
+-81.8119790546774,7.11812499999999,138.282134759216, 2037P 1622
+-82.2168192348336,7.11812499999999,138.982687181724, 2037P 1623
+-81.8119790546774,7.11812499999999,139.683239604231, 2037P 1624
+-81.4071388745211,7.11812499999999,139.68226259674, 2037P 1625
+-80.5980231141957,7.11812499999999,-6.28326580027831, 2037P 1626
+-3.13925814734167,0.,0.,0.; 2037P 1627
+126,6,2,0,0,0,0,-6.28326580027829,-6.28326580027829, 2039P 1628
+-6.28326580027829,-5.23526324929942,-5.23526324929942, 2039P 1629
+-4.18726069832056,-4.18726069832056,-3.1392581473417, 2039P 1630
+-3.1392581473417,-3.1392581473417,1.,0.86582408369359,1., 2039P 1631
+0.865824083693519,1.,0.865824083693555,1.,139.68226259674, 2039P 1632
+-118.69865621105,8.73624999999999,139.683239604231, 2039P 1633
+-117.889540450724,8.73624999999999,138.982687181724, 2039P 1634
+-117.484700270568,8.73624999999999,138.282134759216, 2039P 1635
+-117.079860090412,8.73624999999999,137.581582336708, 2039P 1636
+-117.484700270568,8.73624999999999,136.8810299142, 2039P 1637
+-117.889540450724,8.73624999999999,136.882006921691, 2039P 1638
+-118.69865621105,8.73624999999999,-6.28326580027829, 2039P 1639
+-3.1392581473417,0.,0.,0.; 2039P 1640
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1., 2041P 1641
+136.882006921691,-118.69865621105,8.73624999999999, 2041P 1642
+136.882006921691,-118.69865621105,7.11812499999999,0.,0.1618125, 2041P 1643
+0.,0.,0.; 2041P 1644
+126,6,2,0,0,0,0,-6.28326580027829,-6.28326580027829, 2043P 1645
+-6.28326580027829,-5.23526324929942,-5.23526324929942, 2043P 1646
+-4.18726069832056,-4.18726069832056,-3.1392581473417, 2043P 1647
+-3.1392581473417,-3.1392581473417,1.,0.86582408369359,1., 2043P 1648
+0.865824083693519,1.,0.865824083693555,1.,139.68226259674, 2043P 1649
+-118.69865621105,7.11812499999999,139.683239604231, 2043P 1650
+-117.889540450724,7.11812499999999,138.982687181724, 2043P 1651
+-117.484700270568,7.11812499999999,138.282134759216, 2043P 1652
+-117.079860090412,7.11812499999999,137.581582336708, 2043P 1653
+-117.484700270568,7.11812499999999,136.8810299142, 2043P 1654
+-117.889540450724,7.11812499999999,136.882006921691, 2043P 1655
+-118.69865621105,7.11812499999999,-6.28326580027829, 2043P 1656
+-3.1392581473417,0.,0.,0.; 2043P 1657
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1.,139.68226259674, 2045P 1658
+-118.69865621105,8.73624999999999,139.68226259674, 2045P 1659
+-118.69865621105,7.11812499999999,0.,0.1618125,0.,0.,0.; 2045P 1660
+126,6,2,0,0,0,0,-6.28326580027831,-6.28326580027831, 2047P 1661
+-6.28326580027831,-5.23526324929943,-5.23526324929943, 2047P 1662
+-4.18726069832055,-4.18726069832055,-3.13925814734167, 2047P 1663
+-3.13925814734167,-3.13925814734167,1.,0.865824083693529,1., 2047P 1664
+0.865824083693519,1.,0.865824083693529,1.,136.882006921691, 2047P 1665
+-118.69865621105,8.73624999999999,136.8810299142, 2047P 1666
+-119.507771971375,8.73624999999999,137.581582336708, 2047P 1667
+-119.912612151531,8.73624999999999,138.282134759216, 2047P 1668
+-120.317452331688,8.73624999999999,138.982687181724, 2047P 1669
+-119.912612151531,8.73624999999999,139.683239604231, 2047P 1670
+-119.507771971375,8.73624999999999,139.68226259674, 2047P 1671
+-118.69865621105,8.73624999999999,-6.28326580027831, 2047P 1672
+-3.13925814734167,0.,0.,0.; 2047P 1673
+126,6,2,0,0,0,0,-6.28326580027831,-6.28326580027831, 2049P 1674
+-6.28326580027831,-5.23526324929943,-5.23526324929943, 2049P 1675
+-4.18726069832055,-4.18726069832055,-3.13925814734167, 2049P 1676
+-3.13925814734167,-3.13925814734167,1.,0.865824083693529,1., 2049P 1677
+0.865824083693519,1.,0.865824083693529,1.,136.882006921691, 2049P 1678
+-118.69865621105,7.11812499999999,136.8810299142, 2049P 1679
+-119.507771971375,7.11812499999999,137.581582336708, 2049P 1680
+-119.912612151531,7.11812499999999,138.282134759216, 2049P 1681
+-120.317452331688,7.11812499999999,138.982687181724, 2049P 1682
+-119.912612151531,7.11812499999999,139.683239604231, 2049P 1683
+-119.507771971375,7.11812499999999,139.68226259674, 2049P 1684
+-118.69865621105,7.11812499999999,-6.28326580027831, 2049P 1685
+-3.13925814734167,0.,0.,0.; 2049P 1686
+126,6,2,0,0,0,0,-6.28328621059597,-6.28328621059597, 2051P 1687
+-6.28328621059597,-5.2350795389254,-5.2350795389254, 2051P 1688
+-4.18687286725483,-4.18687286725483,-3.13866619558426, 2051P 1689
+-3.13866619558426,-3.13866619558426,1.,0.865773013439842,1., 2051P 1690
+0.865773013439768,1.,0.865773013439842,1.,63.4808744198821, 2051P 1691
+-118.698656211056,8.73625,63.4820994522559,-117.889349843306, 2051P 1692
+8.73625,62.7814230367476,-117.484342610857,8.73625, 2051P 1693
+62.0807466212394,-117.079335378408,8.73625,61.3800702057312, 2051P 1694
+-117.484342610857,8.73625,60.679393790223,-117.889349843306, 2051P 1695
+8.73625,60.6806188225967,-118.698656211056,8.73625, 2051P 1696
+-6.28328621059597,-3.13866619558426,0.,0.,0.; 2051P 1697
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1., 2053P 1698
+60.6806188225967,-118.698656211056,8.73625,60.6806188225967, 2053P 1699
+-118.698656211056,7.118125,0.,0.1618125,0.,0.,0.; 2053P 1700
+126,6,2,0,0,0,0,-6.28328621059597,-6.28328621059597, 2055P 1701
+-6.28328621059597,-5.2350795389254,-5.2350795389254, 2055P 1702
+-4.18687286725483,-4.18687286725483,-3.13866619558426, 2055P 1703
+-3.13866619558426,-3.13866619558426,1.,0.865773013439842,1., 2055P 1704
+0.865773013439768,1.,0.865773013439842,1.,63.4808744198821, 2055P 1705
+-118.698656211056,7.118125,63.4820994522559,-117.889349843306, 2055P 1706
+7.118125,62.7814230367476,-117.484342610857,7.118125, 2055P 1707
+62.0807466212394,-117.079335378408,7.118125,61.3800702057312, 2055P 1708
+-117.484342610857,7.118125,60.679393790223,-117.889349843306, 2055P 1709
+7.118125,60.6806188225967,-118.698656211056,7.118125, 2055P 1710
+-6.28328621059597,-3.13866619558426,0.,0.,0.; 2055P 1711
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1., 2057P 1712
+63.4808744198821,-118.698656211056,8.73625,63.4808744198821, 2057P 1713
+-118.698656211056,7.118125,0.,0.1618125,0.,0.,0.; 2057P 1714
+126,6,2,0,0,0,0,-6.28328621058691,-6.28328621058691, 2059P 1715
+-6.28328621058691,-5.23507953892236,-5.23507953892236, 2059P 1716
+-4.18687286725781,-4.18687286725781,-3.13866619559326, 2059P 1717
+-3.13866619559326,-3.13866619559326,1.,0.865773013441318,1., 2059P 1718
+0.865773013441294,1.,0.865773013441318,1.,60.6806188225967, 2059P 1719
+-118.698656211056,8.73625,60.6793937902303,-119.507962578801, 2059P 1720
+8.73625,61.3800702057349,-119.912969811245,8.73625, 2059P 1721
+62.0807466212394,-120.317977043689,8.73625,62.781423036744, 2059P 1722
+-119.912969811245,8.73625,63.4820994522485,-119.507962578801, 2059P 1723
+8.73625,63.4808744198821,-118.698656211056,8.73625, 2059P 1724
+-6.28328621058691,-3.13866619559326,0.,0.,0.; 2059P 1725
+126,6,2,0,0,0,0,-6.28328621058691,-6.28328621058691, 2061P 1726
+-6.28328621058691,-5.23507953892236,-5.23507953892236, 2061P 1727
+-4.18687286725781,-4.18687286725781,-3.13866619559326, 2061P 1728
+-3.13866619559326,-3.13866619559326,1.,0.865773013441318,1., 2061P 1729
+0.865773013441294,1.,0.865773013441318,1.,60.6806188225967, 2061P 1730
+-118.698656211056,7.118125,60.6793937902303,-119.507962578801, 2061P 1731
+7.118125,61.3800702057349,-119.912969811245,7.118125, 2061P 1732
+62.0807466212394,-120.317977043689,7.118125,62.781423036744, 2061P 1733
+-119.912969811245,7.118125,63.4820994522485,-119.507962578801, 2061P 1734
+7.118125,63.4808744198821,-118.698656211056,7.118125, 2061P 1735
+-6.28328621058691,-3.13866619559326,0.,0.,0.; 2061P 1736
+126,6,2,0,0,0,0,-6.28326580028397,-6.28326580028397, 2063P 1737
+-6.28326580028397,-5.23526324930132,-5.23526324930132, 2063P 1738
+-4.18726069831867,-4.18726069831867,-3.13925814733601, 2063P 1739
+-3.13925814733601,-3.13925814733601,1.,0.865824083692607,1., 2063P 1740
+0.865824083692642,1.,0.865824083692673,1.,60.9078068409501, 2063P 1741
+-62.1212017504367,8.73625,60.9087838484459,-61.3120859901078, 2063P 1742
+8.73625,60.2082314259358,-60.9072458099485,8.73625, 2063P 1743
+59.5076790034257,-60.5024056297891,8.73625,58.8071265809156, 2063P 1744
+-60.9072458099485,8.73625,58.1065741584055,-61.3120859901078, 2063P 1745
+8.73625,58.1075511659012,-62.1212017504367,8.73625, 2063P 1746
+-6.28326580028397,-3.13925814733601,0.,0.,0.; 2063P 1747
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1., 2065P 1748
+58.1075511659012,-62.1212017504367,8.73625,58.1075511659012, 2065P 1749
+-62.1212017504367,7.118125,0.,0.1618125,0.,0.,0.; 2065P 1750
+126,6,2,0,0,0,0,-6.28326580028397,-6.28326580028397, 2067P 1751
+-6.28326580028397,-5.23526324930132,-5.23526324930132, 2067P 1752
+-4.18726069831867,-4.18726069831867,-3.13925814733601, 2067P 1753
+-3.13925814733601,-3.13925814733601,1.,0.865824083692607,1., 2067P 1754
+0.865824083692642,1.,0.865824083692673,1.,60.9078068409501, 2067P 1755
+-62.1212017504367,7.118125,60.9087838484459,-61.3120859901078, 2067P 1756
+7.118125,60.2082314259358,-60.9072458099485,7.118125, 2067P 1757
+59.5076790034257,-60.5024056297891,7.118125,58.8071265809156, 2067P 1758
+-60.9072458099485,7.118125,58.1065741584055,-61.3120859901078, 2067P 1759
+7.118125,58.1075511659012,-62.1212017504367,7.118125, 2067P 1760
+-6.28326580028397,-3.13925814733601,0.,0.,0.; 2067P 1761
+126,1,1,0,0,1,0,0.,0.,0.1618125,0.1618125,1.,1., 2069P 1762
+60.9078068409501,-62.1212017504367,8.73625,60.9078068409501, 2069P 1763
+-62.1212017504367,7.118125,0.,0.1618125,0.,0.,0.; 2069P 1764
+126,6,2,0,0,0,0,-6.2832658002726,-6.2832658002726, 2071P 1765
+-6.2832658002726,-5.23526324929753,-5.23526324929753, 2071P 1766
+-4.18726069832246,-4.18726069832246,-3.13925814734738, 2071P 1767
+-3.13925814734738,-3.13925814734738,1.,0.86582408369451,1., 2071P 1768
+0.865824083694544,1.,0.86582408369451,1.,58.1075511659012, 2071P 1769
+-62.1212017504367,8.73625,58.1065741584147,-62.9303175107585, 2071P 1770
+8.73625,58.8071265809202,-63.3351576909116,8.73625, 2071P 1771
+59.5076790034257,-63.7399978710648,8.73625,60.2082314259312, 2071P 1772
+-63.3351576909116,8.73625,60.9087838484367,-62.9303175107585, 2071P 1773
+8.73625,60.9078068409501,-62.1212017504367,8.73625, 2071P 1774
+-6.2832658002726,-3.13925814734738,0.,0.,0.; 2071P 1775
+126,6,2,0,0,0,0,-6.2832658002726,-6.2832658002726, 2073P 1776
+-6.2832658002726,-5.23526324929753,-5.23526324929753, 2073P 1777
+-4.18726069832246,-4.18726069832246,-3.13925814734738, 2073P 1778
+-3.13925814734738,-3.13925814734738,1.,0.86582408369451,1., 2073P 1779
+0.865824083694544,1.,0.86582408369451,1.,58.1075511659012, 2073P 1780
+-62.1212017504367,7.118125,58.1065741584147,-62.9303175107585, 2073P 1781
+7.118125,58.8071265809202,-63.3351576909116,7.118125, 2073P 1782
+59.5076790034257,-63.7399978710648,7.118125,60.2082314259312, 2073P 1783
+-63.3351576909116,7.118125,60.9087838484367,-62.9303175107585, 2073P 1784
+7.118125,60.9078068409501,-62.1212017504367,7.118125, 2073P 1785
+-6.2832658002726,-3.13925814734738,0.,0.,0.; 2073P 1786
+126,1,1,0,0,1,0,0.,0.,1.29791011810403,1.29791011810403,1.,1., 2075P 1787
+140.806868895161,-121.223895544679,8.73624999999999, 2075P 1788
+154.808074294198,-121.223878124069,8.73624999999999,0., 2075P 1789
+1.29791011810403,0.,0.,0.; 2075P 1790
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 2077P 1791
+-121.223895544679,8.73624999999999,140.806868895161, 2077P 1792
+-121.223895544679,7.11812499999999,0.,0.15,0.,0.,0.; 2077P 1793
+126,1,1,0,0,1,0,-1.29791011810403,-1.29791011810403,0.,0.,1.,1., 2079P 1794
+154.808074294198,-121.223878124069,7.11812499999999, 2079P 1795
+140.806868895161,-121.223895544679,7.11812499999999, 2079P 1796
+-1.29791011810403,0.,0.,0.,0.; 2079P 1797
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2081P 1798
+-121.223878124069,8.73624999999999,154.808074294198, 2081P 1799
+-121.223878124069,7.11812499999999,0.,0.15,0.,0.,0.; 2081P 1800
+126,1,1,0,0,1,0,0.,0.,0.0554439671834324,0.0554439671834324,1., 2083P 1801
+1.,154.808074294198,-121.223878124069,8.73624999999999, 2083P 1802
+154.808074294198,-121.821979920061,8.73624999999999,0., 2083P 1803
+0.0554439671834324,0.,0.,0.; 2083P 1804
+126,1,1,0,0,1,0,-0.0554439671834324,-0.0554439671834324,0.,0., 2085P 1805
+1.,1.,154.808074294198,-121.821979920061,7.11812499999999, 2085P 1806
+154.808074294198,-121.223878124069,7.11812499999999, 2085P 1807
+-0.0554439671834324,0.,0.,0.,0.; 2085P 1808
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2087P 1809
+-121.821979920061,8.73624999999999,154.808074294198, 2087P 1810
+-121.821979920061,7.11812499999999,0.,0.15,0.,0.,0.; 2087P 1811
+126,1,1,0,0,1,0,0.,0.,0.0740926997042853,0.0740926997042853,1., 2089P 1812
+1.,154.808074294198,-121.821979920061,8.73624999999999, 2089P 1813
+155.607349292068,-121.82199734067,8.73624999999999,0., 2089P 1814
+0.0740926997042853,0.,0.,0.; 2089P 1815
+126,1,1,0,0,1,0,-0.0740926997042853,-0.0740926997042853,0.,0., 2091P 1816
+1.,1.,155.607349292068,-121.82199734067,7.11812499999999, 2091P 1817
+154.808074294198,-121.821979920061,7.11812499999999, 2091P 1818
+-0.0740926997042853,0.,0.,0.,0.; 2091P 1819
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 2093P 1820
+-121.82199734067,8.73624999999999,155.607349292068, 2093P 1821
+-121.82199734067,7.11812499999999,0.,0.15,0.,0.,0.; 2093P 1822
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2095P 1823
+155.607349292068,-121.82199734067,8.73624999999999, 2095P 1824
+155.607349292068,-134.624194429548,8.73624999999999,0., 2095P 1825
+1.1867621866862,0.,0.,0.; 2095P 1826
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2097P 1827
+155.607349292068,-134.624194429548,7.11812499999999, 2097P 1828
+155.607349292068,-121.82199734067,7.11812499999999, 2097P 1829
+-1.1867621866862,0.,0.,0.,0.; 2097P 1830
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 2099P 1831
+-134.624194429548,8.73624999999999,155.607349292068, 2099P 1832
+-134.624194429548,7.11812499999999,0.,0.15,0.,0.,0.; 2099P 1833
+126,1,1,0,0,1,0,0.,0.,0.0740926997042853,0.0740926997042853,1., 2101P 1834
+1.,155.607349292068,-134.624194429548,8.73624999999999, 2101P 1835
+154.808074294198,-134.624177008938,8.73624999999999,0., 2101P 1836
+0.0740926997042853,0.,0.,0.; 2101P 1837
+126,1,1,0,0,1,0,-0.0740926997042853,-0.0740926997042853,0.,0., 2103P 1838
+1.,1.,154.808074294198,-134.624177008938,7.11812499999999, 2103P 1839
+155.607349292068,-134.624194429548,7.11812499999999, 2103P 1840
+-0.0740926997042853,0.,0.,0.,0.; 2103P 1841
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2105P 1842
+-134.624177008938,8.73624999999999,154.808074294198, 2105P 1843
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2105P 1844
+126,1,1,0,0,1,0,0.,0.,0.055571543375649,0.055571543375649,1.,1., 2107P 1845
+154.808074294198,-134.624177008938,8.73624999999999, 2107P 1846
+154.808074294198,-135.223655033103,8.73624999999999,0., 2107P 1847
+0.055571543375649,0.,0.,0.; 2107P 1848
+126,1,1,0,0,1,0,-0.055571543375649,-0.055571543375649,0.,0.,1., 2109P 1849
+1.,154.808074294198,-135.223655033103,7.11812499999999, 2109P 1850
+154.808074294198,-134.624177008938,7.11812499999999, 2109P 1851
+-0.055571543375649,0.,0.,0.,0.; 2109P 1852
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2111P 1853
+-135.223655033103,8.73624999999999,154.808074294198, 2111P 1854
+-135.223655033103,7.11812499999999,0.,0.15,0.,0.,0.; 2111P 1855
+126,1,1,0,0,1,0,0.,0.,1.2979097143809,1.2979097143809,1.,1., 2113P 1856
+154.808074294198,-135.223655033103,8.73624999999999, 2113P 1857
+140.806873250314,-135.223655033103,8.73624999999999,0., 2113P 1858
+1.2979097143809,0.,0.,0.; 2113P 1859
+126,1,1,0,0,1,0,-1.2979097143809,-1.2979097143809,0.,0.,1.,1., 2115P 1860
+140.806873250314,-135.223655033103,7.11812499999999, 2115P 1861
+154.808074294198,-135.223655033103,7.11812499999999, 2115P 1862
+-1.2979097143809,0.,0.,0.,0.; 2115P 1863
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 2117P 1864
+-135.223655033103,8.73624999999999,140.806873250314, 2117P 1865
+-135.223655033103,7.11812499999999,0.,0.15,0.,0.,0.; 2117P 1866
+126,1,1,0,0,1,0,0.,0.,0.055571543377119,0.055571543377119,1.,1., 2119P 1867
+140.806873250314,-135.223655033103,8.73624999999999, 2119P 1868
+140.806868895161,-134.624177008938,8.73624999999999,0., 2119P 1869
+0.055571543377119,0.,0.,0.; 2119P 1870
+126,1,1,0,0,1,0,-0.055571543377119,-0.055571543377119,0.,0.,1., 2121P 1871
+1.,140.806868895161,-134.624177008938,7.11812499999999, 2121P 1872
+140.806873250314,-135.223655033103,7.11812499999999, 2121P 1873
+-0.055571543377119,0.,0.,0.,0.; 2121P 1874
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 2123P 1875
+-134.624177008938,8.73624999999999,140.806868895161, 2123P 1876
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2123P 1877
+126,1,1,0,0,1,0,0.,0.,0.0740874512990315,0.0740874512990315,1., 2125P 1878
+1.,140.806868895161,-134.624177008938,8.73624999999999, 2125P 1879
+140.007650514273,-134.624177008938,8.73624999999999,0., 2125P 1880
+0.0740874512990315,0.,0.,0.; 2125P 1881
+126,1,1,0,0,1,0,-0.0740874512990315,-0.0740874512990315,0.,0., 2127P 1882
+1.,1.,140.007650514273,-134.624177008938,7.11812499999999, 2127P 1883
+140.806868895161,-134.624177008938,7.11812499999999, 2127P 1884
+-0.0740874512990315,0.,0.,0.,0.; 2127P 1885
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007650514273, 2129P 1886
+-134.624177008938,8.73624999999999,140.007650514273, 2129P 1887
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2129P 1888
+126,1,1,0,0,1,0,0.,0.,1.18676218668627,1.18676218668627,1.,1., 2131P 1889
+140.007650514273,-134.624177008938,8.73624999999999, 2131P 1890
+140.007654869426,-121.821979920061,8.73624999999999,0., 2131P 1891
+1.18676218668627,0.,0.,0.; 2131P 1892
+126,1,1,0,0,1,0,-1.18676218668627,-1.18676218668627,0.,0.,1.,1., 2133P 1893
+140.007654869426,-121.821979920061,7.11812499999999, 2133P 1894
+140.007650514273,-134.624177008938,7.11812499999999, 2133P 1895
+-1.18676218668627,0.,0.,0.,0.; 2133P 1896
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007654869426, 2135P 1897
+-121.821979920061,8.73624999999999,140.007654869426, 2135P 1898
+-121.821979920061,7.11812499999999,0.,0.15,0.,0.,0.; 2135P 1899
+126,1,1,0,0,1,0,0.,0.,0.0740874513166314,0.0740874513166314,1., 2137P 1900
+1.,140.007654869426,-121.821979920061,8.73624999999999, 2137P 1901
+140.806873250314,-121.82199734067,8.73624999999999,0., 2137P 1902
+0.0740874513166314,0.,0.,0.; 2137P 1903
+126,1,1,0,0,1,0,-0.0740874513166314,-0.0740874513166314,0.,0., 2139P 1904
+1.,1.,140.806873250314,-121.82199734067,7.11812499999999, 2139P 1905
+140.007654869426,-121.821979920061,7.11812499999999, 2139P 1906
+-0.0740874513166314,0.,0.,0.,0.; 2139P 1907
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 2141P 1908
+-121.82199734067,8.73624999999999,140.806873250314, 2141P 1909
+-121.82199734067,7.11812499999999,0.,0.15,0.,0.,0.; 2141P 1910
+126,1,1,0,0,1,0,0.,0.,0.0554439671848987,0.0554439671848987,1., 2143P 1911
+1.,140.806873250314,-121.82199734067,8.73624999999999, 2143P 1912
+140.806868895161,-121.223895544679,8.73624999999999,0., 2143P 1913
+0.0554439671848987,0.,0.,0.; 2143P 1914
+126,1,1,0,0,1,0,-0.0554439671848987,-0.0554439671848987,0.,0., 2145P 1915
+1.,1.,140.806868895161,-121.223895544679,7.11812499999999, 2145P 1916
+140.806873250314,-121.82199734067,7.11812499999999, 2145P 1917
+-0.0554439671848987,0.,0.,0.,0.; 2145P 1918
+126,1,1,0,0,1,0,0.,0.,1.29788872083129,1.29788872083129,1.,1., 2147P 1919
+121.756696066765,-121.223895544679,8.73624999999999, 2147P 1920
+135.757670642722,-121.223878124069,8.73624999999999,0., 2147P 1921
+1.29788872083129,0.,0.,0.; 2147P 1922
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2149P 1923
+-121.223895544679,8.73624999999999,121.756696066765, 2149P 1924
+-121.223895544679,7.11812499999999,0.,0.15,0.,0.,0.; 2149P 1925
+126,1,1,0,0,1,0,-1.29788872083129,-1.29788872083129,0.,0.,1.,1., 2151P 1926
+135.757670642722,-121.223878124069,7.11812499999999, 2151P 1927
+121.756696066765,-121.223895544679,7.118125,-1.29788872083129, 2151P 1928
+0.,0.,0.,0.; 2151P 1929
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2153P 1930
+-121.223878124069,8.73624999999999,135.757670642722, 2153P 1931
+-121.223878124069,7.11812499999999,0.,0.15,0.,0.,0.; 2153P 1932
+126,1,1,0,0,1,0,0.,0.,0.0554439671834324,0.0554439671834324,1., 2155P 1933
+1.,135.757670642722,-121.223878124069,8.73624999999999, 2155P 1934
+135.757670642722,-121.821979920061,8.73624999999999,0., 2155P 1935
+0.0554439671834324,0.,0.,0.; 2155P 1936
+126,1,1,0,0,1,0,-0.0554439671834324,-0.0554439671834324,0.,0., 2157P 1937
+1.,1.,135.757670642722,-121.821979920061,7.11812499999999, 2157P 1938
+135.757670642722,-121.223878124069,7.11812499999999, 2157P 1939
+-0.0554439671834324,0.,0.,0.,0.; 2157P 1940
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2159P 1941
+-121.821979920061,8.73624999999999,135.757670642722, 2159P 1942
+-121.821979920061,7.11812499999999,0.,0.15,0.,0.,0.; 2159P 1943
+126,1,1,0,0,1,0,0.,0.,0.0740967369255563,0.0740967369255563,1., 2161P 1944
+1.,135.757670642722,-121.821979920061,8.73624999999999, 2161P 1945
+136.556989192117,-121.82199734067,8.73624999999999,0., 2161P 1946
+0.0740967369255563,0.,0.,0.; 2161P 1947
+126,1,1,0,0,1,0,-0.0740967369255563,-0.0740967369255563,0.,0., 2163P 1948
+1.,1.,136.556989192117,-121.82199734067,7.11812499999999, 2163P 1949
+135.757670642722,-121.821979920061,7.11812499999999, 2163P 1950
+-0.0740967369255563,0.,0.,0.,0.; 2163P 1951
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 2165P 1952
+-121.82199734067,8.73624999999999,136.556989192117, 2165P 1953
+-121.82199734067,7.11812499999999,0.,0.15,0.,0.,0.; 2165P 1954
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2167P 1955
+136.556989192117,-121.82199734067,8.73624999999999, 2167P 1956
+136.556989192117,-134.624194429548,8.73624999999999,0., 2167P 1957
+1.1867621866862,0.,0.,0.; 2167P 1958
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2169P 1959
+136.556989192117,-134.624194429548,7.11812499999999, 2169P 1960
+136.556989192117,-121.82199734067,7.11812499999999, 2169P 1961
+-1.1867621866862,0.,0.,0.,0.; 2169P 1962
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 2171P 1963
+-134.624194429548,8.73624999999999,136.556989192117, 2171P 1964
+-134.624194429548,7.11812499999999,0.,0.15,0.,0.,0.; 2171P 1965
+126,1,1,0,0,1,0,0.,0.,0.0740967369255563,0.0740967369255563,1., 2173P 1966
+1.,136.556989192117,-134.624194429548,8.73624999999999, 2173P 1967
+135.757670642722,-134.624177008938,8.73624999999999,0., 2173P 1968
+0.0740967369255563,0.,0.,0.; 2173P 1969
+126,1,1,0,0,1,0,-0.0740967369255563,-0.0740967369255563,0.,0., 2175P 1970
+1.,1.,135.757670642722,-134.624177008938,7.11812499999999, 2175P 1971
+136.556989192117,-134.624194429548,7.11812499999999, 2175P 1972
+-0.0740967369255563,0.,0.,0.,0.; 2175P 1973
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2177P 1974
+-134.624177008938,8.73624999999999,135.757670642722, 2177P 1975
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2177P 1976
+126,1,1,0,0,1,0,0.,0.,0.055571543375649,0.055571543375649,1.,1., 2179P 1977
+135.757670642722,-134.624177008938,8.73624999999999, 2179P 1978
+135.757670642722,-135.223655033103,8.73624999999999,0., 2179P 1979
+0.055571543375649,0.,0.,0.; 2179P 1980
+126,1,1,0,0,1,0,-0.055571543375649,-0.055571543375649,0.,0.,1., 2181P 1981
+1.,135.757670642722,-135.223655033103,7.11812499999999, 2181P 1982
+135.757670642722,-134.624177008938,7.11812499999999, 2181P 1983
+-0.055571543375649,0.,0.,0.,0.; 2181P 1984
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2183P 1985
+-135.223655033103,8.73624999999999,135.757670642722, 2183P 1986
+-135.223655033103,7.11812499999999,0.,0.15,0.,0.,0.; 2183P 1987
+126,1,1,0,0,1,0,0.,0.,1.29788872083028,1.29788872083028,1.,1., 2185P 1988
+135.757670642722,-135.223655033103,8.73624999999999, 2185P 1989
+121.756696066765,-135.223655033103,8.73624999999999,0., 2185P 1990
+1.29788872083028,0.,0.,0.; 2185P 1991
+126,1,1,0,0,1,0,-1.29788872083028,-1.29788872083028,0.,0.,1.,1., 2187P 1992
+121.756696066765,-135.223655033103,7.118125,135.757670642722, 2187P 1993
+-135.223655033103,7.11812499999999,-1.29788872083028,0.,0.,0., 2187P 1994
+0.; 2187P 1995
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2189P 1996
+-135.223655033103,8.73624999999999,121.756696066765, 2189P 1997
+-135.223655033103,7.11812499999999,0.,0.15,0.,0.,0.; 2189P 1998
+126,1,1,0,0,1,0,0.,0.,0.0555715433756525,0.0555715433756525,1., 2191P 1999
+1.,121.756696066765,-135.223655033103,8.73624999999999, 2191P 2000
+121.756696066765,-134.624177008938,8.73624999999999,0., 2191P 2001
+0.0555715433756525,0.,0.,0.; 2191P 2002
+126,1,1,0,0,1,0,-0.0555715433756525,-0.0555715433756525,0.,0., 2193P 2003
+1.,1.,121.756696066765,-134.624177008938,7.118125, 2193P 2004
+121.756696066765,-135.223655033103,7.118125,-0.0555715433756525, 2193P 2005
+0.,0.,0.,0.; 2193P 2006
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2195P 2007
+-134.624177008938,8.73624999999999,121.756696066765, 2195P 2008
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2195P 2009
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2197P 2010
+1.,121.756696066765,-134.624177008938,8.73624999999999, 2197P 2011
+120.957281704017,-134.624177008938,8.73624999999999,0., 2197P 2012
+0.0741056187947589,0.,0.,0.; 2197P 2013
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2199P 2014
+1.,1.,120.957281704017,-134.624177008938,7.118125, 2199P 2015
+121.756696066765,-134.624177008938,7.118125,-0.0741056187947589, 2199P 2016
+0.,0.,0.,0.; 2199P 2017
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 2201P 2018
+-134.624177008938,8.73624999999999,120.957281704017, 2201P 2019
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2201P 2020
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2203P 2021
+120.957281704017,-134.624177008938,8.73624999999999, 2203P 2022
+120.957281704017,-121.821979920061,8.73624999999999,0., 2203P 2023
+1.1867621866862,0.,0.,0.; 2203P 2024
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2205P 2025
+120.957281704017,-121.821979920061,7.118125,120.957281704017, 2205P 2026
+-134.624177008938,7.118125,-1.1867621866862,0.,0.,0.,0.; 2205P 2027
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 2207P 2028
+-121.821979920061,8.73624999999999,120.957281704017, 2207P 2029
+-121.821979920061,7.11812499999999,0.,0.15,0.,0.,0.; 2207P 2030
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2209P 2031
+1.,120.957281704017,-121.821979920061,8.73624999999999, 2209P 2032
+121.756696066765,-121.82199734067,8.73624999999999,0., 2209P 2033
+0.0741056188123544,0.,0.,0.; 2209P 2034
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2211P 2035
+1.,1.,121.756696066765,-121.82199734067,7.118125, 2211P 2036
+120.957281704017,-121.821979920061,7.118125,-0.0741056188123544, 2211P 2037
+0.,0.,0.,0.; 2211P 2038
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2213P 2039
+-121.82199734067,8.73624999999999,121.756696066765, 2213P 2040
+-121.82199734067,7.11812499999999,0.,0.15,0.,0.,0.; 2213P 2041
+126,1,1,0,0,1,0,0.,0.,0.0554439671834288,0.0554439671834288,1., 2215P 2042
+1.,121.756696066765,-121.82199734067,8.73624999999999, 2215P 2043
+121.756696066765,-121.223895544679,8.73624999999999,0., 2215P 2044
+0.0554439671834288,0.,0.,0.; 2215P 2045
+126,1,1,0,0,1,0,-0.0554439671834288,-0.0554439671834288,0.,0., 2217P 2046
+1.,1.,121.756696066765,-121.223895544679,7.118125, 2217P 2047
+121.756696066765,-121.82199734067,7.118125,-0.0554439671834288, 2217P 2048
+0.,0.,0.,0.; 2217P 2049
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 2219P 2050
+102.706327256509,-121.223895544679,8.73624999999999, 2219P 2051
+116.707297477313,-121.223878124069,8.73624999999999,0., 2219P 2052
+1.29788831710916,0.,0.,0.; 2219P 2053
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2221P 2054
+-121.223895544679,8.73624999999999,102.706327256509, 2221P 2055
+-121.223895544679,7.118125,0.,0.15,0.,0.,0.; 2221P 2056
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 2223P 2057
+116.707297477313,-121.223878124069,7.118125,102.706327256509, 2223P 2058
+-121.223895544679,7.118125,-1.29788831710916,0.,0.,0.,0.; 2223P 2059
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 2225P 2060
+-121.223878124069,8.73624999999999,116.707297477313, 2225P 2061
+-121.223878124069,7.11812499999999,0.,0.15,0.,0.,0.; 2225P 2062
+126,1,1,0,0,1,0,0.,0.,0.0554439671834324,0.0554439671834324,1., 2227P 2063
+1.,116.707297477313,-121.223878124069,8.73624999999999, 2227P 2064
+116.707297477313,-121.821979920061,8.73624999999999,0., 2227P 2065
+0.0554439671834324,0.,0.,0.; 2227P 2066
+126,1,1,0,0,1,0,-0.0554439671834324,-0.0554439671834324,0.,0., 2229P 2067
+1.,1.,116.707297477313,-121.821979920061,7.118125, 2229P 2068
+116.707297477313,-121.223878124069,7.118125,-0.0554439671834324, 2229P 2069
+0.,0.,0.,0.; 2229P 2070
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 2231P 2071
+-121.821979920061,8.73624999999999,116.707297477313, 2231P 2072
+-121.821979920061,7.11812499999999,0.,0.15,0.,0.,0.; 2231P 2073
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2233P 2074
+1.,116.707297477313,-121.821979920061,8.73624999999999, 2233P 2075
+117.506711840062,-121.82199734067,8.73624999999999,0., 2233P 2076
+0.0741056188123544,0.,0.,0.; 2233P 2077
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2235P 2078
+1.,1.,117.506711840062,-121.82199734067,7.118125, 2235P 2079
+116.707297477313,-121.821979920061,7.118125,-0.0741056188123544, 2235P 2080
+0.,0.,0.,0.; 2235P 2081
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506711840062, 2237P 2082
+-121.82199734067,8.73624999999999,117.506711840062, 2237P 2083
+-121.82199734067,7.11812499999999,0.,0.15,0.,0.,0.; 2237P 2084
+126,1,1,0,0,1,0,0.,0.,1.18676218668648,1.18676218668648,1.,1., 2239P 2085
+117.506711840062,-121.82199734067,8.73624999999999, 2239P 2086
+117.506720550367,-134.624194429548,8.73624999999999,0., 2239P 2087
+1.18676218668648,0.,0.,0.; 2239P 2088
+126,1,1,0,0,1,0,-1.18676218668648,-1.18676218668648,0.,0.,1.,1., 2241P 2089
+117.506720550367,-134.624194429548,7.118125,117.506711840062, 2241P 2090
+-121.82199734067,7.118125,-1.18676218668648,0.,0.,0.,0.; 2241P 2091
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506720550367, 2243P 2092
+-134.624194429548,8.73624999999999,117.506720550367, 2243P 2093
+-134.624194429548,7.11812499999999,0.,0.15,0.,0.,0.; 2243P 2094
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2245P 2095
+1.,117.506720550367,-134.624194429548,8.73624999999999, 2245P 2096
+116.707306187618,-134.624177008938,8.73624999999999,0., 2245P 2097
+0.0741056188123544,0.,0.,0.; 2245P 2098
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2247P 2099
+1.,1.,116.707306187618,-134.624177008938,7.118125, 2247P 2100
+117.506720550367,-134.624194429548,7.118125,-0.0741056188123544, 2247P 2101
+0.,0.,0.,0.; 2247P 2102
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707306187618, 2249P 2103
+-134.624177008938,8.73624999999999,116.707306187618, 2249P 2104
+-134.624177008938,7.11812499999999,0.,0.15,0.,0.,0.; 2249P 2105
+126,1,1,0,0,1,0,0.,0.,0.055571543381515,0.055571543381515,1.,1., 2251P 2106
+116.707306187618,-134.624177008938,8.73624999999999, 2251P 2107
+116.707297477313,-135.223655033103,8.73624999999999,0., 2251P 2108
+0.055571543381515,0.,0.,0.; 2251P 2109
+126,1,1,0,0,1,0,-0.055571543381515,-0.055571543381515,0.,0.,1., 2253P 2110
+1.,116.707297477313,-135.223655033103,7.118125,116.707306187618, 2253P 2111
+-134.624177008938,7.118125,-0.055571543381515,0.,0.,0.,0.; 2253P 2112
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 2255P 2113
+-135.223655033103,8.73624999999999,116.707297477313, 2255P 2114
+-135.223655033103,7.11812499999999,0.,0.15,0.,0.,0.; 2255P 2115
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 2257P 2116
+116.707297477313,-135.223655033103,8.73624999999999, 2257P 2117
+102.706327256509,-135.223655033103,8.73624999999999,0., 2257P 2118
+1.29788831710816,0.,0.,0.; 2257P 2119
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 2259P 2120
+102.706327256509,-135.223655033103,7.118125,116.707297477313, 2259P 2121
+-135.223655033103,7.118125,-1.29788831710816,0.,0.,0.,0.; 2259P 2122
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2261P 2123
+-135.223655033103,8.73624999999999,102.706327256509, 2261P 2124
+-135.223655033103,7.118125,0.,0.15,0.,0.,0.; 2261P 2125
+126,1,1,0,0,1,0,0.,0.,0.0555715433756525,0.0555715433756525,1., 2263P 2126
+1.,102.706327256509,-135.223655033103,8.73624999999999, 2263P 2127
+102.706327256509,-134.624177008938,8.73624999999999,0., 2263P 2128
+0.0555715433756525,0.,0.,0.; 2263P 2129
+126,1,1,0,0,1,0,-0.0555715433756525,-0.0555715433756525,0.,0., 2265P 2130
+1.,1.,102.706327256509,-134.624177008938,7.118125, 2265P 2131
+102.706327256509,-135.223655033103,7.118125,-0.0555715433756525, 2265P 2132
+0.,0.,0.,0.; 2265P 2133
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2267P 2134
+-134.624177008938,8.73624999999999,102.706327256509, 2267P 2135
+-134.624177008938,7.118125,0.,0.15,0.,0.,0.; 2267P 2136
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2269P 2137
+1.,102.706327256509,-134.624177008938,8.73624999999999, 2269P 2138
+101.90691289376,-134.624177008938,8.73624999999999,0., 2269P 2139
+0.0741056187947589,0.,0.,0.; 2269P 2140
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2271P 2141
+1.,1.,101.90691289376,-134.624177008938,7.118125, 2271P 2142
+102.706327256509,-134.624177008938,7.118125,-0.0741056187947589, 2271P 2143
+0.,0.,0.,0.; 2271P 2144
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 2273P 2145
+-134.624177008938,8.73624999999999,101.90691289376, 2273P 2146
+-134.624177008938,7.118125,0.,0.15,0.,0.,0.; 2273P 2147
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2275P 2148
+101.90691289376,-134.624177008938,8.73624999999999, 2275P 2149
+101.90691289376,-121.821979920061,8.73624999999999,0., 2275P 2150
+1.1867621866862,0.,0.,0.; 2275P 2151
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2277P 2152
+101.90691289376,-121.821979920061,7.118125,101.90691289376, 2277P 2153
+-134.624177008938,7.118125,-1.1867621866862,0.,0.,0.,0.; 2277P 2154
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 2279P 2155
+-121.821979920061,8.73624999999999,101.90691289376, 2279P 2156
+-121.821979920061,7.118125,0.,0.15,0.,0.,0.; 2279P 2157
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2281P 2158
+1.,101.90691289376,-121.821979920061,8.73624999999999, 2281P 2159
+102.706327256509,-121.82199734067,8.73624999999999,0., 2281P 2160
+0.0741056188123544,0.,0.,0.; 2281P 2161
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2283P 2162
+1.,1.,102.706327256509,-121.82199734067,7.118125, 2283P 2163
+101.90691289376,-121.821979920061,7.118125,-0.0741056188123544, 2283P 2164
+0.,0.,0.,0.; 2283P 2165
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2285P 2166
+-121.82199734067,8.73624999999999,102.706327256509, 2285P 2167
+-121.82199734067,7.118125,0.,0.15,0.,0.,0.; 2285P 2168
+126,1,1,0,0,1,0,0.,0.,0.0554439671834288,0.0554439671834288,1., 2287P 2169
+1.,102.706327256509,-121.82199734067,8.73624999999999, 2287P 2170
+102.706327256509,-121.223895544679,8.73624999999999,0., 2287P 2171
+0.0554439671834288,0.,0.,0.; 2287P 2172
+126,1,1,0,0,1,0,-0.0554439671834288,-0.0554439671834288,0.,0., 2289P 2173
+1.,1.,102.706327256509,-121.223895544679,7.118125, 2289P 2174
+102.706327256509,-121.82199734067,7.118125,-0.0554439671834288, 2289P 2175
+0.,0.,0.,0.; 2289P 2176
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 2291P 2177
+83.6559584462526,-121.223895544679,8.73625,97.6569286670568, 2291P 2178
+-121.223878124069,8.73624999999999,0.,1.29788831710916,0.,0.,0.; 2291P 2179
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 2293P 2180
+-121.223895544679,8.73625,83.6559584462526,-121.223895544679, 2293P 2181
+7.118125,0.,0.15,0.,0.,0.; 2293P 2182
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 2295P 2183
+97.6569286670568,-121.223878124069,7.118125,83.6559584462526, 2295P 2184
+-121.223895544679,7.118125,-1.29788831710916,0.,0.,0.,0.; 2295P 2185
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2297P 2186
+-121.223878124069,8.73624999999999,97.6569286670568, 2297P 2187
+-121.223878124069,7.118125,0.,0.15,0.,0.,0.; 2297P 2188
+126,1,1,0,0,1,0,0.,0.,0.0554439671834324,0.0554439671834324,1., 2299P 2189
+1.,97.6569286670568,-121.223878124069,8.73624999999999, 2299P 2190
+97.6569286670568,-121.821979920061,8.73624999999999,0., 2299P 2191
+0.0554439671834324,0.,0.,0.; 2299P 2192
+126,1,1,0,0,1,0,-0.0554439671834324,-0.0554439671834324,0.,0., 2301P 2193
+1.,1.,97.6569286670568,-121.821979920061,7.118125, 2301P 2194
+97.6569286670568,-121.223878124069,7.118125,-0.0554439671834324, 2301P 2195
+0.,0.,0.,0.; 2301P 2196
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2303P 2197
+-121.821979920061,8.73624999999999,97.6569286670568, 2303P 2198
+-121.821979920061,7.118125,0.,0.15,0.,0.,0.; 2303P 2199
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2305P 2200
+1.,97.6569286670568,-121.821979920061,8.73624999999999, 2305P 2201
+98.4563430298053,-121.82199734067,8.73624999999999,0., 2305P 2202
+0.0741056188123544,0.,0.,0.; 2305P 2203
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2307P 2204
+1.,1.,98.4563430298053,-121.82199734067,7.118125, 2307P 2205
+97.6569286670568,-121.821979920061,7.118125,-0.0741056188123544, 2307P 2206
+0.,0.,0.,0.; 2307P 2207
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 2309P 2208
+-121.82199734067,8.73624999999999,98.4563430298053, 2309P 2209
+-121.82199734067,7.118125,0.,0.15,0.,0.,0.; 2309P 2210
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2311P 2211
+98.4563430298053,-121.82199734067,8.73624999999999, 2311P 2212
+98.4563430298053,-134.624194429548,8.73624999999999,0., 2311P 2213
+1.1867621866862,0.,0.,0.; 2311P 2214
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2313P 2215
+98.4563430298053,-134.624194429548,7.118125,98.4563430298053, 2313P 2216
+-121.82199734067,7.118125,-1.1867621866862,0.,0.,0.,0.; 2313P 2217
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 2315P 2218
+-134.624194429548,8.73624999999999,98.4563430298053, 2315P 2219
+-134.624194429548,7.118125,0.,0.15,0.,0.,0.; 2315P 2220
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2317P 2221
+1.,98.4563430298053,-134.624194429548,8.73624999999999, 2317P 2222
+97.6569286670568,-134.624177008938,8.73624999999999,0., 2317P 2223
+0.0741056188123544,0.,0.,0.; 2317P 2224
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2319P 2225
+1.,1.,97.6569286670568,-134.624177008938,7.118125, 2319P 2226
+98.4563430298053,-134.624194429548,7.118125,-0.0741056188123544, 2319P 2227
+0.,0.,0.,0.; 2319P 2228
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2321P 2229
+-134.624177008938,8.73624999999999,97.6569286670568, 2321P 2230
+-134.624177008938,7.118125,0.,0.15,0.,0.,0.; 2321P 2231
+126,1,1,0,0,1,0,0.,0.,0.055571543375649,0.055571543375649,1.,1., 2323P 2232
+97.6569286670568,-134.624177008938,8.73624999999999, 2323P 2233
+97.6569286670568,-135.223655033103,8.73624999999999,0., 2323P 2234
+0.055571543375649,0.,0.,0.; 2323P 2235
+126,1,1,0,0,1,0,-0.055571543375649,-0.055571543375649,0.,0.,1., 2325P 2236
+1.,97.6569286670568,-135.223655033103,7.118125,97.6569286670568, 2325P 2237
+-134.624177008938,7.118125,-0.055571543375649,0.,0.,0.,0.; 2325P 2238
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2327P 2239
+-135.223655033103,8.73624999999999,97.6569286670568, 2327P 2240
+-135.223655033103,7.118125,0.,0.15,0.,0.,0.; 2327P 2241
+126,1,1,0,0,1,0,0.,0.,1.29788912455241,1.29788912455241,1.,1., 2329P 2242
+97.6569286670568,-135.223655033103,8.73624999999999, 2329P 2243
+83.6559497359477,-135.223655033103,8.73625,0.,1.29788912455241, 2329P 2244
+0.,0.,0.; 2329P 2245
+126,1,1,0,0,1,0,-1.29788912455241,-1.29788912455241,0.,0.,1.,1., 2331P 2246
+83.6559497359477,-135.223655033103,7.118125,97.6569286670568, 2331P 2247
+-135.223655033103,7.118125,-1.29788912455241,0.,0.,0.,0.; 2331P 2248
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559497359477, 2333P 2249
+-135.223655033103,8.73625,83.6559497359477,-135.223655033103, 2333P 2250
+7.118125,0.,0.15,0.,0.,0.; 2333P 2251
+126,1,1,0,0,1,0,0.,0.,0.0555715433815185,0.0555715433815185,1., 2335P 2252
+1.,83.6559497359477,-135.223655033103,8.73625,83.6559584462526, 2335P 2253
+-134.624177008938,8.73625,0.,0.0555715433815185,0.,0.,0.; 2335P 2254
+126,1,1,0,0,1,0,-0.0555715433815185,-0.0555715433815185,0.,0., 2337P 2255
+1.,1.,83.6559584462526,-134.624177008938,7.118125, 2337P 2256
+83.6559497359477,-135.223655033103,7.118125,-0.0555715433815185, 2337P 2257
+0.,0.,0.,0.; 2337P 2258
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 2339P 2259
+-134.624177008938,8.73625,83.6559584462526,-134.624177008938, 2339P 2260
+7.118125,0.,0.15,0.,0.,0.; 2339P 2261
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2341P 2262
+1.,83.6559584462526,-134.624177008938,8.73625,82.8565440835041, 2341P 2263
+-134.624177008938,8.73625,0.,0.0741056187947589,0.,0.,0.; 2341P 2264
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2343P 2265
+1.,1.,82.8565440835041,-134.624177008938,7.118125, 2343P 2266
+83.6559584462526,-134.624177008938,7.118125,-0.0741056187947589, 2343P 2267
+0.,0.,0.,0.; 2343P 2268
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 2345P 2269
+-134.624177008938,8.73625,82.8565440835042,-134.624177008938, 2345P 2270
+7.118125,0.,0.15,0.,0.,0.; 2345P 2271
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2347P 2272
+82.8565440835042,-134.624177008938,8.73625,82.8565440835042, 2347P 2273
+-121.821979920061,8.73625,0.,1.1867621866862,0.,0.,0.; 2347P 2274
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2349P 2275
+82.8565440835042,-121.821979920061,7.118125,82.8565440835042, 2349P 2276
+-134.624177008938,7.118125,-1.1867621866862,0.,0.,0.,0.; 2349P 2277
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 2351P 2278
+-121.821979920061,8.73625,82.8565440835042,-121.821979920061, 2351P 2279
+7.118125,0.,0.15,0.,0.,0.; 2351P 2280
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2353P 2281
+1.,82.8565440835042,-121.821979920061,8.73625,83.6559584462526, 2353P 2282
+-121.82199734067,8.73625,0.,0.0741056188123544,0.,0.,0.; 2353P 2283
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2355P 2284
+1.,1.,83.6559584462526,-121.82199734067,7.118125, 2355P 2285
+82.8565440835042,-121.821979920061,7.118125,-0.0741056188123544, 2355P 2286
+0.,0.,0.,0.; 2355P 2287
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 2357P 2288
+-121.82199734067,8.73625,83.6559584462526,-121.82199734067, 2357P 2289
+7.118125,0.,0.15,0.,0.,0.; 2357P 2290
+126,1,1,0,0,1,0,0.,0.,0.0554439671834288,0.0554439671834288,1., 2359P 2291
+1.,83.6559584462526,-121.82199734067,8.73625,83.6559584462526, 2359P 2292
+-121.223895544679,8.73625,0.,0.0554439671834288,0.,0.,0.; 2359P 2293
+126,1,1,0,0,1,0,-0.0554439671834288,-0.0554439671834288,0.,0., 2361P 2294
+1.,1.,83.6559584462526,-121.223895544679,7.118125, 2361P 2295
+83.6559584462526,-121.82199734067,7.118125,-0.0554439671834288, 2361P 2296
+0.,0.,0.,0.; 2361P 2297
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 2363P 2298
+64.6055896359963,-121.223895544679,8.73625,78.6065598568005, 2363P 2299
+-121.223878124069,8.73625,0.,1.29788831710916,0.,0.,0.; 2363P 2300
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2365P 2301
+-121.223895544679,8.73625,64.6055896359963,-121.223895544679, 2365P 2302
+7.118125,0.,0.15,0.,0.,0.; 2365P 2303
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 2367P 2304
+78.6065598568005,-121.223878124069,7.118125,64.6055896359963, 2367P 2305
+-121.223895544679,7.118125,-1.29788831710916,0.,0.,0.,0.; 2367P 2306
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2369P 2307
+-121.223878124069,8.73625,78.6065598568005,-121.223878124069, 2369P 2308
+7.118125,0.,0.15,0.,0.,0.; 2369P 2309
+126,1,1,0,0,1,0,0.,0.,0.0554439671834324,0.0554439671834324,1., 2371P 2310
+1.,78.6065598568005,-121.223878124069,8.73625,78.6065598568005, 2371P 2311
+-121.821979920061,8.73625,0.,0.0554439671834324,0.,0.,0.; 2371P 2312
+126,1,1,0,0,1,0,-0.0554439671834324,-0.0554439671834324,0.,0., 2373P 2313
+1.,1.,78.6065598568005,-121.821979920061,7.118125, 2373P 2314
+78.6065598568005,-121.223878124069,7.118125,-0.0554439671834324, 2373P 2315
+0.,0.,0.,0.; 2373P 2316
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2375P 2317
+-121.821979920061,8.73625,78.6065598568005,-121.821979920061, 2375P 2318
+7.118125,0.,0.15,0.,0.,0.; 2375P 2319
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2377P 2320
+1.,78.6065598568005,-121.821979920061,8.73625,79.405974219549, 2377P 2321
+-121.82199734067,8.73625,0.,0.0741056188123544,0.,0.,0.; 2377P 2322
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2379P 2323
+1.,1.,79.405974219549,-121.82199734067,7.118125, 2379P 2324
+78.6065598568005,-121.821979920061,7.118125,-0.0741056188123544, 2379P 2325
+0.,0.,0.,0.; 2379P 2326
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 2381P 2327
+-121.82199734067,8.73625,79.4059742195489,-121.82199734067, 2381P 2328
+7.118125,0.,0.15,0.,0.,0.; 2381P 2329
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2383P 2330
+79.4059742195489,-121.82199734067,8.73625,79.4059742195489, 2383P 2331
+-134.624194429548,8.73625,0.,1.1867621866862,0.,0.,0.; 2383P 2332
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2385P 2333
+79.4059742195489,-134.624194429548,7.118125,79.4059742195489, 2385P 2334
+-121.82199734067,7.118125,-1.1867621866862,0.,0.,0.,0.; 2385P 2335
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 2387P 2336
+-134.624194429548,8.73625,79.4059742195489,-134.624194429548, 2387P 2337
+7.118125,0.,0.15,0.,0.,0.; 2387P 2338
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2389P 2339
+1.,79.4059742195489,-134.624194429548,8.73625,78.6065598568005, 2389P 2340
+-134.624177008938,8.73625,0.,0.0741056188123544,0.,0.,0.; 2389P 2341
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2391P 2342
+1.,1.,78.6065598568005,-134.624177008938,7.118125, 2391P 2343
+79.4059742195489,-134.624194429548,7.118125,-0.0741056188123544, 2391P 2344
+0.,0.,0.,0.; 2391P 2345
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2393P 2346
+-134.624177008938,8.73625,78.6065598568005,-134.624177008938, 2393P 2347
+7.118125,0.,0.15,0.,0.,0.; 2393P 2348
+126,1,1,0,0,1,0,0.,0.,0.055571543375649,0.055571543375649,1.,1., 2395P 2349
+78.6065598568005,-134.624177008938,8.73625,78.6065598568005, 2395P 2350
+-135.223655033103,8.73625,0.,0.055571543375649,0.,0.,0.; 2395P 2351
+126,1,1,0,0,1,0,-0.055571543375649,-0.055571543375649,0.,0.,1., 2397P 2352
+1.,78.6065598568005,-135.223655033103,7.118125,78.6065598568005, 2397P 2353
+-134.624177008938,7.118125,-0.055571543375649,0.,0.,0.,0.; 2397P 2354
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2399P 2355
+-135.223655033103,8.73625,78.6065598568005,-135.223655033103, 2399P 2356
+7.118125,0.,0.15,0.,0.,0.; 2399P 2357
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 2401P 2358
+78.6065598568005,-135.223655033103,8.73625,64.6055896359963, 2401P 2359
+-135.223655033103,8.73625,0.,1.29788831710816,0.,0.,0.; 2401P 2360
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 2403P 2361
+64.6055896359963,-135.223655033103,7.118125,78.6065598568005, 2403P 2362
+-135.223655033103,7.118125,-1.29788831710816,0.,0.,0.,0.; 2403P 2363
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2405P 2364
+-135.223655033103,8.73625,64.6055896359963,-135.223655033103, 2405P 2365
+7.118125,0.,0.15,0.,0.,0.; 2405P 2366
+126,1,1,0,0,1,0,0.,0.,0.0555715433756525,0.0555715433756525,1., 2407P 2367
+1.,64.6055896359963,-135.223655033103,8.73625,64.6055896359963, 2407P 2368
+-134.624177008938,8.73625,0.,0.0555715433756525,0.,0.,0.; 2407P 2369
+126,1,1,0,0,1,0,-0.0555715433756525,-0.0555715433756525,0.,0., 2409P 2370
+1.,1.,64.6055896359963,-134.624177008938,7.118125, 2409P 2371
+64.6055896359963,-135.223655033103,7.118125,-0.0555715433756525, 2409P 2372
+0.,0.,0.,0.; 2409P 2373
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2411P 2374
+-134.624177008938,8.73625,64.6055896359963,-134.624177008938, 2411P 2375
+7.118125,0.,0.15,0.,0.,0.; 2411P 2376
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2413P 2377
+1.,64.6055896359963,-134.624177008938,8.73625,63.8061752732478, 2413P 2378
+-134.624177008938,8.73625,0.,0.0741056187947589,0.,0.,0.; 2413P 2379
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2415P 2380
+1.,1.,63.8061752732478,-134.624177008938,7.118125, 2415P 2381
+64.6055896359963,-134.624177008938,7.118125,-0.0741056187947589, 2415P 2382
+0.,0.,0.,0.; 2415P 2383
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 2417P 2384
+-134.624177008938,8.73625,63.8061752732478,-134.624177008938, 2417P 2385
+7.118125,0.,0.15,0.,0.,0.; 2417P 2386
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2419P 2387
+63.8061752732478,-134.624177008938,8.73625,63.8061752732478, 2419P 2388
+-121.821979920061,8.73625,0.,1.1867621866862,0.,0.,0.; 2419P 2389
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2421P 2390
+63.8061752732478,-121.821979920061,7.118125,63.8061752732478, 2421P 2391
+-134.624177008938,7.118125,-1.1867621866862,0.,0.,0.,0.; 2421P 2392
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 2423P 2393
+-121.821979920061,8.73625,63.8061752732478,-121.821979920061, 2423P 2394
+7.118125,0.,0.15,0.,0.,0.; 2423P 2395
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2425P 2396
+1.,63.8061752732478,-121.821979920061,8.73625,64.6055896359963, 2425P 2397
+-121.82199734067,8.73625,0.,0.0741056188123544,0.,0.,0.; 2425P 2398
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2427P 2399
+1.,1.,64.6055896359963,-121.82199734067,7.118125, 2427P 2400
+63.8061752732478,-121.821979920061,7.118125,-0.0741056188123544, 2427P 2401
+0.,0.,0.,0.; 2427P 2402
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2429P 2403
+-121.82199734067,8.73625,64.6055896359963,-121.82199734067, 2429P 2404
+7.118125,0.,0.15,0.,0.,0.; 2429P 2405
+126,1,1,0,0,1,0,0.,0.,0.0554439671834288,0.0554439671834288,1., 2431P 2406
+1.,64.6055896359963,-121.82199734067,8.73625,64.6055896359963, 2431P 2407
+-121.223895544679,8.73625,0.,0.0554439671834288,0.,0.,0.; 2431P 2408
+126,1,1,0,0,1,0,-0.0554439671834288,-0.0554439671834288,0.,0., 2433P 2409
+1.,1.,64.6055896359963,-121.223895544679,7.118125, 2433P 2410
+64.6055896359963,-121.82199734067,7.118125,-0.0554439671834288, 2433P 2411
+0.,0.,0.,0.; 2433P 2412
+126,1,1,0,0,1,0,0.,0.,1.29779546101989,1.29779546101989,1.,1., 2435P 2413
+45.556222510803,-121.223895544679,8.73625,59.5561910465442, 2435P 2414
+-121.223878124069,8.73625,0.,1.29779546101989,0.,0.,0.; 2435P 2415
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2437P 2416
+-121.223895544679,8.73625,45.556222510803,-121.223895544679, 2437P 2417
+7.118125,0.,0.15,0.,0.,0.; 2437P 2418
+126,1,1,0,0,1,0,-1.29779546101989,-1.29779546101989,0.,0.,1.,1., 2439P 2419
+59.5561910465442,-121.223878124069,7.118125,45.556222510803, 2439P 2420
+-121.223895544679,7.118125,-1.29779546101989,0.,0.,0.,0.; 2439P 2421
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2441P 2422
+-121.223878124069,8.73625,59.5561910465442,-121.223878124069, 2441P 2423
+7.118125,0.,0.15,0.,0.,0.; 2441P 2424
+126,1,1,0,0,1,0,0.,0.,0.0554439671834324,0.0554439671834324,1., 2443P 2425
+1.,59.5561910465442,-121.223878124069,8.73625,59.5561910465442, 2443P 2426
+-121.821979920061,8.73625,0.,0.0554439671834324,0.,0.,0.; 2443P 2427
+126,1,1,0,0,1,0,-0.0554439671834324,-0.0554439671834324,0.,0., 2445P 2428
+1.,1.,59.5561910465442,-121.821979920061,7.118125, 2445P 2429
+59.5561910465442,-121.223878124069,7.118125,-0.0554439671834324, 2445P 2430
+0.,0.,0.,0.; 2445P 2431
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2447P 2432
+-121.821979920061,8.73625,59.5561910465442,-121.821979920061, 2447P 2433
+7.118125,0.,0.15,0.,0.,0.; 2447P 2434
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2449P 2435
+1.,59.5561910465442,-121.821979920061,8.73625,60.3556054092927, 2449P 2436
+-121.82199734067,8.73625,0.,0.0741056188123544,0.,0.,0.; 2449P 2437
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2451P 2438
+1.,1.,60.3556054092927,-121.82199734067,7.118125, 2451P 2439
+59.5561910465442,-121.821979920061,7.118125,-0.0741056188123544, 2451P 2440
+0.,0.,0.,0.; 2451P 2441
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3556054092926, 2453P 2442
+-121.82199734067,8.73625,60.3556054092926,-121.82199734067, 2453P 2443
+7.118125,0.,0.15,0.,0.,0.; 2453P 2444
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2455P 2445
+60.3556054092926,-121.82199734067,8.73625,60.3556054092926, 2455P 2446
+-134.624194429548,8.73625,0.,1.1867621866862,0.,0.,0.; 2455P 2447
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2457P 2448
+60.3556054092926,-134.624194429548,7.118125,60.3556054092926, 2457P 2449
+-121.82199734067,7.118125,-1.1867621866862,0.,0.,0.,0.; 2457P 2450
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3556054092926, 2459P 2451
+-134.624194429548,8.73625,60.3556054092926,-134.624194429548, 2459P 2452
+7.118125,0.,0.15,0.,0.,0.; 2459P 2453
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2461P 2454
+1.,60.3556054092926,-134.624194429548,8.73625,59.5561910465442, 2461P 2455
+-134.624177008938,8.73625,0.,0.0741056188123544,0.,0.,0.; 2461P 2456
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2463P 2457
+1.,1.,59.5561910465442,-134.624177008938,7.118125, 2463P 2458
+60.3556054092926,-134.624194429548,7.118125,-0.0741056188123544, 2463P 2459
+0.,0.,0.,0.; 2463P 2460
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2465P 2461
+-134.624177008938,8.73625,59.5561910465442,-134.624177008938, 2465P 2462
+7.118125,0.,0.15,0.,0.,0.; 2465P 2463
+126,1,1,0,0,1,0,0.,0.,0.055571543375649,0.055571543375649,1.,1., 2467P 2464
+59.5561910465442,-134.624177008938,8.73625,59.5561910465442, 2467P 2465
+-135.223655033103,8.73625,0.,0.055571543375649,0.,0.,0.; 2467P 2466
+126,1,1,0,0,1,0,-0.055571543375649,-0.055571543375649,0.,0.,1., 2469P 2467
+1.,59.5561910465442,-135.223655033103,7.118125,59.5561910465442, 2469P 2468
+-134.624177008938,7.118125,-0.055571543375649,0.,0.,0.,0.; 2469P 2469
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2471P 2470
+-135.223655033103,8.73625,59.5561910465442,-135.223655033103, 2471P 2471
+7.118125,0.,0.15,0.,0.,0.; 2471P 2472
+126,1,1,0,0,1,0,0.,0.,1.29779546101888,1.29779546101888,1.,1., 2473P 2473
+59.5561910465442,-135.223655033103,8.73625,45.556222510803, 2473P 2474
+-135.223655033103,8.73625,0.,1.29779546101888,0.,0.,0.; 2473P 2475
+126,1,1,0,0,1,0,-1.29779546101888,-1.29779546101888,0.,0.,1.,1., 2475P 2476
+45.556222510803,-135.223655033103,7.11812500000001, 2475P 2477
+59.5561910465442,-135.223655033103,7.118125,-1.29779546101888, 2475P 2478
+0.,0.,0.,0.; 2475P 2479
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2477P 2480
+-135.223655033103,8.73625,45.556222510803,-135.223655033103, 2477P 2481
+7.118125,0.,0.15,0.,0.,0.; 2477P 2482
+126,1,1,0,0,1,0,0.,0.,0.0555715433756525,0.0555715433756525,1., 2479P 2483
+1.,45.556222510803,-135.223655033103,8.73625,45.556222510803, 2479P 2484
+-134.624177008938,8.73625,0.,0.0555715433756525,0.,0.,0.; 2479P 2485
+126,1,1,0,0,1,0,-0.0555715433756525,-0.0555715433756525,0.,0., 2481P 2486
+1.,1.,45.556222510803,-134.624177008938,7.118125, 2481P 2487
+45.556222510803,-135.223655033103,7.118125,-0.0555715433756525, 2481P 2488
+0.,0.,0.,0.; 2481P 2489
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2483P 2490
+-134.624177008938,8.73625,45.556222510803,-134.624177008938, 2483P 2491
+7.118125,0.,0.15,0.,0.,0.; 2483P 2492
+126,1,1,0,0,1,0,0.,0.,0.0741621398925787,0.0741621398925787,1., 2485P 2493
+1.,45.556222510803,-134.624177008938,8.73625,44.7561984267118, 2485P 2494
+-134.624177008938,8.73625,0.,0.0741621398925787,0.,0.,0.; 2485P 2495
+126,1,1,0,0,1,0,-0.0741621398925787,-0.0741621398925787,0.,0., 2487P 2496
+1.,1.,44.7561984267118,-134.624177008938,7.118125, 2487P 2497
+45.556222510803,-134.624177008938,7.118125,-0.0741621398925787, 2487P 2498
+0.,0.,0.,0.; 2487P 2499
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7561984267118, 2489P 2500
+-134.624177008938,8.73625,44.7561984267118,-134.624177008938, 2489P 2501
+7.118125,0.,0.15,0.,0.,0.; 2489P 2502
+126,1,1,0,0,1,0,0.,0.,1.1867621866862,1.1867621866862,1.,1., 2491P 2503
+44.7561984267118,-134.624177008938,8.73625,44.7561984267118, 2491P 2504
+-121.821979920061,8.73625,0.,1.1867621866862,0.,0.,0.; 2491P 2505
+126,1,1,0,0,1,0,-1.1867621866862,-1.1867621866862,0.,0.,1.,1., 2493P 2506
+44.7561984267118,-121.821979920061,7.118125,44.7561984267118, 2493P 2507
+-134.624177008938,7.118125,-1.1867621866862,0.,0.,0.,0.; 2493P 2508
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7561984267118, 2495P 2509
+-121.821979920061,8.73625,44.7561984267118,-121.821979920061, 2495P 2510
+7.118125,0.,0.15,0.,0.,0.; 2495P 2511
+126,1,1,0,0,1,0,0.,0.,0.0741621399101609,0.0741621399101609,1., 2497P 2512
+1.,44.7561984267118,-121.821979920061,8.73625,45.556222510803, 2497P 2513
+-121.82199734067,8.73625,0.,0.0741621399101609,0.,0.,0.; 2497P 2514
+126,1,1,0,0,1,0,-0.0741621399101609,-0.0741621399101609,0.,0., 2499P 2515
+1.,1.,45.556222510803,-121.82199734067,7.118125, 2499P 2516
+44.7561984267118,-121.821979920061,7.118125,-0.0741621399101609, 2499P 2517
+0.,0.,0.,0.; 2499P 2518
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2501P 2519
+-121.82199734067,8.73625,45.556222510803,-121.82199734067, 2501P 2520
+7.118125,0.,0.15,0.,0.,0.; 2501P 2521
+126,1,1,0,0,1,0,0.,0.,0.0554439671834288,0.0554439671834288,1., 2503P 2522
+1.,45.556222510803,-121.82199734067,8.73625,45.556222510803, 2503P 2523
+-121.223895544679,8.73625,0.,0.0554439671834288,0.,0.,0.; 2503P 2524
+126,1,1,0,0,1,0,-0.0554439671834288,-0.0554439671834288,0.,0., 2505P 2525
+1.,1.,45.556222510803,-121.223895544679,7.118125, 2505P 2526
+45.556222510803,-121.82199734067,7.118125,-0.0554439671834288, 2505P 2527
+0.,0.,0.,0.; 2505P 2528
+126,1,1,0,0,1,0,0.,0.,1.29791011810403,1.29791011810403,1.,1., 2507P 2529
+140.806868895161,-102.173622547777,8.73624999999999, 2507P 2530
+154.808074294198,-102.173605127167,8.73624999999999,0., 2507P 2531
+1.29791011810403,0.,0.,0.; 2507P 2532
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 2509P 2533
+-102.173622547777,8.73624999999999,140.806868895161, 2509P 2534
+-102.173622547777,7.11812499999999,0.,0.15,0.,0.,0.; 2509P 2535
+126,1,1,0,0,1,0,-1.29791011810403,-1.29791011810403,0.,0.,1.,1., 2511P 2536
+154.808074294198,-102.173605127167,7.11812499999999, 2511P 2537
+140.806868895161,-102.173622547777,7.11812499999999, 2511P 2538
+-1.29791011810403,0.,0.,0.,0.; 2511P 2539
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2513P 2540
+-102.173605127167,8.73624999999999,154.808074294198, 2513P 2541
+-102.173605127167,7.11812499999999,0.,0.15,0.,0.,0.; 2513P 2542
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2515P 2543
+1.,154.808074294198,-102.173605127167,8.73624999999999, 2515P 2544
+154.808074294198,-102.772908945234,8.73624999999999,0., 2515P 2545
+0.0555553944905611,0.,0.,0.; 2515P 2546
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2517P 2547
+1.,1.,154.808074294198,-102.772908945234,7.11812499999999, 2517P 2548
+154.808074294198,-102.173605127167,7.11812499999999, 2517P 2549
+-0.0555553944905611,0.,0.,0.,0.; 2517P 2550
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2519P 2551
+-102.772908945234,8.73624999999999,154.808074294198, 2519P 2552
+-102.772908945234,7.11812499999999,0.,0.15,0.,0.,0.; 2519P 2553
+126,1,1,0,0,1,0,0.,0.,0.0740926997042853,0.0740926997042853,1., 2521P 2554
+1.,154.808074294198,-102.772908945234,8.73624999999999, 2521P 2555
+155.607349292068,-102.772926365844,8.73624999999999,0., 2521P 2556
+0.0740926997042853,0.,0.,0.; 2521P 2557
+126,1,1,0,0,1,0,-0.0740926997042853,-0.0740926997042853,0.,0., 2523P 2558
+1.,1.,155.607349292068,-102.772926365844,7.11812499999999, 2523P 2559
+154.808074294198,-102.772908945234,7.11812499999999, 2523P 2560
+-0.0740926997042853,0.,0.,0.,0.; 2523P 2561
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 2525P 2562
+-102.772926365844,8.73624999999999,155.607349292068, 2525P 2563
+-102.772926365844,7.11812499999999,0.,0.15,0.,0.,0.; 2525P 2564
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2527P 2565
+155.607349292068,-102.772926365844,8.73624999999999, 2527P 2566
+155.607349292068,-115.573782067767,8.73624999999999,0., 2527P 2567
+1.186637840271,0.,0.,0.; 2527P 2568
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2529P 2569
+155.607349292068,-115.573782067767,7.11812499999999, 2529P 2570
+155.607349292068,-102.772926365844,7.11812499999999, 2529P 2571
+-1.186637840271,0.,0.,0.,0.; 2529P 2572
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 2531P 2573
+-115.573782067767,8.73624999999999,155.607349292068, 2531P 2574
+-115.573782067767,7.11812499999999,0.,0.15,0.,0.,0.; 2531P 2575
+126,1,1,0,0,1,0,0.,0.,0.0740926997042853,0.0740926997042853,1., 2533P 2576
+1.,155.607349292068,-115.573782067767,8.73624999999999, 2533P 2577
+154.808074294198,-115.573764647157,8.73624999999999,0., 2533P 2578
+0.0740926997042853,0.,0.,0.; 2533P 2579
+126,1,1,0,0,1,0,-0.0740926997042853,-0.0740926997042853,0.,0., 2535P 2580
+1.,1.,154.808074294198,-115.573764647157,7.11812499999999, 2535P 2581
+155.607349292068,-115.573782067767,7.11812499999999, 2535P 2582
+-0.0740926997042853,0.,0.,0.,0.; 2535P 2583
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2537P 2584
+-115.573764647157,8.73624999999999,154.808074294198, 2537P 2585
+-115.573764647157,7.11812499999999,0.,0.15,0.,0.,0.; 2537P 2586
+126,1,1,0,0,1,0,0.,0.,0.0555747731526672,0.0555747731526672,1., 2539P 2587
+1.,154.808074294198,-115.573764647157,8.73624999999999, 2539P 2588
+154.808074294198,-116.173277512542,8.73624999999999,0., 2539P 2589
+0.0555747731526672,0.,0.,0.; 2539P 2590
+126,1,1,0,0,1,0,-0.0555747731526672,-0.0555747731526672,0.,0., 2541P 2591
+1.,1.,154.808074294198,-116.173277512542,7.11812499999999, 2541P 2592
+154.808074294198,-115.573764647157,7.11812499999999, 2541P 2593
+-0.0555747731526672,0.,0.,0.,0.; 2541P 2594
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2543P 2595
+-116.173277512542,8.73624999999999,154.808074294198, 2543P 2596
+-116.173277512542,7.11812499999999,0.,0.15,0.,0.,0.; 2543P 2597
+126,1,1,0,0,1,0,0.,0.,1.2979097143809,1.2979097143809,1.,1., 2545P 2598
+154.808074294198,-116.173277512542,8.73624999999999, 2545P 2599
+140.806873250314,-116.173277512542,8.73624999999999,0., 2545P 2600
+1.2979097143809,0.,0.,0.; 2545P 2601
+126,1,1,0,0,1,0,-1.2979097143809,-1.2979097143809,0.,0.,1.,1., 2547P 2602
+140.806873250314,-116.173277512542,7.11812499999999, 2547P 2603
+154.808074294198,-116.173277512542,7.11812499999999, 2547P 2604
+-1.2979097143809,0.,0.,0.,0.; 2547P 2605
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 2549P 2606
+-116.173277512542,8.73624999999999,140.806873250314, 2549P 2607
+-116.173277512542,7.11812499999999,0.,0.15,0.,0.,0.; 2549P 2608
+126,1,1,0,0,1,0,0.,0.,0.0555747731541372,0.0555747731541372,1., 2551P 2609
+1.,140.806873250314,-116.173277512542,8.73624999999999, 2551P 2610
+140.806868895161,-115.573764647157,8.73624999999999,0., 2551P 2611
+0.0555747731541372,0.,0.,0.; 2551P 2612
+126,1,1,0,0,1,0,-0.0555747731541372,-0.0555747731541372,0.,0., 2553P 2613
+1.,1.,140.806868895161,-115.573764647157,7.11812499999999, 2553P 2614
+140.806873250314,-116.173277512542,7.11812499999999, 2553P 2615
+-0.0555747731541372,0.,0.,0.,0.; 2553P 2616
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 2555P 2617
+-115.573764647157,8.73624999999999,140.806868895161, 2555P 2618
+-115.573764647157,7.11812499999999,0.,0.15,0.,0.,0.; 2555P 2619
+126,1,1,0,0,1,0,0.,0.,0.0740874512990315,0.0740874512990315,1., 2557P 2620
+1.,140.806868895161,-115.573764647157,8.73624999999999, 2557P 2621
+140.007650514273,-115.573764647157,8.73624999999999,0., 2557P 2622
+0.0740874512990315,0.,0.,0.; 2557P 2623
+126,1,1,0,0,1,0,-0.0740874512990315,-0.0740874512990315,0.,0., 2559P 2624
+1.,1.,140.007650514273,-115.573764647157,7.11812499999999, 2559P 2625
+140.806868895161,-115.573764647157,7.11812499999999, 2559P 2626
+-0.0740874512990315,0.,0.,0.,0.; 2559P 2627
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007650514273, 2561P 2628
+-115.573764647157,8.73624999999999,140.007650514273, 2561P 2629
+-115.573764647157,7.11812499999999,0.,0.15,0.,0.,0.; 2561P 2630
+126,1,1,0,0,1,0,0.,0.,1.18663784027107,1.18663784027107,1.,1., 2563P 2631
+140.007650514273,-115.573764647157,8.73624999999999, 2563P 2632
+140.007654869426,-102.772908945234,8.73624999999999,0., 2563P 2633
+1.18663784027107,0.,0.,0.; 2563P 2634
+126,1,1,0,0,1,0,-1.18663784027107,-1.18663784027107,0.,0.,1.,1., 2565P 2635
+140.007654869426,-102.772908945234,7.11812499999999, 2565P 2636
+140.007650514273,-115.573764647157,7.11812499999999, 2565P 2637
+-1.18663784027107,0.,0.,0.,0.; 2565P 2638
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007654869426, 2567P 2639
+-102.772908945234,8.73624999999999,140.007654869426, 2567P 2640
+-102.772908945234,7.11812499999999,0.,0.15,0.,0.,0.; 2567P 2641
+126,1,1,0,0,1,0,0.,0.,0.0740874513166314,0.0740874513166314,1., 2569P 2642
+1.,140.007654869426,-102.772908945234,8.73624999999999, 2569P 2643
+140.806873250314,-102.772926365844,8.73624999999999,0., 2569P 2644
+0.0740874513166314,0.,0.,0.; 2569P 2645
+126,1,1,0,0,1,0,-0.0740874513166314,-0.0740874513166314,0.,0., 2571P 2646
+1.,1.,140.806873250314,-102.772926365844,7.11812499999999, 2571P 2647
+140.007654869426,-102.772908945234,7.11812499999999, 2571P 2648
+-0.0740874513166314,0.,0.,0.,0.; 2571P 2649
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 2573P 2650
+-102.772926365844,8.73624999999999,140.806873250314, 2573P 2651
+-102.772926365844,7.11812499999999,0.,0.15,0.,0.,0.; 2573P 2652
+126,1,1,0,0,1,0,0.,0.,0.0555553944920281,0.0555553944920281,1., 2575P 2653
+1.,140.806873250314,-102.772926365844,8.73624999999999, 2575P 2654
+140.806868895161,-102.173622547777,8.73624999999999,0., 2575P 2655
+0.0555553944920281,0.,0.,0.; 2575P 2656
+126,1,1,0,0,1,0,-0.0555553944920281,-0.0555553944920281,0.,0., 2577P 2657
+1.,1.,140.806868895161,-102.173622547777,7.11812499999999, 2577P 2658
+140.806873250314,-102.772926365844,7.11812499999999, 2577P 2659
+-0.0555553944920281,0.,0.,0.,0.; 2577P 2660
+126,1,1,0,0,1,0,0.,0.,1.29788872083129,1.29788872083129,1.,1., 2579P 2661
+121.756696066765,-102.173622547777,8.73624999999999, 2579P 2662
+135.757670642722,-102.173605127167,8.73624999999999,0., 2579P 2663
+1.29788872083129,0.,0.,0.; 2579P 2664
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2581P 2665
+-102.173622547777,8.73624999999999,121.756696066765, 2581P 2666
+-102.173622547777,7.11812499999999,0.,0.15,0.,0.,0.; 2581P 2667
+126,1,1,0,0,1,0,-1.29788872083129,-1.29788872083129,0.,0.,1.,1., 2583P 2668
+135.757670642722,-102.173605127167,7.11812499999999, 2583P 2669
+121.756696066765,-102.173622547777,7.118125,-1.29788872083129, 2583P 2670
+0.,0.,0.,0.; 2583P 2671
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2585P 2672
+-102.173605127167,8.73624999999999,135.757670642722, 2585P 2673
+-102.173605127167,7.11812499999999,0.,0.15,0.,0.,0.; 2585P 2674
+126,1,1,0,0,1,0,0.,0.,0.0681531397501622,0.0681531397501622,1., 2587P 2675
+1.,135.757670642722,-102.173605127167,8.73624999999999, 2587P 2676
+135.757670642722,-102.908807122222,8.73624999999999,0., 2587P 2677
+0.0681531397501622,0.,0.,0.; 2587P 2678
+126,1,1,0,0,1,0,-0.0681531397501622,-0.0681531397501622,0.,0., 2589P 2679
+1.,1.,135.757670642722,-102.908807122222,7.11812499999999, 2589P 2680
+135.757670642722,-102.173605127167,7.11812499999999, 2589P 2681
+-0.0681531397501622,0.,0.,0.,0.; 2589P 2682
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2591P 2683
+-102.908807122222,8.73624999999999,135.757670642722, 2591P 2684
+-102.908807122222,7.11812499999999,0.,0.15,0.,0.,0.; 2591P 2685
+126,1,1,0,0,1,0,0.,0.,0.0740967369079586,0.0740967369079586,1., 2593P 2686
+1.,135.757670642722,-102.908807122222,8.73624999999999, 2593P 2687
+136.556989192117,-102.908807122222,8.73624999999999,0., 2593P 2688
+0.0740967369079586,0.,0.,0.; 2593P 2689
+126,1,1,0,0,1,0,-0.0740967369079586,-0.0740967369079586,0.,0., 2595P 2690
+1.,1.,136.556989192117,-102.908807122222,7.11812499999999, 2595P 2691
+135.757670642722,-102.908807122222,7.11812499999999, 2595P 2692
+-0.0740967369079586,0.,0.,0.,0.; 2595P 2693
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 2597P 2694
+-102.908807122222,8.73624999999999,136.556989192117, 2597P 2695
+-102.908807122222,7.11812499999999,0.,0.15,0.,0.,0.; 2597P 2696
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2599P 2697
+136.556989192117,-102.908807122222,8.73624999999999, 2599P 2698
+136.556989192117,-115.709662824145,8.73624999999999,0., 2599P 2699
+1.186637840271,0.,0.,0.; 2599P 2700
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2601P 2701
+136.556989192117,-115.709662824145,7.11812499999999, 2601P 2702
+136.556989192117,-102.908807122222,7.11812499999999, 2601P 2703
+-1.186637840271,0.,0.,0.,0.; 2601P 2704
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 2603P 2705
+-115.709662824145,8.73624999999999,136.556989192117, 2603P 2706
+-115.709662824145,7.11812499999999,0.,0.15,0.,0.,0.; 2603P 2707
+126,1,1,0,0,1,0,0.,0.,0.0740967369079586,0.0740967369079586,1., 2605P 2708
+1.,136.556989192117,-115.709662824145,8.73624999999999, 2605P 2709
+135.757670642722,-115.709662824145,8.73624999999999,0., 2605P 2710
+0.0740967369079586,0.,0.,0.; 2605P 2711
+126,1,1,0,0,1,0,-0.0740967369079586,-0.0740967369079586,0.,0., 2607P 2712
+1.,1.,135.757670642722,-115.709662824145,7.11812499999999, 2607P 2713
+136.556989192117,-115.709662824145,7.11812499999999, 2607P 2714
+-0.0740967369079586,0.,0.,0.,0.; 2607P 2715
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2609P 2716
+-115.709662824145,8.73624999999999,135.757670642722, 2609P 2717
+-115.709662824145,7.11812499999999,0.,0.15,0.,0.,0.; 2609P 2718
+126,1,1,0,0,1,0,0.,0.,0.0431191380818667,0.0431191380818667,1., 2611P 2719
+1.,135.757670642722,-115.709662824145,8.73624999999999, 2611P 2720
+135.757670642722,-116.174810526203,8.73624999999999,0., 2611P 2721
+0.0431191380818667,0.,0.,0.; 2611P 2722
+126,1,1,0,0,1,0,-0.0431191380818667,-0.0431191380818667,0.,0., 2613P 2723
+1.,1.,135.757670642722,-116.174810526203,7.11812499999999, 2613P 2724
+135.757670642722,-115.709662824145,7.11812499999999, 2613P 2725
+-0.0431191380818667,0.,0.,0.,0.; 2613P 2726
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 2615P 2727
+-116.174810526203,8.73624999999999,135.757670642722, 2615P 2728
+-116.174810526203,7.11812499999999,0.,0.15,0.,0.,0.; 2615P 2729
+126,1,1,0,0,1,0,0.,0.,1.29788872083028,1.29788872083028,1.,1., 2617P 2730
+135.757670642722,-116.174810526203,8.73624999999999, 2617P 2731
+121.756696066765,-116.174810526203,8.73624999999999,0., 2617P 2732
+1.29788872083028,0.,0.,0.; 2617P 2733
+126,1,1,0,0,1,0,-1.29788872083028,-1.29788872083028,0.,0.,1.,1., 2619P 2734
+121.756696066765,-116.174810526203,7.118125,135.757670642722, 2619P 2735
+-116.174810526203,7.11812499999999,-1.29788872083028,0.,0.,0., 2619P 2736
+0.; 2619P 2737
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2621P 2738
+-116.174810526203,8.73624999999999,121.756696066765, 2621P 2739
+-116.174810526203,7.11812499999999,0.,0.15,0.,0.,0.; 2621P 2740
+126,1,1,0,0,1,0,0.,0.,0.0555747731526708,0.0555747731526708,1., 2623P 2741
+1.,121.756696066765,-116.174810526203,8.73624999999999, 2623P 2742
+121.756696066765,-115.575297660819,8.73624999999999,0., 2623P 2743
+0.0555747731526708,0.,0.,0.; 2623P 2744
+126,1,1,0,0,1,0,-0.0555747731526708,-0.0555747731526708,0.,0., 2625P 2745
+1.,1.,121.756696066765,-115.575297660819,7.118125, 2625P 2746
+121.756696066765,-116.174810526203,7.118125,-0.0555747731526708, 2625P 2747
+0.,0.,0.,0.; 2625P 2748
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2627P 2749
+-115.575297660819,8.73624999999999,121.756696066765, 2627P 2750
+-115.575297660819,7.11812499999999,0.,0.15,0.,0.,0.; 2627P 2751
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2629P 2752
+1.,121.756696066765,-115.575297660819,8.73624999999999, 2629P 2753
+120.957281704017,-115.575297660819,8.73624999999999,0., 2629P 2754
+0.0741056187947589,0.,0.,0.; 2629P 2755
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2631P 2756
+1.,1.,120.957281704017,-115.575297660819,7.118125, 2631P 2757
+121.756696066765,-115.575297660819,7.118125,-0.0741056187947589, 2631P 2758
+0.,0.,0.,0.; 2631P 2759
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 2633P 2760
+-115.575297660819,8.73624999999999,120.957281704017, 2633P 2761
+-115.575297660819,7.11812499999999,0.,0.15,0.,0.,0.; 2633P 2762
+126,1,1,0,0,1,0,0.,0.,1.1867799504598,1.1867799504598,1.,1., 2635P 2763
+120.957281704017,-115.575297660819,8.73624999999999, 2635P 2764
+120.957281704017,-102.772908945234,8.73624999999999,0., 2635P 2765
+1.1867799504598,0.,0.,0.; 2635P 2766
+126,1,1,0,0,1,0,-1.1867799504598,-1.1867799504598,0.,0.,1.,1., 2637P 2767
+120.957281704017,-102.772908945234,7.118125,120.957281704017, 2637P 2768
+-115.575297660819,7.118125,-1.1867799504598,0.,0.,0.,0.; 2637P 2769
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 2639P 2770
+-102.772908945234,8.73624999999999,120.957281704017, 2639P 2771
+-102.772908945234,7.11812499999999,0.,0.15,0.,0.,0.; 2639P 2772
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2641P 2773
+1.,120.957281704017,-102.772908945234,8.73624999999999, 2641P 2774
+121.756696066765,-102.772926365844,8.73624999999999,0., 2641P 2775
+0.0741056188123544,0.,0.,0.; 2641P 2776
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2643P 2777
+1.,1.,121.756696066765,-102.772926365844,7.118125, 2643P 2778
+120.957281704017,-102.772908945234,7.118125,-0.0741056188123544, 2643P 2779
+0.,0.,0.,0.; 2643P 2780
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 2645P 2781
+-102.772926365844,8.73624999999999,121.756696066765, 2645P 2782
+-102.772926365844,7.11812499999999,0.,0.15,0.,0.,0.; 2645P 2783
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2647P 2784
+1.,121.756696066765,-102.772926365844,8.73624999999999, 2647P 2785
+121.756696066765,-102.173622547777,8.73624999999999,0., 2647P 2786
+0.0555553944905611,0.,0.,0.; 2647P 2787
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2649P 2788
+1.,1.,121.756696066765,-102.173622547777,7.118125, 2649P 2789
+121.756696066765,-102.772926365844,7.118125,-0.0555553944905611, 2649P 2790
+0.,0.,0.,0.; 2649P 2791
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 2651P 2792
+102.706327256509,-102.173622547777,8.73624999999999, 2651P 2793
+116.707297477313,-102.173605127167,8.73624999999999,0., 2651P 2794
+1.29788831710916,0.,0.,0.; 2651P 2795
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2653P 2796
+-102.173622547777,8.73624999999999,102.706327256509, 2653P 2797
+-102.173622547777,7.118125,0.,0.15,0.,0.,0.; 2653P 2798
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 2655P 2799
+116.707297477313,-102.173605127167,7.118125,102.706327256509, 2655P 2800
+-102.173622547777,7.118125,-1.29788831710916,0.,0.,0.,0.; 2655P 2801
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 2657P 2802
+-102.173605127167,8.73624999999999,116.707297477313, 2657P 2803
+-102.173605127167,7.11812499999999,0.,0.15,0.,0.,0.; 2657P 2804
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2659P 2805
+1.,116.707297477313,-102.173605127167,8.73624999999999, 2659P 2806
+116.707297477313,-102.772908945234,8.73624999999999,0., 2659P 2807
+0.0555553944905611,0.,0.,0.; 2659P 2808
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2661P 2809
+1.,1.,116.707297477313,-102.772908945234,7.118125, 2661P 2810
+116.707297477313,-102.173605127167,7.118125,-0.0555553944905611, 2661P 2811
+0.,0.,0.,0.; 2661P 2812
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 2663P 2813
+-102.772908945234,8.73624999999999,116.707297477313, 2663P 2814
+-102.772908945234,7.11812499999999,0.,0.15,0.,0.,0.; 2663P 2815
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2665P 2816
+1.,116.707297477313,-102.772908945234,8.73624999999999, 2665P 2817
+117.506711840062,-102.772926365844,8.73624999999999,0., 2665P 2818
+0.0741056188123544,0.,0.,0.; 2665P 2819
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2667P 2820
+1.,1.,117.506711840062,-102.772926365844,7.118125, 2667P 2821
+116.707297477313,-102.772908945234,7.118125,-0.0741056188123544, 2667P 2822
+0.,0.,0.,0.; 2667P 2823
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506711840062, 2669P 2824
+-102.772926365844,8.73624999999999,117.506711840062, 2669P 2825
+-102.772926365844,7.11812499999999,0.,0.15,0.,0.,0.; 2669P 2826
+126,1,1,0,0,1,0,0.,0.,1.18663784027127,1.18663784027127,1.,1., 2671P 2827
+117.506711840062,-102.772926365844,8.73624999999999, 2671P 2828
+117.506720550367,-115.573782067767,8.73624999999999,0., 2671P 2829
+1.18663784027127,0.,0.,0.; 2671P 2830
+126,1,1,0,0,1,0,-1.18663784027127,-1.18663784027127,0.,0.,1.,1., 2673P 2831
+117.506720550367,-115.573782067767,7.118125,117.506711840062, 2673P 2832
+-102.772926365844,7.118125,-1.18663784027127,0.,0.,0.,0.; 2673P 2833
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506720550367, 2675P 2834
+-115.573782067767,8.73624999999999,117.506720550367, 2675P 2835
+-115.573782067767,7.11812499999999,0.,0.15,0.,0.,0.; 2675P 2836
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2677P 2837
+1.,117.506720550367,-115.573782067767,8.73624999999999, 2677P 2838
+116.707306187618,-115.573764647157,8.73624999999999,0., 2677P 2839
+0.0741056188123544,0.,0.,0.; 2677P 2840
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2679P 2841
+1.,1.,116.707306187618,-115.573764647157,7.118125, 2679P 2842
+117.506720550367,-115.573782067767,7.118125,-0.0741056188123544, 2679P 2843
+0.,0.,0.,0.; 2679P 2844
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707306187618, 2681P 2845
+-115.573764647157,8.73624999999999,116.707306187618, 2681P 2846
+-115.573764647157,7.11812499999999,0.,0.15,0.,0.,0.; 2681P 2847
+126,1,1,0,0,1,0,0.,0.,0.0555747731585329,0.0555747731585329,1., 2683P 2848
+1.,116.707306187618,-115.573764647157,8.73624999999999, 2683P 2849
+116.707297477313,-116.173277512542,8.73624999999999,0., 2683P 2850
+0.0555747731585329,0.,0.,0.; 2683P 2851
+126,1,1,0,0,1,0,-0.0555747731585329,-0.0555747731585329,0.,0., 2685P 2852
+1.,1.,116.707297477313,-116.173277512542,7.118125, 2685P 2853
+116.707306187618,-115.573764647157,7.118125,-0.0555747731585329, 2685P 2854
+0.,0.,0.,0.; 2685P 2855
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 2687P 2856
+-116.173277512542,8.73624999999999,116.707297477313, 2687P 2857
+-116.173277512542,7.11812499999999,0.,0.15,0.,0.,0.; 2687P 2858
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 2689P 2859
+116.707297477313,-116.173277512542,8.73624999999999, 2689P 2860
+102.706327256509,-116.173277512542,8.73624999999999,0., 2689P 2861
+1.29788831710816,0.,0.,0.; 2689P 2862
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 2691P 2863
+102.706327256509,-116.173277512542,7.118125,116.707297477313, 2691P 2864
+-116.173277512542,7.118125,-1.29788831710816,0.,0.,0.,0.; 2691P 2865
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2693P 2866
+-116.173277512542,8.73624999999999,102.706327256509, 2693P 2867
+-116.173277512542,7.118125,0.,0.15,0.,0.,0.; 2693P 2868
+126,1,1,0,0,1,0,0.,0.,0.0555747731526708,0.0555747731526708,1., 2695P 2869
+1.,102.706327256509,-116.173277512542,8.73624999999999, 2695P 2870
+102.706327256509,-115.573764647157,8.73624999999999,0., 2695P 2871
+0.0555747731526708,0.,0.,0.; 2695P 2872
+126,1,1,0,0,1,0,-0.0555747731526708,-0.0555747731526708,0.,0., 2697P 2873
+1.,1.,102.706327256509,-115.573764647157,7.118125, 2697P 2874
+102.706327256509,-116.173277512542,7.118125,-0.0555747731526708, 2697P 2875
+0.,0.,0.,0.; 2697P 2876
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2699P 2877
+-115.573764647157,8.73624999999999,102.706327256509, 2699P 2878
+-115.573764647157,7.118125,0.,0.15,0.,0.,0.; 2699P 2879
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2701P 2880
+1.,102.706327256509,-115.573764647157,8.73624999999999, 2701P 2881
+101.90691289376,-115.573764647157,8.73624999999999,0., 2701P 2882
+0.0741056187947589,0.,0.,0.; 2701P 2883
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2703P 2884
+1.,1.,101.90691289376,-115.573764647157,7.118125, 2703P 2885
+102.706327256509,-115.573764647157,7.118125,-0.0741056187947589, 2703P 2886
+0.,0.,0.,0.; 2703P 2887
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 2705P 2888
+-115.573764647157,8.73624999999999,101.90691289376, 2705P 2889
+-115.573764647157,7.118125,0.,0.15,0.,0.,0.; 2705P 2890
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2707P 2891
+101.90691289376,-115.573764647157,8.73624999999999, 2707P 2892
+101.90691289376,-102.772908945234,8.73624999999999,0., 2707P 2893
+1.186637840271,0.,0.,0.; 2707P 2894
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2709P 2895
+101.90691289376,-102.772908945234,7.118125,101.90691289376, 2709P 2896
+-115.573764647157,7.118125,-1.186637840271,0.,0.,0.,0.; 2709P 2897
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 2711P 2898
+-102.772908945234,8.73624999999999,101.90691289376, 2711P 2899
+-102.772908945234,7.118125,0.,0.15,0.,0.,0.; 2711P 2900
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2713P 2901
+1.,101.90691289376,-102.772908945234,8.73624999999999, 2713P 2902
+102.706327256509,-102.772926365844,8.73624999999999,0., 2713P 2903
+0.0741056188123544,0.,0.,0.; 2713P 2904
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2715P 2905
+1.,1.,102.706327256509,-102.772926365844,7.118125, 2715P 2906
+101.90691289376,-102.772908945234,7.118125,-0.0741056188123544, 2715P 2907
+0.,0.,0.,0.; 2715P 2908
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 2717P 2909
+-102.772926365844,8.73624999999999,102.706327256509, 2717P 2910
+-102.772926365844,7.118125,0.,0.15,0.,0.,0.; 2717P 2911
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2719P 2912
+1.,102.706327256509,-102.772926365844,8.73624999999999, 2719P 2913
+102.706327256509,-102.173622547777,8.73624999999999,0., 2719P 2914
+0.0555553944905611,0.,0.,0.; 2719P 2915
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2721P 2916
+1.,1.,102.706327256509,-102.173622547777,7.118125, 2721P 2917
+102.706327256509,-102.772926365844,7.118125,-0.0555553944905611, 2721P 2918
+0.,0.,0.,0.; 2721P 2919
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 2723P 2920
+83.6559584462526,-102.173622547777,8.73625,97.6569286670568, 2723P 2921
+-102.173605127167,8.73624999999999,0.,1.29788831710916,0.,0.,0.; 2723P 2922
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 2725P 2923
+-102.173622547777,8.73625,83.6559584462526,-102.173622547777, 2725P 2924
+7.118125,0.,0.15,0.,0.,0.; 2725P 2925
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 2727P 2926
+97.6569286670568,-102.173605127167,7.118125,83.6559584462526, 2727P 2927
+-102.173622547777,7.118125,-1.29788831710916,0.,0.,0.,0.; 2727P 2928
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2729P 2929
+-102.173605127167,8.73624999999999,97.6569286670568, 2729P 2930
+-102.173605127167,7.118125,0.,0.15,0.,0.,0.; 2729P 2931
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2731P 2932
+1.,97.6569286670568,-102.173605127167,8.73624999999999, 2731P 2933
+97.6569286670568,-102.772908945234,8.73624999999999,0., 2731P 2934
+0.0555553944905611,0.,0.,0.; 2731P 2935
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2733P 2936
+1.,1.,97.6569286670568,-102.772908945234,7.118125, 2733P 2937
+97.6569286670568,-102.173605127167,7.118125,-0.0555553944905611, 2733P 2938
+0.,0.,0.,0.; 2733P 2939
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2735P 2940
+-102.772908945234,8.73624999999999,97.6569286670568, 2735P 2941
+-102.772908945234,7.118125,0.,0.15,0.,0.,0.; 2735P 2942
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2737P 2943
+1.,97.6569286670568,-102.772908945234,8.73624999999999, 2737P 2944
+98.4563430298053,-102.772926365844,8.73624999999999,0., 2737P 2945
+0.0741056188123544,0.,0.,0.; 2737P 2946
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2739P 2947
+1.,1.,98.4563430298053,-102.772926365844,7.118125, 2739P 2948
+97.6569286670568,-102.772908945234,7.118125,-0.0741056188123544, 2739P 2949
+0.,0.,0.,0.; 2739P 2950
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 2741P 2951
+-102.772926365844,8.73624999999999,98.4563430298053, 2741P 2952
+-102.772926365844,7.118125,0.,0.15,0.,0.,0.; 2741P 2953
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2743P 2954
+98.4563430298053,-102.772926365844,8.73624999999999, 2743P 2955
+98.4563430298053,-115.573782067767,8.73624999999999,0., 2743P 2956
+1.186637840271,0.,0.,0.; 2743P 2957
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2745P 2958
+98.4563430298053,-115.573782067767,7.118125,98.4563430298053, 2745P 2959
+-102.772926365844,7.118125,-1.186637840271,0.,0.,0.,0.; 2745P 2960
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 2747P 2961
+-115.573782067767,8.73624999999999,98.4563430298053, 2747P 2962
+-115.573782067767,7.118125,0.,0.15,0.,0.,0.; 2747P 2963
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2749P 2964
+1.,98.4563430298053,-115.573782067767,8.73624999999999, 2749P 2965
+97.6569286670568,-115.573764647157,8.73624999999999,0., 2749P 2966
+0.0741056188123544,0.,0.,0.; 2749P 2967
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2751P 2968
+1.,1.,97.6569286670568,-115.573764647157,7.118125, 2751P 2969
+98.4563430298053,-115.573782067767,7.118125,-0.0741056188123544, 2751P 2970
+0.,0.,0.,0.; 2751P 2971
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2753P 2972
+-115.573764647157,8.73624999999999,97.6569286670568, 2753P 2973
+-115.573764647157,7.118125,0.,0.15,0.,0.,0.; 2753P 2974
+126,1,1,0,0,1,0,0.,0.,0.0555747731526672,0.0555747731526672,1., 2755P 2975
+1.,97.6569286670568,-115.573764647157,8.73624999999999, 2755P 2976
+97.6569286670568,-116.173277512542,8.73624999999999,0., 2755P 2977
+0.0555747731526672,0.,0.,0.; 2755P 2978
+126,1,1,0,0,1,0,-0.0555747731526672,-0.0555747731526672,0.,0., 2757P 2979
+1.,1.,97.6569286670568,-116.173277512542,7.118125, 2757P 2980
+97.6569286670568,-115.573764647157,7.118125,-0.0555747731526672, 2757P 2981
+0.,0.,0.,0.; 2757P 2982
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 2759P 2983
+-116.173277512542,8.73624999999999,97.6569286670568, 2759P 2984
+-116.173277512542,7.118125,0.,0.15,0.,0.,0.; 2759P 2985
+126,1,1,0,0,1,0,0.,0.,1.29788912455241,1.29788912455241,1.,1., 2761P 2986
+97.6569286670568,-116.173277512542,8.73624999999999, 2761P 2987
+83.6559497359477,-116.173277512542,8.73625,0.,1.29788912455241, 2761P 2988
+0.,0.,0.; 2761P 2989
+126,1,1,0,0,1,0,-1.29788912455241,-1.29788912455241,0.,0.,1.,1., 2763P 2990
+83.6559497359477,-116.173277512542,7.118125,97.6569286670568, 2763P 2991
+-116.173277512542,7.118125,-1.29788912455241,0.,0.,0.,0.; 2763P 2992
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559497359477, 2765P 2993
+-116.173277512542,8.73625,83.6559497359477,-116.173277512542, 2765P 2994
+7.118125,0.,0.15,0.,0.,0.; 2765P 2995
+126,1,1,0,0,1,0,0.,0.,0.0555747731585365,0.0555747731585365,1., 2767P 2996
+1.,83.6559497359477,-116.173277512542,8.73625,83.6559584462526, 2767P 2997
+-115.573764647157,8.73625,0.,0.0555747731585365,0.,0.,0.; 2767P 2998
+126,1,1,0,0,1,0,-0.0555747731585365,-0.0555747731585365,0.,0., 2769P 2999
+1.,1.,83.6559584462526,-115.573764647157,7.118125, 2769P 3000
+83.6559497359477,-116.173277512542,7.118125,-0.0555747731585365, 2769P 3001
+0.,0.,0.,0.; 2769P 3002
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 2771P 3003
+-115.573764647157,8.73625,83.6559584462526,-115.573764647157, 2771P 3004
+7.118125,0.,0.15,0.,0.,0.; 2771P 3005
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2773P 3006
+1.,83.6559584462526,-115.573764647157,8.73625,82.8565440835041, 2773P 3007
+-115.573764647157,8.73625,0.,0.0741056187947589,0.,0.,0.; 2773P 3008
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2775P 3009
+1.,1.,82.8565440835041,-115.573764647157,7.118125, 2775P 3010
+83.6559584462526,-115.573764647157,7.118125,-0.0741056187947589, 2775P 3011
+0.,0.,0.,0.; 2775P 3012
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 2777P 3013
+-115.573764647157,8.73625,82.8565440835042,-115.573764647157, 2777P 3014
+7.118125,0.,0.15,0.,0.,0.; 2777P 3015
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2779P 3016
+82.8565440835042,-115.573764647157,8.73625,82.8565440835042, 2779P 3017
+-102.772908945234,8.73625,0.,1.186637840271,0.,0.,0.; 2779P 3018
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2781P 3019
+82.8565440835042,-102.772908945234,7.118125,82.8565440835042, 2781P 3020
+-115.573764647157,7.118125,-1.186637840271,0.,0.,0.,0.; 2781P 3021
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 2783P 3022
+-102.772908945234,8.73625,82.8565440835042,-102.772908945234, 2783P 3023
+7.118125,0.,0.15,0.,0.,0.; 2783P 3024
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2785P 3025
+1.,82.8565440835042,-102.772908945234,8.73625,83.6559584462526, 2785P 3026
+-102.772926365844,8.73625,0.,0.0741056188123544,0.,0.,0.; 2785P 3027
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2787P 3028
+1.,1.,83.6559584462526,-102.772926365844,7.118125, 2787P 3029
+82.8565440835042,-102.772908945234,7.118125,-0.0741056188123544, 2787P 3030
+0.,0.,0.,0.; 2787P 3031
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 2789P 3032
+-102.772926365844,8.73625,83.6559584462526,-102.772926365844, 2789P 3033
+7.118125,0.,0.15,0.,0.,0.; 2789P 3034
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2791P 3035
+1.,83.6559584462526,-102.772926365844,8.73625,83.6559584462526, 2791P 3036
+-102.173622547777,8.73625,0.,0.0555553944905611,0.,0.,0.; 2791P 3037
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2793P 3038
+1.,1.,83.6559584462526,-102.173622547777,7.118125, 2793P 3039
+83.6559584462526,-102.772926365844,7.118125,-0.0555553944905611, 2793P 3040
+0.,0.,0.,0.; 2793P 3041
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 2795P 3042
+64.6055896359963,-102.173622547777,8.73625,78.6065598568005, 2795P 3043
+-102.173605127167,8.73625,0.,1.29788831710916,0.,0.,0.; 2795P 3044
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2797P 3045
+-102.173622547777,8.73625,64.6055896359963,-102.173622547777, 2797P 3046
+7.118125,0.,0.15,0.,0.,0.; 2797P 3047
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 2799P 3048
+78.6065598568005,-102.173605127167,7.118125,64.6055896359963, 2799P 3049
+-102.173622547777,7.118125,-1.29788831710916,0.,0.,0.,0.; 2799P 3050
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2801P 3051
+-102.173605127167,8.73625,78.6065598568005,-102.173605127167, 2801P 3052
+7.118125,0.,0.15,0.,0.,0.; 2801P 3053
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2803P 3054
+1.,78.6065598568005,-102.173605127167,8.73625,78.6065598568005, 2803P 3055
+-102.772908945234,8.73625,0.,0.0555553944905611,0.,0.,0.; 2803P 3056
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2805P 3057
+1.,1.,78.6065598568005,-102.772908945234,7.118125, 2805P 3058
+78.6065598568005,-102.173605127167,7.118125,-0.0555553944905611, 2805P 3059
+0.,0.,0.,0.; 2805P 3060
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2807P 3061
+-102.772908945234,8.73625,78.6065598568005,-102.772908945234, 2807P 3062
+7.118125,0.,0.15,0.,0.,0.; 2807P 3063
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2809P 3064
+1.,78.6065598568005,-102.772908945234,8.73625,79.405974219549, 2809P 3065
+-102.772926365844,8.73625,0.,0.0741056188123544,0.,0.,0.; 2809P 3066
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2811P 3067
+1.,1.,79.405974219549,-102.772926365844,7.118125, 2811P 3068
+78.6065598568005,-102.772908945234,7.118125,-0.0741056188123544, 2811P 3069
+0.,0.,0.,0.; 2811P 3070
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 2813P 3071
+-102.772926365844,8.73625,79.4059742195489,-102.772926365844, 2813P 3072
+7.118125,0.,0.15,0.,0.,0.; 2813P 3073
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2815P 3074
+79.4059742195489,-102.772926365844,8.73625,79.4059742195489, 2815P 3075
+-115.573782067767,8.73625,0.,1.186637840271,0.,0.,0.; 2815P 3076
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2817P 3077
+79.4059742195489,-115.573782067767,7.118125,79.4059742195489, 2817P 3078
+-102.772926365844,7.118125,-1.186637840271,0.,0.,0.,0.; 2817P 3079
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 2819P 3080
+-115.573782067767,8.73625,79.4059742195489,-115.573782067767, 2819P 3081
+7.118125,0.,0.15,0.,0.,0.; 2819P 3082
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2821P 3083
+1.,79.4059742195489,-115.573782067767,8.73625,78.6065598568005, 2821P 3084
+-115.573764647157,8.73625,0.,0.0741056188123544,0.,0.,0.; 2821P 3085
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2823P 3086
+1.,1.,78.6065598568005,-115.573764647157,7.118125, 2823P 3087
+79.4059742195489,-115.573782067767,7.118125,-0.0741056188123544, 2823P 3088
+0.,0.,0.,0.; 2823P 3089
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2825P 3090
+-115.573764647157,8.73625,78.6065598568005,-115.573764647157, 2825P 3091
+7.118125,0.,0.15,0.,0.,0.; 2825P 3092
+126,1,1,0,0,1,0,0.,0.,0.0555747731526672,0.0555747731526672,1., 2827P 3093
+1.,78.6065598568005,-115.573764647157,8.73625,78.6065598568005, 2827P 3094
+-116.173277512542,8.73625,0.,0.0555747731526672,0.,0.,0.; 2827P 3095
+126,1,1,0,0,1,0,-0.0555747731526672,-0.0555747731526672,0.,0., 2829P 3096
+1.,1.,78.6065598568005,-116.173277512542,7.118125, 2829P 3097
+78.6065598568005,-115.573764647157,7.118125,-0.0555747731526672, 2829P 3098
+0.,0.,0.,0.; 2829P 3099
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 2831P 3100
+-116.173277512542,8.73625,78.6065598568005,-116.173277512542, 2831P 3101
+7.118125,0.,0.15,0.,0.,0.; 2831P 3102
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 2833P 3103
+78.6065598568005,-116.173277512542,8.73625,64.6055896359963, 2833P 3104
+-116.173277512542,8.73625,0.,1.29788831710816,0.,0.,0.; 2833P 3105
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 2835P 3106
+64.6055896359963,-116.173277512542,7.118125,78.6065598568005, 2835P 3107
+-116.173277512542,7.118125,-1.29788831710816,0.,0.,0.,0.; 2835P 3108
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2837P 3109
+-116.173277512542,8.73625,64.6055896359963,-116.173277512542, 2837P 3110
+7.118125,0.,0.15,0.,0.,0.; 2837P 3111
+126,1,1,0,0,1,0,0.,0.,0.0555747731526708,0.0555747731526708,1., 2839P 3112
+1.,64.6055896359963,-116.173277512542,8.73625,64.6055896359963, 2839P 3113
+-115.573764647157,8.73625,0.,0.0555747731526708,0.,0.,0.; 2839P 3114
+126,1,1,0,0,1,0,-0.0555747731526708,-0.0555747731526708,0.,0., 2841P 3115
+1.,1.,64.6055896359963,-115.573764647157,7.118125, 2841P 3116
+64.6055896359963,-116.173277512542,7.118125,-0.0555747731526708, 2841P 3117
+0.,0.,0.,0.; 2841P 3118
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2843P 3119
+-115.573764647157,8.73625,64.6055896359963,-115.573764647157, 2843P 3120
+7.118125,0.,0.15,0.,0.,0.; 2843P 3121
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 2845P 3122
+1.,64.6055896359963,-115.573764647157,8.73625,63.8061752732478, 2845P 3123
+-115.573764647157,8.73625,0.,0.0741056187947589,0.,0.,0.; 2845P 3124
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 2847P 3125
+1.,1.,63.8061752732478,-115.573764647157,7.118125, 2847P 3126
+64.6055896359963,-115.573764647157,7.118125,-0.0741056187947589, 2847P 3127
+0.,0.,0.,0.; 2847P 3128
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 2849P 3129
+-115.573764647157,8.73625,63.8061752732478,-115.573764647157, 2849P 3130
+7.118125,0.,0.15,0.,0.,0.; 2849P 3131
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2851P 3132
+63.8061752732478,-115.573764647157,8.73625,63.8061752732478, 2851P 3133
+-102.772908945234,8.73625,0.,1.186637840271,0.,0.,0.; 2851P 3134
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2853P 3135
+63.8061752732478,-102.772908945234,7.118125,63.8061752732478, 2853P 3136
+-115.573764647157,7.118125,-1.186637840271,0.,0.,0.,0.; 2853P 3137
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 2855P 3138
+-102.772908945234,8.73625,63.8061752732478,-102.772908945234, 2855P 3139
+7.118125,0.,0.15,0.,0.,0.; 2855P 3140
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2857P 3141
+1.,63.8061752732478,-102.772908945234,8.73625,64.6055896359963, 2857P 3142
+-102.772926365844,8.73625,0.,0.0741056188123544,0.,0.,0.; 2857P 3143
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2859P 3144
+1.,1.,64.6055896359963,-102.772926365844,7.118125, 2859P 3145
+63.8061752732478,-102.772908945234,7.118125,-0.0741056188123544, 2859P 3146
+0.,0.,0.,0.; 2859P 3147
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 2861P 3148
+-102.772926365844,8.73625,64.6055896359963,-102.772926365844, 2861P 3149
+7.118125,0.,0.15,0.,0.,0.; 2861P 3150
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2863P 3151
+1.,64.6055896359963,-102.772926365844,8.73625,64.6055896359963, 2863P 3152
+-102.173622547777,8.73625,0.,0.0555553944905611,0.,0.,0.; 2863P 3153
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2865P 3154
+1.,1.,64.6055896359963,-102.173622547777,7.118125, 2865P 3155
+64.6055896359963,-102.772926365844,7.118125,-0.0555553944905611, 2865P 3156
+0.,0.,0.,0.; 2865P 3157
+126,1,1,0,0,1,0,0.,0.,1.29779546101989,1.29779546101989,1.,1., 2867P 3158
+45.556222510803,-102.173622547777,8.73625,59.5561910465442, 2867P 3159
+-102.173605127167,8.73625,0.,1.29779546101989,0.,0.,0.; 2867P 3160
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2869P 3161
+-102.173622547777,8.73625,45.556222510803,-102.173622547777, 2869P 3162
+7.118125,0.,0.15,0.,0.,0.; 2869P 3163
+126,1,1,0,0,1,0,-1.29779546101989,-1.29779546101989,0.,0.,1.,1., 2871P 3164
+59.5561910465442,-102.173605127167,7.118125,45.556222510803, 2871P 3165
+-102.173622547777,7.118125,-1.29779546101989,0.,0.,0.,0.; 2871P 3166
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2873P 3167
+-102.173605127167,8.73625,59.5561910465442,-102.173605127167, 2873P 3168
+7.118125,0.,0.15,0.,0.,0.; 2873P 3169
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2875P 3170
+1.,59.5561910465442,-102.173605127167,8.73625,59.5561910465442, 2875P 3171
+-102.772908945234,8.73625,0.,0.0555553944905611,0.,0.,0.; 2875P 3172
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2877P 3173
+1.,1.,59.5561910465442,-102.772908945234,7.118125, 2877P 3174
+59.5561910465442,-102.173605127167,7.118125,-0.0555553944905611, 2877P 3175
+0.,0.,0.,0.; 2877P 3176
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2879P 3177
+-102.772908945234,8.73625,59.5561910465442,-102.772908945234, 2879P 3178
+7.118125,0.,0.15,0.,0.,0.; 2879P 3179
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2881P 3180
+1.,59.5561910465442,-102.772908945234,8.73625,60.3556054092927, 2881P 3181
+-102.772926365844,8.73625,0.,0.0741056188123544,0.,0.,0.; 2881P 3182
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2883P 3183
+1.,1.,60.3556054092927,-102.772926365844,7.118125, 2883P 3184
+59.5561910465442,-102.772908945234,7.118125,-0.0741056188123544, 2883P 3185
+0.,0.,0.,0.; 2883P 3186
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3556054092926, 2885P 3187
+-102.772926365844,8.73625,60.3556054092926,-102.772926365844, 2885P 3188
+7.118125,0.,0.15,0.,0.,0.; 2885P 3189
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2887P 3190
+60.3556054092926,-102.772926365844,8.73625,60.3556054092926, 2887P 3191
+-115.573782067767,8.73625,0.,1.186637840271,0.,0.,0.; 2887P 3192
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2889P 3193
+60.3556054092926,-115.573782067767,7.118125,60.3556054092926, 2889P 3194
+-102.772926365844,7.118125,-1.186637840271,0.,0.,0.,0.; 2889P 3195
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3556054092926, 2891P 3196
+-115.573782067767,8.73625,60.3556054092926,-115.573782067767, 2891P 3197
+7.118125,0.,0.15,0.,0.,0.; 2891P 3198
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 2893P 3199
+1.,60.3556054092926,-115.573782067767,8.73625,59.5561910465442, 2893P 3200
+-115.573764647157,8.73625,0.,0.0741056188123544,0.,0.,0.; 2893P 3201
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 2895P 3202
+1.,1.,59.5561910465442,-115.573764647157,7.118125, 2895P 3203
+60.3556054092926,-115.573782067767,7.118125,-0.0741056188123544, 2895P 3204
+0.,0.,0.,0.; 2895P 3205
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2897P 3206
+-115.573764647157,8.73625,59.5561910465442,-115.573764647157, 2897P 3207
+7.118125,0.,0.15,0.,0.,0.; 2897P 3208
+126,1,1,0,0,1,0,0.,0.,0.0555747731526672,0.0555747731526672,1., 2899P 3209
+1.,59.5561910465442,-115.573764647157,8.73625,59.5561910465442, 2899P 3210
+-116.173277512542,8.73625,0.,0.0555747731526672,0.,0.,0.; 2899P 3211
+126,1,1,0,0,1,0,-0.0555747731526672,-0.0555747731526672,0.,0., 2901P 3212
+1.,1.,59.5561910465442,-116.173277512542,7.118125, 2901P 3213
+59.5561910465442,-115.573764647157,7.118125,-0.0555747731526672, 2901P 3214
+0.,0.,0.,0.; 2901P 3215
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 2903P 3216
+-116.173277512542,8.73625,59.5561910465442,-116.173277512542, 2903P 3217
+7.118125,0.,0.15,0.,0.,0.; 2903P 3218
+126,1,1,0,0,1,0,0.,0.,1.29779546101888,1.29779546101888,1.,1., 2905P 3219
+59.5561910465442,-116.173277512542,8.73625,45.556222510803, 2905P 3220
+-116.173277512542,8.73625,0.,1.29779546101888,0.,0.,0.; 2905P 3221
+126,1,1,0,0,1,0,-1.29779546101888,-1.29779546101888,0.,0.,1.,1., 2907P 3222
+45.556222510803,-116.173277512542,7.11812500000001, 2907P 3223
+59.5561910465442,-116.173277512542,7.118125,-1.29779546101888, 2907P 3224
+0.,0.,0.,0.; 2907P 3225
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2909P 3226
+-116.173277512542,8.73625,45.556222510803,-116.173277512542, 2909P 3227
+7.118125,0.,0.15,0.,0.,0.; 2909P 3228
+126,1,1,0,0,1,0,0.,0.,0.0555747731526708,0.0555747731526708,1., 2911P 3229
+1.,45.556222510803,-116.173277512542,8.73625,45.556222510803, 2911P 3230
+-115.573764647157,8.73625,0.,0.0555747731526708,0.,0.,0.; 2911P 3231
+126,1,1,0,0,1,0,-0.0555747731526708,-0.0555747731526708,0.,0., 2913P 3232
+1.,1.,45.556222510803,-115.573764647157,7.118125, 2913P 3233
+45.556222510803,-116.173277512542,7.118125,-0.0555747731526708, 2913P 3234
+0.,0.,0.,0.; 2913P 3235
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2915P 3236
+-115.573764647157,8.73625,45.556222510803,-115.573764647157, 2915P 3237
+7.118125,0.,0.15,0.,0.,0.; 2915P 3238
+126,1,1,0,0,1,0,0.,0.,0.0741621398925787,0.0741621398925787,1., 2917P 3239
+1.,45.556222510803,-115.573764647157,8.73625,44.7561984267118, 2917P 3240
+-115.573764647157,8.73625,0.,0.0741621398925787,0.,0.,0.; 2917P 3241
+126,1,1,0,0,1,0,-0.0741621398925787,-0.0741621398925787,0.,0., 2919P 3242
+1.,1.,44.7561984267118,-115.573764647157,7.118125, 2919P 3243
+45.556222510803,-115.573764647157,7.118125,-0.0741621398925787, 2919P 3244
+0.,0.,0.,0.; 2919P 3245
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7561984267118, 2921P 3246
+-115.573764647157,8.73625,44.7561984267118,-115.573764647157, 2921P 3247
+7.118125,0.,0.15,0.,0.,0.; 2921P 3248
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2923P 3249
+44.7561984267118,-115.573764647157,8.73625,44.7561984267118, 2923P 3250
+-102.772908945234,8.73625,0.,1.186637840271,0.,0.,0.; 2923P 3251
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2925P 3252
+44.7561984267118,-102.772908945234,7.118125,44.7561984267118, 2925P 3253
+-115.573764647157,7.118125,-1.186637840271,0.,0.,0.,0.; 2925P 3254
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7561984267118, 2927P 3255
+-102.772908945234,8.73625,44.7561984267118,-102.772908945234, 2927P 3256
+7.118125,0.,0.15,0.,0.,0.; 2927P 3257
+126,1,1,0,0,1,0,0.,0.,0.0741621399101609,0.0741621399101609,1., 2929P 3258
+1.,44.7561984267118,-102.772908945234,8.73625,45.556222510803, 2929P 3259
+-102.772926365844,8.73625,0.,0.0741621399101609,0.,0.,0.; 2929P 3260
+126,1,1,0,0,1,0,-0.0741621399101609,-0.0741621399101609,0.,0., 2931P 3261
+1.,1.,45.556222510803,-102.772926365844,7.118125, 2931P 3262
+44.7561984267118,-102.772908945234,7.118125,-0.0741621399101609, 2931P 3263
+0.,0.,0.,0.; 2931P 3264
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 2933P 3265
+-102.772926365844,8.73625,45.556222510803,-102.772926365844, 2933P 3266
+7.118125,0.,0.15,0.,0.,0.; 2933P 3267
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2935P 3268
+1.,45.556222510803,-102.772926365844,8.73625,45.556222510803, 2935P 3269
+-102.173622547777,8.73625,0.,0.0555553944905611,0.,0.,0.; 2935P 3270
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2937P 3271
+1.,1.,45.556222510803,-102.173622547777,7.118125, 2937P 3272
+45.556222510803,-102.772926365844,7.118125,-0.0555553944905611, 2937P 3273
+0.,0.,0.,0.; 2937P 3274
+126,1,1,0,0,1,0,0.,0.,1.29791011810303,1.29791011810303,1.,1., 2939P 3275
+140.806868895161,-83.1232450272155,8.73624999999999, 2939P 3276
+154.808074294198,-83.1232450272155,8.73624999999999,0., 2939P 3277
+1.29791011810303,0.,0.,0.; 2939P 3278
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 2941P 3279
+-83.1232450272155,8.73624999999999,140.806868895161, 2941P 3280
+-83.1232450272155,7.11812499999999,0.,0.15,0.,0.,0.; 2941P 3281
+126,1,1,0,0,1,0,-1.29791011810303,-1.29791011810303,0.,0.,1.,1., 2943P 3282
+154.808074294198,-83.1232450272155,7.11812499999999, 2943P 3283
+140.806868895161,-83.1232450272155,7.11812499999999, 2943P 3284
+-1.29791011810303,0.,0.,0.,0.; 2943P 3285
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2945P 3286
+-83.1232450272156,8.73624999999999,154.808074294198, 2945P 3287
+-83.1232450272156,7.11812499999999,0.,0.15,0.,0.,0.; 2945P 3288
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2947P 3289
+1.,154.808074294198,-83.1232450272156,8.73624999999999, 2947P 3290
+154.808074294198,-83.7225488452825,8.73624999999999,0., 2947P 3291
+0.0555553944905611,0.,0.,0.; 2947P 3292
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2949P 3293
+1.,1.,154.808074294198,-83.7225488452825,7.11812499999999, 2949P 3294
+154.808074294198,-83.1232450272156,7.11812499999999, 2949P 3295
+-0.0555553944905611,0.,0.,0.,0.; 2949P 3296
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2951P 3297
+-83.7225488452825,8.73624999999999,154.808074294198, 2951P 3298
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 2951P 3299
+126,1,1,0,0,1,0,0.,0.,0.0740926996866866,0.0740926996866866,1., 2953P 3300
+1.,154.808074294198,-83.7225488452825,8.73624999999999, 2953P 3301
+155.607349292068,-83.7225488452825,8.73624999999999,0., 2953P 3302
+0.0740926996866866,0.,0.,0.; 2953P 3303
+126,1,1,0,0,1,0,-0.0740926996866866,-0.0740926996866866,0.,0., 2955P 3304
+1.,1.,155.607349292068,-83.7225488452825,7.11812499999999, 2955P 3305
+154.808074294198,-83.7225488452825,7.11812499999999, 2955P 3306
+-0.0740926996866866,0.,0.,0.,0.; 2955P 3307
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 2957P 3308
+-83.7225488452825,8.73624999999999,155.607349292068, 2957P 3309
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 2957P 3310
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 2959P 3311
+155.607349292068,-83.7225488452825,8.73624999999999, 2959P 3312
+155.607349292068,-96.5234045472058,8.73624999999999,0., 2959P 3313
+1.186637840271,0.,0.,0.; 2959P 3314
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 2961P 3315
+155.607349292068,-96.5234045472058,7.11812499999999, 2961P 3316
+155.607349292068,-83.7225488452825,7.11812499999999, 2961P 3317
+-1.186637840271,0.,0.,0.,0.; 2961P 3318
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 2963P 3319
+-96.5234045472058,8.73624999999999,155.607349292068, 2963P 3320
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 2963P 3321
+126,1,1,0,0,1,0,0.,0.,0.0740926996866866,0.0740926996866866,1., 2965P 3322
+1.,155.607349292068,-96.5234045472058,8.73624999999999, 2965P 3323
+154.808074294198,-96.5234045472058,8.73624999999999,0., 2965P 3324
+0.0740926996866866,0.,0.,0.; 2965P 3325
+126,1,1,0,0,1,0,-0.0740926996866866,-0.0740926996866866,0.,0., 2967P 3326
+1.,1.,154.808074294198,-96.5234045472058,7.11812499999999, 2967P 3327
+155.607349292068,-96.5234045472058,7.11812499999999, 2967P 3328
+-0.0740926996866866,0.,0.,0.,0.; 2967P 3329
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2969P 3330
+-96.5234045472058,8.73624999999999,154.808074294198, 2969P 3331
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 2969P 3332
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 2971P 3333
+1.,154.808074294198,-96.5234045472058,8.73624999999999, 2971P 3334
+154.808074294198,-97.1227083652728,8.73624999999999,0., 2971P 3335
+0.0555553944905611,0.,0.,0.; 2971P 3336
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 2973P 3337
+1.,1.,154.808074294198,-97.1227083652728,7.11812499999999, 2973P 3338
+154.808074294198,-96.5234045472058,7.11812499999999, 2973P 3339
+-0.0555553944905611,0.,0.,0.,0.; 2973P 3340
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 2975P 3341
+-97.1227083652727,8.73624999999999,154.808074294198, 2975P 3342
+-97.1227083652727,7.11812499999999,0.,0.15,0.,0.,0.; 2975P 3343
+126,1,1,0,0,1,0,0.,0.,1.2979097143809,1.2979097143809,1.,1., 2977P 3344
+154.808074294198,-97.1227083652727,8.73624999999999, 2977P 3345
+140.806873250314,-97.1227083652727,8.73624999999999,0., 2977P 3346
+1.2979097143809,0.,0.,0.; 2977P 3347
+126,1,1,0,0,1,0,-1.2979097143809,-1.2979097143809,0.,0.,1.,1., 2979P 3348
+140.806873250314,-97.1227083652727,7.11812499999999, 2979P 3349
+154.808074294198,-97.1227083652727,7.11812499999999, 2979P 3350
+-1.2979097143809,0.,0.,0.,0.; 2979P 3351
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 2981P 3352
+-97.1227083652727,8.73624999999999,140.806873250314, 2981P 3353
+-97.1227083652727,7.11812499999999,0.,0.15,0.,0.,0.; 2981P 3354
+126,1,1,0,0,1,0,0.,0.,0.0555553944920281,0.0555553944920281,1., 2983P 3355
+1.,140.806873250314,-97.1227083652727,8.73624999999999, 2983P 3356
+140.806868895161,-96.5234045472058,8.73624999999999,0., 2983P 3357
+0.0555553944920281,0.,0.,0.; 2983P 3358
+126,1,1,0,0,1,0,-0.0555553944920281,-0.0555553944920281,0.,0., 2985P 3359
+1.,1.,140.806868895161,-96.5234045472058,7.11812499999999, 2985P 3360
+140.806873250314,-97.1227083652727,7.11812499999999, 2985P 3361
+-0.0555553944920281,0.,0.,0.,0.; 2985P 3362
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 2987P 3363
+-96.5234045472058,8.73624999999999,140.806868895161, 2987P 3364
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 2987P 3365
+126,1,1,0,0,1,0,0.,0.,0.0740874512990315,0.0740874512990315,1., 2989P 3366
+1.,140.806868895161,-96.5234045472058,8.73624999999999, 2989P 3367
+140.007650514273,-96.5234045472058,8.73624999999999,0., 2989P 3368
+0.0740874512990315,0.,0.,0.; 2989P 3369
+126,1,1,0,0,1,0,-0.0740874512990315,-0.0740874512990315,0.,0., 2991P 3370
+1.,1.,140.007650514273,-96.5234045472058,7.11812499999999, 2991P 3371
+140.806868895161,-96.5234045472058,7.11812499999999, 2991P 3372
+-0.0740874512990315,0.,0.,0.,0.; 2991P 3373
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007650514273, 2993P 3374
+-96.5234045472058,8.73624999999999,140.007650514273, 2993P 3375
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 2993P 3376
+126,1,1,0,0,1,0,0.,0.,1.18663784027107,1.18663784027107,1.,1., 2995P 3377
+140.007650514273,-96.5234045472058,8.73624999999999, 2995P 3378
+140.007654869426,-83.7225488452825,8.73624999999999,0., 2995P 3379
+1.18663784027107,0.,0.,0.; 2995P 3380
+126,1,1,0,0,1,0,-1.18663784027107,-1.18663784027107,0.,0.,1.,1., 2997P 3381
+140.007654869426,-83.7225488452825,7.11812499999999, 2997P 3382
+140.007650514273,-96.5234045472058,7.11812499999999, 2997P 3383
+-1.18663784027107,0.,0.,0.,0.; 2997P 3384
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007654869426, 2999P 3385
+-83.7225488452825,8.73624999999999,140.007654869426, 2999P 3386
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 2999P 3387
+126,1,1,0,0,1,0,0.,0.,0.0740874512990315,0.0740874512990315,1., 3001P 3388
+1.,140.007654869426,-83.7225488452825,8.73624999999999, 3001P 3389
+140.806873250314,-83.7225488452825,8.73624999999999,0., 3001P 3390
+0.0740874512990315,0.,0.,0.; 3001P 3391
+126,1,1,0,0,1,0,-0.0740874512990315,-0.0740874512990315,0.,0., 3003P 3392
+1.,1.,140.806873250314,-83.7225488452825,7.11812499999999, 3003P 3393
+140.007654869426,-83.7225488452825,7.11812499999999, 3003P 3394
+-0.0740874512990315,0.,0.,0.,0.; 3003P 3395
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 3005P 3396
+-83.7225488452825,8.73624999999999,140.806873250314, 3005P 3397
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3005P 3398
+126,1,1,0,0,1,0,0.,0.,0.0555553944920281,0.0555553944920281,1., 3007P 3399
+1.,140.806873250314,-83.7225488452825,8.73624999999999, 3007P 3400
+140.806868895161,-83.1232450272155,8.73624999999999,0., 3007P 3401
+0.0555553944920281,0.,0.,0.; 3007P 3402
+126,1,1,0,0,1,0,-0.0555553944920281,-0.0555553944920281,0.,0., 3009P 3403
+1.,1.,140.806868895161,-83.1232450272155,7.11812499999999, 3009P 3404
+140.806873250314,-83.7225488452825,7.11812499999999, 3009P 3405
+-0.0555553944920281,0.,0.,0.,0.; 3009P 3406
+126,1,1,0,0,1,0,0.,0.,1.29788872083028,1.29788872083028,1.,1., 3011P 3407
+121.756696066765,-83.1232450272155,8.73624999999999, 3011P 3408
+135.757670642722,-83.1232450272155,8.73624999999999,0., 3011P 3409
+1.29788872083028,0.,0.,0.; 3011P 3410
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3013P 3411
+-83.1232450272155,8.73624999999999,121.756696066765, 3013P 3412
+-83.1232450272155,7.11812499999999,0.,0.15,0.,0.,0.; 3013P 3413
+126,1,1,0,0,1,0,-1.29788872083028,-1.29788872083028,0.,0.,1.,1., 3015P 3414
+135.757670642722,-83.1232450272155,7.11812499999999, 3015P 3415
+121.756696066765,-83.1232450272155,7.118125,-1.29788872083028, 3015P 3416
+0.,0.,0.,0.; 3015P 3417
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3017P 3418
+-83.1232450272156,8.73624999999999,135.757670642722, 3017P 3419
+-83.1232450272156,7.11812499999999,0.,0.15,0.,0.,0.; 3017P 3420
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3019P 3421
+1.,135.757670642722,-83.1232450272156,8.73624999999999, 3019P 3422
+135.757670642722,-83.7225488452825,8.73624999999999,0., 3019P 3423
+0.0555553944905611,0.,0.,0.; 3019P 3424
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3021P 3425
+1.,1.,135.757670642722,-83.7225488452825,7.11812499999999, 3021P 3426
+135.757670642722,-83.1232450272156,7.11812499999999, 3021P 3427
+-0.0555553944905611,0.,0.,0.,0.; 3021P 3428
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3023P 3429
+-83.7225488452825,8.73624999999999,135.757670642722, 3023P 3430
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3023P 3431
+126,1,1,0,0,1,0,0.,0.,0.0740967369079586,0.0740967369079586,1., 3025P 3432
+1.,135.757670642722,-83.7225488452825,8.73624999999999, 3025P 3433
+136.556989192117,-83.7225488452825,8.73624999999999,0., 3025P 3434
+0.0740967369079586,0.,0.,0.; 3025P 3435
+126,1,1,0,0,1,0,-0.0740967369079586,-0.0740967369079586,0.,0., 3027P 3436
+1.,1.,136.556989192117,-83.7225488452825,7.11812499999999, 3027P 3437
+135.757670642722,-83.7225488452825,7.11812499999999, 3027P 3438
+-0.0740967369079586,0.,0.,0.,0.; 3027P 3439
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 3029P 3440
+-83.7225488452825,8.73624999999999,136.556989192117, 3029P 3441
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3029P 3442
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3031P 3443
+136.556989192117,-83.7225488452825,8.73624999999999, 3031P 3444
+136.556989192117,-96.5234045472058,8.73624999999999,0., 3031P 3445
+1.186637840271,0.,0.,0.; 3031P 3446
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3033P 3447
+136.556989192117,-96.5234045472058,7.11812499999999, 3033P 3448
+136.556989192117,-83.7225488452825,7.11812499999999, 3033P 3449
+-1.186637840271,0.,0.,0.,0.; 3033P 3450
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 3035P 3451
+-96.5234045472058,8.73624999999999,136.556989192117, 3035P 3452
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 3035P 3453
+126,1,1,0,0,1,0,0.,0.,0.0740967369079586,0.0740967369079586,1., 3037P 3454
+1.,136.556989192117,-96.5234045472058,8.73624999999999, 3037P 3455
+135.757670642722,-96.5234045472058,8.73624999999999,0., 3037P 3456
+0.0740967369079586,0.,0.,0.; 3037P 3457
+126,1,1,0,0,1,0,-0.0740967369079586,-0.0740967369079586,0.,0., 3039P 3458
+1.,1.,135.757670642722,-96.5234045472058,7.11812499999999, 3039P 3459
+136.556989192117,-96.5234045472058,7.11812499999999, 3039P 3460
+-0.0740967369079586,0.,0.,0.,0.; 3039P 3461
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3041P 3462
+-96.5234045472058,8.73624999999999,135.757670642722, 3041P 3463
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 3041P 3464
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3043P 3465
+1.,135.757670642722,-96.5234045472058,8.73624999999999, 3043P 3466
+135.757670642722,-97.1227083652728,8.73624999999999,0., 3043P 3467
+0.0555553944905611,0.,0.,0.; 3043P 3468
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3045P 3469
+1.,1.,135.757670642722,-97.1227083652728,7.11812499999999, 3045P 3470
+135.757670642722,-96.5234045472058,7.11812499999999, 3045P 3471
+-0.0555553944905611,0.,0.,0.,0.; 3045P 3472
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3047P 3473
+-97.1227083652727,8.73624999999999,135.757670642722, 3047P 3474
+-97.1227083652727,7.11812499999999,0.,0.15,0.,0.,0.; 3047P 3475
+126,1,1,0,0,1,0,0.,0.,1.29788872083028,1.29788872083028,1.,1., 3049P 3476
+135.757670642722,-97.1227083652727,8.73624999999999, 3049P 3477
+121.756696066765,-97.1227083652727,8.73624999999999,0., 3049P 3478
+1.29788872083028,0.,0.,0.; 3049P 3479
+126,1,1,0,0,1,0,-1.29788872083028,-1.29788872083028,0.,0.,1.,1., 3051P 3480
+121.756696066765,-97.1227083652727,7.118125,135.757670642722, 3051P 3481
+-97.1227083652727,7.11812499999999,-1.29788872083028,0.,0.,0., 3051P 3482
+0.; 3051P 3483
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3053P 3484
+-97.1227083652727,8.73624999999999,121.756696066765, 3053P 3485
+-97.1227083652727,7.11812499999999,0.,0.15,0.,0.,0.; 3053P 3486
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3055P 3487
+1.,121.756696066765,-97.1227083652727,8.73624999999999, 3055P 3488
+121.756696066765,-96.5234045472058,8.73624999999999,0., 3055P 3489
+0.0555553944905611,0.,0.,0.; 3055P 3490
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3057P 3491
+1.,1.,121.756696066765,-96.5234045472058,7.118125, 3057P 3492
+121.756696066765,-97.1227083652727,7.118125,-0.0555553944905611, 3057P 3493
+0.,0.,0.,0.; 3057P 3494
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3059P 3495
+-96.5234045472058,8.73624999999999,121.756696066765, 3059P 3496
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 3059P 3497
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3061P 3498
+1.,121.756696066765,-96.5234045472058,8.73624999999999, 3061P 3499
+120.957281704017,-96.5234045472058,8.73624999999999,0., 3061P 3500
+0.0741056187947589,0.,0.,0.; 3061P 3501
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3063P 3502
+1.,1.,120.957281704017,-96.5234045472058,7.118125, 3063P 3503
+121.756696066765,-96.5234045472058,7.118125,-0.0741056187947589, 3063P 3504
+0.,0.,0.,0.; 3063P 3505
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 3065P 3506
+-96.5234045472058,8.73624999999999,120.957281704017, 3065P 3507
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 3065P 3508
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3067P 3509
+120.957281704017,-96.5234045472058,8.73624999999999, 3067P 3510
+120.957281704017,-83.7225488452825,8.73624999999999,0., 3067P 3511
+1.186637840271,0.,0.,0.; 3067P 3512
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3069P 3513
+120.957281704017,-83.7225488452825,7.118125,120.957281704017, 3069P 3514
+-96.5234045472058,7.118125,-1.186637840271,0.,0.,0.,0.; 3069P 3515
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 3071P 3516
+-83.7225488452825,8.73624999999999,120.957281704017, 3071P 3517
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3071P 3518
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3073P 3519
+1.,120.957281704017,-83.7225488452825,8.73624999999999, 3073P 3520
+121.756696066765,-83.7225488452825,8.73624999999999,0., 3073P 3521
+0.0741056187947589,0.,0.,0.; 3073P 3522
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3075P 3523
+1.,1.,121.756696066765,-83.7225488452825,7.118125, 3075P 3524
+120.957281704017,-83.7225488452825,7.118125,-0.0741056187947589, 3075P 3525
+0.,0.,0.,0.; 3075P 3526
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3077P 3527
+-83.7225488452825,8.73624999999999,121.756696066765, 3077P 3528
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3077P 3529
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3079P 3530
+1.,121.756696066765,-83.7225488452825,8.73624999999999, 3079P 3531
+121.756696066765,-83.1232450272155,8.73624999999999,0., 3079P 3532
+0.0555553944905611,0.,0.,0.; 3079P 3533
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3081P 3534
+1.,1.,121.756696066765,-83.1232450272155,7.118125, 3081P 3535
+121.756696066765,-83.7225488452825,7.118125,-0.0555553944905611, 3081P 3536
+0.,0.,0.,0.; 3081P 3537
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 3083P 3538
+102.706327256509,-83.1232450272155,8.73624999999999, 3083P 3539
+116.707297477313,-83.1232450272155,8.73624999999999,0., 3083P 3540
+1.29788831710816,0.,0.,0.; 3083P 3541
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3085P 3542
+-83.1232450272155,8.73624999999999,102.706327256509, 3085P 3543
+-83.1232450272155,7.118125,0.,0.15,0.,0.,0.; 3085P 3544
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 3087P 3545
+116.707297477313,-83.1232450272155,7.118125,102.706327256509, 3087P 3546
+-83.1232450272155,7.118125,-1.29788831710816,0.,0.,0.,0.; 3087P 3547
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 3089P 3548
+-83.1232450272156,8.73624999999999,116.707297477313, 3089P 3549
+-83.1232450272156,7.11812499999999,0.,0.15,0.,0.,0.; 3089P 3550
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3091P 3551
+1.,116.707297477313,-83.1232450272156,8.73624999999999, 3091P 3552
+116.707297477313,-83.7225488452825,8.73624999999999,0., 3091P 3553
+0.0555553944905611,0.,0.,0.; 3091P 3554
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3093P 3555
+1.,1.,116.707297477313,-83.7225488452825,7.118125, 3093P 3556
+116.707297477313,-83.1232450272156,7.118125,-0.0555553944905611, 3093P 3557
+0.,0.,0.,0.; 3093P 3558
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 3095P 3559
+-83.7225488452825,8.73624999999999,116.707297477313, 3095P 3560
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3095P 3561
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3097P 3562
+1.,116.707297477313,-83.7225488452825,8.73624999999999, 3097P 3563
+117.506711840062,-83.7225488452825,8.73624999999999,0., 3097P 3564
+0.0741056187947589,0.,0.,0.; 3097P 3565
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3099P 3566
+1.,1.,117.506711840062,-83.7225488452825,7.118125, 3099P 3567
+116.707297477313,-83.7225488452825,7.118125,-0.0741056187947589, 3099P 3568
+0.,0.,0.,0.; 3099P 3569
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506711840062, 3101P 3570
+-83.7225488452825,8.73624999999999,117.506711840062, 3101P 3571
+-83.7225488452825,7.11812499999999,0.,0.15,0.,0.,0.; 3101P 3572
+126,1,1,0,0,1,0,0.,0.,1.18663784027127,1.18663784027127,1.,1., 3103P 3573
+117.506711840062,-83.7225488452825,8.73624999999999, 3103P 3574
+117.506720550367,-96.5234045472058,8.73624999999999,0., 3103P 3575
+1.18663784027127,0.,0.,0.; 3103P 3576
+126,1,1,0,0,1,0,-1.18663784027127,-1.18663784027127,0.,0.,1.,1., 3105P 3577
+117.506720550367,-96.5234045472058,7.118125,117.506711840062, 3105P 3578
+-83.7225488452825,7.118125,-1.18663784027127,0.,0.,0.,0.; 3105P 3579
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506720550367, 3107P 3580
+-96.5234045472058,8.73624999999999,117.506720550367, 3107P 3581
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 3107P 3582
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3109P 3583
+1.,117.506720550367,-96.5234045472058,8.73624999999999, 3109P 3584
+116.707306187618,-96.5234045472058,8.73624999999999,0., 3109P 3585
+0.0741056187947589,0.,0.,0.; 3109P 3586
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3111P 3587
+1.,1.,116.707306187618,-96.5234045472058,7.118125, 3111P 3588
+117.506720550367,-96.5234045472058,7.118125,-0.0741056187947589, 3111P 3589
+0.,0.,0.,0.; 3111P 3590
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707306187618, 3113P 3591
+-96.5234045472058,8.73624999999999,116.707306187618, 3113P 3592
+-96.5234045472058,7.11812499999999,0.,0.15,0.,0.,0.; 3113P 3593
+126,1,1,0,0,1,0,0.,0.,0.0555553944964288,0.0555553944964288,1., 3115P 3594
+1.,116.707306187618,-96.5234045472058,8.73624999999999, 3115P 3595
+116.707297477313,-97.1227083652728,8.73624999999999,0., 3115P 3596
+0.0555553944964288,0.,0.,0.; 3115P 3597
+126,1,1,0,0,1,0,-0.0555553944964288,-0.0555553944964288,0.,0., 3117P 3598
+1.,1.,116.707297477313,-97.1227083652728,7.118125, 3117P 3599
+116.707306187618,-96.5234045472058,7.118125,-0.0555553944964288, 3117P 3600
+0.,0.,0.,0.; 3117P 3601
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 3119P 3602
+-97.1227083652727,8.73624999999999,116.707297477313, 3119P 3603
+-97.1227083652727,7.11812499999999,0.,0.15,0.,0.,0.; 3119P 3604
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 3121P 3605
+116.707297477313,-97.1227083652727,8.73624999999999, 3121P 3606
+102.706327256509,-97.1227083652727,8.73624999999999,0., 3121P 3607
+1.29788831710816,0.,0.,0.; 3121P 3608
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 3123P 3609
+102.706327256509,-97.1227083652727,7.118125,116.707297477313, 3123P 3610
+-97.1227083652727,7.118125,-1.29788831710816,0.,0.,0.,0.; 3123P 3611
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3125P 3612
+-97.1227083652727,8.73624999999999,102.706327256509, 3125P 3613
+-97.1227083652727,7.118125,0.,0.15,0.,0.,0.; 3125P 3614
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3127P 3615
+1.,102.706327256509,-97.1227083652727,8.73624999999999, 3127P 3616
+102.706327256509,-96.5234045472058,8.73624999999999,0., 3127P 3617
+0.0555553944905611,0.,0.,0.; 3127P 3618
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3129P 3619
+1.,1.,102.706327256509,-96.5234045472058,7.118125, 3129P 3620
+102.706327256509,-97.1227083652727,7.118125,-0.0555553944905611, 3129P 3621
+0.,0.,0.,0.; 3129P 3622
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3131P 3623
+-96.5234045472058,8.73624999999999,102.706327256509, 3131P 3624
+-96.5234045472058,7.118125,0.,0.15,0.,0.,0.; 3131P 3625
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3133P 3626
+1.,102.706327256509,-96.5234045472058,8.73624999999999, 3133P 3627
+101.90691289376,-96.5234045472058,8.73624999999999,0., 3133P 3628
+0.0741056187947589,0.,0.,0.; 3133P 3629
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3135P 3630
+1.,1.,101.90691289376,-96.5234045472058,7.118125, 3135P 3631
+102.706327256509,-96.5234045472058,7.118125,-0.0741056187947589, 3135P 3632
+0.,0.,0.,0.; 3135P 3633
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 3137P 3634
+-96.5234045472058,8.73624999999999,101.90691289376, 3137P 3635
+-96.5234045472058,7.118125,0.,0.15,0.,0.,0.; 3137P 3636
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3139P 3637
+101.90691289376,-96.5234045472058,8.73624999999999, 3139P 3638
+101.90691289376,-83.7225488452825,8.73624999999999,0., 3139P 3639
+1.186637840271,0.,0.,0.; 3139P 3640
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3141P 3641
+101.90691289376,-83.7225488452825,7.118125,101.90691289376, 3141P 3642
+-96.5234045472058,7.118125,-1.186637840271,0.,0.,0.,0.; 3141P 3643
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 3143P 3644
+-83.7225488452825,8.73624999999999,101.90691289376, 3143P 3645
+-83.7225488452825,7.118125,0.,0.15,0.,0.,0.; 3143P 3646
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3145P 3647
+1.,101.90691289376,-83.7225488452825,8.73624999999999, 3145P 3648
+102.706327256509,-83.7225488452825,8.73624999999999,0., 3145P 3649
+0.0741056187947589,0.,0.,0.; 3145P 3650
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3147P 3651
+1.,1.,102.706327256509,-83.7225488452825,7.118125, 3147P 3652
+101.90691289376,-83.7225488452825,7.118125,-0.0741056187947589, 3147P 3653
+0.,0.,0.,0.; 3147P 3654
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3149P 3655
+-83.7225488452825,8.73624999999999,102.706327256509, 3149P 3656
+-83.7225488452825,7.118125,0.,0.15,0.,0.,0.; 3149P 3657
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3151P 3658
+1.,102.706327256509,-83.7225488452825,8.73624999999999, 3151P 3659
+102.706327256509,-83.1232450272155,8.73624999999999,0., 3151P 3660
+0.0555553944905611,0.,0.,0.; 3151P 3661
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3153P 3662
+1.,1.,102.706327256509,-83.1232450272155,7.118125, 3153P 3663
+102.706327256509,-83.7225488452825,7.118125,-0.0555553944905611, 3153P 3664
+0.,0.,0.,0.; 3153P 3665
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 3155P 3666
+83.6559584462526,-83.1232450272155,8.73625,97.6569286670568, 3155P 3667
+-83.1232450272155,8.73624999999999,0.,1.29788831710816,0.,0.,0.; 3155P 3668
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 3157P 3669
+-83.1232450272155,8.73625,83.6559584462526,-83.1232450272155, 3157P 3670
+7.118125,0.,0.15,0.,0.,0.; 3157P 3671
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 3159P 3672
+97.6569286670568,-83.1232450272155,7.118125,83.6559584462526, 3159P 3673
+-83.1232450272155,7.118125,-1.29788831710816,0.,0.,0.,0.; 3159P 3674
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3161P 3675
+-83.1232450272156,8.73624999999999,97.6569286670568, 3161P 3676
+-83.1232450272156,7.118125,0.,0.15,0.,0.,0.; 3161P 3677
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3163P 3678
+1.,97.6569286670568,-83.1232450272156,8.73624999999999, 3163P 3679
+97.6569286670568,-83.7225488452825,8.73624999999999,0., 3163P 3680
+0.0555553944905611,0.,0.,0.; 3163P 3681
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3165P 3682
+1.,1.,97.6569286670568,-83.7225488452825,7.118125, 3165P 3683
+97.6569286670568,-83.1232450272156,7.118125,-0.0555553944905611, 3165P 3684
+0.,0.,0.,0.; 3165P 3685
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3167P 3686
+-83.7225488452825,8.73624999999999,97.6569286670568, 3167P 3687
+-83.7225488452825,7.118125,0.,0.15,0.,0.,0.; 3167P 3688
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3169P 3689
+1.,97.6569286670568,-83.7225488452825,8.73624999999999, 3169P 3690
+98.4563430298053,-83.7225488452825,8.73624999999999,0., 3169P 3691
+0.0741056187947589,0.,0.,0.; 3169P 3692
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3171P 3693
+1.,1.,98.4563430298053,-83.7225488452825,7.118125, 3171P 3694
+97.6569286670568,-83.7225488452825,7.118125,-0.0741056187947589, 3171P 3695
+0.,0.,0.,0.; 3171P 3696
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 3173P 3697
+-83.7225488452825,8.73624999999999,98.4563430298053, 3173P 3698
+-83.7225488452825,7.118125,0.,0.15,0.,0.,0.; 3173P 3699
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3175P 3700
+98.4563430298053,-83.7225488452825,8.73624999999999, 3175P 3701
+98.4563430298053,-96.5234045472058,8.73624999999999,0., 3175P 3702
+1.186637840271,0.,0.,0.; 3175P 3703
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3177P 3704
+98.4563430298053,-96.5234045472058,7.118125,98.4563430298053, 3177P 3705
+-83.7225488452825,7.118125,-1.186637840271,0.,0.,0.,0.; 3177P 3706
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 3179P 3707
+-96.5234045472058,8.73624999999999,98.4563430298053, 3179P 3708
+-96.5234045472058,7.118125,0.,0.15,0.,0.,0.; 3179P 3709
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3181P 3710
+1.,98.4563430298053,-96.5234045472058,8.73624999999999, 3181P 3711
+97.6569286670568,-96.5234045472058,8.73624999999999,0., 3181P 3712
+0.0741056187947589,0.,0.,0.; 3181P 3713
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3183P 3714
+1.,1.,97.6569286670568,-96.5234045472058,7.118125, 3183P 3715
+98.4563430298053,-96.5234045472058,7.118125,-0.0741056187947589, 3183P 3716
+0.,0.,0.,0.; 3183P 3717
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3185P 3718
+-96.5234045472058,8.73624999999999,97.6569286670568, 3185P 3719
+-96.5234045472058,7.118125,0.,0.15,0.,0.,0.; 3185P 3720
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3187P 3721
+1.,97.6569286670568,-96.5234045472058,8.73624999999999, 3187P 3722
+97.6569286670568,-97.1227083652728,8.73624999999999,0., 3187P 3723
+0.0555553944905611,0.,0.,0.; 3187P 3724
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3189P 3725
+1.,1.,97.6569286670568,-97.1227083652728,7.118125, 3189P 3726
+97.6569286670568,-96.5234045472058,7.118125,-0.0555553944905611, 3189P 3727
+0.,0.,0.,0.; 3189P 3728
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3191P 3729
+-97.1227083652727,8.73624999999999,97.6569286670568, 3191P 3730
+-97.1227083652727,7.118125,0.,0.15,0.,0.,0.; 3191P 3731
+126,1,1,0,0,1,0,0.,0.,1.29788912455241,1.29788912455241,1.,1., 3193P 3732
+97.6569286670568,-97.1227083652727,8.73624999999999, 3193P 3733
+83.6559497359477,-97.1227083652727,8.73625,0.,1.29788912455241, 3193P 3734
+0.,0.,0.; 3193P 3735
+126,1,1,0,0,1,0,-1.29788912455241,-1.29788912455241,0.,0.,1.,1., 3195P 3736
+83.6559497359477,-97.1227083652727,7.118125,97.6569286670568, 3195P 3737
+-97.1227083652727,7.118125,-1.29788912455241,0.,0.,0.,0.; 3195P 3738
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559497359477, 3197P 3739
+-97.1227083652727,8.73625,83.6559497359477,-97.1227083652727, 3197P 3740
+7.118125,0.,0.15,0.,0.,0.; 3197P 3741
+126,1,1,0,0,1,0,0.,0.,0.0555553944964288,0.0555553944964288,1., 3199P 3742
+1.,83.6559497359477,-97.1227083652727,8.73625,83.6559584462526, 3199P 3743
+-96.5234045472058,8.73625,0.,0.0555553944964288,0.,0.,0.; 3199P 3744
+126,1,1,0,0,1,0,-0.0555553944964288,-0.0555553944964288,0.,0., 3201P 3745
+1.,1.,83.6559584462526,-96.5234045472058,7.118125, 3201P 3746
+83.6559497359477,-97.1227083652727,7.118125,-0.0555553944964288, 3201P 3747
+0.,0.,0.,0.; 3201P 3748
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 3203P 3749
+-96.5234045472058,8.73625,83.6559584462526,-96.5234045472058, 3203P 3750
+7.118125,0.,0.15,0.,0.,0.; 3203P 3751
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3205P 3752
+1.,83.6559584462526,-96.5234045472058,8.73625,82.8565440835041, 3205P 3753
+-96.5234045472058,8.73625,0.,0.0741056187947589,0.,0.,0.; 3205P 3754
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3207P 3755
+1.,1.,82.8565440835041,-96.5234045472058,7.118125, 3207P 3756
+83.6559584462526,-96.5234045472058,7.118125,-0.0741056187947589, 3207P 3757
+0.,0.,0.,0.; 3207P 3758
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 3209P 3759
+-96.5234045472058,8.73625,82.8565440835042,-96.5234045472058, 3209P 3760
+7.118125,0.,0.15,0.,0.,0.; 3209P 3761
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3211P 3762
+82.8565440835042,-96.5234045472058,8.73625,82.8565440835042, 3211P 3763
+-83.7225488452825,8.73625,0.,1.186637840271,0.,0.,0.; 3211P 3764
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3213P 3765
+82.8565440835042,-83.7225488452825,7.118125,82.8565440835042, 3213P 3766
+-96.5234045472058,7.118125,-1.186637840271,0.,0.,0.,0.; 3213P 3767
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 3215P 3768
+-83.7225488452825,8.73625,82.8565440835042,-83.7225488452825, 3215P 3769
+7.118125,0.,0.15,0.,0.,0.; 3215P 3770
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3217P 3771
+1.,82.8565440835042,-83.7225488452825,8.73625,83.6559584462526, 3217P 3772
+-83.7225488452825,8.73625,0.,0.0741056187947589,0.,0.,0.; 3217P 3773
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3219P 3774
+1.,1.,83.6559584462526,-83.7225488452825,7.118125, 3219P 3775
+82.8565440835042,-83.7225488452825,7.118125,-0.0741056187947589, 3219P 3776
+0.,0.,0.,0.; 3219P 3777
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 3221P 3778
+-83.7225488452825,8.73625,83.6559584462526,-83.7225488452825, 3221P 3779
+7.118125,0.,0.15,0.,0.,0.; 3221P 3780
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3223P 3781
+1.,83.6559584462526,-83.7225488452825,8.73625,83.6559584462526, 3223P 3782
+-83.1232450272155,8.73625,0.,0.0555553944905611,0.,0.,0.; 3223P 3783
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3225P 3784
+1.,1.,83.6559584462526,-83.1232450272155,7.118125, 3225P 3785
+83.6559584462526,-83.7225488452825,7.118125,-0.0555553944905611, 3225P 3786
+0.,0.,0.,0.; 3225P 3787
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 3227P 3788
+64.6055896359963,-83.1232450272155,8.73625,78.6065598568005, 3227P 3789
+-83.1232450272155,8.73625,0.,1.29788831710816,0.,0.,0.; 3227P 3790
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3229P 3791
+-83.1232450272155,8.73625,64.6055896359963,-83.1232450272155, 3229P 3792
+7.118125,0.,0.15,0.,0.,0.; 3229P 3793
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 3231P 3794
+78.6065598568005,-83.1232450272155,7.118125,64.6055896359963, 3231P 3795
+-83.1232450272155,7.118125,-1.29788831710816,0.,0.,0.,0.; 3231P 3796
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3233P 3797
+-83.1232450272156,8.73625,78.6065598568005,-83.1232450272156, 3233P 3798
+7.118125,0.,0.15,0.,0.,0.; 3233P 3799
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3235P 3800
+1.,78.6065598568005,-83.1232450272156,8.73625,78.6065598568005, 3235P 3801
+-83.7225488452825,8.73625,0.,0.0555553944905611,0.,0.,0.; 3235P 3802
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3237P 3803
+1.,1.,78.6065598568005,-83.7225488452825,7.118125, 3237P 3804
+78.6065598568005,-83.1232450272156,7.118125,-0.0555553944905611, 3237P 3805
+0.,0.,0.,0.; 3237P 3806
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3239P 3807
+-83.7225488452825,8.73625,78.6065598568005,-83.7225488452825, 3239P 3808
+7.118125,0.,0.15,0.,0.,0.; 3239P 3809
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3241P 3810
+1.,78.6065598568005,-83.7225488452825,8.73625,79.405974219549, 3241P 3811
+-83.7225488452825,8.73625,0.,0.0741056187947589,0.,0.,0.; 3241P 3812
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3243P 3813
+1.,1.,79.405974219549,-83.7225488452825,7.118125, 3243P 3814
+78.6065598568005,-83.7225488452825,7.118125,-0.0741056187947589, 3243P 3815
+0.,0.,0.,0.; 3243P 3816
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 3245P 3817
+-83.7225488452825,8.73625,79.4059742195489,-83.7225488452825, 3245P 3818
+7.118125,0.,0.15,0.,0.,0.; 3245P 3819
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3247P 3820
+79.4059742195489,-83.7225488452825,8.73625,79.4059742195489, 3247P 3821
+-96.5234045472058,8.73625,0.,1.186637840271,0.,0.,0.; 3247P 3822
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3249P 3823
+79.4059742195489,-96.5234045472058,7.118125,79.4059742195489, 3249P 3824
+-83.7225488452825,7.118125,-1.186637840271,0.,0.,0.,0.; 3249P 3825
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 3251P 3826
+-96.5234045472058,8.73625,79.4059742195489,-96.5234045472058, 3251P 3827
+7.118125,0.,0.15,0.,0.,0.; 3251P 3828
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3253P 3829
+1.,79.4059742195489,-96.5234045472058,8.73625,78.6065598568005, 3253P 3830
+-96.5234045472058,8.73625,0.,0.0741056187947589,0.,0.,0.; 3253P 3831
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3255P 3832
+1.,1.,78.6065598568005,-96.5234045472058,7.118125, 3255P 3833
+79.4059742195489,-96.5234045472058,7.118125,-0.0741056187947589, 3255P 3834
+0.,0.,0.,0.; 3255P 3835
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3257P 3836
+-96.5234045472058,8.73625,78.6065598568005,-96.5234045472058, 3257P 3837
+7.118125,0.,0.15,0.,0.,0.; 3257P 3838
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3259P 3839
+1.,78.6065598568005,-96.5234045472058,8.73625,78.6065598568005, 3259P 3840
+-97.1227083652728,8.73625,0.,0.0555553944905611,0.,0.,0.; 3259P 3841
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3261P 3842
+1.,1.,78.6065598568005,-97.1227083652728,7.118125, 3261P 3843
+78.6065598568005,-96.5234045472058,7.118125,-0.0555553944905611, 3261P 3844
+0.,0.,0.,0.; 3261P 3845
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3263P 3846
+-97.1227083652727,8.73625,78.6065598568005,-97.1227083652727, 3263P 3847
+7.118125,0.,0.15,0.,0.,0.; 3263P 3848
+126,1,1,0,0,1,0,0.,0.,1.29788831710816,1.29788831710816,1.,1., 3265P 3849
+78.6065598568005,-97.1227083652727,8.73625,64.6055896359963, 3265P 3850
+-97.1227083652727,8.73625,0.,1.29788831710816,0.,0.,0.; 3265P 3851
+126,1,1,0,0,1,0,-1.29788831710816,-1.29788831710816,0.,0.,1.,1., 3267P 3852
+64.6055896359963,-97.1227083652727,7.118125,78.6065598568005, 3267P 3853
+-97.1227083652727,7.118125,-1.29788831710816,0.,0.,0.,0.; 3267P 3854
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3269P 3855
+-97.1227083652727,8.73625,64.6055896359963,-97.1227083652727, 3269P 3856
+7.118125,0.,0.15,0.,0.,0.; 3269P 3857
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3271P 3858
+1.,64.6055896359963,-97.1227083652727,8.73625,64.6055896359963, 3271P 3859
+-96.5234045472058,8.73625,0.,0.0555553944905611,0.,0.,0.; 3271P 3860
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3273P 3861
+1.,1.,64.6055896359963,-96.5234045472058,7.118125, 3273P 3862
+64.6055896359963,-97.1227083652727,7.118125,-0.0555553944905611, 3273P 3863
+0.,0.,0.,0.; 3273P 3864
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3275P 3865
+-96.5234045472058,8.73625,64.6055896359963,-96.5234045472058, 3275P 3866
+7.118125,0.,0.15,0.,0.,0.; 3275P 3867
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3277P 3868
+1.,64.6055896359963,-96.5234045472058,8.73625,63.8061752732478, 3277P 3869
+-96.5234045472058,8.73625,0.,0.0741056187947589,0.,0.,0.; 3277P 3870
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3279P 3871
+1.,1.,63.8061752732478,-96.5234045472058,7.118125, 3279P 3872
+64.6055896359963,-96.5234045472058,7.118125,-0.0741056187947589, 3279P 3873
+0.,0.,0.,0.; 3279P 3874
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 3281P 3875
+-96.5234045472058,8.73625,63.8061752732478,-96.5234045472058, 3281P 3876
+7.118125,0.,0.15,0.,0.,0.; 3281P 3877
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3283P 3878
+63.8061752732478,-96.5234045472058,8.73625,63.8061752732478, 3283P 3879
+-83.7225488452825,8.73625,0.,1.186637840271,0.,0.,0.; 3283P 3880
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3285P 3881
+63.8061752732478,-83.7225488452825,7.118125,63.8061752732478, 3285P 3882
+-96.5234045472058,7.118125,-1.186637840271,0.,0.,0.,0.; 3285P 3883
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 3287P 3884
+-83.7225488452825,8.73625,63.8061752732478,-83.7225488452825, 3287P 3885
+7.118125,0.,0.15,0.,0.,0.; 3287P 3886
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3289P 3887
+1.,63.8061752732478,-83.7225488452825,8.73625,64.6055896359963, 3289P 3888
+-83.7225488452825,8.73625,0.,0.0741056187947589,0.,0.,0.; 3289P 3889
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3291P 3890
+1.,1.,64.6055896359963,-83.7225488452825,7.118125, 3291P 3891
+63.8061752732478,-83.7225488452825,7.118125,-0.0741056187947589, 3291P 3892
+0.,0.,0.,0.; 3291P 3893
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3293P 3894
+-83.7225488452825,8.73625,64.6055896359963,-83.7225488452825, 3293P 3895
+7.118125,0.,0.15,0.,0.,0.; 3293P 3896
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3295P 3897
+1.,64.6055896359963,-83.7225488452825,8.73625,64.6055896359963, 3295P 3898
+-83.1232450272155,8.73625,0.,0.0555553944905611,0.,0.,0.; 3295P 3899
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3297P 3900
+1.,1.,64.6055896359963,-83.1232450272155,7.118125, 3297P 3901
+64.6055896359963,-83.7225488452825,7.118125,-0.0555553944905611, 3297P 3902
+0.,0.,0.,0.; 3297P 3903
+126,1,1,0,0,1,0,0.,0.,1.29779546101888,1.29779546101888,1.,1., 3299P 3904
+45.556222510803,-83.1232450272155,8.73625,59.5561910465442, 3299P 3905
+-83.1232450272155,8.73625,0.,1.29779546101888,0.,0.,0.; 3299P 3906
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 3301P 3907
+-83.1232450272155,8.73625,45.556222510803,-83.1232450272155, 3301P 3908
+7.118125,0.,0.15,0.,0.,0.; 3301P 3909
+126,1,1,0,0,1,0,-1.29779546101888,-1.29779546101888,0.,0.,1.,1., 3303P 3910
+59.5561910465442,-83.1232450272155,7.118125,45.556222510803, 3303P 3911
+-83.1232450272155,7.118125,-1.29779546101888,0.,0.,0.,0.; 3303P 3912
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 3305P 3913
+-83.1232450272156,8.73625,59.5561910465442,-83.1232450272156, 3305P 3914
+7.118125,0.,0.15,0.,0.,0.; 3305P 3915
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3307P 3916
+1.,59.5561910465442,-83.1232450272156,8.73625,59.5561910465442, 3307P 3917
+-83.7225488452825,8.73625,0.,0.0555553944905611,0.,0.,0.; 3307P 3918
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3309P 3919
+1.,1.,59.5561910465442,-83.7225488452825,7.118125, 3309P 3920
+59.5561910465442,-83.1232450272156,7.118125,-0.0555553944905611, 3309P 3921
+0.,0.,0.,0.; 3309P 3922
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 3311P 3923
+-83.7225488452825,8.73625,59.5561910465442,-83.7225488452825, 3311P 3924
+7.118125,0.,0.15,0.,0.,0.; 3311P 3925
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3313P 3926
+1.,59.5561910465442,-83.7225488452825,8.73625,60.3556054092927, 3313P 3927
+-83.7225488452825,8.73625,0.,0.0741056187947589,0.,0.,0.; 3313P 3928
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3315P 3929
+1.,1.,60.3556054092927,-83.7225488452825,7.118125, 3315P 3930
+59.5561910465442,-83.7225488452825,7.118125,-0.0741056187947589, 3315P 3931
+0.,0.,0.,0.; 3315P 3932
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3556054092926, 3317P 3933
+-83.7225488452825,8.73625,60.3556054092926,-83.7225488452825, 3317P 3934
+7.118125,0.,0.15,0.,0.,0.; 3317P 3935
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3319P 3936
+60.3556054092926,-83.7225488452825,8.73625,60.3556054092926, 3319P 3937
+-96.5234045472058,8.73625,0.,1.186637840271,0.,0.,0.; 3319P 3938
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3321P 3939
+60.3556054092926,-96.5234045472058,7.118125,60.3556054092926, 3321P 3940
+-83.7225488452825,7.118125,-1.186637840271,0.,0.,0.,0.; 3321P 3941
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3556054092926, 3323P 3942
+-96.5234045472058,8.73625,60.3556054092926,-96.5234045472058, 3323P 3943
+7.118125,0.,0.15,0.,0.,0.; 3323P 3944
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3325P 3945
+1.,60.3556054092926,-96.5234045472058,8.73625,59.5561910465442, 3325P 3946
+-96.5234045472058,8.73625,0.,0.0741056187947589,0.,0.,0.; 3325P 3947
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3327P 3948
+1.,1.,59.5561910465442,-96.5234045472058,7.118125, 3327P 3949
+60.3556054092926,-96.5234045472058,7.118125,-0.0741056187947589, 3327P 3950
+0.,0.,0.,0.; 3327P 3951
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 3329P 3952
+-96.5234045472058,8.73625,59.5561910465442,-96.5234045472058, 3329P 3953
+7.118125,0.,0.15,0.,0.,0.; 3329P 3954
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3331P 3955
+1.,59.5561910465442,-96.5234045472058,8.73625,59.5561910465442, 3331P 3956
+-97.1227083652728,8.73625,0.,0.0555553944905611,0.,0.,0.; 3331P 3957
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3333P 3958
+1.,1.,59.5561910465442,-97.1227083652728,7.118125, 3333P 3959
+59.5561910465442,-96.5234045472058,7.118125,-0.0555553944905611, 3333P 3960
+0.,0.,0.,0.; 3333P 3961
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5561910465442, 3335P 3962
+-97.1227083652727,8.73625,59.5561910465442,-97.1227083652727, 3335P 3963
+7.118125,0.,0.15,0.,0.,0.; 3335P 3964
+126,1,1,0,0,1,0,0.,0.,1.29779546101888,1.29779546101888,1.,1., 3337P 3965
+59.5561910465442,-97.1227083652727,8.73625,45.556222510803, 3337P 3966
+-97.1227083652727,8.73625,0.,1.29779546101888,0.,0.,0.; 3337P 3967
+126,1,1,0,0,1,0,-1.29779546101888,-1.29779546101888,0.,0.,1.,1., 3339P 3968
+45.556222510803,-97.1227083652727,7.11812500000001, 3339P 3969
+59.5561910465442,-97.1227083652727,7.118125,-1.29779546101888, 3339P 3970
+0.,0.,0.,0.; 3339P 3971
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 3341P 3972
+-97.1227083652727,8.73625,45.556222510803,-97.1227083652727, 3341P 3973
+7.118125,0.,0.15,0.,0.,0.; 3341P 3974
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3343P 3975
+1.,45.556222510803,-97.1227083652727,8.73625,45.556222510803, 3343P 3976
+-96.5234045472058,8.73625,0.,0.0555553944905611,0.,0.,0.; 3343P 3977
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3345P 3978
+1.,1.,45.556222510803,-96.5234045472058,7.118125, 3345P 3979
+45.556222510803,-97.1227083652727,7.118125,-0.0555553944905611, 3345P 3980
+0.,0.,0.,0.; 3345P 3981
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 3347P 3982
+-96.5234045472058,8.73625,45.556222510803,-96.5234045472058, 3347P 3983
+7.118125,0.,0.15,0.,0.,0.; 3347P 3984
+126,1,1,0,0,1,0,0.,0.,0.0741621398925787,0.0741621398925787,1., 3349P 3985
+1.,45.556222510803,-96.5234045472058,8.73625,44.7561984267118, 3349P 3986
+-96.5234045472058,8.73625,0.,0.0741621398925787,0.,0.,0.; 3349P 3987
+126,1,1,0,0,1,0,-0.0741621398925787,-0.0741621398925787,0.,0., 3351P 3988
+1.,1.,44.7561984267118,-96.5234045472058,7.118125, 3351P 3989
+45.556222510803,-96.5234045472058,7.118125,-0.0741621398925787, 3351P 3990
+0.,0.,0.,0.; 3351P 3991
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7561984267118, 3353P 3992
+-96.5234045472058,8.73625,44.7561984267118,-96.5234045472058, 3353P 3993
+7.118125,0.,0.15,0.,0.,0.; 3353P 3994
+126,1,1,0,0,1,0,0.,0.,1.186637840271,1.186637840271,1.,1., 3355P 3995
+44.7561984267118,-96.5234045472058,8.73625,44.7561984267118, 3355P 3996
+-83.7225488452825,8.73625,0.,1.186637840271,0.,0.,0.; 3355P 3997
+126,1,1,0,0,1,0,-1.186637840271,-1.186637840271,0.,0.,1.,1., 3357P 3998
+44.7561984267118,-83.7225488452825,7.118125,44.7561984267118, 3357P 3999
+-96.5234045472058,7.118125,-1.186637840271,0.,0.,0.,0.; 3357P 4000
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7561984267118, 3359P 4001
+-83.7225488452825,8.73625,44.7561984267118,-83.7225488452825, 3359P 4002
+7.118125,0.,0.15,0.,0.,0.; 3359P 4003
+126,1,1,0,0,1,0,0.,0.,0.0741621398925787,0.0741621398925787,1., 3361P 4004
+1.,44.7561984267118,-83.7225488452825,8.73625,45.556222510803, 3361P 4005
+-83.7225488452825,8.73625,0.,0.0741621398925787,0.,0.,0.; 3361P 4006
+126,1,1,0,0,1,0,-0.0741621398925787,-0.0741621398925787,0.,0., 3363P 4007
+1.,1.,45.556222510803,-83.7225488452825,7.118125, 3363P 4008
+44.7561984267118,-83.7225488452825,7.118125,-0.0741621398925787, 3363P 4009
+0.,0.,0.,0.; 3363P 4010
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.556222510803, 3365P 4011
+-83.7225488452825,8.73625,45.556222510803,-83.7225488452825, 3365P 4012
+7.118125,0.,0.15,0.,0.,0.; 3365P 4013
+126,1,1,0,0,1,0,0.,0.,0.0555553944905611,0.0555553944905611,1., 3367P 4014
+1.,45.556222510803,-83.7225488452825,8.73625,45.556222510803, 3367P 4015
+-83.1232450272155,8.73625,0.,0.0555553944905611,0.,0.,0.; 3367P 4016
+126,1,1,0,0,1,0,-0.0555553944905611,-0.0555553944905611,0.,0., 3369P 4017
+1.,1.,45.556222510803,-83.1232450272155,7.118125, 3369P 4018
+45.556222510803,-83.7225488452825,7.118125,-0.0555553944905611, 3369P 4019
+0.,0.,0.,0.; 3369P 4020
+126,1,1,0,0,1,0,0.,0.,1.29791011810303,1.29791011810303,1.,1., 3371P 4021
+140.806868895161,-64.0711428662849,8.73624999999999, 3371P 4022
+154.808074294198,-64.0711428662849,8.73624999999999,0., 3371P 4023
+1.29791011810303,0.,0.,0.; 3371P 4024
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 3373P 4025
+-64.0711428662849,8.73624999999999,140.806868895161, 3373P 4026
+-64.0711428662849,7.11812499999999,0.,0.15,0.,0.,0.; 3373P 4027
+126,1,1,0,0,1,0,-1.29791011810303,-1.29791011810303,0.,0.,1.,1., 3375P 4028
+154.808074294198,-64.0711428662849,7.11812499999999, 3375P 4029
+140.806868895161,-64.0711428662849,7.11812499999999, 3375P 4030
+-1.29791011810303,0.,0.,0.,0.; 3375P 4031
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 3377P 4032
+-64.0711428662849,8.73624999999999,154.808074294198, 3377P 4033
+-64.0711428662849,7.11812499999999,0.,0.15,0.,0.,0.; 3377P 4034
+126,1,1,0,0,1,0,0.,0.,0.0557168833414714,0.0557168833414714,1., 3379P 4035
+1.,154.808074294198,-64.0711428662849,8.73624999999999, 3379P 4036
+154.808074294198,-64.672188745331,8.73624999999999,0., 3379P 4037
+0.0557168833414714,0.,0.,0.; 3379P 4038
+126,1,1,0,0,1,0,-0.0557168833414714,-0.0557168833414714,0.,0., 3381P 4039
+1.,1.,154.808074294198,-64.672188745331,7.11812499999999, 3381P 4040
+154.808074294198,-64.0711428662849,7.11812499999999, 3381P 4041
+-0.0557168833414714,0.,0.,0.,0.; 3381P 4042
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 3383P 4043
+-64.672188745331,8.73624999999999,154.808074294198, 3383P 4044
+-64.672188745331,7.11812499999999,0.,0.15,0.,0.,0.; 3383P 4045
+126,1,1,0,0,1,0,0.,0.,0.0740926997042853,0.0740926997042853,1., 3385P 4046
+1.,154.808074294198,-64.672188745331,8.73624999999999, 3385P 4047
+155.607349292068,-64.6721713247213,8.73624999999999,0., 3385P 4048
+0.0740926997042853,0.,0.,0.; 3385P 4049
+126,1,1,0,0,1,0,-0.0740926997042853,-0.0740926997042853,0.,0., 3387P 4050
+1.,1.,155.607349292068,-64.6721713247213,7.11812499999999, 3387P 4051
+154.808074294198,-64.672188745331,7.11812499999999, 3387P 4052
+-0.0740926997042853,0.,0.,0.,0.; 3387P 4053
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 3389P 4054
+-64.6721713247213,8.73624999999999,155.607349292068, 3389P 4055
+-64.6721713247213,7.11812499999999,0.,0.15,0.,0.,0.; 3389P 4056
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3391P 4057
+155.607349292068,-64.6721713247213,8.73624999999999, 3391P 4058
+155.607349292068,-77.4716159572515,8.73624999999999,0., 3391P 4059
+1.18650703430176,0.,0.,0.; 3391P 4060
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3393P 4061
+155.607349292068,-77.4716159572515,7.11812499999999, 3393P 4062
+155.607349292068,-64.6721713247213,7.11812499999999, 3393P 4063
+-1.18650703430176,0.,0.,0.,0.; 3393P 4064
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.607349292068, 3395P 4065
+-77.4716159572515,8.73624999999999,155.607349292068, 3395P 4066
+-77.4716159572515,7.11812499999999,0.,0.15,0.,0.,0.; 3395P 4067
+126,1,1,0,0,1,0,0.,0.,0.0740926997042853,0.0740926997042853,1., 3397P 4068
+1.,155.607349292068,-77.4716159572515,8.73624999999999, 3397P 4069
+154.808074294198,-77.4716333778612,8.73624999999999,0., 3397P 4070
+0.0740926997042853,0.,0.,0.; 3397P 4071
+126,1,1,0,0,1,0,-0.0740926997042853,-0.0740926997042853,0.,0., 3399P 4072
+1.,1.,154.808074294198,-77.4716333778612,7.11812499999999, 3399P 4073
+155.607349292068,-77.4716159572515,7.11812499999999, 3399P 4074
+-0.0740926997042853,0.,0.,0.,0.; 3399P 4075
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 3401P 4076
+-77.4716333778613,8.73624999999999,154.808074294198, 3401P 4077
+-77.4716333778613,7.11812499999999,0.,0.15,0.,0.,0.; 3401P 4078
+126,1,1,0,0,1,0,0.,0.,0.0556862004597996,0.0556862004597996,1., 3403P 4079
+1.,154.808074294198,-77.4716333778613,8.73624999999999, 3403P 4080
+154.808074294198,-78.0723482653214,8.73624999999999,0., 3403P 4081
+0.0556862004597996,0.,0.,0.; 3403P 4082
+126,1,1,0,0,1,0,-0.0556862004597996,-0.0556862004597996,0.,0., 3405P 4083
+1.,1.,154.808074294198,-78.0723482653214,7.11812499999999, 3405P 4084
+154.808074294198,-77.4716333778613,7.11812499999999, 3405P 4085
+-0.0556862004597996,0.,0.,0.,0.; 3405P 4086
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,154.808074294198, 3407P 4087
+-78.0723482653214,8.73624999999999,154.808074294198, 3407P 4088
+-78.0723482653214,7.11812499999999,0.,0.15,0.,0.,0.; 3407P 4089
+126,1,1,0,0,1,0,0.,0.,1.2979097143819,1.2979097143819,1.,1., 3409P 4090
+154.808074294198,-78.0723482653214,8.73624999999999, 3409P 4091
+140.806873250314,-78.0723308447116,8.73624999999999,0., 3409P 4092
+1.2979097143819,0.,0.,0.; 3409P 4093
+126,1,1,0,0,1,0,-1.2979097143819,-1.2979097143819,0.,0.,1.,1., 3411P 4094
+140.806873250314,-78.0723308447116,7.11812499999999, 3411P 4095
+154.808074294198,-78.0723482653214,7.11812499999999, 3411P 4096
+-1.2979097143819,0.,0.,0.,0.; 3411P 4097
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 3413P 4098
+-78.0723308447116,8.73624999999999,140.806873250314, 3413P 4099
+-78.0723308447116,7.11812499999999,0.,0.15,0.,0.,0.; 3413P 4100
+126,1,1,0,0,1,0,0.,0.,0.0556862004612666,0.0556862004612666,1., 3415P 4101
+1.,140.806873250314,-78.0723308447116,8.73624999999999, 3415P 4102
+140.806868895161,-77.4716159572514,8.73624999999999,0., 3415P 4103
+0.0556862004612666,0.,0.,0.; 3415P 4104
+126,1,1,0,0,1,0,-0.0556862004612666,-0.0556862004612666,0.,0., 3417P 4105
+1.,1.,140.806868895161,-77.4716159572514,7.11812499999999, 3417P 4106
+140.806873250314,-78.0723308447116,7.11812499999999, 3417P 4107
+-0.0556862004612666,0.,0.,0.,0.; 3417P 4108
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806868895161, 3419P 4109
+-77.4716159572515,8.73624999999999,140.806868895161, 3419P 4110
+-77.4716159572515,7.11812499999999,0.,0.15,0.,0.,0.; 3419P 4111
+126,1,1,0,0,1,0,0.,0.,0.0740874513166314,0.0740874513166314,1., 3421P 4112
+1.,140.806868895161,-77.4716159572515,8.73624999999999, 3421P 4113
+140.007650514273,-77.4716333778613,8.73624999999999,0., 3421P 4114
+0.0740874513166314,0.,0.,0.; 3421P 4115
+126,1,1,0,0,1,0,-0.0740874513166314,-0.0740874513166314,0.,0., 3423P 4116
+1.,1.,140.007650514273,-77.4716333778613,7.11812499999999, 3423P 4117
+140.806868895161,-77.4716159572515,7.11812499999999, 3423P 4118
+-0.0740874513166314,0.,0.,0.,0.; 3423P 4119
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007650514273, 3425P 4120
+-77.4716333778613,8.73624999999999,140.007650514273, 3425P 4121
+-77.4716333778613,7.11812499999999,0.,0.15,0.,0.,0.; 3425P 4122
+126,1,1,0,0,1,0,0.,0.,1.18652964274096,1.18652964274096,1.,1., 3427P 4123
+140.007650514273,-77.4716333778613,8.73624999999999, 3427P 4124
+140.007654869426,-64.671944856794,8.73624999999999,0., 3427P 4125
+1.18652964274096,0.,0.,0.; 3427P 4126
+126,1,1,0,0,1,0,-1.18652964274096,-1.18652964274096,0.,0.,1.,1., 3429P 4127
+140.007654869426,-64.671944856794,7.11812499999999, 3429P 4128
+140.007650514273,-77.4716333778613,7.11812499999999, 3429P 4129
+-1.18652964274096,0.,0.,0.,0.; 3429P 4130
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.007654869426, 3431P 4131
+-64.6719448567939,8.73624999999999,140.007654869426, 3431P 4132
+-64.6719448567939,7.11812499999999,0.,0.15,0.,0.,0.; 3431P 4133
+126,1,1,0,0,1,0,0.,0.,0.0740874512990315,0.0740874512990315,1., 3433P 4134
+1.,140.007654869426,-64.6719448567939,8.73624999999999, 3433P 4135
+140.806873250314,-64.6719448567939,8.73624999999999,0., 3433P 4136
+0.0740874512990315,0.,0.,0.; 3433P 4137
+126,1,1,0,0,1,0,-0.0740874512990315,-0.0740874512990315,0.,0., 3435P 4138
+1.,1.,140.806873250314,-64.6719448567939,7.11812499999999, 3435P 4139
+140.007654869426,-64.6719448567939,7.11812499999999, 3435P 4140
+-0.0740874512990315,0.,0.,0.,0.; 3435P 4141
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,140.806873250314, 3437P 4142
+-64.6719448567939,8.73624999999999,140.806873250314, 3437P 4143
+-64.6719448567939,7.11812499999999,0.,0.15,0.,0.,0.; 3437P 4144
+126,1,1,0,0,1,0,0.,0.,0.0556942749038067,0.0556942749038067,1., 3439P 4145
+1.,140.806873250314,-64.6719448567939,8.73624999999999, 3439P 4146
+140.806868895161,-64.0711428662849,8.73624999999999,0., 3439P 4147
+0.0556942749038067,0.,0.,0.; 3439P 4148
+126,1,1,0,0,1,0,-0.0556942749038067,-0.0556942749038067,0.,0., 3441P 4149
+1.,1.,140.806868895161,-64.0711428662849,7.11812499999999, 3441P 4150
+140.806873250314,-64.6719448567939,7.11812499999999, 3441P 4151
+-0.0556942749038067,0.,0.,0.,0.; 3441P 4152
+126,1,1,0,0,1,0,0.,0.,1.29788872083028,1.29788872083028,1.,1., 3443P 4153
+121.756696066765,-64.0711428662849,8.73624999999999, 3443P 4154
+135.757670642722,-64.0711428662849,8.73624999999999,0., 3443P 4155
+1.29788872083028,0.,0.,0.; 3443P 4156
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3445P 4157
+-64.0711428662849,8.73624999999999,121.756696066765, 3445P 4158
+-64.0711428662849,7.11812499999999,0.,0.15,0.,0.,0.; 3445P 4159
+126,1,1,0,0,1,0,-1.29788872083028,-1.29788872083028,0.,0.,1.,1., 3447P 4160
+135.757670642722,-64.0711428662849,7.11812499999999, 3447P 4161
+121.756696066765,-64.0711428662849,7.118125,-1.29788872083028, 3447P 4162
+0.,0.,0.,0.; 3447P 4163
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3449P 4164
+-64.0711428662849,8.73624999999999,135.757670642722, 3449P 4165
+-64.0711428662849,7.11812499999999,0.,0.15,0.,0.,0.; 3449P 4166
+126,1,1,0,0,1,0,0.,0.,0.0684050623575843,0.0684050623575843,1., 3451P 4167
+1.,135.757670642722,-64.0711428662849,8.73624999999999, 3451P 4168
+135.757670642722,-64.8090624764673,8.73624999999999,0., 3451P 4169
+0.0684050623575843,0.,0.,0.; 3451P 4170
+126,1,1,0,0,1,0,-0.0684050623575843,-0.0684050623575843,0.,0., 3453P 4171
+1.,1.,135.757670642722,-64.8090624764673,7.11812499999999, 3453P 4172
+135.757670642722,-64.0711428662849,7.11812499999999, 3453P 4173
+-0.0684050623575843,0.,0.,0.,0.; 3453P 4174
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3455P 4175
+-64.8090624764674,8.73624999999999,135.757670642722, 3455P 4176
+-64.8090624764674,7.11812499999999,0.,0.15,0.,0.,0.; 3455P 4177
+126,1,1,0,0,1,0,0.,0.,0.0740967369255563,0.0740967369255563,1., 3457P 4178
+1.,135.757670642722,-64.8090624764674,8.73624999999999, 3457P 4179
+136.556989192117,-64.8090450558576,8.73624999999999,0., 3457P 4180
+0.0740967369255563,0.,0.,0.; 3457P 4181
+126,1,1,0,0,1,0,-0.0740967369255563,-0.0740967369255563,0.,0., 3459P 4182
+1.,1.,136.556989192117,-64.8090450558576,7.11812499999999, 3459P 4183
+135.757670642722,-64.8090624764674,7.11812499999999, 3459P 4184
+-0.0740967369255563,0.,0.,0.,0.; 3459P 4185
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 3461P 4186
+-64.8090450558576,8.73624999999999,136.556989192117, 3461P 4187
+-64.8090450558576,7.11812499999999,0.,0.15,0.,0.,0.; 3461P 4188
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3463P 4189
+136.556989192117,-64.8090450558576,8.73624999999999, 3463P 4190
+136.556989192117,-77.6084896883878,8.73624999999999,0., 3463P 4191
+1.18650703430176,0.,0.,0.; 3463P 4192
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3465P 4193
+136.556989192117,-77.6084896883878,7.11812499999999, 3465P 4194
+136.556989192117,-64.8090450558576,7.11812499999999, 3465P 4195
+-1.18650703430176,0.,0.,0.,0.; 3465P 4196
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,136.556989192117, 3467P 4197
+-77.6084896883878,8.73624999999999,136.556989192117, 3467P 4198
+-77.6084896883878,7.11812499999999,0.,0.15,0.,0.,0.; 3467P 4199
+126,1,1,0,0,1,0,0.,0.,0.0740967369255563,0.0740967369255563,1., 3469P 4200
+1.,136.556989192117,-77.6084896883878,8.73624999999999, 3469P 4201
+135.757670642722,-77.6085071089976,8.73624999999999,0., 3469P 4202
+0.0740967369255563,0.,0.,0.; 3469P 4203
+126,1,1,0,0,1,0,-0.0740967369255563,-0.0740967369255563,0.,0., 3471P 4204
+1.,1.,135.757670642722,-77.6085071089976,7.11812499999999, 3471P 4205
+136.556989192117,-77.6084896883878,7.11812499999999, 3471P 4206
+-0.0740967369255563,0.,0.,0.,0.; 3471P 4207
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3473P 4208
+-77.6085071089976,8.73624999999999,135.757670642722, 3473P 4209
+-77.6085071089976,7.11812499999999,0.,0.15,0.,0.,0.; 3473P 4210
+126,1,1,0,0,1,0,0.,0.,0.0429980214436831,0.0429980214436831,1., 3475P 4211
+1.,135.757670642722,-77.6085071089976,8.73624999999999, 3475P 4212
+135.757670642722,-78.0723482653213,8.73624999999999,0., 3475P 4213
+0.0429980214436831,0.,0.,0.; 3475P 4214
+126,1,1,0,0,1,0,-0.0429980214436831,-0.0429980214436831,0.,0., 3477P 4215
+1.,1.,135.757670642722,-78.0723482653213,7.11812499999999, 3477P 4216
+135.757670642722,-77.6085071089976,7.11812499999999, 3477P 4217
+-0.0429980214436831,0.,0.,0.,0.; 3477P 4218
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,135.757670642722, 3479P 4219
+-78.0723482653213,8.73624999999999,135.757670642722, 3479P 4220
+-78.0723482653213,7.11812499999999,0.,0.15,0.,0.,0.; 3479P 4221
+126,1,1,0,0,1,0,0.,0.,1.29788872083129,1.29788872083129,1.,1., 3481P 4222
+135.757670642722,-78.0723482653213,8.73624999999999, 3481P 4223
+121.756696066765,-78.0723308447116,8.73624999999999,0., 3481P 4224
+1.29788872083129,0.,0.,0.; 3481P 4225
+126,1,1,0,0,1,0,-1.29788872083129,-1.29788872083129,0.,0.,1.,1., 3483P 4226
+121.756696066765,-78.0723308447116,7.118125,135.757670642722, 3483P 4227
+-78.0723482653213,7.11812499999999,-1.29788872083129,0.,0.,0., 3483P 4228
+0.; 3483P 4229
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3485P 4230
+-78.0723308447116,8.73624999999999,121.756696066765, 3485P 4231
+-78.0723308447116,7.11812499999999,0.,0.15,0.,0.,0.; 3485P 4232
+126,1,1,0,0,1,0,0.,0.,0.0556862004598031,0.0556862004598031,1., 3487P 4233
+1.,121.756696066765,-78.0723308447116,8.73624999999999, 3487P 4234
+121.756696066765,-77.4716159572514,8.73624999999999,0., 3487P 4235
+0.0556862004598031,0.,0.,0.; 3487P 4236
+126,1,1,0,0,1,0,-0.0556862004598031,-0.0556862004598031,0.,0., 3489P 4237
+1.,1.,121.756696066765,-77.4716159572514,7.118125, 3489P 4238
+121.756696066765,-78.0723308447116,7.118125,-0.0556862004598031, 3489P 4239
+0.,0.,0.,0.; 3489P 4240
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3491P 4241
+-77.4716159572515,8.73624999999999,121.756696066765, 3491P 4242
+-77.4716159572515,7.11812499999999,0.,0.15,0.,0.,0.; 3491P 4243
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3493P 4244
+1.,121.756696066765,-77.4716159572515,8.73624999999999, 3493P 4245
+120.957281704017,-77.4716333778613,8.73624999999999,0., 3493P 4246
+0.0741056188123544,0.,0.,0.; 3493P 4247
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3495P 4248
+1.,1.,120.957281704017,-77.4716333778613,7.118125, 3495P 4249
+121.756696066765,-77.4716159572515,7.118125,-0.0741056188123544, 3495P 4250
+0.,0.,0.,0.; 3495P 4251
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 3497P 4252
+-77.4716333778613,8.73624999999999,120.957281704017, 3497P 4253
+-77.4716333778613,7.11812499999999,0.,0.15,0.,0.,0.; 3497P 4254
+126,1,1,0,0,1,0,0.,0.,1.18652964274089,1.18652964274089,1.,1., 3499P 4255
+120.957281704017,-77.4716333778613,8.73624999999999, 3499P 4256
+120.957281704017,-64.671944856794,8.73624999999999,0., 3499P 4257
+1.18652964274089,0.,0.,0.; 3499P 4258
+126,1,1,0,0,1,0,-1.18652964274089,-1.18652964274089,0.,0.,1.,1., 3501P 4259
+120.957281704017,-64.671944856794,7.118125,120.957281704017, 3501P 4260
+-77.4716333778613,7.118125,-1.18652964274089,0.,0.,0.,0.; 3501P 4261
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,120.957281704017, 3503P 4262
+-64.6719448567939,8.73624999999999,120.957281704017, 3503P 4263
+-64.6719448567939,7.11812499999999,0.,0.15,0.,0.,0.; 3503P 4264
+126,1,1,0,0,1,0,0.,0.,0.0741056187947589,0.0741056187947589,1., 3505P 4265
+1.,120.957281704017,-64.6719448567939,8.73624999999999, 3505P 4266
+121.756696066765,-64.6719448567939,8.73624999999999,0., 3505P 4267
+0.0741056187947589,0.,0.,0.; 3505P 4268
+126,1,1,0,0,1,0,-0.0741056187947589,-0.0741056187947589,0.,0., 3507P 4269
+1.,1.,121.756696066765,-64.6719448567939,7.118125, 3507P 4270
+120.957281704017,-64.6719448567939,7.118125,-0.0741056187947589, 3507P 4271
+0.,0.,0.,0.; 3507P 4272
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,121.756696066765, 3509P 4273
+-64.6719448567939,8.73624999999999,121.756696066765, 3509P 4274
+-64.6719448567939,7.11812499999999,0.,0.15,0.,0.,0.; 3509P 4275
+126,1,1,0,0,1,0,0.,0.,0.0556942749023435,0.0556942749023435,1., 3511P 4276
+1.,121.756696066765,-64.6719448567939,8.73624999999999, 3511P 4277
+121.756696066765,-64.0711428662849,8.73624999999999,0., 3511P 4278
+0.0556942749023435,0.,0.,0.; 3511P 4279
+126,1,1,0,0,1,0,-0.0556942749023435,-0.0556942749023435,0.,0., 3513P 4280
+1.,1.,121.756696066765,-64.0711428662849,7.118125, 3513P 4281
+121.756696066765,-64.6719448567939,7.118125,-0.0556942749023435, 3513P 4282
+0.,0.,0.,0.; 3513P 4283
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 3515P 4284
+102.706327256509,-64.0713519136024,8.73624999999999, 3515P 4285
+116.707297477313,-64.0713693342122,8.73624999999999,0., 3515P 4286
+1.29788831710916,0.,0.,0.; 3515P 4287
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3517P 4288
+-64.0713519136024,8.73624999999999,102.706327256509, 3517P 4289
+-64.0713519136024,7.118125,0.,0.15,0.,0.,0.; 3517P 4290
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 3519P 4291
+116.707297477313,-64.0713693342122,7.118125,102.706327256509, 3519P 4292
+-64.0713519136024,7.118125,-1.29788831710916,0.,0.,0.,0.; 3519P 4293
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 3521P 4294
+-64.0713693342122,8.73624999999999,116.707297477313, 3521P 4295
+-64.0713693342122,7.11812499999999,0.,0.15,0.,0.,0.; 3521P 4296
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3523P 4297
+1.,116.707297477313,-64.0713693342122,8.73624999999999, 3523P 4298
+116.707297477313,-64.672188745331,8.73624999999999,0., 3523P 4299
+0.0556958897908544,0.,0.,0.; 3523P 4300
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3525P 4301
+1.,1.,116.707297477313,-64.672188745331,7.118125, 3525P 4302
+116.707297477313,-64.0713693342122,7.118125,-0.0556958897908544, 3525P 4303
+0.,0.,0.,0.; 3525P 4304
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 3527P 4305
+-64.6721887453311,8.73624999999999,116.707297477313, 3527P 4306
+-64.6721887453311,7.11812499999999,0.,0.15,0.,0.,0.; 3527P 4307
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3529P 4308
+1.,116.707297477313,-64.6721887453311,8.73624999999999, 3529P 4309
+117.506711840062,-64.6721713247213,8.73624999999999,0., 3529P 4310
+0.0741056188123544,0.,0.,0.; 3529P 4311
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3531P 4312
+1.,1.,117.506711840062,-64.6721713247213,7.118125, 3531P 4313
+116.707297477313,-64.6721887453311,7.118125,-0.0741056188123544, 3531P 4314
+0.,0.,0.,0.; 3531P 4315
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506711840062, 3533P 4316
+-64.6721713247213,8.73624999999999,117.506711840062, 3533P 4317
+-64.6721713247213,7.11812499999999,0.,0.15,0.,0.,0.; 3533P 4318
+126,1,1,0,0,1,0,0.,0.,1.18650703430203,1.18650703430203,1.,1., 3535P 4319
+117.506711840062,-64.6721713247213,8.73624999999999, 3535P 4320
+117.506720550367,-77.4716159572515,8.73624999999999,0., 3535P 4321
+1.18650703430203,0.,0.,0.; 3535P 4322
+126,1,1,0,0,1,0,-1.18650703430203,-1.18650703430203,0.,0.,1.,1., 3537P 4323
+117.506720550367,-77.4716159572515,7.118125,117.506711840062, 3537P 4324
+-64.6721713247213,7.118125,-1.18650703430203,0.,0.,0.,0.; 3537P 4325
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,117.506720550367, 3539P 4326
+-77.4716159572515,8.73624999999999,117.506720550367, 3539P 4327
+-77.4716159572515,7.11812499999999,0.,0.15,0.,0.,0.; 3539P 4328
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3541P 4329
+1.,117.506720550367,-77.4716159572515,8.73624999999999, 3541P 4330
+116.707306187618,-77.4716333778612,8.73624999999999,0., 3541P 4331
+0.0741056188123544,0.,0.,0.; 3541P 4332
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3543P 4333
+1.,1.,116.707306187618,-77.4716333778612,7.118125, 3543P 4334
+117.506720550367,-77.4716159572515,7.118125,-0.0741056188123544, 3543P 4335
+0.,0.,0.,0.; 3543P 4336
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707306187618, 3545P 4337
+-77.4716333778613,8.73624999999999,116.707306187618, 3545P 4338
+-77.4716333778613,7.11812499999999,0.,0.15,0.,0.,0.; 3545P 4339
+126,1,1,0,0,1,0,0.,0.,0.0556862004656535,0.0556862004656535,1., 3547P 4340
+1.,116.707306187618,-77.4716333778613,8.73624999999999, 3547P 4341
+116.707297477313,-78.0723482653214,8.73624999999999,0., 3547P 4342
+0.0556862004656535,0.,0.,0.; 3547P 4343
+126,1,1,0,0,1,0,-0.0556862004656535,-0.0556862004656535,0.,0., 3549P 4344
+1.,1.,116.707297477313,-78.0723482653214,7.118125, 3549P 4345
+116.707306187618,-77.4716333778613,7.118125,-0.0556862004656535, 3549P 4346
+0.,0.,0.,0.; 3549P 4347
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,116.707297477313, 3551P 4348
+-78.0723482653214,8.73624999999999,116.707297477313, 3551P 4349
+-78.0723482653214,7.11812499999999,0.,0.15,0.,0.,0.; 3551P 4350
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 3553P 4351
+116.707297477313,-78.0723482653214,8.73624999999999, 3553P 4352
+102.706327256509,-78.0723308447116,8.73624999999999,0., 3553P 4353
+1.29788831710916,0.,0.,0.; 3553P 4354
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 3555P 4355
+102.706327256509,-78.0723308447116,7.118125,116.707297477313, 3555P 4356
+-78.0723482653214,7.118125,-1.29788831710916,0.,0.,0.,0.; 3555P 4357
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3557P 4358
+-78.0723308447116,8.73624999999999,102.706327256509, 3557P 4359
+-78.0723308447116,7.118125,0.,0.15,0.,0.,0.; 3557P 4360
+126,1,1,0,0,1,0,0.,0.,0.0556862004598031,0.0556862004598031,1., 3559P 4361
+1.,102.706327256509,-78.0723308447116,8.73624999999999, 3559P 4362
+102.706327256509,-77.4716159572514,8.73624999999999,0., 3559P 4363
+0.0556862004598031,0.,0.,0.; 3559P 4364
+126,1,1,0,0,1,0,-0.0556862004598031,-0.0556862004598031,0.,0., 3561P 4365
+1.,1.,102.706327256509,-77.4716159572514,7.118125, 3561P 4366
+102.706327256509,-78.0723308447116,7.118125,-0.0556862004598031, 3561P 4367
+0.,0.,0.,0.; 3561P 4368
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3563P 4369
+-77.4716159572515,8.73624999999999,102.706327256509, 3563P 4370
+-77.4716159572515,7.118125,0.,0.15,0.,0.,0.; 3563P 4371
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3565P 4372
+1.,102.706327256509,-77.4716159572515,8.73624999999999, 3565P 4373
+101.90691289376,-77.4716333778613,8.73624999999999,0., 3565P 4374
+0.0741056188123544,0.,0.,0.; 3565P 4375
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3567P 4376
+1.,1.,101.90691289376,-77.4716333778613,7.118125, 3567P 4377
+102.706327256509,-77.4716159572515,7.118125,-0.0741056188123544, 3567P 4378
+0.,0.,0.,0.; 3567P 4379
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 3569P 4380
+-77.4716333778613,8.73624999999999,101.90691289376, 3569P 4381
+-77.4716333778613,7.118125,0.,0.15,0.,0.,0.; 3569P 4382
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3571P 4383
+101.90691289376,-77.4716333778613,8.73624999999999, 3571P 4384
+101.90691289376,-64.672188745331,8.73624999999999,0., 3571P 4385
+1.18650703430176,0.,0.,0.; 3571P 4386
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3573P 4387
+101.90691289376,-64.672188745331,7.118125,101.90691289376, 3573P 4388
+-77.4716333778613,7.118125,-1.18650703430176,0.,0.,0.,0.; 3573P 4389
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,101.90691289376, 3575P 4390
+-64.672188745331,8.73624999999999,101.90691289376, 3575P 4391
+-64.672188745331,7.118125,0.,0.15,0.,0.,0.; 3575P 4392
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3577P 4393
+1.,101.90691289376,-64.672188745331,8.73624999999999, 3577P 4394
+102.706327256509,-64.6721713247213,8.73624999999999,0., 3577P 4395
+0.0741056188123544,0.,0.,0.; 3577P 4396
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3579P 4397
+1.,1.,102.706327256509,-64.6721713247213,7.118125, 3579P 4398
+101.90691289376,-64.672188745331,7.118125,-0.0741056188123544, 3579P 4399
+0.,0.,0.,0.; 3579P 4400
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,102.706327256509, 3581P 4401
+-64.6721713247213,8.73624999999999,102.706327256509, 3581P 4402
+-64.6721713247213,7.118125,0.,0.15,0.,0.,0.; 3581P 4403
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3583P 4404
+1.,102.706327256509,-64.6721713247213,8.73624999999999, 3583P 4405
+102.706327256509,-64.0713519136024,8.73624999999999,0., 3583P 4406
+0.0556958897908544,0.,0.,0.; 3583P 4407
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3585P 4408
+1.,1.,102.706327256509,-64.0713519136024,7.118125, 3585P 4409
+102.706327256509,-64.6721713247213,7.118125,-0.0556958897908544, 3585P 4410
+0.,0.,0.,0.; 3585P 4411
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 3587P 4412
+83.6559584462526,-64.0713519136024,8.73625,97.6569286670568, 3587P 4413
+-64.0713693342122,8.73624999999999,0.,1.29788831710916,0.,0.,0.; 3587P 4414
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 3589P 4415
+-64.0713519136024,8.73625,83.6559584462526,-64.0713519136024, 3589P 4416
+7.118125,0.,0.15,0.,0.,0.; 3589P 4417
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 3591P 4418
+97.6569286670568,-64.0713693342122,7.118125,83.6559584462526, 3591P 4419
+-64.0713519136024,7.118125,-1.29788831710916,0.,0.,0.,0.; 3591P 4420
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3593P 4421
+-64.0713693342122,8.73624999999999,97.6569286670568, 3593P 4422
+-64.0713693342122,7.118125,0.,0.15,0.,0.,0.; 3593P 4423
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3595P 4424
+1.,97.6569286670568,-64.0713693342122,8.73624999999999, 3595P 4425
+97.6569286670568,-64.672188745331,8.73624999999999,0., 3595P 4426
+0.0556958897908544,0.,0.,0.; 3595P 4427
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3597P 4428
+1.,1.,97.6569286670568,-64.672188745331,7.118125, 3597P 4429
+97.6569286670568,-64.0713693342122,7.118125,-0.0556958897908544, 3597P 4430
+0.,0.,0.,0.; 3597P 4431
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3599P 4432
+-64.6721887453311,8.73624999999999,97.6569286670568, 3599P 4433
+-64.6721887453311,7.118125,0.,0.15,0.,0.,0.; 3599P 4434
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3601P 4435
+1.,97.6569286670568,-64.6721887453311,8.73624999999999, 3601P 4436
+98.4563430298053,-64.6721713247213,8.73624999999999,0., 3601P 4437
+0.0741056188123544,0.,0.,0.; 3601P 4438
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3603P 4439
+1.,1.,98.4563430298053,-64.6721713247213,7.118125, 3603P 4440
+97.6569286670568,-64.6721887453311,7.118125,-0.0741056188123544, 3603P 4441
+0.,0.,0.,0.; 3603P 4442
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 3605P 4443
+-64.6721713247213,8.73624999999999,98.4563430298053, 3605P 4444
+-64.6721713247213,7.118125,0.,0.15,0.,0.,0.; 3605P 4445
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3607P 4446
+98.4563430298053,-64.6721713247213,8.73624999999999, 3607P 4447
+98.4563430298053,-77.4716159572515,8.73624999999999,0., 3607P 4448
+1.18650703430176,0.,0.,0.; 3607P 4449
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3609P 4450
+98.4563430298053,-77.4716159572515,7.118125,98.4563430298053, 3609P 4451
+-64.6721713247213,7.118125,-1.18650703430176,0.,0.,0.,0.; 3609P 4452
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,98.4563430298053, 3611P 4453
+-77.4716159572515,8.73624999999999,98.4563430298053, 3611P 4454
+-77.4716159572515,7.118125,0.,0.15,0.,0.,0.; 3611P 4455
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3613P 4456
+1.,98.4563430298053,-77.4716159572515,8.73624999999999, 3613P 4457
+97.6569286670568,-77.4716333778612,8.73624999999999,0., 3613P 4458
+0.0741056188123544,0.,0.,0.; 3613P 4459
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3615P 4460
+1.,1.,97.6569286670568,-77.4716333778612,7.118125, 3615P 4461
+98.4563430298053,-77.4716159572515,7.118125,-0.0741056188123544, 3615P 4462
+0.,0.,0.,0.; 3615P 4463
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3617P 4464
+-77.4716333778613,8.73624999999999,97.6569286670568, 3617P 4465
+-77.4716333778613,7.118125,0.,0.15,0.,0.,0.; 3617P 4466
+126,1,1,0,0,1,0,0.,0.,0.0556862004597996,0.0556862004597996,1., 3619P 4467
+1.,97.6569286670568,-77.4716333778613,8.73624999999999, 3619P 4468
+97.6569286670568,-78.0723482653214,8.73624999999999,0., 3619P 4469
+0.0556862004597996,0.,0.,0.; 3619P 4470
+126,1,1,0,0,1,0,-0.0556862004597996,-0.0556862004597996,0.,0., 3621P 4471
+1.,1.,97.6569286670568,-78.0723482653214,7.118125, 3621P 4472
+97.6569286670568,-77.4716333778613,7.118125,-0.0556862004597996, 3621P 4473
+0.,0.,0.,0.; 3621P 4474
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,97.6569286670568, 3623P 4475
+-78.0723482653214,8.73624999999999,97.6569286670568, 3623P 4476
+-78.0723482653214,7.118125,0.,0.15,0.,0.,0.; 3623P 4477
+126,1,1,0,0,1,0,0.,0.,1.29788912455341,1.29788912455341,1.,1., 3625P 4478
+97.6569286670568,-78.0723482653214,8.73624999999999, 3625P 4479
+83.6559497359477,-78.0723308447116,8.73625,0.,1.29788912455341, 3625P 4480
+0.,0.,0.; 3625P 4481
+126,1,1,0,0,1,0,-1.29788912455341,-1.29788912455341,0.,0.,1.,1., 3627P 4482
+83.6559497359477,-78.0723308447116,7.118125,97.6569286670568, 3627P 4483
+-78.0723482653214,7.118125,-1.29788912455341,0.,0.,0.,0.; 3627P 4484
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559497359477, 3629P 4485
+-78.0723308447116,8.73625,83.6559497359477,-78.0723308447116, 3629P 4486
+7.118125,0.,0.15,0.,0.,0.; 3629P 4487
+126,1,1,0,0,1,0,0.,0.,0.055686200465657,0.055686200465657,1.,1., 3631P 4488
+83.6559497359477,-78.0723308447116,8.73625,83.6559584462526, 3631P 4489
+-77.4716159572514,8.73625,0.,0.055686200465657,0.,0.,0.; 3631P 4490
+126,1,1,0,0,1,0,-0.055686200465657,-0.055686200465657,0.,0.,1., 3633P 4491
+1.,83.6559584462526,-77.4716159572514,7.118125,83.6559497359477, 3633P 4492
+-78.0723308447116,7.118125,-0.055686200465657,0.,0.,0.,0.; 3633P 4493
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 3635P 4494
+-77.4716159572515,8.73625,83.6559584462526,-77.4716159572515, 3635P 4495
+7.118125,0.,0.15,0.,0.,0.; 3635P 4496
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3637P 4497
+1.,83.6559584462526,-77.4716159572515,8.73625,82.8565440835041, 3637P 4498
+-77.4716333778613,8.73625,0.,0.0741056188123544,0.,0.,0.; 3637P 4499
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3639P 4500
+1.,1.,82.8565440835041,-77.4716333778613,7.118125, 3639P 4501
+83.6559584462526,-77.4716159572515,7.118125,-0.0741056188123544, 3639P 4502
+0.,0.,0.,0.; 3639P 4503
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 3641P 4504
+-77.4716333778613,8.73625,82.8565440835042,-77.4716333778613, 3641P 4505
+7.118125,0.,0.15,0.,0.,0.; 3641P 4506
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3643P 4507
+82.8565440835042,-77.4716333778613,8.73625,82.8565440835042, 3643P 4508
+-64.672188745331,8.73625,0.,1.18650703430176,0.,0.,0.; 3643P 4509
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3645P 4510
+82.8565440835042,-64.672188745331,7.118125,82.8565440835042, 3645P 4511
+-77.4716333778613,7.118125,-1.18650703430176,0.,0.,0.,0.; 3645P 4512
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,82.8565440835042, 3647P 4513
+-64.672188745331,8.73625,82.8565440835042,-64.672188745331, 3647P 4514
+7.118125,0.,0.15,0.,0.,0.; 3647P 4515
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3649P 4516
+1.,82.8565440835042,-64.672188745331,8.73625,83.6559584462526, 3649P 4517
+-64.6721713247213,8.73625,0.,0.0741056188123544,0.,0.,0.; 3649P 4518
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3651P 4519
+1.,1.,83.6559584462526,-64.6721713247213,7.118125, 3651P 4520
+82.8565440835042,-64.672188745331,7.118125,-0.0741056188123544, 3651P 4521
+0.,0.,0.,0.; 3651P 4522
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,83.6559584462526, 3653P 4523
+-64.6721713247213,8.73625,83.6559584462526,-64.6721713247213, 3653P 4524
+7.118125,0.,0.15,0.,0.,0.; 3653P 4525
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3655P 4526
+1.,83.6559584462526,-64.6721713247213,8.73625,83.6559584462526, 3655P 4527
+-64.0713519136024,8.73625,0.,0.0556958897908544,0.,0.,0.; 3655P 4528
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3657P 4529
+1.,1.,83.6559584462526,-64.0713519136024,7.118125, 3657P 4530
+83.6559584462526,-64.6721713247213,7.118125,-0.0556958897908544, 3657P 4531
+0.,0.,0.,0.; 3657P 4532
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 3659P 4533
+64.6055896359963,-64.0713519136024,8.73625,78.6065598568005, 3659P 4534
+-64.0713693342122,8.73625,0.,1.29788831710916,0.,0.,0.; 3659P 4535
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3661P 4536
+-64.0713519136024,8.73625,64.6055896359963,-64.0713519136024, 3661P 4537
+7.118125,0.,0.15,0.,0.,0.; 3661P 4538
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 3663P 4539
+78.6065598568005,-64.0713693342122,7.118125,64.6055896359963, 3663P 4540
+-64.0713519136024,7.118125,-1.29788831710916,0.,0.,0.,0.; 3663P 4541
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3665P 4542
+-64.0713693342122,8.73625,78.6065598568005,-64.0713693342122, 3665P 4543
+7.118125,0.,0.15,0.,0.,0.; 3665P 4544
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3667P 4545
+1.,78.6065598568005,-64.0713693342122,8.73625,78.6065598568005, 3667P 4546
+-64.672188745331,8.73625,0.,0.0556958897908544,0.,0.,0.; 3667P 4547
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3669P 4548
+1.,1.,78.6065598568005,-64.672188745331,7.118125, 3669P 4549
+78.6065598568005,-64.0713693342122,7.118125,-0.0556958897908544, 3669P 4550
+0.,0.,0.,0.; 3669P 4551
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3671P 4552
+-64.6721887453311,8.73625,78.6065598568005,-64.6721887453311, 3671P 4553
+7.118125,0.,0.15,0.,0.,0.; 3671P 4554
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3673P 4555
+1.,78.6065598568005,-64.6721887453311,8.73625,79.405974219549, 3673P 4556
+-64.6721713247213,8.73625,0.,0.0741056188123544,0.,0.,0.; 3673P 4557
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3675P 4558
+1.,1.,79.405974219549,-64.6721713247213,7.118125, 3675P 4559
+78.6065598568005,-64.6721887453311,7.118125,-0.0741056188123544, 3675P 4560
+0.,0.,0.,0.; 3675P 4561
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 3677P 4562
+-64.6721713247213,8.73625,79.4059742195489,-64.6721713247213, 3677P 4563
+7.118125,0.,0.15,0.,0.,0.; 3677P 4564
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3679P 4565
+79.4059742195489,-64.6721713247213,8.73625,79.4059742195489, 3679P 4566
+-77.4716159572515,8.73625,0.,1.18650703430176,0.,0.,0.; 3679P 4567
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3681P 4568
+79.4059742195489,-77.4716159572515,7.118125,79.4059742195489, 3681P 4569
+-64.6721713247213,7.118125,-1.18650703430176,0.,0.,0.,0.; 3681P 4570
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,79.4059742195489, 3683P 4571
+-77.4716159572515,8.73625,79.4059742195489,-77.4716159572515, 3683P 4572
+7.118125,0.,0.15,0.,0.,0.; 3683P 4573
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3685P 4574
+1.,79.4059742195489,-77.4716159572515,8.73625,78.6065598568005, 3685P 4575
+-77.4716333778612,8.73625,0.,0.0741056188123544,0.,0.,0.; 3685P 4576
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3687P 4577
+1.,1.,78.6065598568005,-77.4716333778612,7.118125, 3687P 4578
+79.4059742195489,-77.4716159572515,7.118125,-0.0741056188123544, 3687P 4579
+0.,0.,0.,0.; 3687P 4580
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3689P 4581
+-77.4716333778613,8.73625,78.6065598568005,-77.4716333778613, 3689P 4582
+7.118125,0.,0.15,0.,0.,0.; 3689P 4583
+126,1,1,0,0,1,0,0.,0.,0.0556862004597996,0.0556862004597996,1., 3691P 4584
+1.,78.6065598568005,-77.4716333778613,8.73625,78.6065598568005, 3691P 4585
+-78.0723482653214,8.73625,0.,0.0556862004597996,0.,0.,0.; 3691P 4586
+126,1,1,0,0,1,0,-0.0556862004597996,-0.0556862004597996,0.,0., 3693P 4587
+1.,1.,78.6065598568005,-78.0723482653214,7.118125, 3693P 4588
+78.6065598568005,-77.4716333778613,7.118125,-0.0556862004597996, 3693P 4589
+0.,0.,0.,0.; 3693P 4590
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,78.6065598568005, 3695P 4591
+-78.0723482653214,8.73625,78.6065598568005,-78.0723482653214, 3695P 4592
+7.118125,0.,0.15,0.,0.,0.; 3695P 4593
+126,1,1,0,0,1,0,0.,0.,1.29788831710916,1.29788831710916,1.,1., 3697P 4594
+78.6065598568005,-78.0723482653214,8.73625,64.6055896359963, 3697P 4595
+-78.0723308447116,8.73625,0.,1.29788831710916,0.,0.,0.; 3697P 4596
+126,1,1,0,0,1,0,-1.29788831710916,-1.29788831710916,0.,0.,1.,1., 3699P 4597
+64.6055896359963,-78.0723308447116,7.118125,78.6065598568005, 3699P 4598
+-78.0723482653214,7.118125,-1.29788831710916,0.,0.,0.,0.; 3699P 4599
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3701P 4600
+-78.0723308447116,8.73625,64.6055896359963,-78.0723308447116, 3701P 4601
+7.118125,0.,0.15,0.,0.,0.; 3701P 4602
+126,1,1,0,0,1,0,0.,0.,0.0556862004598031,0.0556862004598031,1., 3703P 4603
+1.,64.6055896359963,-78.0723308447116,8.73625,64.6055896359963, 3703P 4604
+-77.4716159572514,8.73625,0.,0.0556862004598031,0.,0.,0.; 3703P 4605
+126,1,1,0,0,1,0,-0.0556862004598031,-0.0556862004598031,0.,0., 3705P 4606
+1.,1.,64.6055896359963,-77.4716159572514,7.118125, 3705P 4607
+64.6055896359963,-78.0723308447116,7.118125,-0.0556862004598031, 3705P 4608
+0.,0.,0.,0.; 3705P 4609
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3707P 4610
+-77.4716159572515,8.73625,64.6055896359963,-77.4716159572515, 3707P 4611
+7.118125,0.,0.15,0.,0.,0.; 3707P 4612
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3709P 4613
+1.,64.6055896359963,-77.4716159572515,8.73625,63.8061752732478, 3709P 4614
+-77.4716333778613,8.73625,0.,0.0741056188123544,0.,0.,0.; 3709P 4615
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3711P 4616
+1.,1.,63.8061752732478,-77.4716333778613,7.118125, 3711P 4617
+64.6055896359963,-77.4716159572515,7.118125,-0.0741056188123544, 3711P 4618
+0.,0.,0.,0.; 3711P 4619
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 3713P 4620
+-77.4716333778613,8.73625,63.8061752732478,-77.4716333778613, 3713P 4621
+7.118125,0.,0.15,0.,0.,0.; 3713P 4622
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3715P 4623
+63.8061752732478,-77.4716333778613,8.73625,63.8061752732478, 3715P 4624
+-64.672188745331,8.73625,0.,1.18650703430176,0.,0.,0.; 3715P 4625
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3717P 4626
+63.8061752732478,-64.672188745331,7.118125,63.8061752732478, 3717P 4627
+-77.4716333778613,7.118125,-1.18650703430176,0.,0.,0.,0.; 3717P 4628
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,63.8061752732478, 3719P 4629
+-64.672188745331,8.73625,63.8061752732478,-64.672188745331, 3719P 4630
+7.118125,0.,0.15,0.,0.,0.; 3719P 4631
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3721P 4632
+1.,63.8061752732478,-64.672188745331,8.73625,64.6055896359963, 3721P 4633
+-64.6721713247213,8.73625,0.,0.0741056188123544,0.,0.,0.; 3721P 4634
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3723P 4635
+1.,1.,64.6055896359963,-64.6721713247213,7.118125, 3723P 4636
+63.8061752732478,-64.672188745331,7.118125,-0.0741056188123544, 3723P 4637
+0.,0.,0.,0.; 3723P 4638
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,64.6055896359963, 3725P 4639
+-64.6721713247213,8.73625,64.6055896359963,-64.6721713247213, 3725P 4640
+7.118125,0.,0.15,0.,0.,0.; 3725P 4641
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3727P 4642
+1.,64.6055896359963,-64.6721713247213,8.73625,64.6055896359963, 3727P 4643
+-64.0713519136024,8.73625,0.,0.0556958897908544,0.,0.,0.; 3727P 4644
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3729P 4645
+1.,1.,64.6055896359963,-64.0713519136024,7.118125, 3729P 4646
+64.6055896359963,-64.6721713247213,7.118125,-0.0556958897908544, 3729P 4647
+0.,0.,0.,0.; 3729P 4648
+126,1,1,0,0,1,0,0.,0.,1.29779626846414,1.29779626846414,1.,1., 3731P 4649
+45.5564838199499,-64.0713519136024,8.73625,59.5564610659959, 3731P 4650
+-64.0713693342122,8.73625,0.,1.29779626846414,0.,0.,0.; 3731P 4651
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.5564838199499, 3733P 4652
+-64.0713519136024,8.73625,45.5564838199499,-64.0713519136024, 3733P 4653
+7.118125,0.,0.15,0.,0.,0.; 3733P 4654
+126,1,1,0,0,1,0,-1.29779626846414,-1.29779626846414,0.,0.,1.,1., 3735P 4655
+59.5564610659959,-64.0713693342122,7.118125,45.5564838199499, 3735P 4656
+-64.0713519136024,7.118125,-1.29779626846414,0.,0.,0.,0.; 3735P 4657
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5564610659959, 3737P 4658
+-64.0713693342122,8.73625,59.5564610659959,-64.0713693342122, 3737P 4659
+7.118125,0.,0.15,0.,0.,0.; 3737P 4660
+126,1,1,0,0,1,0,0.,0.,0.0556958897908544,0.0556958897908544,1., 3739P 4661
+1.,59.5564610659959,-64.0713693342122,8.73625,59.5564610659959, 3739P 4662
+-64.672188745331,8.73625,0.,0.0556958897908544,0.,0.,0.; 3739P 4663
+126,1,1,0,0,1,0,-0.0556958897908544,-0.0556958897908544,0.,0., 3741P 4664
+1.,1.,59.5564610659959,-64.672188745331,7.118125, 3741P 4665
+59.5564610659959,-64.0713693342122,7.118125,-0.0556958897908544, 3741P 4666
+0.,0.,0.,0.; 3741P 4667
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5564610659959, 3743P 4668
+-64.6721887453311,8.73625,59.5564610659959,-64.6721887453311, 3743P 4669
+7.118125,0.,0.15,0.,0.,0.; 3743P 4670
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3745P 4671
+1.,59.5564610659959,-64.6721887453311,8.73625,60.3558754287444, 3745P 4672
+-64.6721713247213,8.73625,0.,0.0741056188123544,0.,0.,0.; 3745P 4673
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3747P 4674
+1.,1.,60.3558754287444,-64.6721713247213,7.118125, 3747P 4675
+59.5564610659959,-64.6721887453311,7.118125,-0.0741056188123544, 3747P 4676
+0.,0.,0.,0.; 3747P 4677
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3558754287444, 3749P 4678
+-64.6721713247213,8.73625,60.3558754287444,-64.6721713247213, 3749P 4679
+7.118125,0.,0.15,0.,0.,0.; 3749P 4680
+126,1,1,0,0,1,0,0.,0.,1.18650703430176,1.18650703430176,1.,1., 3751P 4681
+60.3558754287444,-64.6721713247213,8.73625,60.3558754287444, 3751P 4682
+-77.4716159572515,8.73625,0.,1.18650703430176,0.,0.,0.; 3751P 4683
+126,1,1,0,0,1,0,-1.18650703430176,-1.18650703430176,0.,0.,1.,1., 3753P 4684
+60.3558754287444,-77.4716159572515,7.118125,60.3558754287444, 3753P 4685
+-64.6721713247213,7.118125,-1.18650703430176,0.,0.,0.,0.; 3753P 4686
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,60.3558754287444, 3755P 4687
+-77.4716159572515,8.73625,60.3558754287444,-77.4716159572515, 3755P 4688
+7.118125,0.,0.15,0.,0.,0.; 3755P 4689
+126,1,1,0,0,1,0,0.,0.,0.0741056188123544,0.0741056188123544,1., 3757P 4690
+1.,60.3558754287444,-77.4716159572515,8.73625,59.5564610659959, 3757P 4691
+-77.4716333778612,8.73625,0.,0.0741056188123544,0.,0.,0.; 3757P 4692
+126,1,1,0,0,1,0,-0.0741056188123544,-0.0741056188123544,0.,0., 3759P 4693
+1.,1.,59.5564610659959,-77.4716333778612,7.118125, 3759P 4694
+60.3558754287444,-77.4716159572515,7.118125,-0.0741056188123544, 3759P 4695
+0.,0.,0.,0.; 3759P 4696
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5564610659959, 3761P 4697
+-77.4716333778613,8.73625,59.5564610659959,-77.4716333778613, 3761P 4698
+7.118125,0.,0.15,0.,0.,0.; 3761P 4699
+126,1,1,0,0,1,0,0.,0.,0.0556862004597996,0.0556862004597996,1., 3763P 4700
+1.,59.5564610659959,-77.4716333778613,8.73625,59.5564610659959, 3763P 4701
+-78.0723482653214,8.73625,0.,0.0556862004597996,0.,0.,0.; 3763P 4702
+126,1,1,0,0,1,0,-0.0556862004597996,-0.0556862004597996,0.,0., 3765P 4703
+1.,1.,59.5564610659959,-78.0723482653214,7.118125, 3765P 4704
+59.5564610659959,-77.4716333778613,7.118125,-0.0556862004597996, 3765P 4705
+0.,0.,0.,0.; 3765P 4706
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,59.5564610659959, 3767P 4707
+-78.0723482653214,8.73625,59.5564610659959,-78.0723482653214, 3767P 4708
+7.118125,0.,0.15,0.,0.,0.; 3767P 4709
+126,1,1,0,0,1,0,0.,0.,1.29779626846414,1.29779626846414,1.,1., 3769P 4710
+59.5564610659959,-78.0723482653214,8.73625,45.5564838199499, 3769P 4711
+-78.0723308447116,8.73625,0.,1.29779626846414,0.,0.,0.; 3769P 4712
+126,1,1,0,0,1,0,-1.29779626846414,-1.29779626846414,0.,0.,1.,1., 3771P 4713
+45.5564838199499,-78.0723308447116,7.11812500000001, 3771P 4714
+59.5564610659959,-78.0723482653214,7.118125,-1.29779626846414, 3771P 4715
+0.,0.,0.,0.; 3771P 4716
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.5564838199499, 3773P 4717
+-78.0723308447116,8.73625,45.5564838199499,-78.0723308447116, 3773P 4718
+7.118125,0.,0.15,0.,0.,0.; 3773P 4719
+126,1,1,0,0,1,0,0.,0.,0.0556862004598031,0.0556862004598031,1., 3775P 4720
+1.,45.5564838199499,-78.0723308447116,8.73625,45.5564838199499, 3775P 4721
+-77.4716159572514,8.73625,0.,0.0556862004598031,0.,0.,0.; 3775P 4722
+126,1,1,0,0,1,0,-0.0556862004598031,-0.0556862004598031,0.,0., 3777P 4723
+1.,1.,45.5564838199499,-77.4716159572514,7.118125, 3777P 4724
+45.5564838199499,-78.0723308447116,7.118125,-0.0556862004598031, 3777P 4725
+0.,0.,0.,0.; 3777P 4726
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.5564838199499, 3779P 4727
+-77.4716159572515,8.73625,45.5564838199499,-77.4716159572515, 3779P 4728
+7.118125,0.,0.15,0.,0.,0.; 3779P 4729
+126,1,1,0,0,1,0,0.,0.,0.0741621399101609,0.0741621399101609,1., 3781P 4730
+1.,45.5564838199499,-77.4716159572515,8.73625,44.7564597358587, 3781P 4731
+-77.4716333778613,8.73625,0.,0.0741621399101609,0.,0.,0.; 3781P 4732
+126,1,1,0,0,1,0,-0.0741621399101609,-0.0741621399101609,0.,0., 3783P 4733
+1.,1.,44.7564597358587,-77.4716333778613,7.118125, 3783P 4734
+45.5564838199499,-77.4716159572515,7.118125,-0.0741621399101609, 3783P 4735
+0.,0.,0.,0.; 3783P 4736
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7564597358587, 3785P 4737
+-77.4716333778613,8.73625,44.7564597358587,-77.4716333778613, 3785P 4738
+7.118125,0.,0.15,0.,0.,0.; 3785P 4739
+126,1,1,0,0,1,0,0.,0.,1.18650703430286,1.18650703430286,1.,1., 3787P 4740
+44.7564597358587,-77.4716333778613,8.73625,44.7564771564685, 3787P 4741
+-64.672188745331,8.73625,0.,1.18650703430286,0.,0.,0.; 3787P 4742
+126,1,1,0,0,1,0,-1.18650703430286,-1.18650703430286,0.,0.,1.,1., 3789P 4743
+44.7564771564685,-64.672188745331,7.118125,44.7564597358587, 3789P 4744
+-77.4716333778613,7.118125,-1.18650703430286,0.,0.,0.,0.; 3789P 4745
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.7564771564685, 3791P 4746
+-64.672188745331,8.73625,44.7564771564685,-64.672188745331, 3791P 4747
+7.118125,0.,0.15,0.,0.,0.; 3791P 4748
+126,1,1,0,0,1,0,0.,0.,0.0741621399101609,0.0741621399101609,1., 3793P 4749
+1.,44.7564771564685,-64.672188745331,8.73625,45.5565012405597, 3793P 4750
+-64.6721713247213,8.73625,0.,0.0741621399101609,0.,0.,0.; 3793P 4751
+126,1,1,0,0,1,0,-0.0741621399101609,-0.0741621399101609,0.,0., 3795P 4752
+1.,1.,45.5565012405597,-64.6721713247213,7.118125, 3795P 4753
+44.7564771564685,-64.672188745331,7.118125,-0.0741621399101609, 3795P 4754
+0.,0.,0.,0.; 3795P 4755
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,45.5565012405597, 3797P 4756
+-64.6721713247213,8.73625,45.5565012405597,-64.6721713247213, 3797P 4757
+7.118125,0.,0.15,0.,0.,0.; 3797P 4758
+126,1,1,0,0,1,0,0.,0.,0.055695889814266,0.055695889814266,1.,1., 3799P 4759
+45.5565012405597,-64.6721713247213,8.73625,45.5564838199499, 3799P 4760
+-64.0713519136024,8.73625,0.,0.055695889814266,0.,0.,0.; 3799P 4761
+126,1,1,0,0,1,0,-0.055695889814266,-0.055695889814266,0.,0.,1., 3801P 4762
+1.,45.5564838199499,-64.0713519136024,7.118125,45.5565012405597, 3801P 4763
+-64.6721713247213,7.118125,-0.055695889814266,0.,0.,0.,0.; 3801P 4764
+126,2,2,0,0,0,0,0.,0.,0.,1.53806598054936,1.53806598054936, 3803P 4765
+1.53806598054936,1.,0.718583503390014,1.,155.763761628875, 3803P 4766
+-53.5475075752323,8.73624999999999,157.701439739527, 3803P 4767
+-53.5475075752323,8.73624999999999,157.764849292068, 3803P 4768
+-55.4841478849295,8.73624999999999,0.,1.53806598054936,0.,0.,0.; 3803P 4769
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,157.764849292068, 3805P 4770
+-55.4841478849295,8.73624999999999,157.764849292068, 3805P 4771
+-55.4841478849295,7.11812499999999,0.,0.15,0.,0.,0.; 3805P 4772
+126,2,2,0,0,0,0,0.,0.,0.,1.53806598054936,1.53806598054936, 3807P 4773
+1.53806598054936,1.,0.718583503390014,1.,155.763761628875, 3807P 4774
+-53.5475075752323,7.11812499999999,157.701439739527, 3807P 4775
+-53.5475075752323,7.11812499999999,157.764849292068, 3807P 4776
+-55.4841478849295,7.11812499999999,0.,1.53806598054936,0.,0.,0.; 3807P 4777
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.763761628875, 3809P 4778
+-53.5475075752323,8.73624999999999,155.763761628875, 3809P 4779
+-53.5475075752323,7.11812499999999,0.,0.15,0.,0.,0.; 3809P 4780
+126,1,1,0,0,1,0,0.,0.,10.304761256663,10.304761256663,1.,1., 3811P 4781
+44.6011495726228,-53.5475075752323,8.73625,155.763761628875, 3811P 4782
+-53.5475075752323,8.73624999999999,0.,10.304761256663,0.,0.,0.; 3811P 4783
+126,1,1,0,0,1,0,0.,0.,10.304761256663,10.304761256663,1.,1., 3813P 4784
+44.6011495726228,-53.5475075752323,7.118125,155.763761628875, 3813P 4785
+-53.5475075752323,7.11812499999999,0.,10.304761256663,0.,0.,0.; 3813P 4786
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.6011495726228, 3815P 4787
+-53.5475075752323,8.73625,44.6011495726228,-53.5475075752323, 3815P 4788
+7.118125,0.,0.15,0.,0.,0.; 3815P 4789
+126,2,2,0,0,0,0,0.,0.,0.,1.57079496575076,1.57079496575076, 3817P 4790
+1.57079496575076,1.,0.707107262388153,1.,42.5989895726247, 3817P 4791
+-55.5496648502041,8.73625,42.5989922976491,-53.5475075752323, 3817P 4792
+8.73625,44.6011495726228,-53.5475075752324,8.73625,0., 3817P 4793
+1.57079496575076,0.,0.,0.; 3817P 4794
+126,2,2,0,0,0,0,0.,0.,0.,1.57079496575076,1.57079496575076, 3819P 4795
+1.57079496575076,1.,0.707107262388153,1.,42.5989895726247, 3819P 4796
+-55.5496648502041,7.118125,42.5989922976491,-53.5475075752323, 3819P 4797
+7.118125,44.6011495726228,-53.5475075752324,7.118125,0., 3819P 4798
+1.57079496575076,0.,0.,0.; 3819P 4799
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,42.5989895726247, 3821P 4800
+-55.5496648502042,8.73625,42.5989895726247,-55.5496648502042, 3821P 4801
+7.118125,0.,0.15,0.,0.,0.; 3821P 4802
+126,1,1,0,0,1,0,0.,0.,7.61968862441745,7.61968862441745,1.,1., 3823P 4803
+42.5989922976492,-137.747055886107,8.73625,42.5989895726247, 3823P 4804
+-55.5496648502041,8.73625,0.,7.61968862441745,0.,0.,0.; 3823P 4805
+126,1,1,0,0,1,0,0.,0.,7.61968862441745,7.61968862441745,1.,1., 3825P 4806
+42.5989922976492,-137.747055886107,7.118125,42.5989895726247, 3825P 4807
+-55.5496648502041,7.118125,0.,7.61968862441745,0.,0.,0.; 3825P 4808
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,42.5989922976492, 3827P 4809
+-137.747055886107,8.73625,42.5989922976492,-137.747055886107, 3827P 4810
+7.118125,0.,0.15,0.,0.,0.; 3827P 4811
+126,2,2,0,0,0,0,0.,0.,0.,1.57079632679493,1.57079632679493, 3829P 4812
+1.57079632679493,1.,0.707106781186538,1.,44.6011522976492, 3829P 4813
+-139.749215886107,8.73625,42.5989922976492,-139.749215886107, 3829P 4814
+8.73625,42.5989922976492,-137.747055886107,8.73625,0., 3829P 4815
+1.57079632679493,0.,0.,0.; 3829P 4816
+126,2,2,0,0,0,0,0.,0.,0.,1.57079632679493,1.57079632679493, 3831P 4817
+1.57079632679493,1.,0.707106781186538,1.,44.6011522976492, 3831P 4818
+-139.749215886107,7.118125,42.5989922976492,-139.749215886107, 3831P 4819
+7.118125,42.5989922976492,-137.747055886107,7.118125,0., 3831P 4820
+1.57079632679493,0.,0.,0.; 3831P 4821
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,44.6011522976492, 3833P 4822
+-139.749215886107,8.73625,44.6011522976492,-139.749215886107, 3833P 4823
+7.118125,0.,0.15,0.,0.,0.; 3833P 4824
+126,1,1,0,0,1,0,0.,0.,10.3047578082426,10.3047578082426,1.,1., 3835P 4825
+155.763727154066,-139.749215886107,8.73624999999999, 3835P 4826
+44.6011522976492,-139.749215886107,8.73625,0.,10.3047578082426, 3835P 4827
+0.,0.,0.; 3835P 4828
+126,1,1,0,0,1,0,0.,0.,10.3047578082426,10.3047578082426,1.,1., 3837P 4829
+155.763727154066,-139.749215886107,7.11812499999999, 3837P 4830
+44.6011522976492,-139.749215886107,7.118125,0.,10.3047578082426, 3837P 4831
+0.,0.,0.; 3837P 4832
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,155.763727154066, 3839P 4833
+-139.749215886107,8.73624999999999,155.763727154066, 3839P 4834
+-139.749215886107,7.11812499999999,0.,0.15,0.,0.,0.; 3839P 4835
+126,4,2,0,0,0,0,0.,0.,0.,0.785406772727343,0.785406772727343, 3841P 4836
+1.57081354545469,1.57081354545469,1.57081354545469,1., 3841P 4837
+0.923877885178717,1.,0.923877885178737,1.,157.76588715377, 3841P 4838
+-137.747021411595,8.73624999999999,157.765901433754, 3841P 4839
+-138.576353334882,8.73624999999999,157.179480255615, 3841P 4840
+-139.162784610495,8.73624999999999,156.593059077476, 3841P 4841
+-139.749215886107,8.73624999999999,155.763727154066, 3841P 4842
+-139.749215886107,8.73624999999999,0.,1.57081354545469,0.,0.,0.; 3841P 4843
+126,4,2,0,0,0,0,0.,0.,0.,0.785406772727343,0.785406772727343, 3843P 4844
+1.57081354545469,1.57081354545469,1.57081354545469,1., 3843P 4845
+0.923877885178717,1.,0.923877885178737,1.,157.76588715377, 3843P 4846
+-137.747021411595,7.11812499999999,157.765901433754, 3843P 4847
+-138.576353334882,7.11812499999999,157.179480255615, 3843P 4848
+-139.162784610495,7.11812499999999,156.593059077476, 3843P 4849
+-139.749215886107,7.11812499999999,155.763727154066, 3843P 4850
+-139.749215886107,7.11812499999999,0.,1.57081354545469,0.,0.,0.; 3843P 4851
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,157.76588715377, 3845P 4852
+-137.747021411595,8.73624999999999,157.76588715377, 3845P 4853
+-137.747021411595,7.11812499999999,0.,0.15,0.,0.,0.; 3845P 4854
+126,1,1,0,0,1,0,0.,0.,5.58752310204211,5.58752310204211,1.,1., 3847P 4855
+157.764849292068,-77.4716159572515,8.73624999999999, 3847P 4856
+157.76588715377,-137.747021411595,8.73624999999999,0., 3847P 4857
+5.58752310204211,0.,0.,0.; 3847P 4858
+126,1,1,0,0,1,0,0.,0.,5.58752310204211,5.58752310204211,1.,1., 3849P 4859
+157.764849292068,-77.4716159572515,7.11812499999999, 3849P 4860
+157.76588715377,-137.747021411595,7.11812499999999,0., 3849P 4861
+5.58752310204211,0.,0.,0.; 3849P 4862
+126,1,1,0,0,1,0,0.,0.,0.15,0.15,1.,1.,157.764849292068, 3851P 4863
+-77.4716159572515,8.73624999999999,157.764849292068, 3851P 4864
+-77.4716159572515,7.11812499999999,0.,0.15,0.,0.,0.; 3851P 4865
+126,1,1,0,0,1,0,-0.851617485069212,-0.851617485069212, 3853P 4866
+1.18661825744036,1.18661825744036,1.,1.,157.764849292068, 3853P 4867
+-55.4841478849295,8.73624999999999,157.764849292068, 3853P 4868
+-77.4716159572515,8.73624999999999,-0.851617485069212, 3853P 4869
+1.18661825744036,0.,0.,0.; 3853P 4870
+126,1,1,0,0,1,0,-0.851617485069212,-0.851617485069212, 3855P 4871
+1.18661825744036,1.18661825744036,1.,1.,157.764849292068, 3855P 4872
+-55.4841478849295,7.11812499999999,157.764849292068, 3855P 4873
+-77.4716159572515,7.11812499999999,-0.851617485069212, 3855P 4874
+1.18661825744036,0.,0.,0.; 3855P 4875
+126,1,1,0,0,1,0,0.873529002643732,0.873529002643732, 3857P 4876
+1.71776728389373,1.71776728389373,1.,1.,83.9631823855374, 3857P 4877
+-224.118941783543,-7.49999999999994,83.9631823855374, 3857P 4878
+-232.561324596043,-7.49999999999994,0.873529002643732, 3857P 4879
+1.71776728389373,0.,0.,0.; 3857P 4880
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,83.9631823855374, 3859P 4881
+-224.118941783543,-7.49999999999994,83.9631823855374, 3859P 4882
+-224.118941783543,-8.49999999999994,0.,0.1,0.,0.,0.; 3859P 4883
+126,1,1,0,0,1,0,0.,0.,0.84423828125,0.84423828125,1.,1., 3861P 4884
+83.9631823855374,-224.118941783543,-8.49999999999993, 3861P 4885
+83.9631823855374,-232.561324596043,-8.49999999999993,0., 3861P 4886
+0.84423828125,0.,0.,0.; 3861P 4887
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,83.9631823855374, 3863P 4888
+-232.561324596043,-7.49999999999994,83.9631823855374, 3863P 4889
+-232.561324596043,-8.49999999999994,0.,0.1,0.,0.,0.; 3863P 4890
+126,1,1,0,0,1,0,-0.110430982629394,-0.110430982629394, 3865P 4891
+2.40519401737061,2.40519401737061,1.,1.,58.8069323855374, 3865P 4892
+-224.118941783543,-7.49999999999996,83.9631823855374, 3865P 4893
+-224.118941783543,-7.49999999999995,-0.110430982629394, 3865P 4894
+2.40519401737061,0.,0.,0.; 3865P 4895
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,58.8069323855374, 3867P 4896
+-224.118941783543,-7.49999999999996,58.8069323855374, 3867P 4897
+-224.118941783543,-8.49999999999996,0.,0.1,0.,0.,0.; 3867P 4898
+126,1,1,0,0,1,0,0.,0.,2.515625,2.515625,1.,1.,58.8069323855374, 3869P 4899
+-224.118941783543,-8.49999999999997,83.9631823855374, 3869P 4900
+-224.118941783543,-8.49999999999996,0.,2.515625,0.,0.,0.; 3869P 4901
+126,1,1,0,0,1,0,-1.18921513798127,-1.18921513798127, 3871P 4902
+2.93627314326873,2.93627314326873,1.,1.,58.8069323855374, 3871P 4903
+-182.864058971043,-7.49999999999996,58.8069323855374, 3871P 4904
+-224.118941783543,-7.49999999999996,-1.18921513798127, 3871P 4905
+2.93627314326873,0.,0.,0.; 3871P 4906
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,58.8069323855374, 3873P 4907
+-182.864058971043,-7.49999999999996,58.8069323855374, 3873P 4908
+-182.864058971043,-8.49999999999996,0.,0.1,0.,0.,0.; 3873P 4909
+126,1,1,0,0,1,0,0.,0.,4.12548828125,4.12548828125,1.,1., 3875P 4910
+58.8069323855374,-182.864058971043,-8.49999999999997, 3875P 4911
+58.8069323855374,-224.118941783543,-8.49999999999997,0., 3875P 4912
+4.12548828125,0.,0.,0.; 3875P 4913
+126,1,1,0,0,1,0,-0.616290357629394,-0.616290357629394, 3877P 4914
+0.395428392370606,0.395428392370606,1.,1.,48.6897448855374, 3877P 4915
+-182.864058971043,-7.49999999999996,58.8069323855374, 3877P 4916
+-182.864058971043,-7.49999999999995,-0.616290357629394, 3877P 4917
+0.395428392370606,0.,0.,0.; 3877P 4918
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,48.6897448855374, 3879P 4919
+-182.864058971043,-7.49999999999996,48.6897448855374, 3879P 4920
+-182.864058971043,-8.49999999999996,0.,0.1,0.,0.,0.; 3879P 4921
+126,1,1,0,0,1,0,0.,0.,1.01171875,1.01171875,1.,1., 3881P 4922
+48.6897448855374,-182.864058971043,-8.49999999999997, 3881P 4923
+58.8069323855374,-182.864058971043,-8.49999999999997,0., 3881P 4924
+1.01171875,0.,0.,0.; 3881P 4925
+126,1,1,0,0,1,0,-1.29564814326873,-1.29564814326873, 3883P 4926
+3.67407841923127,3.67407841923127,1.,1.,48.6897448855374, 3883P 4927
+-232.561324596043,-7.49999999999996,48.6897448855374, 3883P 4928
+-182.864058971043,-7.49999999999996,-1.29564814326873, 3883P 4929
+3.67407841923127,0.,0.,0.; 3883P 4930
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,48.6897448855374, 3885P 4931
+-232.561324596043,-7.49999999999996,48.6897448855374, 3885P 4932
+-232.561324596043,-8.49999999999996,0.,0.1,0.,0.,0.; 3885P 4933
+126,1,1,0,0,1,0,0.,0.,4.9697265625,4.9697265625,1.,1., 3887P 4934
+48.6897448855374,-232.561324596043,-8.49999999999997, 3887P 4935
+48.6897448855374,-182.864058971043,-8.49999999999997,0., 3887P 4936
+4.9697265625,0.,0.,0.; 3887P 4937
+126,1,1,0,0,1,0,-1.1473815173706,-1.1473815173706, 3889P 4938
+2.37996223262939,2.37996223262939,1.,1.,83.9631823855374, 3889P 4939
+-232.561324596043,-7.49999999999995,48.6897448855374, 3889P 4940
+-232.561324596043,-7.49999999999996,-1.1473815173706, 3889P 4941
+2.37996223262939,0.,0.,0.; 3889P 4942
+126,1,1,0,0,1,0,0.,0.,3.52734375,3.52734375,1.,1., 3891P 4943
+83.9631823855374,-232.561324596043,-8.49999999999993, 3891P 4944
+48.6897448855374,-232.561324596043,-8.49999999999994,0., 3891P 4945
+3.52734375,0.,0.,0.; 3891P 4946
+126,6,2,0,0,0,0,3.13917765423161,3.13917765423161, 3893P 4947
+3.13917765423161,4.18718020521427,4.18718020521427, 3893P 4948
+5.23518275619693,5.23518275619693,6.28318530717959, 3893P 4949
+6.28318530717959,6.28318530717959,1.,0.865824083692505,1., 3893P 4950
+0.865824083692489,1.,0.865824083692615,1.,18.9406505609936, 3893P 4951
+-172.121201750437,-7.49999999999996,18.9396735534978, 3893P 4952
+-171.312085990108,-7.49999999999996,19.6402259760079, 3893P 4953
+-170.907245809948,-7.49999999999996,20.340778398518, 3893P 4954
+-170.502405629789,-7.49999999999996,21.0413308210281, 3893P 4955
+-170.907245809948,-7.49999999999996,21.7418832435383, 3893P 4956
+-171.312085990108,-7.49999999999996,21.7409062360425, 3893P 4957
+-172.121201750437,-7.49999999999996,3.13917765423161, 3893P 4958
+6.28318530717959,0.,0.,0.; 3893P 4959
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 3895P 4960
+18.9406505609936,-172.121201750437,-7.49999999999997, 3895P 4961
+18.9406505609936,-172.121201750437,-11.6,1.623625,2.033625,0., 3895P 4962
+0.,0.; 3895P 4963
+126,6,2,0,0,0,0,0.,0.,0.,1.04800255098266,1.04800255098266, 3897P 4964
+2.09600510196532,2.09600510196532,3.14400765294798, 3897P 4965
+3.14400765294798,3.14400765294798,1.,0.865824083692615,1., 3897P 4966
+0.865824083692489,1.,0.865824083692505,1.,21.7409062360425, 3897P 4967
+-172.121201750437,-11.6,21.7418832435383,-171.312085990108, 3897P 4968
+-11.6,21.0413308210281,-170.907245809948,-11.6,20.340778398518, 3897P 4969
+-170.502405629789,-11.6,19.6402259760079,-170.907245809948, 3897P 4970
+-11.6,18.9396735534978,-171.312085990108,-11.6,18.9406505609936, 3897P 4971
+-172.121201750437,-11.6,0.,3.14400765294798,0.,0.,0.; 3897P 4972
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 3899P 4973
+21.7409062360425,-172.121201750437,-7.49999999999997, 3899P 4974
+21.7409062360425,-172.121201750437,-11.6,1.623625,2.033625,0., 3899P 4975
+0.,0.; 3899P 4976
+126,6,2,0,0,0,0,3.13917765425437,3.13917765425437, 3901P 4977
+3.13917765425437,4.18718020522943,4.18718020522943, 3901P 4978
+5.2351827562045,5.2351827562045,6.28318530717956, 3901P 4979
+6.28318530717956,6.28318530717956,1.,0.865824083694517,1., 3901P 4980
+0.865824083694691,1.,0.865824083694548,1.,21.7409062360425, 3901P 4981
+-172.121201750437,-7.49999999999996,21.7418832435291, 3901P 4982
+-172.930317510758,-7.49999999999996,21.0413308210236, 3901P 4983
+-173.335157690912,-7.49999999999996,20.3407783985181, 3901P 4984
+-173.739997871065,-7.49999999999996,19.6402259760126, 3901P 4985
+-173.335157690912,-7.49999999999996,18.939673553507, 3901P 4986
+-172.930317510759,-7.49999999999996,18.9406505609936, 3901P 4987
+-172.121201750437,-7.49999999999996,3.13917765425437, 3901P 4988
+6.28318530717956,0.,0.,0.; 3901P 4989
+126,6,2,0,0,0,0,2.53741645654159D-14,2.53741645654159D-14, 3903P 4990
+2.53741645654159D-14,1.04800255097509,1.04800255097509, 3903P 4991
+2.09600510195016,2.09600510195016,3.14400765292522, 3903P 4992
+3.14400765292522,3.14400765292522,1.,0.86582408369456,1., 3903P 4993
+0.865824083694691,1.,0.865824083694517,1.,18.9406505609936, 3903P 4994
+-172.121201750437,-11.6,18.939673553507,-172.930317510759,-11.6, 3903P 4995
+19.6402259760125,-173.335157690912,-11.6,20.3407783985181, 3903P 4996
+-173.739997871065,-11.6,21.0413308210236,-173.335157690912, 3903P 4997
+-11.6,21.7418832435291,-172.930317510758,-11.6,21.7409062360425, 3903P 4998
+-172.121201750437,-11.6,2.53741645654159D-14,3.14400765292522, 3903P 4999
+0.,0.,0.; 3903P 5000
+126,6,2,0,0,0,0,3.13917765424305,3.13917765424305, 3905P 5001
+3.13917765424305,4.1871802052219,4.1871802052219, 3905P 5002
+5.23518275620074,5.23518275620074,6.28318530717959, 3905P 5003
+6.28318530717959,6.28318530717959,1.,0.86582408369356,1., 3905P 5004
+0.865824083693437,1.,0.865824083693555,1.,97.7151063167837, 3905P 5005
+-190.598023114196,-7.49999999999996,97.7141293092926, 3905P 5006
+-189.78890735387,-7.49999999999996,98.4146817318004, 3905P 5007
+-189.384067173714,-7.49999999999996,99.1152341543082, 3905P 5008
+-188.979226993558,-7.49999999999996,99.815786576816, 3905P 5009
+-189.384067173714,-7.49999999999996,100.516338999324, 3905P 5010
+-189.78890735387,-7.49999999999996,100.515361991833, 3905P 5011
+-190.598023114196,-7.49999999999996,3.13917765424305, 3905P 5012
+6.28318530717959,0.,0.,0.; 3905P 5013
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 3907P 5014
+97.7151063167837,-190.598023114196,-7.49999999999994, 3907P 5015
+97.7151063167837,-190.598023114196,-11.5999999999999,1.623625, 3907P 5016
+2.033625,0.,0.,0.; 3907P 5017
+126,6,2,0,0,0,0,0.,0.,0.,1.04800255097885,1.04800255097885, 3909P 5018
+2.09600510195769,2.09600510195769,3.14400765293654, 3909P 5019
+3.14400765293654,3.14400765293654,1.,0.865824083693555,1., 3909P 5020
+0.865824083693437,1.,0.86582408369356,1.,100.515361991833, 3909P 5021
+-190.598023114196,-11.6,100.516338999324,-189.78890735387,-11.6, 3909P 5022
+99.815786576816,-189.384067173714,-11.6,99.1152341543082, 3909P 5023
+-188.979226993558,-11.6,98.4146817318004,-189.384067173714, 3909P 5024
+-11.6,97.7141293092926,-189.78890735387,-11.6,97.7151063167837, 3909P 5025
+-190.598023114196,-11.6,0.,3.14400765293654,0.,0.,0.; 3909P 5026
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 3911P 5027
+100.515361991833,-190.598023114196,-7.49999999999994, 3911P 5028
+100.515361991833,-190.598023114196,-11.5999999999999,1.623625, 3911P 5029
+2.033625,0.,0.,0.; 3911P 5030
+126,6,2,0,0,0,0,3.13917765424295,3.13917765424295, 3913P 5031
+3.13917765424295,4.18718020522184,4.18718020522184, 3913P 5032
+5.23518275620074,5.23518275620074,6.28318530717964, 3913P 5033
+6.28318530717964,6.28318530717964,1.,0.86582408369357,1., 3913P 5034
+0.865824083693601,1.,0.865824083693503,1.,100.515361991833, 3913P 5035
+-190.598023114196,-7.49999999999996,100.516338999324, 3913P 5036
+-191.407138874521,-7.49999999999996,99.815786576816, 3913P 5037
+-191.811979054677,-7.49999999999996,99.1152341543081, 3913P 5038
+-192.216819234834,-7.49999999999996,98.4146817318003, 3913P 5039
+-191.811979054677,-7.49999999999996,97.7141293092924, 3913P 5040
+-191.407138874521,-7.49999999999996,97.7151063167837, 3913P 5041
+-190.598023114196,-7.49999999999996,3.13917765424295, 3913P 5042
+6.28318530717964,0.,0.,0.; 3913P 5043
+126,6,2,0,0,0,0,-5.0748329130831D-14,-5.0748329130831D-14, 3915P 5044
+-5.0748329130831D-14,1.04800255097885,1.04800255097885, 3915P 5045
+2.09600510195774,2.09600510195774,3.14400765293664, 3915P 5046
+3.14400765293664,3.14400765293664,1.,0.865824083693503,1., 3915P 5047
+0.865824083693601,1.,0.865824083693605,1.,97.7151063167837, 3915P 5048
+-190.598023114196,-11.6,97.7141293092924,-191.407138874521, 3915P 5049
+-11.6,98.4146817318003,-191.811979054677,-11.6,99.1152341543081, 3915P 5050
+-192.216819234834,-11.6,99.8157865768159,-191.811979054677, 3915P 5051
+-11.6,100.516338999324,-191.407138874521,-11.6,100.515361991833, 3915P 5052
+-190.598023114196,-11.6,-5.0748329130831D-14,3.14400765293664, 3915P 5053
+0.,0.,0.; 3915P 5054
+126,2,2,0,0,0,0,-1.15918194829754,-1.15918194829754, 3917P 5055
+-1.15918194829754,-0.0292778092733589,-0.0292778092733589, 3917P 5056
+-0.0292778092733589,1.,0.844614262194451,1.,4.43314110940288, 3917P 5057
+-167.842837467805,5.50000000000003,2.97957034725773, 3917P 5058
+-167.208278396419,5.50000000000003,2.93314110940286, 3917P 5059
+-165.622914872961,5.50000000000003,-1.15918194829754, 3917P 5060
+-0.0292778092733589,0.,0.,0.; 3917P 5061
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,4.43314110940286, 3919P 5062
+-167.842837467805,-7.49999999999997,4.43314110940285, 3919P 5063
+-167.842837467805,5.50000000000003,-1.5,-0.2,0.,0.,0.; 3919P 5064
+126,2,2,0,0,0,0,-1.15918194829754,-1.15918194829754, 3921P 5065
+-1.15918194829754,-0.0292778092733589,-0.0292778092733589, 3921P 5066
+-0.0292778092733589,1.,0.844614262194451,1.,4.43314110940287, 3921P 5067
+-167.842837467805,-7.49999999999997,2.97957034725773, 3921P 5068
+-167.208278396419,-7.49999999999997,2.93314110940286, 3921P 5069
+-165.622914872961,-7.49999999999997,-1.15918194829754, 3921P 5070
+-0.0292778092733589,0.,0.,0.; 3921P 5071
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,2.93314110940287, 3923P 5072
+-165.622914872961,5.50000000000003,2.93314110940287, 3923P 5073
+-165.622914872961,-7.49999999999997,0.2,1.5,0.,0.,0.; 3923P 5074
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,114.304136640482, 3925P 5075
+-248.749215886107,5.50000000000006,114.304136640482, 3925P 5076
+-248.749215886107,-7.49999999999994,0.2,1.5,0.,0.,0.; 3925P 5077
+126,1,1,0,0,1,0,-10.8869873393078,-10.8869873393078, 3927P 5078
+-0.22927014633397,-0.22927014633397,1.,1.,114.304136640482, 3927P 5079
+-248.749215886107,-7.49999999999995,7.72696471074416, 3927P 5080
+-248.749215886107,-7.49999999999997,-10.8869873393078, 3927P 5081
+-0.22927014633397,0.,0.,0.; 3927P 5082
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,7.72696471074419, 3929P 5083
+-248.749215886107,-7.49999999999997,7.72696471074418, 3929P 5084
+-248.749215886107,5.50000000000003,-1.5,-0.2,0.,0.,0.; 3929P 5085
+126,1,1,0,0,1,0,-8.10792303602294,-8.10792303602294, 3931P 5086
+2.54979415695085,2.54979415695085,1.,1.,7.72696471074415, 3931P 5087
+-248.749215886107,5.50000000000003,114.304136640482, 3931P 5088
+-248.749215886107,5.50000000000006,-8.10792303602294, 3931P 5089
+2.54979415695085,0.,0.,0.; 3931P 5090
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,4.43214272479956, 3933P 5091
+-245.454337167255,5.50000000000003,4.43214272479957, 3933P 5092
+-245.454337167255,-7.49999999999997,0.2,1.5,0.,0.,0.; 3933P 5093
+126,1,1,0,0,1,0,-5.79827126090288,-5.79827126090288,0.,0.,1.,1., 3935P 5094
+4.43214272479954,-245.454337167255,-7.49999999999997, 3935P 5095
+4.43314110940289,-187.471624566822,-7.49999999999997, 3935P 5096
+-5.79827126090288,0.,0.,0.,0.; 3935P 5097
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,4.43314110940289, 3937P 5098
+-187.471624566822,5.50000000000003,4.43314110940289, 3937P 5099
+-187.471624566822,-7.49999999999997,0.2,1.5,0.,0.,0.; 3937P 5100
+126,1,1,0,0,1,0,-3.97255884800442,-3.97255884800442, 3939P 5101
+1.82571241289845,1.82571241289845,1.,1.,4.43314110940289, 3939P 5102
+-187.471624566822,5.50000000000003,4.43214272479954, 3939P 5103
+-245.454337167255,5.50000000000003,-3.97255884800442, 3939P 5104
+1.82571241289845,0.,0.,0.; 3939P 5105
+126,2,2,0,0,0,0,1.5707963267949,1.5707963267949,1.5707963267949, 3941P 5106
+2.72951060528473,2.72951060528473,2.72951060528473,1., 3941P 5107
+0.836814780130269,1.,5.4342287725957,-163.047507575232, 3941P 5108
+5.50000000000003,7.07126702638247,-163.047507575232, 3941P 5109
+5.50000000000003,7.72693023593538,-164.547507575232, 3941P 5110
+5.50000000000003,1.5707963267949,2.72951060528473,0.,0.,0.; 3941P 5111
+126,1,1,0,0,1,0,0.978120675558471,0.978120675558471, 3943P 5112
+2.54979601694251,2.54979601694251,1.,1.,23.4436836497758, 3943P 5113
+-164.547507575232,5.50000000000003,7.7269302359354, 3943P 5114
+-164.547507575232,5.50000000000003,0.978120675558471, 3943P 5115
+2.54979601694251,0.,0.,0.; 3943P 5116
+126,1,1,0,0,1,0,2.10504270777188,2.10504270777188, 3945P 5117
+2.25504270777187,2.25504270777187,1.,1.,23.4436836497758, 3945P 5118
+-164.547507575232,5.50000000000003,23.4436836497758, 3945P 5119
+-163.047507575232,5.50000000000003,2.10504270777188, 3945P 5120
+2.25504270777187,0.,0.,0.; 3945P 5121
+126,1,1,0,0,1,0,-2.77906616327648,-2.77906616327648, 3947P 5122
+-0.978120675558472,-0.978120675558472,1.,1.,5.43422877259571, 3947P 5123
+-163.047507575232,5.50000000000003,23.4436836497758, 3947P 5124
+-163.047507575232,5.50000000000003,-2.77906616327648, 3947P 5125
+-0.978120675558472,0.,0.,0.; 3947P 5126
+126,2,2,0,0,0,0,1.72186597884763D-5,1.72186597884763D-5, 3949P 5127
+1.72186597884763D-5,1.15873149714963,1.15873149714963, 3949P 5128
+1.15873149714963,1.,0.836814780130323,1.,2.93210324777536, 3949P 5129
+-247.747012802266,5.50000000000003,2.93213143538011, 3949P 5130
+-246.109974548721,5.50000000000003,4.43214272479955, 3949P 5131
+-245.454337167255,5.50000000000003,1.72186597884763D-5, 3949P 5132
+1.15873149714963,0.,0.,0.; 3949P 5133
+126,1,1,0,0,1,0,-2.92171556809407,-2.92171556809407, 3951P 5134
+-0.958836858192392,-0.958836858192392,1.,1.,4.43314110940287, 3951P 5135
+-167.842837467805,5.50000000000003,4.43314110940288, 3951P 5136
+-187.471624566822,5.50000000000003,-2.92171556809407, 3951P 5137
+-0.958836858192392,0.,0.,0.; 3951P 5138
+126,1,1,0,0,1,0,0.958837288670924,0.958837288670924, 3953P 5139
+3.14370739710002,3.14370739710002,1.,1.,2.9331411094029, 3953P 5140
+-187.471615957251,5.50000000000003,2.93314110940288, 3953P 5141
+-165.622914872961,5.50000000000003,0.958837288670924, 3953P 5142
+3.14370739710002,0.,0.,0.; 3953P 5143
+126,1,1,0,0,1,0,-2.054982559236,-2.054982559236, 3955P 5144
+3.97255712615894,3.97255712615894,1.,1.,2.93210324777536, 3955P 5145
+-247.747012802266,5.50000000000003,2.9331411094029, 3955P 5146
+-187.471615957251,5.50000000000003,-2.054982559236, 3955P 5147
+3.97255712615894,0.,0.,0.; 3955P 5148
+126,2,2,0,0,0,0,-1.5707963267949,-1.5707963267949, 3957P 5149
+-1.5707963267949,-0.412082048305059,-0.412082048305059, 3957P 5150
+-0.412082048305059,1.,0.836814780130369,1.,116.596838103822, 3957P 5151
+-250.249215886107,5.50000000000007,114.959799850035, 3957P 5152
+-250.249215886107,5.50000000000007,114.304136640482, 3957P 5153
+-248.749215886107,5.50000000000007,-1.5707963267949, 3957P 5154
+-0.412082048305059,0.,0.,0.; 3957P 5155
+126,2,2,0,0,0,0,-2.72951060528471,-2.72951060528471, 3959P 5156
+-2.72951060528471,-1.5707963267949,-1.5707963267949, 3959P 5157
+-1.5707963267949,1.,0.83681478013024,1.,7.72696471074414, 3959P 5158
+-248.749215886107,5.50000000000003,7.0713015011912, 3959P 5159
+-250.249215886107,5.50000000000003,5.43426324740444, 3959P 5160
+-250.249215886107,5.50000000000003,-2.72951060528471, 3959P 5161
+-1.5707963267949,0.,0.,0.; 3959P 5162
+126,1,1,0,0,1,0,-2.77906430328482,-2.77906430328482, 3961P 5163
+8.33719318235691,8.33719318235691,1.,1.,116.596838103822, 3961P 5164
+-250.249215886107,5.50000000000006,5.43426324740444, 3961P 5165
+-250.249215886107,5.50000000000003,-2.77906430328482, 3961P 5166
+8.33719318235691,0.,0.,0.; 3961P 5167
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,7.7269302359354, 3963P 5168
+-164.547507575232,5.50000000000003,7.7269302359354, 3963P 5169
+-164.547507575232,-7.49999999999997,0.2,1.5,0.,0.,0.; 3963P 5170
+126,1,1,0,0,1,0,-10.8869910592913,-10.8869910592913, 3965P 5171
+-9.31531571790723,-9.31531571790723,1.,1.,7.7269302359354, 3965P 5172
+-164.547507575232,-7.49999999999996,23.4436836497758, 3965P 5173
+-164.547507575232,-7.49999999999996,-10.8869910592913, 3965P 5174
+-9.31531571790723,0.,0.,0.; 3965P 5175
+126,1,1,0,0,1,0,-0.75,-0.75,0.55,0.55,1.,1.,23.4436836497758, 3967P 5176
+-164.547507575232,-7.49999999999997,23.4436836497758, 3967P 5177
+-164.547507575232,5.50000000000003,-0.75,0.55,0.,0.,0.; 3967P 5178
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,114.304139365509, 3969P 5179
+-164.547507575232,-7.49999999999994,114.304139365509, 3969P 5180
+-164.547507575232,5.50000000000006,-1.5,-0.2,0.,0.,0.; 3969P 5181
+126,1,1,0,0,1,0,-8.10792489601484,-8.10792489601484, 3971P 5182
+-7.23888737412926,-7.23888737412926,1.,1.,114.304139365509, 3971P 5183
+-164.547507575232,5.50000000000005,105.613764146653, 3971P 5184
+-164.547507575232,5.50000000000005,-8.10792489601484, 3971P 5185
+-7.23888737412926,0.,0.,0.; 3971P 5186
+126,1,1,0,0,1,0,-0.2,-0.2,1.1,1.1,1.,1.,105.613764146653, 3973P 5187
+-164.547507575232,5.50000000000006,105.613764146653, 3973P 5188
+-164.547507575232,-7.49999999999994,-0.2,1.1,0.,0.,0.; 3973P 5189
+126,1,1,0,0,1,0,-1.0983076682195,-1.0983076682195, 3975P 5190
+-0.229270146333919,-0.229270146333919,1.,1.,105.613764146653, 3975P 5191
+-164.547507575232,-7.49999999999994,114.304139365509, 3975P 5192
+-164.547507575232,-7.49999999999994,-1.0983076682195, 3975P 5193
+-0.229270146333919,0.,0.,0.; 3975P 5194
+126,2,2,0,0,0,0,1.98287840825217,1.98287840825217, 3977P 5195
+1.98287840825217,3.14159265358978,3.14159265358978, 3977P 5196
+3.14159265358978,1.,0.83681478920549,1.,117.59899817983, 3977P 5197
+-245.454354455992,5.50000000000007,119.098998103822, 3977P 5198
+-246.11001769155,5.50000000000007,119.098998103822, 3977P 5199
+-247.747055886107,5.50000000000007,1.98287840825217, 3977P 5200
+3.14159265358978,0.,0.,0.; 3977P 5201
+126,1,1,0,0,1,0,-2.05493493947419,-2.05493493947419, 3979P 5202
+6.16480416245852,6.16480416245852,1.,1.,119.099000828846, 3979P 5203
+-165.54966486678,5.50000000000007,119.098998103822, 3979P 5204
+-247.747055886107,5.50000000000007,-2.05493493947419, 3979P 5205
+6.16480416245852,0.,0.,0.; 3979P 5206
+126,2,2,0,0,0,0,-3.14159373603537,-3.14159373603537, 3981P 5207
+-3.14159373603537,-1.98287834194696,-1.98287834194696, 3981P 5208
+-1.98287834194696,1.,0.836814474742864,1.,119.099000828846, 3981P 5209
+-165.54966486678,5.50000000000007,119.099002600853, 3981P 5210
+-167.186705113691,5.50000000000007,117.599000752838, 3981P 5211
+-167.842369071796,5.50000000000007,-3.14159373603537, 3981P 5212
+-1.98287834194696,0.,0.,0.; 3981P 5213
+126,1,1,0,0,1,0,-5.93553402441977,-5.93553402441977, 3983P 5214
+1.82566451399977,1.82566451399977,1.,1.,117.59899817983, 3983P 5215
+-245.454354455992,5.50000000000007,117.599000752838, 3983P 5216
+-167.842369071796,5.50000000000007,-5.93553402441977, 3983P 5217
+1.82566451399977,0.,0.,0.; 3983P 5218
+126,2,2,0,0,0,0,0.412082048305129,0.412082048305129, 3985P 5219
+0.412082048305129,1.57079632679488,1.57079632679488, 3985P 5220
+1.57079632679488,1.,0.836814780130278,1.,114.304139365509, 3985P 5221
+-164.547507575232,5.50000000000007,114.959802575062, 3985P 5222
+-163.047507575233,5.50000000000007,116.596840828848, 3985P 5223
+-163.047507575233,5.50000000000007,0.412082048305129, 3985P 5224
+1.57079632679488,0.,0.,0.; 3985P 5225
+126,1,1,0,0,1,0,7.23888737412926,7.23888737412926, 3987P 5226
+8.33719504234876,8.33719504234876,1.,1.,105.613764146653, 3987P 5227
+-163.047507575232,5.50000000000005,116.596840828848, 3987P 5228
+-163.047507575232,5.50000000000005,7.23888737412926, 3987P 5229
+8.33719504234876,0.,0.,0.; 3987P 5230
+126,1,1,0,0,1,0,-2.25504270777187,-2.25504270777187, 3989P 5231
+-2.10504270777188,-2.10504270777188,1.,1.,105.613764146653, 3989P 5232
+-163.047507575232,5.50000000000005,105.613764146653, 3989P 5233
+-164.547507575232,5.50000000000005,-2.25504270777187, 3989P 5234
+-2.10504270777188,0.,0.,0.; 3989P 5235
+126,6,2,0,0,0,0,3.13925814733116,3.13925814733116, 3991P 5236
+3.13925814733116,4.18720703624771,4.18720703624771, 3991P 5237
+5.23515592516426,5.23515592516426,6.28310481408081, 3991P 5238
+6.28310481408081,6.28310481408081,1.,0.865837508248997,1., 3991P 5239
+0.865837508248987,1.,0.865837508249069,1.,21.4157277366876, 3991P 5240
+-228.698656211065,-7.49999999999997,21.4147507896972, 3991P 5241
+-227.831805396136,-7.49999999999997,22.1653032159716, 3991P 5242
+-227.39809772364,-7.49999999999997,22.915855642246, 3991P 5243
+-226.964390051143,-7.49999999999997,23.6664080685249, 3991P 5244
+-227.398097723632,-7.49999999999997,24.4169604948039, 3991P 5245
+-227.83180539612,-7.49999999999997,24.4159835478226, 3991P 5246
+-228.69865621105,-7.49999999999997,3.13925814733116, 3991P 5247
+6.28310481408081,0.,0.,0.; 3991P 5248
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,21.4157277366876, 3993P 5249
+-228.698656211065,-7.49999999999997,21.4157277366876, 3993P 5250
+-228.698656211065,-11.6,1.5,1.91,0.,0.,0.; 3993P 5251
+126,6,2,0,0,0,0,-6.28310481408081,-6.28310481408081, 3995P 5252
+-6.28310481408081,-5.23515592516426,-5.23515592516426, 3995P 5253
+-4.18720703624771,-4.18720703624771,-3.13925814733116, 3995P 5254
+-3.13925814733116,-3.13925814733116,1.,0.865837508249069,1., 3995P 5255
+0.865837508248987,1.,0.865837508248997,1.,24.4159835478226, 3995P 5256
+-228.69865621105,-11.6,24.4169604948039,-227.83180539612,-11.6, 3995P 5257
+23.6664080685249,-227.398097723632,-11.6,22.915855642246, 3995P 5258
+-226.964390051143,-11.6,22.1653032159716,-227.39809772364,-11.6, 3995P 5259
+21.4147507896972,-227.831805396136,-11.6,21.4157277366876, 3995P 5260
+-228.698656211065,-11.6,-6.28310481408081,-3.13925814733116,0., 3995P 5261
+0.,0.; 3995P 5262
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,24.4159835478226, 3997P 5263
+-228.69865621105,-7.49999999999997,24.4159835478226, 3997P 5264
+-228.69865621105,-11.6,1.5,1.91,0.,0.,0.; 3997P 5265
+126,6,2,0,0,0,0,3.13925814734168,3.13925814734168, 3999P 5266
+3.13925814734168,4.18720703625123,4.18720703625123, 3999P 5267
+5.23515592516079,5.23515592516079,6.28310481407034, 3999P 5268
+6.28310481407034,6.28310481407034,1.,0.865837508250833,1., 3999P 5269
+0.865837508250854,1.,0.865837508250777,1.,24.4159835478226, 3999P 5270
+-228.69865621105,-7.49999999999997,24.4169604948039, 3999P 5271
+-229.565507025972,-7.49999999999997,23.666408068534, 3999P 5272
+-229.999214698462,-7.49999999999997,22.9158556422641, 3999P 5273
+-230.432922370953,-7.49999999999997,22.1653032159898, 3999P 5274
+-229.99921469847,-7.49999999999997,21.4147507897154, 3999P 5275
+-229.565507025988,-7.49999999999997,21.4157277366876, 3999P 5276
+-228.698656211065,-7.49999999999997,3.13925814734168, 3999P 5277
+6.28310481407034,0.,0.,0.; 3999P 5278
+126,6,2,0,0,0,0,-6.28310481407037,-6.28310481407037, 4001P 5279
+-6.28310481407037,-5.2351559251608,-5.2351559251608, 4001P 5280
+-4.18720703625122,-4.18720703625122,-3.13925814734165, 4001P 5281
+-3.13925814734165,-3.13925814734165,1.,0.865837508250796,1., 4001P 5282
+0.865837508250931,1.,0.865837508250911,1.,21.4157277366876, 4001P 5283
+-228.698656211065,-11.6,21.4147507897153,-229.565507025988, 4001P 5284
+-11.6,22.1653032159898,-229.99921469847,-11.6,22.9158556422642, 4001P 5285
+-230.432922370953,-11.6,23.666408068534,-229.999214698462,-11.6, 4001P 5286
+24.4169604948039,-229.565507025972,-11.6,24.4159835478226, 4001P 5287
+-228.69865621105,-11.6,-6.28310481407037,-3.13925814734165,0., 4001P 5288
+0.,0.; 4001P 5289
+126,6,2,0,0,0,0,3.13866619557958,3.13866619557958, 4003P 5290
+3.13866619557958,4.18680559830898,4.18680559830898, 4003P 5291
+5.23494500103838,5.23494500103838,6.28308440376778, 4003P 5292
+6.28308440376778,6.28308440376778,1.,0.865789844880318,1., 4003P 5293
+0.865789844880317,1.,0.865789844880318,1.,97.617115874664, 4003P 5294
+-228.698656211057,-7.49999999999994,97.6158909373877, 4003P 5295
+-227.831614772873,-7.49999999999994,98.3665673588096, 4003P 5296
+-227.397740060174,-7.49999999999994,99.1172437802314, 4003P 5297
+-226.963865347475,-7.49999999999994,99.8679202016533, 4003P 5298
+-227.397740060174,-7.49999999999994,100.618596623075, 4003P 5299
+-227.831614772873,-7.49999999999994,100.617371685799, 4003P 5300
+-228.698656211057,-7.49999999999994,3.13866619557958, 4003P 5301
+6.28308440376778,0.,0.,0.; 4003P 5302
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,97.6171158746639, 4005P 5303
+-228.698656211057,-7.49999999999994,97.6171158746639, 4005P 5304
+-228.698656211057,-11.5999999999999,1.5,1.91,0.,0.,0.; 4005P 5305
+126,6,2,0,0,0,0,-6.28308440376778,-6.28308440376778, 4007P 5306
+-6.28308440376778,-5.23494500103838,-5.23494500103838, 4007P 5307
+-4.18680559830898,-4.18680559830898,-3.13866619557958, 4007P 5308
+-3.13866619557958,-3.13866619557958,1.,0.865789844880318,1., 4007P 5309
+0.865789844880317,1.,0.865789844880318,1.,100.617371685799, 4007P 5310
+-228.698656211057,-11.5999999999999,100.618596623075, 4007P 5311
+-227.831614772873,-11.5999999999999,99.8679202016533, 4007P 5312
+-227.397740060174,-11.5999999999999,99.1172437802314, 4007P 5313
+-226.963865347475,-11.5999999999999,98.3665673588096, 4007P 5314
+-227.397740060174,-11.5999999999999,97.6158909373877, 4007P 5315
+-227.831614772873,-11.5999999999999,97.617115874664, 4007P 5316
+-228.698656211057,-11.5999999999999,-6.28308440376778, 4007P 5317
+-3.13866619557958,0.,0.,0.; 4007P 5318
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,100.617371685799, 4009P 5319
+-228.698656211057,-7.49999999999994,100.617371685799, 4009P 5320
+-228.698656211057,-11.5999999999999,1.5,1.91,0.,0.,0.; 4009P 5321
+126,6,2,0,0,0,0,3.13866619559787,3.13866619559787, 4011P 5322
+3.13866619559787,4.18680559832114,4.18680559832114, 4011P 5323
+5.2349450010444,5.2349450010444,6.28308440376766, 4011P 5324
+6.28308440376766,6.28308440376766,1.,0.865789844881819,1., 4011P 5325
+0.865789844881894,1.,0.865789844881819,1.,100.617371685799, 4011P 5326
+-228.698656211057,-7.49999999999994,100.618596623067, 4011P 5327
+-229.565697649234,-7.49999999999994,99.8679202016493, 4011P 5328
+-229.999572361928,-7.49999999999994,99.1172437802314, 4011P 5329
+-230.433447074621,-7.49999999999994,98.3665673588136, 4011P 5330
+-229.999572361928,-7.49999999999994,97.6158909373957, 4011P 5331
+-229.565697649234,-7.49999999999994,97.617115874664, 4011P 5332
+-228.698656211057,-7.49999999999994,3.13866619559787, 4011P 5333
+6.28308440376766,0.,0.,0.; 4011P 5334
+126,6,2,0,0,0,0,-6.2830844037677,-6.2830844037677, 4013P 5335
+-6.2830844037677,-5.23494500104441,-5.23494500104441, 4013P 5336
+-4.18680559832112,-4.18680559832112,-3.13866619559783, 4013P 5337
+-3.13866619559783,-3.13866619559783,1.,0.865789844881757,1., 4013P 5338
+0.865789844882047,1.,0.865789844881757,1.,97.617115874664, 4013P 5339
+-228.698656211056,-11.5999999999999,97.6158909373956, 4013P 5340
+-229.565697649234,-11.5999999999999,98.3665673588135, 4013P 5341
+-229.999572361928,-11.5999999999999,99.1172437802314, 4013P 5342
+-230.433447074621,-11.5999999999999,99.8679202016494, 4013P 5343
+-229.999572361928,-11.5999999999999,100.618596623067, 4013P 5344
+-229.565697649234,-11.5999999999999,100.617371685799, 4013P 5345
+-228.698656211056,-11.5999999999999,-6.2830844037677, 4013P 5346
+-3.13866619559783,0.,0.,0.; 4013P 5347
+126,6,2,0,0,0,0,3.13925814733116,3.13925814733116, 4015P 5348
+3.13925814733116,4.18720703624771,4.18720703624771, 4015P 5349
+5.23515592516426,5.23515592516426,6.28310481408081, 4015P 5350
+6.28310481408081,6.28310481408081,1.,0.865837508248997,1., 4015P 5351
+0.865837508248987,1.,0.865837508249069,1.,21.4157277366876, 4015P 5352
+-190.598023114212,-7.49999999999997,21.4147507896972, 4015P 5353
+-189.731172299282,-7.49999999999997,22.1653032159716, 4015P 5354
+-189.297464626786,-7.49999999999997,22.915855642246, 4015P 5355
+-188.863756954289,-7.49999999999997,23.6664080685249, 4015P 5356
+-189.297464626778,-7.49999999999997,24.4169604948039, 4015P 5357
+-189.731172299267,-7.49999999999997,24.4159835478226, 4015P 5358
+-190.598023114196,-7.49999999999997,3.13925814733116, 4015P 5359
+6.28310481408081,0.,0.,0.; 4015P 5360
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,21.4157277366876, 4017P 5361
+-190.598023114212,-7.49999999999997,21.4157277366876, 4017P 5362
+-190.598023114212,-11.6,1.5,1.91,0.,0.,0.; 4017P 5363
+126,6,2,0,0,0,0,-6.28310481408081,-6.28310481408081, 4019P 5364
+-6.28310481408081,-5.23515592516426,-5.23515592516426, 4019P 5365
+-4.18720703624771,-4.18720703624771,-3.13925814733116, 4019P 5366
+-3.13925814733116,-3.13925814733116,1.,0.865837508249069,1., 4019P 5367
+0.865837508248987,1.,0.865837508248997,1.,24.4159835478226, 4019P 5368
+-190.598023114196,-11.6,24.4169604948039,-189.731172299267, 4019P 5369
+-11.6,23.6664080685249,-189.297464626778,-11.6,22.915855642246, 4019P 5370
+-188.863756954289,-11.6,22.1653032159716,-189.297464626786, 4019P 5371
+-11.6,21.4147507896972,-189.731172299282,-11.6,21.4157277366876, 4019P 5372
+-190.598023114212,-11.6,-6.28310481408081,-3.13925814733116,0., 4019P 5373
+0.,0.; 4019P 5374
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,24.4159835478226, 4021P 5375
+-190.598023114196,-7.49999999999997,24.4159835478226, 4021P 5376
+-190.598023114196,-11.6,1.5,1.91,0.,0.,0.; 4021P 5377
+126,6,2,0,0,0,0,3.13925814734168,3.13925814734168, 4023P 5378
+3.13925814734168,4.18720703625123,4.18720703625123, 4023P 5379
+5.23515592516079,5.23515592516079,6.28310481407034, 4023P 5380
+6.28310481407034,6.28310481407034,1.,0.865837508250833,1., 4023P 5381
+0.865837508250854,1.,0.865837508250777,1.,24.4159835478226, 4023P 5382
+-190.598023114196,-7.49999999999997,24.4169604948039, 4023P 5383
+-191.464873929118,-7.49999999999997,23.666408068534, 4023P 5384
+-191.898581601608,-7.49999999999997,22.9158556422641, 4023P 5385
+-192.332289274099,-7.49999999999997,22.1653032159898, 4023P 5386
+-191.898581601616,-7.49999999999997,21.4147507897154, 4023P 5387
+-191.464873929134,-7.49999999999997,21.4157277366876, 4023P 5388
+-190.598023114212,-7.49999999999997,3.13925814734168, 4023P 5389
+6.28310481407034,0.,0.,0.; 4023P 5390
+126,6,2,0,0,0,0,-6.28310481407034,-6.28310481407034, 4025P 5391
+-6.28310481407034,-5.23515592516079,-5.23515592516079, 4025P 5392
+-4.18720703625123,-4.18720703625123,-3.13925814734168, 4025P 5393
+-3.13925814734168,-3.13925814734168,1.,0.865837508250777,1., 4025P 5394
+0.865837508250854,1.,0.865837508250833,1.,21.4157277366876, 4025P 5395
+-190.598023114212,-11.6,21.4147507897154,-191.464873929134, 4025P 5396
+-11.6,22.1653032159898,-191.898581601616,-11.6,22.9158556422641, 4025P 5397
+-192.332289274099,-11.6,23.666408068534,-191.898581601608,-11.6, 4025P 5398
+24.4169604948039,-191.464873929118,-11.6,24.4159835478226, 4025P 5399
+-190.598023114196,-11.6,-6.28310481407034,-3.13925814734168,0., 4025P 5400
+0.,0.; 4025P 5401
+126,6,2,0,0,0,0,3.13925814731996,3.13925814731996, 4027P 5402
+3.13925814731996,4.1872070362402,4.1872070362402, 4027P 5403
+5.23515592516045,5.23515592516045,6.28310481408069, 4027P 5404
+6.28310481408069,6.28310481408069,1.,0.865837508248116,1., 4027P 5405
+0.865837508248067,1.,0.865837508248112,1.,100.190183492478, 4027P 5406
+-172.121201750453,-7.49999999999994,100.189206545482, 4027P 5407
+-171.25435093552,-7.49999999999994,100.939758971759, 4027P 5408
+-170.82064326302,-7.49999999999994,101.690311398036, 4027P 5409
+-170.38693559052,-7.49999999999994,102.440863824317, 4027P 5410
+-170.820643263012,-7.49999999999994,103.191416250599, 4027P 5411
+-171.254350935504,-7.49999999999994,103.190439303613, 4027P 5412
+-172.121201750437,-7.49999999999994,3.13925814731996, 4027P 5413
+6.28310481408069,0.,0.,0.; 4027P 5414
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,100.190183492478, 4029P 5415
+-172.121201750453,-7.49999999999994,100.190183492478, 4029P 5416
+-172.121201750453,-11.5999999999999,1.5,1.91,0.,0.,0.; 4029P 5417
+126,6,2,0,0,0,0,-6.28310481408069,-6.28310481408069, 4031P 5418
+-6.28310481408069,-5.23515592516045,-5.23515592516045, 4031P 5419
+-4.1872070362402,-4.1872070362402,-3.13925814731996, 4031P 5420
+-3.13925814731996,-3.13925814731996,1.,0.865837508248112,1., 4031P 5421
+0.865837508248067,1.,0.865837508248116,1.,103.190439303613, 4031P 5422
+-172.121201750437,-11.5999999999999,103.191416250599, 4031P 5423
+-171.254350935504,-11.5999999999999,102.440863824317, 4031P 5424
+-170.820643263012,-11.5999999999999,101.690311398036, 4031P 5425
+-170.38693559052,-11.5999999999999,100.939758971759, 4031P 5426
+-170.82064326302,-11.5999999999999,100.189206545482, 4031P 5427
+-171.25435093552,-11.5999999999999,100.190183492478, 4031P 5428
+-172.121201750453,-11.5999999999999,-6.28310481408069, 4031P 5429
+-3.13925814731996,0.,0.,0.; 4031P 5430
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,103.190439303613, 4033P 5431
+-172.121201750437,-7.49999999999994,103.190439303613, 4033P 5432
+-172.121201750437,-11.5999999999999,1.5,1.91,0.,0.,0.; 4033P 5433
+126,6,2,0,0,0,0,3.13925814735297,3.13925814735297, 4035P 5434
+3.13925814735297,4.1872070362588,4.1872070362588, 4035P 5435
+5.23515592516463,5.23515592516463,6.28310481407046, 4035P 5436
+6.28310481407046,6.28310481407046,1.,0.865837508251611,1., 4035P 5437
+0.865837508251546,1.,0.865837508251607,1.,103.190439303613, 4035P 5438
+-172.121201750437,-7.49999999999994,103.191416250589, 4035P 5439
+-172.988052565356,-7.49999999999994,102.440863824322, 4035P 5440
+-173.421760237843,-7.49999999999994,101.690311398054, 4035P 5441
+-173.85546791033,-7.49999999999994,100.939758971782, 4035P 5442
+-173.421760237851,-7.49999999999994,100.18920654551, 4035P 5443
+-172.988052565371,-7.49999999999994,100.190183492478, 4035P 5444
+-172.121201750453,-7.49999999999994,3.13925814735297, 4035P 5445
+6.28310481407046,0.,0.,0.; 4035P 5446
+126,6,2,0,0,0,0,-6.28310481407046,-6.28310481407046, 4037P 5447
+-6.28310481407046,-5.23515592516463,-5.23515592516463, 4037P 5448
+-4.1872070362588,-4.1872070362588,-3.13925814735297, 4037P 5449
+-3.13925814735297,-3.13925814735297,1.,0.865837508251607,1., 4037P 5450
+0.865837508251546,1.,0.865837508251611,1.,100.190183492478, 4037P 5451
+-172.121201750453,-11.5999999999999,100.18920654551, 4037P 5452
+-172.988052565371,-11.5999999999999,100.939758971782, 4037P 5453
+-173.421760237851,-11.5999999999999,101.690311398054, 4037P 5454
+-173.85546791033,-11.5999999999999,102.440863824322, 4037P 5455
+-173.421760237843,-11.5999999999999,103.191416250589, 4037P 5456
+-172.988052565356,-11.5999999999999,103.190439303613, 4037P 5457
+-172.121201750437,-11.5999999999999,-6.28310481407046, 4037P 5458
+-3.13925814735297,0.,0.,0.; 4037P 5459
+126,1,1,0,0,1,0,-2.57991060542639,-2.57991060542639, 4039P 5460
+-1.17773192390871,-1.17773192390871,1.,1.,105.613764146653, 4039P 5461
+-164.547507575232,-7.49999999999995,91.5919773314763, 4039P 5462
+-164.547507575232,-7.49999999999995,-2.57991060542639, 4039P 5463
+-1.17773192390871,0.,0.,0.; 4039P 5464
+126,1,1,0,0,1,0,0.8,0.8,1.21,1.21,1.,1.,105.613764146653, 4041P 5465
+-164.547507575232,-7.49999999999993,105.613764146653, 4041P 5466
+-164.547507575232,-11.5999999999999,0.8,1.21,0.,0.,0.; 4041P 5467
+126,1,1,0,0,1,0,1.17773192390871,1.17773192390871, 4043P 5468
+2.57991060542639,2.57991060542639,1.,1.,91.5919773314763, 4043P 5469
+-164.547507575232,-11.6,105.613764146653,-164.547507575232, 4043P 5470
+-11.5999999999999,1.17773192390871,2.57991060542639,0.,0.,0.; 4043P 5471
+126,1,1,0,0,1,0,0.45,0.45,0.86,0.86,1.,1.,91.5919773314763, 4045P 5472
+-164.547507575232,-7.49999999999994,91.5919773314763, 4045P 5473
+-164.547507575232,-11.5999999999999,0.45,0.86,0.,0.,0.; 4045P 5474
+126,1,1,0,0,1,0,-0.2,-0.2,0.2,0.2,1.,1.,105.613764146653, 4047P 5475
+-163.047507575232,5.50000000000006,105.613764146653, 4047P 5476
+-163.047507575232,1.50000000000006,-0.2,0.2,0.,0.,0.; 4047P 5477
+126,1,1,0,0,1,0,0.0749999999999993,0.0749999999999993, 4049P 5478
+0.724999999999998,0.724999999999998,1.,1.,105.613764146653, 4049P 5479
+-163.047507575232,1.50000000000007,105.613764146653, 4049P 5480
+-156.547507575232,1.50000000000007,0.0749999999999993, 4049P 5481
+0.724999999999998,0.,0.,0.; 4049P 5482
+126,1,1,0,0,1,0,-1.51,-1.51,-0.2,-0.2,1.,1.,105.613764146653, 4051P 5483
+-156.547507575232,-11.5999999999999,105.613764146653, 4051P 5484
+-156.547507575232,1.50000000000006,-1.51,-0.2,0.,0.,0.; 4051P 5485
+126,1,1,0,0,1,0,2.10504270777188,2.10504270777188, 4053P 5486
+2.90504270777187,2.90504270777187,1.,1.,105.613764146653, 4053P 5487
+-164.547507575232,-11.5999999999999,105.613764146653, 4053P 5488
+-156.547507575232,-11.5999999999999,2.10504270777188, 4053P 5489
+2.90504270777187,0.,0.,0.; 4053P 5490
+126,1,1,0,0,1,0,-7.99046868143113,-7.99046868143113, 4055P 5491
+-0.229270143011589,-0.229270143011589,1.,1.,117.599000752838, 4055P 5492
+-167.842369071796,-7.49999999999994,117.59899817983, 4055P 5493
+-245.454354455992,-7.49999999999994,-7.99046868143113, 4055P 5494
+-0.229270143011589,0.,0.,0.; 4055P 5495
+126,2,2,0,0,0,0,-3.14159259057679,-3.14159259057679, 4057P 5496
+-3.14159259057679,-1.98287834194696,-1.98287834194696, 4057P 5497
+-1.98287834194696,0.999999677363267,0.83681463606139,1., 4057P 5498
+119.099000828848,-165.549667575233,-7.49999999999994, 4057P 5499
+119.099000828847,-167.18670588825,-7.49999999999994, 4057P 5500
+117.599000752838,-167.842369071796,-7.49999999999994, 4057P 5501
+-3.14159259057679,-1.98287834194696,0.,0.,0.; 4057P 5502
+126,4,2,0,0,0,0,0.412082048305129,0.412082048305129, 4059P 5503
+0.412082048305129,1.77683680972467,1.77683680972467, 4059P 5504
+3.14159157114422,3.14159157114422,3.14159157114422,1., 4059P 5505
+0.776075642357578,1.,0.776075642357596,1.,114.304139365509, 4059P 5506
+-164.547507575232,-7.49999999999994,115.118495569018, 4059P 5507
+-162.684456106938,-7.49999999999994,117.108747098487, 4059P 5508
+-163.100431646069,-7.49999999999994,119.098998627955, 4059P 5509
+-163.516407185201,-7.49999999999994,119.099000828846, 4059P 5510
+-165.54966486678,-7.49999999999994,0.412082048305129, 4059P 5511
+3.14159157114422,0.,0.,0.; 4059P 5512
+126,1,1,0,0,1,0,-4.21636997194452,-4.21636997194452, 4061P 5513
+-2.50048634973718,-2.50048634973718,1.,1.,74.4331411094029, 4061P 5514
+-164.547507575232,-7.49999999999995,91.5919773314763, 4061P 5515
+-164.547507575232,-7.49999999999994,-4.21636997194452, 4061P 5516
+-2.50048634973718,0.,0.,0.; 4061P 5517
+126,1,1,0,0,1,0,-2.45504270777187,-2.45504270777187, 4063P 5518
+-1.75504270777187,-1.75504270777187,1.,1.,74.4331411094029, 4063P 5519
+-164.547507575232,-7.49999999999996,74.4331411094029, 4063P 5520
+-171.547507575232,-7.49999999999996,-2.45504270777187, 4063P 5521
+-1.75504270777187,0.,0.,0.; 4063P 5522
+126,1,1,0,0,1,0,-1.67087945356388,-1.67087945356388, 4065P 5523
+0.329120546436124,0.329120546436124,1.,1.,74.4331411094029, 4065P 5524
+-171.547507575232,-7.49999999999995,54.4331411094029, 4065P 5525
+-171.547507575231,-7.49999999999996,-1.67087945356388, 4065P 5526
+0.329120546436124,0.,0.,0.; 4065P 5527
+126,1,1,0,0,1,0,1.40504270777187,1.40504270777187, 4067P 5528
+2.10504270777187,2.10504270777187,1.,1.,54.4331411094029, 4067P 5529
+-171.547507575231,-7.49999999999996,54.4331411094029, 4067P 5530
+-164.547507575232,-7.49999999999996,1.40504270777187, 4067P 5531
+2.10504270777187,0.,0.,0.; 4067P 5532
+126,1,1,0,0,1,0,-7.61515214233563,-7.61515214233563, 4069P 5533
+-6.21636997194452,-6.21636997194452,1.,1.,40.4453194054918, 4069P 5534
+-164.547507575232,-7.49999999999996,54.4331411094029, 4069P 5535
+-164.547507575232,-7.49999999999995,-7.61515214233563, 4069P 5536
+-6.21636997194452,0.,0.,0.; 4069P 5537
+126,1,1,0,0,1,0,1.12851163163168,1.12851163163168, 4071P 5538
+2.82867520720327,2.82867520720327,1.,1.,40.4453194054917, 4071P 5539
+-164.547507575232,-7.49999999999996,23.4436836497758, 4071P 5540
+-164.547507575232,-7.49999999999996,1.12851163163168, 4071P 5541
+2.82867520720327,0.,0.,0.; 4071P 5542
+126,4,2,0,0,0,0,-6.25390749790614,-6.25390749790614, 4073P 5543
+-6.25390749790614,-4.9037910999005,-4.9037910999005, 4073P 5544
+-3.55367470189486,-3.55367470189486,-3.55367470189486,1., 4073P 5545
+0.780670581409548,1.,0.780670581409585,1.,2.93314110940287, 4073P 5546
+-165.476420277504,-7.49999999999997,2.99177706791294, 4073P 5547
+-163.474248497833,-7.49999999999997,4.95822887324418, 4073P 5548
+-163.093200852189,-7.49999999999997,6.92468067857541, 4073P 5549
+-162.712153206546,-7.49999999999997,7.72693023593538, 4073P 5550
+-164.547507575232,-7.49999999999997,-6.25390749790614, 4073P 5551
+-3.55367470189486,0.,0.,0.; 4073P 5552
+126,1,1,0,0,1,0,2.18487010842909,2.18487010842909, 4075P 5553
+2.19951956797476,2.19951956797476,1.,1.,2.93314110940288, 4075P 5554
+-165.622914872961,-7.49999999999997,2.93314110940288, 4075P 5555
+-165.476420277504,-7.49999999999997,2.18487010842909, 4075P 5556
+2.19951956797476,0.,0.,0.; 4075P 5557
+126,1,1,0,0,1,0,-2.19683051976291,-2.19683051976291, 4077P 5558
+-0.233951809861228,-0.233951809861228,1.,1.,4.43314110940287, 4077P 5559
+-187.471624566822,-7.49999999999997,4.43314110940286, 4077P 5560
+-167.842837467805,-7.49999999999997,-2.19683051976291, 4077P 5561
+-0.233951809861228,0.,0.,0.; 4077P 5562
+126,6,2,0,0,0,0,-9.01269591246431,-9.01269591246431, 4079P 5563
+-9.01269591246431,-7.71661521165286,-7.71661521165286, 4079P 5564
+-6.42053451084141,-6.42053451084141,-5.12445381002996, 4079P 5565
+-5.12445381002996,-5.12445381002996,1.,0.797268222513898,1., 4079P 5566
+0.797268222513902,1.,0.797268222513904,1.,7.72696471074416, 4079P 5567
+-248.749215886107,-7.49999999999997,6.96821249566285, 4079P 5568
+-250.485058779287,-7.49999999999997,5.09163041069214, 4079P 5569
+-250.22564568775,-7.49999999999997,3.21504832572143, 4079P 5570
+-249.966232596213,-7.49999999999997,2.95566754645106, 4079P 5571
+-248.089646044774,-7.49999999999997,2.69628676718068, 4079P 5572
+-246.213059493336,-7.49999999999997,4.43214272479953, 4079P 5573
+-245.454337167255,-7.49999999999997,-9.01269591246431, 4079P 5574
+-5.12445381002996,0.,0.,0.; 4079P 5575
+126,6,2,0,0,0,0,-4.30030689892742,-4.30030689892742, 4081P 5576
+-4.30030689892742,-3.00423194871996,-3.00423194871996, 4081P 5577
+-1.7081569985125,-1.7081569985125,-0.412082048305046, 4081P 5578
+-0.412082048305046,-0.412082048305046,1.,0.797269958115279,1., 4081P 5579
+0.797269958115353,1.,0.797269958115315,1.,117.59899817983, 4081P 5580
+-245.454354455992,-7.49999999999994,119.334830676844, 4081P 5581
+-246.213102195359,-7.49999999999994,119.07542986441, 4081P 5582
+-248.089674551596,-7.49999999999994,118.816029051977, 4081P 5583
+-249.966246907834,-7.49999999999994,116.93945668714, 4081P 5584
+-250.225647658055,-7.49999999999994,115.062884322303, 4081P 5585
+-250.485048408276,-7.49999999999994,114.304136640482, 4081P 5586
+-248.749215886107,-7.49999999999994,-4.30030689892742, 4081P 5587
+-0.412082048305046,0.,0.,0.; 4081P 5588
+126,1,1,0,0,1,0,0.8,0.8,1.21,1.21,1.,1.,40.4453194054918, 4083P 5589
+-164.547507575232,-7.49999999999997,40.4453194054918, 4083P 5590
+-164.547507575232,-11.6,0.8,1.21,0.,0.,0.; 4083P 5591
+126,1,1,0,0,1,0,-2.82867520720327,-2.82867520720327, 4085P 5592
+-1.12851163163168,-1.12851163163168,1.,1.,23.4436836497758, 4085P 5593
+-164.547507575232,-11.6,40.4453194054917,-164.547507575232, 4085P 5594
+-11.6,-2.82867520720327,-1.12851163163168,0.,0.,0.; 4085P 5595
+126,1,1,0,0,1,0,0.45,0.45,0.86,0.86,1.,1.,23.4436836497758, 4087P 5596
+-164.547507575232,-7.49999999999996,23.4436836497758, 4087P 5597
+-164.547507575232,-11.6,0.45,0.86,0.,0.,0.; 4087P 5598
+126,1,1,0,0,1,0,-0.199999999999999,-0.199999999999999,1.1,1.1, 4089P 5599
+1.,1.,40.4453194054918,-164.547507575232,5.50000000000003, 4089P 5600
+40.4453194054918,-164.547507575232,-7.49999999999997, 4089P 5601
+-0.199999999999999,1.1,0.,0.,0.; 4089P 5602
+126,1,1,0,0,1,0,-2.25504270777188,-2.25504270777188, 4091P 5603
+-2.10504270777188,-2.10504270777188,1.,1.,40.4453194054918, 4091P 5604
+-163.047507575232,5.50000000000003,40.4453194054918, 4091P 5605
+-164.547507575232,5.50000000000003,-2.25504270777188, 4091P 5606
+-2.10504270777188,0.,0.,0.; 4091P 5607
+126,1,1,0,0,1,0,-0.199999999999999,-0.199999999999999, 4093P 5608
+0.200000000000001,0.200000000000001,1.,1.,40.4453194054918, 4093P 5609
+-163.047507575232,5.50000000000003,40.4453194054918, 4093P 5610
+-163.047507575232,1.50000000000003,-0.199999999999999, 4093P 5611
+0.200000000000001,0.,0.,0.; 4093P 5612
+126,1,1,0,0,1,0,0.0749999999999993,0.0749999999999993, 4095P 5613
+0.724999999999998,0.724999999999998,1.,1.,40.4453194054918, 4095P 5614
+-163.047507575232,1.50000000000003,40.4453194054918, 4095P 5615
+-156.547507575232,1.50000000000003,0.0749999999999993, 4095P 5616
+0.724999999999998,0.,0.,0.; 4095P 5617
+126,1,1,0,0,1,0,-1.51,-1.51,-0.2,-0.2,1.,1.,40.4453194054918, 4097P 5618
+-156.547507575232,-11.6,40.4453194054918,-156.547507575232, 4097P 5619
+1.50000000000004,-1.51,-0.2,0.,0.,0.; 4097P 5620
+126,1,1,0,0,1,0,2.10504270777188,2.10504270777188, 4099P 5621
+2.90504270777187,2.90504270777187,1.,1.,40.4453194054918, 4099P 5622
+-164.547507575232,-11.6,40.4453194054918,-156.547507575232, 4099P 5623
+-11.6,2.10504270777188,2.90504270777187,0.,0.,0.; 4099P 5624
+126,1,1,0,0,1,0,-2.6006363194306,-2.6006363194306, 4101P 5625
+-0.900472743859004,-0.900472743859004,1.,1.,40.4453194054918, 4101P 5626
+-156.547507575232,1.50000000000004,23.4436836497758, 4101P 5627
+-156.547507575232,1.50000000000003,-2.6006363194306, 4101P 5628
+-0.900472743859004,0.,0.,0.; 4101P 5629
+126,1,1,0,0,1,0,0.900472743859004,0.900472743859004, 4103P 5630
+2.6006363194306,2.6006363194306,1.,1.,23.4436836497758, 4103P 5631
+-163.047507575232,1.50000000000003,40.4453194054918, 4103P 5632
+-163.047507575232,1.50000000000004,0.900472743859004, 4103P 5633
+2.6006363194306,0.,0.,0.; 4103P 5634
+126,1,1,0,0,1,0,0.0749999999999957,0.0749999999999957, 4105P 5635
+0.724999999999998,0.724999999999998,1.,1.,23.4436836497758, 4105P 5636
+-163.047507575232,1.50000000000003,23.4436836497758, 4105P 5637
+-156.547507575232,1.50000000000003,0.0749999999999957, 4105P 5638
+0.724999999999998,0.,0.,0.; 4105P 5639
+126,1,1,0,0,1,0,-6.31006610946171,-6.31006610946171, 4107P 5640
+-4.90788742794403,-4.90788742794403,1.,1.,105.613764146653, 4107P 5641
+-156.547507575232,1.50000000000004,91.5919773314763, 4107P 5642
+-156.547507575232,1.50000000000004,-6.31006610946171, 4107P 5643
+-4.90788742794403,0.,0.,0.; 4107P 5644
+126,1,1,0,0,1,0,4.90788742794403,4.90788742794403, 4109P 5645
+6.31006610946171,6.31006610946171,1.,1.,91.5919773314763, 4109P 5646
+-163.047507575232,1.50000000000004,105.613764146653, 4109P 5647
+-163.047507575232,1.50000000000004,4.90788742794403, 4109P 5648
+6.31006610946171,0.,0.,0.; 4109P 5649
+126,1,1,0,0,1,0,0.0750000000000028,0.0750000000000028, 4111P 5650
+0.724999999999998,0.724999999999998,1.,1.,91.5919773314763, 4111P 5651
+-163.047507575232,1.50000000000007,91.5919773314763, 4111P 5652
+-156.547507575232,1.50000000000007,0.0750000000000028, 4111P 5653
+0.724999999999998,0.,0.,0.; 4111P 5654
+126,1,1,0,0,1,0,0.722042900013125,0.722042900013125, 4113P 5655
+5.83670869261158,5.83670869261158,1.,1.,40.4453194054918, 4113P 5656
+-163.047507575232,5.50000000000003,91.5919773314763, 4113P 5657
+-163.047507575232,5.50000000000004,0.722042900013125, 4113P 5658
+5.83670869261158,0.,0.,0.; 4113P 5659
+126,1,1,0,0,1,0,0.15,0.15,0.549999999999998,0.549999999999998, 4115P 5660
+1.,1.,91.5919773314763,-163.047507575232,1.50000000000007, 4115P 5661
+91.5919773314763,-163.047507575232,5.50000000000004,0.15, 4115P 5662
+0.549999999999998,0.,0.,0.; 4115P 5663
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,116.596840828848, 4117P 5664
+-163.047507575232,7.50000000000006,116.596840828848, 4117P 5665
+-163.047507575232,5.50000000000006,0.,0.2,0.,0.,0.; 4117P 5666
+126,1,1,0,0,1,0,-2.77906616327648,-2.77906616327648, 4119P 5667
+8.33719504234876,8.33719504234876,1.,1.,5.43422877259571, 4119P 5668
+-163.047507575232,7.50000000000002,116.596840828848, 4119P 5669
+-163.047507575232,7.50000000000005,-2.77906616327648, 4119P 5670
+8.33719504234876,0.,0.,0.; 4119P 5671
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,5.43422877259573, 4121P 5672
+-163.047507575232,7.50000000000003,5.43422877259573, 4121P 5673
+-163.047507575232,5.50000000000003,0.,0.2,0.,0.,0.; 4121P 5674
+126,1,1,0,0,1,0,0.9,0.9,1.3,1.3,1.,1.,23.4436836497758, 4123P 5675
+-163.047507575232,1.50000000000003,23.4436836497758, 4123P 5676
+-163.047507575232,5.50000000000002,0.9,1.3,0.,0.,0.; 4123P 5677
+126,1,1,0,0,1,0,-2.83004270777188,-2.83004270777188, 4125P 5678
+-2.03004270777188,-2.03004270777188,1.,1.,23.4436836497758, 4125P 5679
+-156.547507575232,-11.6,23.4436836497758,-164.547507575232, 4125P 5680
+-11.6,-2.83004270777188,-2.03004270777188,0.,0.,0.; 4125P 5681
+126,1,1,0,0,1,0,-0.15,-0.15,1.16,1.16,1.,1.,23.4436836497758, 4127P 5682
+-156.547507575232,1.50000000000003,23.4436836497758, 4127P 5683
+-156.547507575232,-11.6,-0.15,1.16,0.,0.,0.; 4127P 5684
+126,1,1,0,0,1,0,-2.90504270777187,-2.90504270777187, 4129P 5685
+-2.10504270777188,-2.10504270777188,1.,1.,91.5919773314763, 4129P 5686
+-156.547507575232,-11.5999999999999,91.5919773314763, 4129P 5687
+-164.547507575232,-11.5999999999999,-2.90504270777187, 4129P 5688
+-2.10504270777188,0.,0.,0.; 4129P 5689
+126,1,1,0,0,1,0,-0.15,-0.15,1.16,1.16,1.,1.,91.5919773314763, 4131P 5690
+-156.547507575232,1.50000000000006,91.5919773314763, 4131P 5691
+-156.547507575232,-11.5999999999999,-0.15,1.16,0.,0.,0.; 4131P 5692
+126,1,1,0,0,1,0,2.10504270777188,2.10504270777188, 4133P 5693
+2.25504270777187,2.25504270777187,1.,1.,91.5919773314763, 4133P 5694
+-164.547507575232,5.50000000000004,91.5919773314763, 4133P 5695
+-163.047507575232,5.50000000000004,2.10504270777188, 4133P 5696
+2.25504270777187,0.,0.,0.; 4133P 5697
+126,1,1,0,0,1,0,-0.75,-0.75,0.549999999999998,0.549999999999998, 4135P 5698
+1.,1.,91.5919773314763,-164.547507575232,-7.49999999999994, 4135P 5699
+91.5919773314763,-164.547507575232,5.50000000000004,-0.75, 4135P 5700
+0.549999999999998,0.,0.,0.; 4135P 5701
+126,1,1,0,0,1,0,-0.75,-0.75,0.549999999999999,0.549999999999999, 4137P 5702
+1.,1.,54.4331411094029,-164.547507575232,-7.49999999999996, 4137P 5703
+54.4331411094029,-164.547507575232,5.50000000000004,-0.75, 4137P 5704
+0.549999999999999,0.,0.,0.; 4137P 5705
+126,1,1,0,0,1,0,-2.12082507040424,-2.12082507040424, 4139P 5706
+-0.722042900013125,-0.722042900013125,1.,1.,54.4331411094029, 4139P 5707
+-164.547507575232,5.50000000000004,40.4453194054918, 4139P 5708
+-164.547507575232,5.50000000000003,-2.12082507040424, 4139P 5709
+-0.722042900013125,0.,0.,0.; 4139P 5710
+126,1,1,0,0,1,0,-2.10504270777183,-2.10504270777183, 4141P 5711
+-1.40504270777192,-1.40504270777192,1.,1.,54.4331411094029, 4141P 5712
+-164.547507575232,5.50000000000003,54.4331411094029, 4141P 5713
+-171.547507575231,5.50000000000003,-2.10504270777183, 4141P 5714
+-1.40504270777192,0.,0.,0.; 4141P 5715
+126,1,1,0,0,1,0,-0.329120546436126,-0.329120546436126, 4143P 5716
+1.67087945356387,1.67087945356387,1.,1.,54.4331411094029, 4143P 5717
+-171.547507575231,5.50000000000003,74.4331411094029, 4143P 5718
+-171.547507575232,5.50000000000004,-0.329120546436126, 4143P 5719
+1.67087945356387,0.,0.,0.; 4143P 5720
+126,1,1,0,0,1,0,1.75504270777192,1.75504270777192, 4145P 5721
+2.45504270777183,2.45504270777183,1.,1.,74.4331411094029, 4145P 5722
+-171.547507575232,5.50000000000004,74.4331411094029, 4145P 5723
+-164.547507575232,5.50000000000004,1.75504270777192, 4145P 5724
+2.45504270777183,0.,0.,0.; 4145P 5725
+126,1,1,0,0,1,0,-5.83670869261158,-5.83670869261158, 4147P 5726
+-4.12082507040424,-4.12082507040424,1.,1.,91.5919773314763, 4147P 5727
+-164.547507575232,5.50000000000004,74.4331411094029, 4147P 5728
+-164.547507575232,5.50000000000004,-5.83670869261158, 4147P 5729
+-4.12082507040424,0.,0.,0.; 4147P 5730
+126,1,1,0,0,1,0,-0.55,-0.55,0.75,0.75,1.,1.,74.4331411094029, 4149P 5731
+-164.547507575232,5.50000000000004,74.4331411094029, 4149P 5732
+-164.547507575232,-7.49999999999996,-0.55,0.75,0.,0.,0.; 4149P 5733
+126,1,1,0,0,1,0,0.,0.,1.3,1.3,1.,1.,74.4331411094029, 4151P 5734
+-171.547507575232,-7.49999999999996,74.4331411094029, 4151P 5735
+-171.547507575232,5.50000000000004,0.,1.3,0.,0.,0.; 4151P 5736
+126,1,1,0,0,1,0,0.,0.,1.3,1.3,1.,1.,54.4331411094029, 4153P 5737
+-171.547507575231,-7.49999999999996,54.4331411094029, 4153P 5738
+-171.547507575231,5.50000000000004,0.,1.3,0.,0.,0.; 4153P 5739
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,117.59899817983, 4155P 5740
+-245.454354455992,-7.49999999999994,117.59899817983, 4155P 5741
+-245.454354455992,5.50000000000006,-1.5,-0.2,0.,0.,0.; 4155P 5742
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,117.599000752838, 4157P 5743
+-167.842369071796,5.50000000000006,117.599000752838, 4157P 5744
+-167.842369071796,-7.49999999999994,0.2,1.5,0.,0.,0.; 4157P 5745
+126,1,1,0,0,1,0,0.958837288670924,0.958837288670924, 4159P 5746
+3.15835685664568,3.15835685664568,1.,1.,2.9331411094029, 4159P 5747
+-187.471615957251,7.50000000000003,2.93314110940288, 4159P 5748
+-165.476420277504,7.50000000000003,0.958837288670924, 4159P 5749
+3.15835685664568,0.,0.,0.; 4159P 5750
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,2.9331411094029, 4161P 5751
+-187.471615957251,7.50000000000003,2.9331411094029, 4161P 5752
+-187.471615957251,5.50000000000003,0.,0.2,0.,0.,0.; 4161P 5753
+126,1,1,0,0,1,0,0.,0.,1.5,1.5,1.,1.,2.93314110940287, 4163P 5754
+-165.476420277504,7.50000000000003,2.93314110940287, 4163P 5755
+-165.476420277504,-7.49999999999997,0.,1.5,0.,0.,0.; 4163P 5756
+126,1,1,0,0,1,0,-2.054982559236,-2.054982559236, 4165P 5757
+3.97255712615894,3.97255712615894,1.,1.,2.93210324777536, 4165P 5758
+-247.747012802266,7.50000000000003,2.9331411094029, 4165P 5759
+-187.471615957251,7.50000000000003,-2.054982559236, 4165P 5760
+3.97255712615894,0.,0.,0.; 4165P 5761
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,2.93210324777537, 4167P 5762
+-247.747012802266,7.50000000000003,2.93210324777537, 4167P 5763
+-247.747012802266,5.50000000000003,0.,0.2,0.,0.,0.; 4167P 5764
+126,4,2,0,0,0,0,-1.57081354545468,-1.57081354545468, 4169P 5765
+-1.57081354545468,-0.785406772727342,-0.785406772727342,0.,0., 4169P 5766
+0.,1.,0.923877885178856,1.,0.923877885178848,1., 4169P 5767
+5.43426324740444,-250.249215886107,7.50000000000003, 4169P 5768
+4.39782202118939,-250.249215886107,7.50000000000003, 4169P 5769
+3.66495371141794,-249.516334957217,7.50000000000003, 4169P 5770
+2.93208540164649,-248.783454028327,7.50000000000003, 4169P 5771
+2.93210324777536,-247.747012802266,7.50000000000003, 4169P 5772
+-1.57081354545468,0.,0.,0.,0.; 4169P 5773
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,5.43426324740444, 4171P 5774
+-250.249215886107,7.50000000000003,5.43426324740444, 4171P 5775
+-250.249215886107,5.50000000000003,0.,0.2,0.,0.,0.; 4171P 5776
+126,1,1,0,0,1,0,-2.77906430328482,-2.77906430328482, 4173P 5777
+8.33719318235691,8.33719318235691,1.,1.,116.596838103822, 4173P 5778
+-250.249215886107,7.50000000000007,5.43426324740444, 4173P 5779
+-250.249215886107,7.50000000000004,-2.77906430328482, 4173P 5780
+8.33719318235691,0.,0.,0.; 4173P 5781
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,116.596838103822, 4175P 5782
+-250.249215886107,7.50000000000006,116.596838103822, 4175P 5783
+-250.249215886107,5.50000000000006,0.,0.2,0.,0.,0.; 4175P 5784
+126,2,2,0,0,0,0,-1.5707963267949,-1.5707963267949, 4177P 5785
+-1.5707963267949,0.,0.,0.,1.,0.707106781186533,1., 4177P 5786
+119.098998103822,-247.747055886107,7.50000000000006, 4177P 5787
+119.098998103822,-250.249215886107,7.50000000000006, 4177P 5788
+116.596838103822,-250.249215886107,7.50000000000006, 4177P 5789
+-1.5707963267949,0.,0.,0.,0.; 4177P 5790
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,119.098998103822, 4179P 5791
+-247.747055886107,7.50000000000006,119.098998103822, 4179P 5792
+-247.747055886107,5.50000000000006,0.,0.2,0.,0.,0.; 4179P 5793
+126,1,1,0,0,1,0,-2.05493493947419,-2.05493493947419, 4181P 5794
+6.16480416245852,6.16480416245852,1.,1.,119.099000828846, 4181P 5795
+-165.54966486678,7.50000000000006,119.098998103822, 4181P 5796
+-247.747055886107,7.50000000000006,-2.05493493947419, 4181P 5797
+6.16480416245852,0.,0.,0.; 4181P 5798
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,119.099000828846, 4183P 5799
+-165.54966486678,7.50000000000006,119.099000828846, 4183P 5800
+-165.54966486678,5.50000000000006,0.,0.2,0.,0.,0.; 4183P 5801
+126,2,2,0,0,0,0,-1.57079524434933,-1.57079524434933, 4185P 5802
+-1.57079524434933,0.,0.,0.,1.,0.707107163888751,1., 4185P 5803
+116.596840828848,-163.047507575233,7.50000000000006, 4185P 5804
+119.098998120397,-163.047507575233,7.50000000000006, 4185P 5805
+119.099000828846,-165.54966486678,7.50000000000006, 4185P 5806
+-1.57079524434933,0.,0.,0.,0.; 4185P 5807
+126,2,2,0,0,0,0,-1.54151851752146,-1.54151851752146, 4187P 5808
+-1.54151851752146,0.,0.,0.,1.,0.71738191595478,1., 4187P 5809
+2.93314110940286,-165.476420277504,7.50000000000003, 4187P 5810
+3.00427467840082,-163.047507575232,7.50000000000003, 4187P 5811
+5.4342287725957,-163.047507575232,7.50000000000003, 4187P 5812
+-1.54151851752146,0.,0.,0.,0.; 4187P 5813
+126,2,2,0,0,0,0,0.,0.,0.,1.55536115200856,1.55536115200856, 4189P 5814
+1.55536115200856,1.,0.712542827450542,1.,5.4342287725957, 4189P 5815
+-156.547507575232,7.50000000000003,-3.43004274316727, 4189P 5816
+-156.547507575232,7.50000000000002,-3.56685889059713, 4189P 5817
+-165.410723179457,7.50000000000002,0.,1.55536115200856,0.,0.,0.; 4189P 5818
+126,1,1,0,0,1,0,7.15168754189355D-31,7.15168754189355D-31, 4191P 5819
+2.20608325126057,2.20608325126057,1.,1.,-3.56685889059712, 4191P 5820
+-165.410723179457,7.50000000000003,-3.5668588905971, 4191P 5821
+-187.471555692063,7.50000000000003,7.15168754189355D-31, 4191P 5822
+2.20608325126057,0.,0.,0.; 4191P 5823
+126,1,1,0,0,1,0,0.,0.,6.02753451978495,6.02753451978495,1.,1., 4193P 5824
+-3.56685889059712,-187.471555692063,7.50000000000003, 4193P 5825
+-3.56789675126108,-247.746900880977,7.50000000000003,0., 4193P 5826
+6.02753451978495,0.,0.,0.; 4193P 5827
+126,4,2,0,0,0,0,0.,0.,0.,0.785406772727353,0.785406772727353, 4195P 5828
+1.57081354545471,1.57081354545471,1.57081354545471,1., 4195P 5829
+0.92387788517878,1.,0.92387788517879,1.,-3.56789675126107, 4195P 5830
+-247.746900880977,7.50000000000002,-3.56796095727013, 4195P 5831
+-251.475763043109,7.50000000000002,-0.931279936275423, 4195P 5832
+-254.112489464608,7.50000000000003,1.70540108471928, 4195P 5833
+-256.749215886107,7.50000000000003,5.43426324740445, 4195P 5834
+-256.749215886107,7.50000000000003,0.,1.57081354545471,0.,0.,0.; 4195P 5835
+126,1,1,0,0,1,0,0.,0.,11.1162574856417,11.1162574856417,1.,1., 4197P 5836
+5.43426324740444,-256.749215886107,7.50000000000003, 4197P 5837
+116.596838103822,-256.749215886107,7.50000000000005,0., 4197P 5838
+11.1162574856417,0.,0.,0.; 4197P 5839
+126,2,2,0,0,0,0,0.,0.,0.,1.57079632679491,1.57079632679491, 4199P 5840
+1.57079632679491,1.,0.707106781186541,1.,116.596838103822, 4199P 5841
+-256.749215886107,7.50000000000006,125.598998103822, 4199P 5842
+-256.749215886107,7.50000000000006,125.598998103822, 4199P 5843
+-247.747055886107,7.50000000000006,0.,1.57079632679491,0.,0.,0.; 4199P 5844
+126,1,1,0,0,1,0,0.,0.,8.21973908038377,8.21973908038377,1.,1., 4201P 5845
+125.598998103822,-247.747055886107,7.50000000000006, 4201P 5846
+125.599000828846,-165.54966508227,7.50000000000006,0., 4201P 5847
+8.21973908038377,0.,0.,0.; 4201P 5848
+126,2,2,0,0,0,0,0.,0.,0.,1.57079604986551,1.57079604986551, 4203P 5849
+1.57079604986551,1.,0.707106879095863,1.,125.599000828846, 4203P 5850
+-165.54966508227,7.50000000000006,125.598998335884, 4203P 5851
+-156.547507575234,7.50000000000006,116.596840828848, 4203P 5852
+-156.547507575234,7.50000000000006,0.,1.57079604986551,0.,0.,0.; 4203P 5853
+126,1,1,0,0,1,0,0.,0.,11.1162612056252,11.1162612056252,1.,1., 4205P 5854
+116.596840828848,-156.547507575232,7.50000000000006, 4205P 5855
+5.43422877259571,-156.547507575232,7.50000000000003,0., 4205P 5856
+11.1162612056252,0.,0.,0.; 4205P 5857
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,-3.56685889059712, 4207P 5858
+-165.410723179457,7.50000000000003,-3.56685889059711, 4207P 5859
+-165.410723179457,-11.6,0.,1.91,0.,0.,0.; 4207P 5860
+126,1,1,0,0,1,0,-2.20608325126057,-2.20608325126057,0.,0.,1.,1., 4209P 5861
+-3.5668588905971,-187.471555692063,-11.6,-3.56685889059712, 4209P 5862
+-165.410723179457,-11.6,-2.20608325126057,0.,0.,0.,0.; 4209P 5863
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,-3.56685889059712, 4211P 5864
+-187.471555692063,7.50000000000003,-3.56685889059711, 4211P 5865
+-187.471555692063,-11.6,0.,1.91,0.,0.,0.; 4211P 5866
+126,1,1,0,0,1,0,-6.02753451978495,-6.02753451978495,0.,0.,1.,1., 4213P 5867
+-3.56789675126108,-247.746900880977,-11.6,-3.56685889059712, 4213P 5868
+-187.471555692063,-11.6,-6.02753451978495,0.,0.,0.,0.; 4213P 5869
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,-3.56789675126109, 4215P 5870
+-247.746900880977,7.50000000000003,-3.56789675126108, 4215P 5871
+-247.746900880977,-11.6,0.,1.91,0.,0.,0.; 4215P 5872
+126,4,2,0,0,0,0,-1.57081354545471,-1.57081354545471, 4217P 5873
+-1.57081354545471,-0.785406772727353,-0.785406772727353,0.,0., 4217P 5874
+0.,1.,0.92387788517879,1.,0.92387788517878,1.,5.43426324740445, 4217P 5875
+-256.749215886107,-11.6,1.70540108471928,-256.749215886107, 4217P 5876
+-11.6,-0.931279936275423,-254.112489464608,-11.6, 4217P 5877
+-3.56796095727013,-251.475763043109,-11.6,-3.56789675126107, 4217P 5878
+-247.746900880977,-11.6,-1.57081354545471,0.,0.,0.,0.; 4217P 5879
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,5.43426324740444, 4219P 5880
+-256.749215886107,7.50000000000003,5.43426324740445, 4219P 5881
+-256.749215886107,-11.6,0.,1.91,0.,0.,0.; 4219P 5882
+126,1,1,0,0,1,0,-11.1162574856417,-11.1162574856417,0.,0.,1.,1., 4221P 5883
+116.596838103822,-256.749215886107,-11.5999999999999, 4221P 5884
+5.43426324740444,-256.749215886107,-11.6,-11.1162574856417,0., 4221P 5885
+0.,0.,0.; 4221P 5886
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,116.596838103822, 4223P 5887
+-256.749215886107,7.50000000000006,116.596838103822, 4223P 5888
+-256.749215886107,-11.5999999999999,0.,1.91,0.,0.,0.; 4223P 5889
+126,2,2,0,0,0,0,-1.57079632679491,-1.57079632679491, 4225P 5890
+-1.57079632679491,0.,0.,0.,1.,0.707106781186541,1., 4225P 5891
+125.598998103822,-247.747055886107,-11.5999999999999, 4225P 5892
+125.598998103822,-256.749215886107,-11.5999999999999, 4225P 5893
+116.596838103822,-256.749215886107,-11.5999999999999, 4225P 5894
+-1.57079632679491,0.,0.,0.,0.; 4225P 5895
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,125.598998103822, 4227P 5896
+-247.747055886107,7.50000000000006,125.598998103822, 4227P 5897
+-247.747055886107,-11.5999999999999,0.,1.91,0.,0.,0.; 4227P 5898
+126,1,1,0,0,1,0,-8.21973908038377,-8.21973908038377,0.,0.,1.,1., 4229P 5899
+125.599000828846,-165.54966508227,-11.5999999999999, 4229P 5900
+125.598998103822,-247.747055886107,-11.5999999999999, 4229P 5901
+-8.21973908038377,0.,0.,0.,0.; 4229P 5902
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,125.599000828846, 4231P 5903
+-165.54966508227,7.50000000000006,125.599000828846, 4231P 5904
+-165.54966508227,-11.5999999999999,0.,1.91,0.,0.,0.; 4231P 5905
+126,2,2,0,0,0,0,-1.57079604986551,-1.57079604986551, 4233P 5906
+-1.57079604986551,0.,0.,0.,1.,0.707106879095863,1., 4233P 5907
+116.596840828848,-156.547507575234,-11.5999999999999, 4233P 5908
+125.598998335884,-156.547507575234,-11.5999999999999, 4233P 5909
+125.599000828846,-165.54966508227,-11.5999999999999, 4233P 5910
+-1.57079604986551,0.,0.,0.,0.; 4233P 5911
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,116.596840828848, 4235P 5912
+-156.547507575232,7.50000000000006,116.596840828848, 4235P 5913
+-156.547507575232,-11.5999999999999,0.,1.91,0.,0.,0.; 4235P 5914
+126,1,1,0,0,1,0,-7.61515214233563,-7.61515214233563, 4237P 5915
+-2.50048634973717,-2.50048634973717,1.,1.,40.4453194054918, 4237P 5916
+-156.547507575232,-11.6,91.5919773314763,-156.547507575232, 4237P 5917
+-11.5999999999999,-7.61515214233563,-2.50048634973717,0.,0.,0.; 4237P 5918
+126,1,1,0,0,1,0,-11.1162612056252,-11.1162612056252, 4239P 5919
+-9.31531571790722,-9.31531571790722,1.,1.,5.43422877259571, 4239P 5920
+-156.547507575232,-11.6,23.4436836497758,-156.547507575232, 4239P 5921
+-11.6,-11.1162612056252,-9.31531571790722,0.,0.,0.; 4239P 5922
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,5.43422877259573, 4241P 5923
+-156.547507575232,7.50000000000003,5.43422877259574, 4241P 5924
+-156.547507575232,-11.6,0.,1.91,0.,0.,0.; 4241P 5925
+126,1,1,0,0,1,0,-1.09830766821949,-1.09830766821949,0.,0.,1.,1., 4243P 5926
+105.613764146653,-156.547507575232,-11.5999999999999, 4243P 5927
+116.596840828848,-156.547507575232,-11.5999999999999, 4243P 5928
+-1.09830766821949,0.,0.,0.,0.; 4243P 5929
+126,2,2,0,0,0,0,-1.55536115200856,-1.55536115200856, 4245P 5930
+-1.55536115200856,0.,0.,0.,1.,0.712542827450542,1., 4245P 5931
+-3.56685889059713,-165.410723179457,-11.6,-3.43004274316727, 4245P 5932
+-156.547507575232,-11.6,5.4342287725957,-156.547507575232,-11.6, 4245P 5933
+-1.55536115200856,0.,0.,0.,0.; 4245P 5934
+126,1,1,0,0,1,0,4.455,4.455,5.755,5.755,1.,1.,220.752682252201, 4247P 5935
+-164.547507575232,-7.5,220.752682252201,-164.547507575232,5.5, 4247P 5936
+4.455,5.755,0.,0.,0.; 4247P 5937
+126,1,1,0,0,1,0,-4.83608912419324,-4.83608912419324, 4249P 5938
+-4.12082507040424,-4.12082507040424,1.,1.,220.752682252201, 4249P 5939
+-164.547507575232,5.5,213.600041714311,-164.547507575232,5.5, 4249P 5940
+-4.83608912419324,-4.12082507040424,0.,0.,0.; 4249P 5941
+126,1,1,0,0,1,0,-0.55,-0.55,0.75,0.75,1.,1.,213.600041714311, 4251P 5942
+-164.547507575232,5.5,213.600041714311,-164.547507575232,-7.5, 4251P 5943
+-0.55,0.75,0.,0.,0.; 4251P 5944
+126,1,1,0,0,1,0,-4.21636997194452,-4.21636997194452, 4253P 5945
+-3.50110591815552,-3.50110591815552,1.,1.,213.600041714311, 4253P 5946
+-164.547507575232,-7.5,220.752682252201,-164.547507575232,-7.5, 4253P 5947
+-4.21636997194452,-3.50110591815552,0.,0.,0.; 4253P 5948
+126,1,1,0,0,1,0,2.03004270777188,2.03004270777188, 4255P 5949
+2.18004270777188,2.18004270777188,1.,1.,220.752682252201, 4255P 5950
+-164.547507575232,5.5,220.752682252201,-163.047507575232,5.5, 4255P 5951
+2.03004270777188,2.18004270777188,0.,0.,0.; 4255P 5952
+126,1,1,0,0,1,0,-0.277957099986875,-0.277957099986875, 4257P 5953
+4.83608912419324,4.83608912419324,1.,1.,169.612220010399, 4257P 5954
+-163.047507575232,5.5,220.752682252201,-163.047507575232,5.5, 4257P 5955
+-0.277957099986875,4.83608912419324,0.,0.,0.; 4257P 5956
+126,1,1,0,0,1,0,-2.25504270777188,-2.25504270777188, 4259P 5957
+-2.10504270777188,-2.10504270777188,1.,1.,169.612220010399, 4259P 5958
+-163.047507575232,5.5,169.612220010399,-164.547507575232,5.5, 4259P 5959
+-2.25504270777188,-2.10504270777188,0.,0.,0.; 4259P 5960
+126,1,1,0,0,1,0,-2.12082507040424,-2.12082507040424, 4261P 5961
+0.277957099986875,0.277957099986875,1.,1.,193.600041714311, 4261P 5962
+-164.547507575232,5.5,169.612220010399,-164.547507575232,5.5, 4261P 5963
+-2.12082507040424,0.277957099986875,0.,0.,0.; 4261P 5964
+126,1,1,0,0,1,0,-2.10504270777183,-2.10504270777183, 4263P 5965
+-1.40504270777192,-1.40504270777192,1.,1.,193.600041714311, 4263P 5966
+-164.547507575232,5.5,193.600041714311,-171.547507575231,5.5, 4263P 5967
+-2.10504270777183,-1.40504270777192,0.,0.,0.; 4263P 5968
+126,1,1,0,0,1,0,-0.329120546436126,-0.329120546436126, 4265P 5969
+1.67087945356387,1.67087945356387,1.,1.,193.600041714311, 4265P 5970
+-171.547507575231,5.5,213.600041714311,-171.547507575232,5.5, 4265P 5971
+-0.329120546436126,1.67087945356387,0.,0.,0.; 4265P 5972
+126,1,1,0,0,1,0,1.75504270777192,1.75504270777192, 4267P 5973
+2.45504270777183,2.45504270777183,1.,1.,213.600041714311, 4267P 5974
+-171.547507575232,5.5,213.600041714311,-164.547507575232,5.5, 4267P 5975
+1.75504270777192,2.45504270777183,0.,0.,0.; 4267P 5976
+126,1,1,0,0,1,0,3.90726785952569,3.90726785952569, 4269P 5977
+5.61006610946171,5.61006610946171,1.,1.,220.752682252201, 4269P 5978
+-163.047507575232,1.5,237.780664751561,-163.047507575232,1.5, 4269P 5979
+3.90726785952569,5.61006610946171,0.,0.,0.; 4269P 5980
+126,1,1,0,0,1,0,-0.2,-0.2,0.2,0.2,1.,1.,237.780664751561, 4271P 5981
+-163.047507575232,5.5,237.780664751561,-163.047507575232,1.5, 4271P 5982
+-0.2,0.2,0.,0.,0.; 4271P 5983
+126,1,1,0,0,1,0,6.53888737412926,6.53888737412926, 4273P 5984
+8.33719504234876,8.33719504234876,1.,1.,237.780664751561, 4273P 5985
+-163.047507575232,5.5,255.763741433756,-163.047507575232,5.5, 4273P 5986
+6.53888737412926,8.33719504234876,0.,0.,0.; 4273P 5987
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,255.763741433756, 4275P 5988
+-163.047507575232,7.5,255.763741433756,-163.047507575232,5.5,0., 4275P 5989
+0.2,0.,0.,0.; 4275P 5990
+126,1,1,0,0,1,0,-2.77906616327648,-2.77906616327648, 4277P 5991
+8.33719504234876,8.33719504234876,1.,1.,144.601129377503, 4277P 5992
+-163.047507575232,7.5,255.763741433756,-163.047507575232,7.5, 4277P 5993
+-2.77906616327648,8.33719504234876,0.,0.,0.; 4277P 5994
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,144.601129377503, 4279P 5995
+-163.047507575232,7.5,144.601129377503,-163.047507575232,5.5,0., 4279P 5996
+0.2,0.,0.,0.; 4279P 5997
+126,1,1,0,0,1,0,-2.77906616327648,-2.77906616327648, 4281P 5998
+-1.6807553499229,-1.6807553499229,1.,1.,144.601129377503, 4281P 5999
+-163.047507575232,5.5,155.584237511039,-163.047507575232,5.5, 4281P 6000
+-2.77906616327648,-1.6807553499229,0.,0.,0.; 4281P 6001
+126,1,1,0,0,1,0,0.,0.,0.4,0.4,1.,1.,155.584237511039, 4283P 6002
+-163.047507575232,1.5,155.584237511039,-163.047507575232,5.5,0., 4283P 6003
+0.4,0.,0.,0.; 4283P 6004
+126,1,1,0,0,1,0,0.19783806949458,0.19783806949458, 4285P 6005
+1.6006363194306,1.6006363194306,1.,1.,155.584237511039, 4285P 6006
+-163.047507575232,1.5,169.612220010399,-163.047507575232,1.5, 4285P 6007
+0.19783806949458,1.6006363194306,0.,0.,0.; 4285P 6008
+126,1,1,0,0,1,0,-0.2,-0.2,0.2,0.2,1.,1.,169.612220010399, 4287P 6009
+-163.047507575232,5.5,169.612220010399,-163.047507575232,1.5, 4287P 6010
+-0.2,0.2,0.,0.,0.; 4287P 6011
+126,1,1,0,0,1,0,0.,0.,0.4,0.4,1.,1.,220.752682252201, 4289P 6012
+-163.047507575232,1.5,220.752682252201,-163.047507575232,5.5,0., 4289P 6013
+0.4,0.,0.,0.; 4289P 6014
+126,1,1,0,0,1,0,-2.50504270777187,-2.50504270777187, 4291P 6015
+-1.70504270777188,-1.70504270777188,1.,1.,155.584237511039, 4291P 6016
+-156.547507575232,-11.6,155.584237511039,-164.547507575232, 4291P 6017
+-11.6,-2.50504270777187,-1.70504270777188,0.,0.,0.; 4291P 6018
+126,1,1,0,0,1,0,-5.355,-5.355,-4.045,-4.045,1.,1., 4293P 6019
+155.584237511039,-156.547507575232,1.49999999999999, 4293P 6020
+155.584237511039,-156.547507575232,-11.6,-5.355,-4.045,0.,0.,0.; 4293P 6021
+126,1,1,0,0,1,0,-0.79999999999999,-0.79999999999999, 4295P 6022
+-0.149999999999991,-0.149999999999991,1.,1.,155.584237511039, 4295P 6023
+-156.547507575232,1.49999999999999,155.584237511039, 4295P 6024
+-163.047507575232,1.49999999999999,-0.79999999999999, 4295P 6025
+-0.149999999999991,0.,0.,0.; 4295P 6026
+126,1,1,0,0,1,0,2.03004270777188,2.03004270777188, 4297P 6027
+2.18004270777188,2.18004270777188,1.,1.,155.584237511039, 4297P 6028
+-164.547507575232,5.5,155.584237511039,-163.047507575232,5.5, 4297P 6029
+2.03004270777188,2.18004270777188,0.,0.,0.; 4297P 6030
+126,1,1,0,0,1,0,4.455,4.455,5.755,5.755,1.,1.,155.584237511039, 4299P 6031
+-164.547507575232,-7.5,155.584237511039,-164.547507575232,5.5, 4299P 6032
+4.455,5.755,0.,0.,0.; 4299P 6033
+126,1,1,0,0,1,0,10.,10.,10.41,10.41,1.,1.,155.584237511039, 4301P 6034
+-164.547507575232,-11.6,155.584237511039,-164.547507575232,-7.5, 4301P 6035
+10.,10.41,0.,0.,0.; 4301P 6036
+126,1,1,0,0,1,0,-2.50504270777188,-2.50504270777188, 4303P 6037
+-1.70504270777188,-1.70504270777188,1.,1.,220.752682252201, 4303P 6038
+-156.547507575232,-11.6,220.752682252201,-164.547507575232, 4303P 6039
+-11.6,-2.50504270777188,-1.70504270777188,0.,0.,0.; 4303P 6040
+126,1,1,0,0,1,0,-5.355,-5.355,-4.045,-4.045,1.,1., 4305P 6041
+220.752682252201,-156.547507575232,1.5,220.752682252201, 4305P 6042
+-156.547507575232,-11.6,-5.355,-4.045,0.,0.,0.; 4305P 6043
+126,1,1,0,0,1,0,-0.799999999999992,-0.799999999999992, 4307P 6044
+-0.149999999999991,-0.149999999999991,1.,1.,220.752682252201, 4307P 6045
+-156.547507575232,1.5,220.752682252201,-163.047507575232,1.5, 4307P 6046
+-0.799999999999992,-0.149999999999991,0.,0.,0.; 4307P 6047
+126,1,1,0,0,1,0,10.,10.,10.41,10.41,1.,1.,220.752682252201, 4309P 6048
+-164.547507575232,-11.6,220.752682252201,-164.547507575232,-7.5, 4309P 6049
+10.,10.41,0.,0.,0.; 4309P 6050
+126,1,1,0,0,1,0,1.6807553499229,1.6807553499229, 4311P 6051
+2.54979601694251,2.54979601694251,1.,1.,155.584237511039, 4311P 6052
+-164.547507575232,5.5,146.893830840843,-164.547507575232,5.5, 4311P 6053
+1.6807553499229,2.54979601694251,0.,0.,0.; 4311P 6054
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,146.893830840843, 4313P 6055
+-164.547507575232,5.5,146.893830840843,-164.547507575232,-7.5, 4313P 6056
+0.2,1.5,0.,0.,0.; 4313P 6057
+126,1,1,0,0,1,0,-10.8869910592913,-10.8869910592913, 4315P 6058
+-10.0179503922717,-10.0179503922717,1.,1.,146.893830840843, 4315P 6059
+-164.547507575232,-7.5,155.584237511039,-164.547507575232,-7.5, 4315P 6060
+-10.8869910592913,-10.0179503922717,0.,0.,0.; 4315P 6061
+126,1,1,0,0,1,0,-1.6006363194306,-1.6006363194306, 4317P 6062
+-0.19783806949458,-0.19783806949458,1.,1.,169.612220010399, 4317P 6063
+-156.547507575232,1.5,155.584237511039,-156.547507575232,1.5, 4317P 6064
+-1.6006363194306,-0.19783806949458,0.,0.,0.; 4317P 6065
+126,1,1,0,0,1,0,-11.1162612056252,-11.1162612056252, 4319P 6066
+-10.0179503922716,-10.0179503922716,1.,1.,144.601129377503, 4319P 6067
+-156.547507575232,-11.6,155.584237511039,-156.547507575232, 4319P 6068
+-11.6,-11.1162612056252,-10.0179503922716,0.,0.,0.; 4319P 6069
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,144.601129377503, 4321P 6070
+-156.547507575232,7.5,144.601129377503,-156.547507575232,-11.6, 4321P 6071
+0.,1.91,0.,0.,0.; 4321P 6072
+126,1,1,0,0,1,0,0.,0.,11.1162612056252,11.1162612056252,1.,1., 4323P 6073
+255.763741433756,-156.547507575232,7.5,144.601129377503, 4323P 6074
+-156.547507575232,7.5,0.,11.1162612056252,0.,0.,0.; 4323P 6075
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,255.763741433756, 4325P 6076
+-156.547507575232,7.5,255.763741433756,-156.547507575232,-11.6, 4325P 6077
+0.,1.91,0.,0.,0.; 4325P 6078
+126,1,1,0,0,1,0,-1.79830766821949,-1.79830766821949,0.,0.,1.,1., 4327P 6079
+237.780664751561,-156.547507575232,-11.6,255.763741433756, 4327P 6080
+-156.547507575232,-11.6,-1.79830766821949,0.,0.,0.,0.; 4327P 6081
+126,1,1,0,0,1,0,-1.51,-1.51,-0.2,-0.2,1.,1.,237.780664751561, 4329P 6082
+-156.547507575232,-11.6,237.780664751561,-156.547507575232,1.5, 4329P 6083
+-1.51,-0.2,0.,0.,0.; 4329P 6084
+126,1,1,0,0,1,0,-5.61006610946171,-5.61006610946171, 4331P 6085
+-3.90726785952569,-3.90726785952569,1.,1.,237.780664751561, 4331P 6086
+-156.547507575232,1.5,220.752682252201,-156.547507575232,1.5, 4331P 6087
+-5.61006610946171,-3.90726785952569,0.,0.,0.; 4331P 6088
+126,1,1,0,0,1,0,-8.61515214233562,-8.61515214233562, 4333P 6089
+-3.50110591815551,-3.50110591815551,1.,1.,169.612220010399, 4333P 6090
+-156.547507575232,-11.6,220.752682252201,-156.547507575232, 4333P 6091
+-11.6,-8.61515214233562,-3.50110591815551,0.,0.,0.; 4333P 6092
+126,1,1,0,0,1,0,-1.51,-1.51,-0.2,-0.2,1.,1.,169.612220010399, 4335P 6093
+-156.547507575232,-11.6,169.612220010399,-156.547507575232,1.5, 4335P 6094
+-1.51,-0.2,0.,0.,0.; 4335P 6095
+126,1,1,0,0,1,0,-3.5313098815677,-3.5313098815677, 4337P 6096
+-2.12851163163167,-2.12851163163167,1.,1.,155.584237511039, 4337P 6097
+-164.547507575232,-11.6,169.612220010399,-164.547507575232, 4337P 6098
+-11.6,-3.5313098815677,-2.12851163163167,0.,0.,0.; 4337P 6099
+126,1,1,0,0,1,0,2.10504270777188,2.10504270777188, 4339P 6100
+2.90504270777188,2.90504270777188,1.,1.,169.612220010399, 4339P 6101
+-164.547507575232,-11.6,169.612220010399,-156.547507575232, 4339P 6102
+-11.6,2.10504270777188,2.90504270777188,0.,0.,0.; 4339P 6103
+126,1,1,0,0,1,0,0.177112355490372,0.177112355490372, 4341P 6104
+1.87991060542639,1.87991060542639,1.,1.,220.752682252201, 4341P 6105
+-164.547507575232,-11.6,237.780664751561,-164.547507575232, 4341P 6106
+-11.6,0.177112355490372,1.87991060542639,0.,0.,0.; 4341P 6107
+126,1,1,0,0,1,0,2.10504270777188,2.10504270777188, 4343P 6108
+2.90504270777187,2.90504270777187,1.,1.,237.780664751561, 4343P 6109
+-164.547507575232,-11.6,237.780664751561,-156.547507575232, 4343P 6110
+-11.6,2.10504270777188,2.90504270777187,0.,0.,0.; 4343P 6111
+126,2,2,0,0,0,0,-1.57079604986551,-1.57079604986551, 4345P 6112
+-1.57079604986551,0.,0.,0.,1.,0.707106879095859,1., 4345P 6113
+255.763741433756,-156.547507575234,-11.6,264.765898940792, 4345P 6114
+-156.547507575234,-11.6,264.765901433754,-165.54966508227,-11.6, 4345P 6115
+-1.57079604986551,0.,0.,0.,0.; 4345P 6116
+126,1,1,0,0,1,0,-8.21973908038377,-8.21973908038377,0.,0.,1.,1., 4347P 6117
+264.765901433754,-165.54966508227,-11.6,264.765898708729, 4347P 6118
+-247.747055886107,-11.6,-8.21973908038377,0.,0.,0.,0.; 4347P 6119
+126,2,2,0,0,0,0,-1.57079632679491,-1.57079632679491, 4349P 6120
+-1.57079632679491,0.,0.,0.,1.,0.707106781186549,1., 4349P 6121
+264.765898708729,-247.747055886107,-11.6,264.765898708729, 4349P 6122
+-256.749215886107,-11.6,255.763738708729,-256.749215886107, 4349P 6123
+-11.6,-1.57079632679491,0.,0.,0.,0.; 4349P 6124
+126,1,1,0,0,1,0,-11.1162574856417,-11.1162574856417,0.,0.,1.,1., 4351P 6125
+255.763738708729,-256.749215886107,-11.6,144.601163852312, 4351P 6126
+-256.749215886107,-11.6,-11.1162574856417,0.,0.,0.,0.; 4351P 6127
+126,4,2,0,0,0,0,-1.57081354545471,-1.57081354545471, 4353P 6128
+-1.57081354545471,-0.785406772727353,-0.785406772727353,0.,0., 4353P 6129
+0.,1.,0.923877885178803,1.,0.923877885178792,1., 4353P 6130
+144.601163852312,-256.749215886107,-11.6,140.872301689627, 4353P 6131
+-256.749215886107,-11.6,138.235620668632,-254.112489464608, 4353P 6132
+-11.6,135.598939647638,-251.475763043109,-11.6,135.599003853647, 4353P 6133
+-247.746900880977,-11.6,-1.57081354545471,0.,0.,0.,0.; 4353P 6134
+126,1,1,0,0,1,0,-6.02753451978495,-6.02753451978495,0.,0.,1.,1., 4355P 6135
+135.599003853647,-247.746900880977,-11.6,135.600041714311, 4355P 6136
+-187.471555692063,-11.6,-6.02753451978495,0.,0.,0.,0.; 4355P 6137
+126,1,1,0,0,1,0,-2.20608325126057,-2.20608325126057,0.,0.,1.,1., 4357P 6138
+135.600041714311,-187.471555692063,-11.6,135.600041714311, 4357P 6139
+-165.410723179457,-11.6,-2.20608325126057,0.,0.,0.,0.; 4357P 6140
+126,2,2,0,0,0,0,-1.55536115200856,-1.55536115200856, 4359P 6141
+-1.55536115200856,0.,0.,0.,1.,0.712542827450536,1., 4359P 6142
+135.600041714311,-165.410723179457,-11.6,135.73685786174, 4359P 6143
+-156.547507575232,-11.6,144.601129377503,-156.547507575232, 4359P 6144
+-11.6,-1.55536115200856,0.,0.,0.,0.; 4359P 6145
+126,6,2,0,0,0,0,-6.28310481407046,-6.28310481407046, 4361P 6146
+-6.28310481407046,-5.23515592516463,-5.23515592516463, 4361P 6147
+-4.1872070362588,-4.1872070362588,-3.13925814735297, 4361P 6148
+-3.13925814735297,-3.13925814735297,1.,0.865837508251788,1., 4361P 6149
+0.865837508251546,1.,0.865837508251611,1.,239.357084097385, 4361P 6150
+-172.121201750453,-11.6,239.356107150418,-172.988052565371, 4361P 6151
+-11.6,240.10665957669,-173.421760237851,-11.6,240.857212002962, 4361P 6152
+-173.85546791033,-11.6,241.607764429229,-173.421760237843,-11.6, 4361P 6153
+242.358316855497,-172.988052565356,-11.6,242.35733990852, 4361P 6154
+-172.121201750437,-11.6,-6.28310481407046,-3.13925814735297,0., 4361P 6155
+0.,0.; 4361P 6156
+126,6,2,0,0,0,0,-6.28310481408069,-6.28310481408069, 4363P 6157
+-6.28310481408069,-5.23515592516045,-5.23515592516045, 4363P 6158
+-4.1872070362402,-4.1872070362402,-3.13925814731996, 4363P 6159
+-3.13925814731996,-3.13925814731996,1.,0.865837508248292,1., 4363P 6160
+0.865837508248067,1.,0.865837508248116,1.,242.35733990852, 4363P 6161
+-172.121201750437,-11.6,242.358316855506,-171.254350935504, 4363P 6162
+-11.6,241.607764429225,-170.820643263012,-11.6,240.857212002944, 4363P 6163
+-170.38693559052,-11.6,240.106659576667,-170.82064326302,-11.6, 4363P 6164
+239.35610715039,-171.25435093552,-11.6,239.357084097385, 4363P 6165
+-172.121201750453,-11.6,-6.28310481408069,-3.13925814731996,0., 4363P 6166
+0.,0.; 4363P 6167
+126,6,2,0,0,0,0,-6.28310481407034,-6.28310481407034, 4365P 6168
+-6.28310481407034,-5.23515592516079,-5.23515592516079, 4365P 6169
+-4.18720703625123,-4.18720703625123,-3.13925814734168, 4365P 6170
+-3.13925814734168,-3.13925814734168,1.,0.865837508250881,1., 4365P 6171
+0.865837508250855,1.,0.865837508250857,1.,160.582628341595, 4365P 6172
+-190.598023114212,-11.6,160.581651394623,-191.464873929134, 4365P 6173
+-11.6,161.332203820897,-191.898581601616,-11.6,162.082756247172, 4365P 6174
+-192.332289274099,-11.6,162.833308673442,-191.898581601608, 4365P 6175
+-11.6,163.583861099711,-191.464873929118,-11.6,163.58288415273, 4365P 6176
+-190.598023114196,-11.6,-6.28310481407034,-3.13925814734168,0., 4365P 6177
+0.,0.; 4365P 6178
+126,6,2,0,0,0,0,-6.28310481408081,-6.28310481408081, 4367P 6179
+-6.28310481408081,-5.23515592516426,-5.23515592516426, 4367P 6180
+-4.18720703624771,-4.18720703624771,-3.13925814733116, 4367P 6181
+-3.13925814733116,-3.13925814733116,1.,0.86583750824897,1., 4367P 6182
+0.865837508248987,1.,0.865837508248909,1.,163.58288415273, 4367P 6183
+-190.598023114196,-11.6,163.583861099712,-189.731172299267, 4367P 6184
+-11.6,162.833308673433,-189.297464626778,-11.6,162.082756247154, 4367P 6185
+-188.863756954289,-11.6,161.332203820879,-189.297464626786, 4367P 6186
+-11.6,160.581651394605,-189.731172299282,-11.6,160.582628341595, 4367P 6187
+-190.598023114212,-11.6,-6.28310481408081,-3.13925814733116,0., 4367P 6188
+0.,0.; 4367P 6189
+126,6,2,0,0,0,0,-6.2830844037677,-6.2830844037677, 4369P 6190
+-6.2830844037677,-5.23494500104441,-5.23494500104441, 4369P 6191
+-4.18680559832112,-4.18680559832112,-3.13866619559783, 4369P 6192
+-3.13866619559783,-3.13866619559783,1.,0.865789844881724,1., 4369P 6193
+0.865789844882047,1.,0.865789844881724,1.,236.784016479572, 4369P 6194
+-228.698656211056,-11.6,236.782791542303,-229.565697649234, 4369P 6195
+-11.6,237.533467963721,-229.999572361928,-11.6,238.284144385139, 4369P 6196
+-230.433447074621,-11.6,239.034820806557,-229.999572361928, 4369P 6197
+-11.6,239.785497227975,-229.565697649234,-11.6,239.784272290707, 4369P 6198
+-228.698656211056,-11.6,-6.2830844037677,-3.13866619559783,0., 4369P 6199
+0.,0.; 4369P 6200
+126,6,2,0,0,0,0,-6.28308440376778,-6.28308440376778, 4371P 6201
+-6.28308440376778,-5.23494500103838,-5.23494500103838, 4371P 6202
+-4.18680559830898,-4.18680559830898,-3.13866619557958, 4371P 6203
+-3.13866619557958,-3.13866619557958,1.,0.865789844880162,1., 4371P 6204
+0.865789844880317,1.,0.865789844880162,1.,239.784272290707, 4371P 6205
+-228.698656211057,-11.6,239.785497227983,-227.831614772873, 4371P 6206
+-11.6,239.034820806561,-227.397740060174,-11.6,238.284144385139, 4371P 6207
+-226.963865347475,-11.6,237.533467963717,-227.397740060174, 4371P 6208
+-11.6,236.782791542295,-227.831614772873,-11.6,236.784016479572, 4371P 6209
+-228.698656211057,-11.6,-6.28308440376778,-3.13866619557958,0., 4371P 6210
+0.,0.; 4371P 6211
+126,6,2,0,0,0,0,-6.28310481407037,-6.28310481407037, 4373P 6212
+-6.28310481407037,-5.2351559251608,-5.2351559251608, 4373P 6213
+-4.18720703625122,-4.18720703625122,-3.13925814734165, 4373P 6214
+-3.13925814734165,-3.13925814734165,1.,0.865837508250947,1., 4373P 6215
+0.865837508251063,1.,0.865837508251028,1.,160.582628341595, 4373P 6216
+-228.698656211065,-11.6,160.581651394623,-229.565507025988, 4373P 6217
+-11.6,161.332203820897,-229.99921469847,-11.6,162.082756247172, 4373P 6218
+-230.432922370953,-11.6,162.833308673442,-229.999214698462, 4373P 6219
+-11.6,163.583861099712,-229.565507025972,-11.6,163.58288415273, 4373P 6220
+-228.69865621105,-11.6,-6.28310481407037,-3.13925814734165,0., 4373P 6221
+0.,0.; 4373P 6222
+126,6,2,0,0,0,0,-6.28310481408081,-6.28310481408081, 4375P 6223
+-6.28310481408081,-5.23515592516426,-5.23515592516426, 4375P 6224
+-4.18720703624771,-4.18720703624771,-3.13925814733116, 4375P 6225
+-3.13925814733116,-3.13925814733116,1.,0.86583750824897,1., 4375P 6226
+0.865837508248987,1.,0.865837508248909,1.,163.58288415273, 4375P 6227
+-228.69865621105,-11.6,163.583861099712,-227.83180539612,-11.6, 4375P 6228
+162.833308673433,-227.398097723632,-11.6,162.082756247154, 4375P 6229
+-226.964390051143,-11.6,161.332203820879,-227.39809772364,-11.6, 4375P 6230
+160.581651394605,-227.831805396136,-11.6,160.582628341595, 4375P 6231
+-228.698656211065,-11.6,-6.28310481408081,-3.13925814733116,0., 4375P 6232
+0.,0.; 4375P 6233
+126,6,2,0,0,0,0,-5.0748329130831D-14,-5.0748329130831D-14, 4377P 6234
+-5.0748329130831D-14,1.04800255097885,1.04800255097885, 4377P 6235
+2.09600510195774,2.09600510195774,3.14400765293664, 4377P 6236
+3.14400765293664,3.14400765293664,1.,0.865824083693706,1., 4377P 6237
+0.865824083693601,1.,0.865824083693605,1.,236.882006921691, 4377P 6238
+-190.598023114196,-11.6,236.8810299142,-191.407138874521,-11.6, 4377P 6239
+237.581582336708,-191.811979054677,-11.6,238.282134759216, 4377P 6240
+-192.216819234834,-11.6,238.982687181724,-191.811979054677, 4377P 6241
+-11.6,239.683239604231,-191.407138874521,-11.6,239.68226259674, 4377P 6242
+-190.598023114196,-11.6,-5.0748329130831D-14,3.14400765293664, 4377P 6243
+0.,0.,0.; 4377P 6244
+126,6,2,0,0,0,0,0.,0.,0.,1.04800255097885,1.04800255097885, 4379P 6245
+2.09600510195769,2.09600510195769,3.14400765293654, 4379P 6246
+3.14400765293654,3.14400765293654,1.,0.865824083693493,1., 4379P 6247
+0.865824083693437,1.,0.865824083693657,1.,239.68226259674, 4379P 6248
+-190.598023114196,-11.6,239.683239604231,-189.78890735387,-11.6, 4379P 6249
+238.982687181724,-189.384067173714,-11.6,238.282134759216, 4379P 6250
+-188.979226993558,-11.6,237.581582336708,-189.384067173714, 4379P 6251
+-11.6,236.8810299142,-189.78890735387,-11.6,236.882006921691, 4379P 6252
+-190.598023114196,-11.6,0.,3.14400765293654,0.,0.,0.; 4379P 6253
+126,6,2,0,0,0,0,2.53741645654159D-14,2.53741645654159D-14, 4381P 6254
+2.53741645654159D-14,1.04800255097509,1.04800255097509, 4381P 6255
+2.09600510195016,2.09600510195016,3.14400765292522, 4381P 6256
+3.14400765292522,3.14400765292522,1.,0.865824083694492,1., 4381P 6257
+0.865824083694691,1.,0.865824083694451,1.,158.107551165901, 4381P 6258
+-172.121201750437,-11.6,158.106574158415,-172.930317510759, 4381P 6259
+-11.6,158.80712658092,-173.335157690912,-11.6,159.507679003426, 4381P 6260
+-173.739997871065,-11.6,160.208231425931,-173.335157690912, 4381P 6261
+-11.6,160.908783848437,-172.930317510758,-11.6,160.90780684095, 4381P 6262
+-172.121201750437,-11.6,2.53741645654159D-14,3.14400765292522, 4381P 6263
+0.,0.,0.; 4381P 6264
+126,6,2,0,0,0,0,0.,0.,0.,1.04800255098266,1.04800255098266, 4383P 6265
+2.09600510196532,2.09600510196532,3.14400765294798, 4383P 6266
+3.14400765294798,3.14400765294798,1.,0.865824083692465,1., 4383P 6267
+0.865824083692489,1.,0.865824083692486,1.,160.90780684095, 4383P 6268
+-172.121201750437,-11.6,160.908783848446,-171.312085990108, 4383P 6269
+-11.6,160.208231425936,-170.907245809948,-11.6,159.507679003426, 4383P 6270
+-170.502405629789,-11.6,158.807126580916,-170.907245809948, 4383P 6271
+-11.6,158.106574158405,-171.312085990108,-11.6,158.107551165901, 4383P 6272
+-172.121201750437,-11.6,0.,3.14400765294798,0.,0.,0.; 4383P 6273
+126,1,1,0,0,1,0,0.091322211691871,0.091322211691871, 4385P 6274
+0.993665961691871,0.993665961691871,1.,1.,198.356008409196, 4385P 6275
+-187.660756010089,-7.5,189.332570909196,-187.660756010089,-7.5, 4385P 6276
+0.091322211691871,0.993665961691871,0.,0.,0.; 4385P 6277
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,198.356008409196, 4387P 6278
+-187.660756010089,-7.5,198.356008409196,-187.660756010089,-8.5, 4387P 6279
+0.,0.1,0.,0.,0.; 4387P 6280
+126,1,1,0,0,1,0,0.,0.,0.90234375,0.90234375,1.,1., 4389P 6281
+198.356008409196,-187.660756010089,-8.5,189.332570909196, 4389P 6282
+-187.660756010089,-8.5,0.,0.90234375,0.,0.,0.; 4389P 6283
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,189.332570909196, 4391P 6284
+-187.660756010089,-7.5,189.332570909196,-187.660756010089,-8.5, 4391P 6285
+0.,0.1,0.,0.,0.; 4391P 6286
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.281631211376139,0.844152403739511, 4393P 6287
+0.844152403739511,0.844152403739511,0.844152403739511,1.,1.,1., 4393P 6288
+1.,1.,206.793508409196,-187.856068510089,-7.5,205.856214479556, 4393P 6289
+-187.800454535029,-7.5,203.046799571848,-187.633758981298,-7.5, 4393P 6290
+200.231830522622,-187.649960043727,-7.5,198.356008409196, 4393P 6291
+-187.660756010089,-7.5,0.,0.844152403739511,0.,0.,0.; 4393P 6292
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,206.793508409196, 4395P 6293
+-187.856068510089,-7.5,206.793508409196,-187.856068510089,-8.5, 4395P 6294
+0.,0.1,0.,0.,0.; 4395P 6295
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.281631211376139,0.844152403739511, 4397P 6296
+0.844152403739511,0.844152403739511,0.844152403739511,1.,1.,1., 4397P 6297
+1.,1.,206.793508409196,-187.856068510089,-8.5,205.856214479556, 4397P 6298
+-187.800454535029,-8.5,203.046799571848,-187.633758981298,-8.5, 4397P 6299
+200.231830522622,-187.649960043727,-8.5,198.356008409196, 4397P 6300
+-187.660756010089,-8.5,0.,0.844152403739511,0.,0.,0.; 4397P 6301
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.235880783034421,0.497778933126644, 4399P 6302
+0.497778933126644,0.497778933126644,0.497778933126644,1.,1.,1., 4399P 6303
+1.,1.,211.148977159196,-190.102162260089,-7.5,210.559416215435, 4399P 6304
+-189.560844484626,-7.5,209.315266463925,-188.418502233228,-7.5, 4399P 6305
+207.662882757985,-188.049967147936,-7.5,206.793508409196, 4399P 6306
+-187.856068510089,-7.5,0.,0.497778933126644,0.,0.,0.; 4399P 6307
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,211.148977159196, 4401P 6308
+-190.102162260089,-7.5,211.148977159196,-190.102162260089,-8.5, 4401P 6309
+0.,0.1,0.,0.,0.; 4401P 6310
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.235880783034421,0.497778933126644, 4403P 6311
+0.497778933126644,0.497778933126644,0.497778933126644,1.,1.,1., 4403P 6312
+1.,1.,211.148977159196,-190.102162260089,-8.5,210.559416215435, 4403P 6313
+-189.560844484626,-8.5,209.315266463925,-188.418502233228,-8.5, 4403P 6314
+207.662882757985,-188.049967147936,-8.5,206.793508409196, 4403P 6315
+-187.856068510089,-8.5,0.,0.497778933126644,0.,0.,0.; 4403P 6316
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.264063113962396,0.499964111306824, 4405P 6317
+0.499964111306824,0.499964111306824,0.499964111306824,1.,1.,1., 4405P 6318
+1.,1.,212.691945909196,-194.770131010089,-7.5,212.643437973881, 4405P 6319
+-193.871965743153,-7.5,212.551595435151,-192.171423805461,-7.5, 4405P 6320
+211.598623495598,-190.765518704879,-7.5,211.148977159196, 4405P 6321
+-190.102162260089,-7.5,0.,0.499964111306824,0.,0.,0.; 4405P 6322
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,212.691945909196, 4407P 6323
+-194.770131010089,-7.5,212.691945909196,-194.770131010089,-8.5, 4407P 6324
+0.,0.1,0.,0.,0.; 4407P 6325
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.264063113962396,0.499964111306824, 4409P 6326
+0.499964111306824,0.499964111306824,0.499964111306824,1.,1.,1., 4409P 6327
+1.,1.,212.691945909196,-194.770131010089,-8.5,212.643437973881, 4409P 6328
+-193.871965743153,-8.5,212.551595435151,-192.171423805461,-8.5, 4409P 6329
+211.598623495598,-190.765518704879,-8.5,211.148977159196, 4409P 6330
+-190.102162260089,-8.5,0.,0.499964111306824,0.,0.,0.; 4409P 6331
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.212397292504592,0.450534415924653, 4411P 6332
+0.450534415924653,0.450534415924653,0.450534415924653,1.,1.,1., 4411P 6333
+1.,1.,211.520070909196,-199.067006010089,-7.5,211.861566257095, 4411P 6334
+-198.436165560765,-7.5,212.585941814299,-197.098034881101,-7.5, 4411P 6335
+212.655290538983,-195.575101594424,-7.5,212.691945909196, 4411P 6336
+-194.770131010089,-7.5,0.,0.450534415924653,0.,0.,0.; 4411P 6337
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,211.520070909196, 4413P 6338
+-199.067006010089,-7.5,211.520070909196,-199.067006010089,-8.5, 4413P 6339
+0.,0.1,0.,0.,0.; 4413P 6340
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.212397292504592,0.450534415924653, 4415P 6341
+0.450534415924653,0.450534415924653,0.450534415924653,1.,1.,1., 4415P 6342
+1.,1.,211.520070909196,-199.067006010089,-8.5,211.861566257095, 4415P 6343
+-198.436165560765,-8.5,212.585941814299,-197.098034881101,-8.5, 4415P 6344
+212.655290538983,-195.575101594424,-8.5,212.691945909196, 4415P 6345
+-194.770131010089,-8.5,0.,0.450534415924653,0.,0.,0.; 4415P 6346
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.207906922422302,0.410291107118963, 4417P 6347
+0.410291107118963,0.410291107118963,0.410291107118963,1.,1.,1., 4417P 6348
+1.,1.,208.277883409196,-201.488881010089,-7.5,208.927838177421, 4417P 6349
+-201.216133860944,-7.5,210.210482633534,-200.677884684425,-7.5, 4417P 6350
+211.087476419098,-199.599125342313,-7.5,211.520070909196, 4417P 6351
+-199.067006010089,-7.5,0.,0.410291107118963,0.,0.,0.; 4417P 6352
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,208.277883409196, 4419P 6353
+-201.488881010089,-7.5,208.277883409196,-201.488881010089,-8.5, 4419P 6354
+0.,0.1,0.,0.,0.; 4419P 6355
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.207906922422302,0.410291107118963, 4421P 6356
+0.410291107118963,0.410291107118963,0.410291107118963,1.,1.,1., 4421P 6357
+1.,1.,208.277883409196,-201.488881010089,-8.5,208.927838177421, 4421P 6358
+-201.216133860944,-8.5,210.210482633534,-200.677884684425,-8.5, 4421P 6359
+211.087476419098,-199.599125342313,-8.5,211.520070909196, 4421P 6360
+-199.067006010089,-8.5,0.,0.410291107118963,0.,0.,0.; 4421P 6361
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.676009828575057,1.04309862016124, 4423P 6362
+1.04309862016124,1.04309862016124,1.04309862016124,1.,1.,1.,1., 4423P 6363
+1.,197.887258409196,-202.192006010089,-7.5,200.147189290955, 4423P 6364
+-202.219319929824,-7.5,203.634314307158,-202.261465932413,-7.5, 4423P 6365
+207.069106365723,-201.689994183538,-7.5,208.277883409196, 4423P 6366
+-201.488881010089,-7.5,0.,1.04309862016124,0.,0.,0.; 4423P 6367
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,197.887258409196, 4425P 6368
+-202.192006010089,-7.5,197.887258409196,-202.192006010089,-8.5, 4425P 6369
+0.,0.1,0.,0.,0.; 4425P 6370
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.676009828575057,1.04309862016124, 4427P 6371
+1.04309862016124,1.04309862016124,1.04309862016124,1.,1.,1.,1., 4427P 6372
+1.,197.887258409196,-202.192006010089,-8.5,200.147189290955, 4427P 6373
+-202.219319929824,-8.5,203.634314307158,-202.261465932413,-8.5, 4427P 6374
+207.069106365723,-201.689994183538,-8.5,208.277883409196, 4427P 6375
+-201.488881010089,-8.5,0.,1.04309862016124,0.,0.,0.; 4427P 6376
+126,1,1,0,0,1,0,-0.542494086691871,-0.542494086691871, 4429P 6377
+0.312974663308129,0.312974663308129,1.,1.,189.332570909196, 4429P 6378
+-202.192006010089,-7.5,197.887258409196,-202.192006010089,-7.5, 4429P 6379
+-0.542494086691871,0.312974663308129,0.,0.,0.; 4429P 6380
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,189.332570909196, 4431P 6381
+-202.192006010089,-7.5,189.332570909196,-202.192006010089,-8.5, 4431P 6382
+0.,0.1,0.,0.,0.; 4431P 6383
+126,1,1,0,0,1,0,0.,0.,0.85546875,0.85546875,1.,1., 4433P 6384
+189.332570909196,-202.192006010089,-8.5,197.887258409196, 4433P 6385
+-202.192006010089,-8.5,0.,0.85546875,0.,0.,0.; 4433P 6386
+126,1,1,0,0,1,0,-0.949380286028976,-0.949380286028976, 4435P 6387
+0.503744713971024,0.503744713971024,1.,1.,189.332570909196, 4435P 6388
+-187.660756010089,-7.5,189.332570909196,-202.192006010089,-7.5, 4435P 6389
+-0.949380286028976,0.503744713971024,0.,0.,0.; 4435P 6390
+126,1,1,0,0,1,0,0.,0.,1.453125,1.453125,1.,1.,189.332570909196, 4437P 6391
+-187.660756010089,-8.5,189.332570909196,-202.192006010089,-8.5, 4437P 6392
+0.,1.453125,0.,0.,0.; 4437P 6393
+126,1,1,0,0,1,0,0.234213463971024,0.234213463971024, 4439P 6394
+2.62483846397102,2.62483846397102,1.,1.,189.332570909196, 4439P 6395
+-211.332631010089,-7.5,189.332570909196,-235.238881010089,-7.5, 4439P 6396
+0.234213463971024,2.62483846397102,0.,0.,0.; 4439P 6397
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,189.332570909196, 4441P 6398
+-211.332631010089,-7.5,189.332570909196,-211.332631010089,-8.5, 4441P 6399
+0.,0.1,0.,0.,0.; 4441P 6400
+126,1,1,0,0,1,0,0.,0.,2.390625,2.390625,1.,1.,189.332570909196, 4443P 6401
+-211.332631010089,-8.5,189.332570909196,-235.238881010089,-8.5, 4443P 6402
+0.,2.390625,0.,0.,0.; 4443P 6403
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,189.332570909196, 4445P 6404
+-235.238881010089,-7.5,189.332570909196,-235.238881010089,-8.5, 4445P 6405
+0.,0.1,0.,0.,0.; 4445P 6406
+126,1,1,0,0,1,0,0.425306586691871,0.425306586691871, 4447P 6407
+0.659681586691871,0.659681586691871,1.,1.,191.676320909196, 4447P 6408
+-211.332631010089,-7.5,189.332570909196,-211.332631010089,-7.5, 4447P 6409
+0.425306586691871,0.659681586691871,0.,0.,0.; 4447P 6410
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,191.676320909196, 4449P 6411
+-211.332631010089,-7.5,191.676320909196,-211.332631010089,-8.5, 4449P 6412
+0.,0.1,0.,0.,0.; 4449P 6413
+126,1,1,0,0,1,0,0.,0.,0.234375,0.234375,1.,1.,191.676320909196, 4451P 6414
+-211.332631010089,-8.5,189.332570909196,-211.332631010089,-8.5, 4451P 6415
+0.,0.234375,0.,0.,0.; 4451P 6416
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.242178147658386,0.58728108987376, 4453P 6417
+0.58728108987376,0.58728108987376,0.58728108987376,1.,1.,1.,1., 4453P 6418
+1.,197.496633409196,-211.977162260089,-7.5,196.708785715842, 4453P 6419
+-211.790577691044,-7.5,194.798258046518,-211.338110818527,-7.5, 4453P 6420
+192.831842297831,-211.334659249473,-7.5,191.676320909196, 4453P 6421
+-211.332631010089,-7.5,0.,0.58728108987376,0.,0.,0.; 4453P 6422
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,197.496633409196, 4455P 6423
+-211.977162260089,-7.5,197.496633409196,-211.977162260089,-8.5, 4455P 6424
+0.,0.1,0.,0.,0.; 4455P 6425
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.242178147658386,0.58728108987376, 4457P 6426
+0.58728108987376,0.58728108987376,0.58728108987376,1.,1.,1.,1., 4457P 6427
+1.,197.496633409196,-211.977162260089,-8.5,196.708785715842, 4457P 6428
+-211.790577691044,-8.5,194.798258046518,-211.338110818527,-8.5, 4457P 6429
+192.831842297831,-211.334659249473,-8.5,191.676320909196, 4457P 6430
+-211.332631010089,-8.5,0.,0.58728108987376,0.,0.,0.; 4457P 6431
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.223607224245692,0.424515823966796, 4459P 6432
+0.424515823966796,0.424515823966796,0.424515823966796,1.,1.,1., 4459P 6433
+1.,1.,200.973195909196,-214.359974760089,-7.5,200.436343293178, 4459P 6434
+-213.832788618144,-7.5,199.417134582878,-212.831931601172,-7.5, 4459P 6435
+198.113566785881,-212.251744615522,-7.5,197.496633409196, 4459P 6436
+-211.977162260089,-7.5,0.,0.424515823966796,0.,0.,0.; 4459P 6437
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,200.973195909196, 4461P 6438
+-214.359974760089,-7.5,200.973195909196,-214.359974760089,-8.5, 4461P 6439
+0.,0.1,0.,0.,0.; 4461P 6440
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.223607224245692,0.424515823966796, 4463P 6441
+0.424515823966796,0.424515823966796,0.424515823966796,1.,1.,1., 4463P 6442
+1.,1.,200.973195909196,-214.359974760089,-8.5,200.436343293178, 4463P 6443
+-213.832788618144,-8.5,199.417134582878,-212.831931601172,-8.5, 4463P 6444
+198.113566785881,-212.251744615522,-8.5,197.496633409196, 4463P 6445
+-211.977162260089,-8.5,0.,0.424515823966796,0.,0.,0.; 4463P 6446
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.661084667802499,1.03970923338266, 4465P 6447
+1.03970923338266,1.03970923338266,1.03970923338266,1.,1.,1.,1., 4465P 6448
+1.,207.066945909196,-222.777943510089,-7.5,205.853212488561, 4465P 6449
+-220.936425355574,-7.5,203.94433469157,-218.04021020804,-7.5, 4465P 6450
+201.766342156981,-215.342414541706,-7.5,200.973195909196, 4465P 6451
+-214.359974760089,-7.5,0.,1.03970923338266,0.,0.,0.; 4465P 6452
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,207.066945909196, 4467P 6453
+-222.777943510089,-7.5,207.066945909196,-222.777943510089,-8.5, 4467P 6454
+0.,0.1,0.,0.,0.; 4467P 6455
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.661084667802499,1.03970923338266, 4469P 6456
+1.03970923338266,1.03970923338266,1.03970923338266,1.,1.,1.,1., 4469P 6457
+1.,207.066945909196,-222.777943510089,-8.5,205.853212488561, 4469P 6458
+-220.936425355574,-8.5,203.94433469157,-218.04021020804,-8.5, 4469P 6459
+201.766342156981,-215.342414541706,-8.5,200.973195909196, 4469P 6460
+-214.359974760089,-8.5,0.,1.03970923338266,0.,0.,0.; 4469P 6461
+126,1,1,0,0,1,0,-1.61176105695361,-1.61176105695361, 4471P 6462
+-0.111247432325258,-0.111247432325258,1.,1.,215.426320909196, 4471P 6463
+-235.238881010089,-7.5,207.066945909196,-222.777943510089,-7.5, 4471P 6464
+-1.61176105695361,-0.111247432325258,0.,0.,0.; 4471P 6465
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,215.426320909196, 4473P 6466
+-235.238881010089,-7.5,215.426320909196,-235.238881010089,-8.5, 4473P 6467
+0.,0.1,0.,0.,0.; 4473P 6468
+126,1,1,0,0,1,0,0.,0.,1.50051362462835,1.50051362462835,1.,1., 4475P 6469
+215.426320909196,-235.238881010089,-8.5,207.066945909196, 4475P 6470
+-222.777943510089,-8.5,0.,1.50051362462835,0.,0.,0.; 4475P 6471
+126,1,1,0,0,1,0,-1.45359966330813,-1.45359966330813, 4477P 6472
+-0.070787163308129,-0.070787163308129,1.,1.,229.254445909196, 4477P 6473
+-235.238881010089,-7.5,215.426320909196,-235.238881010089,-7.5, 4477P 6474
+-1.45359966330813,-0.070787163308129,0.,0.,0.; 4477P 6475
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,229.254445909196, 4479P 6476
+-235.238881010089,-7.5,229.254445909196,-235.238881010089,-8.5, 4479P 6477
+0.,0.1,0.,0.,0.; 4479P 6478
+126,1,1,0,0,1,0,0.,0.,1.3828125,1.3828125,1.,1., 4481P 6479
+229.254445909196,-235.238881010089,-8.5,215.426320909196, 4481P 6480
+-235.238881010089,-8.5,0.,1.3828125,0.,0.,0.; 4481P 6481
+126,1,1,0,0,1,0,1.32396066373505,1.32396066373505, 4483P 6482
+2.64191922549176,2.64191922549176,1.,1.,222.262258409196, 4483P 6483
+-224.067006010089,-7.5,229.254445909196,-235.238881010089,-7.5, 4483P 6484
+1.32396066373505,2.64191922549176,0.,0.,0.; 4483P 6485
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,222.262258409196, 4485P 6486
+-224.067006010089,-7.5,222.262258409196,-224.067006010089,-8.5, 4485P 6487
+0.,0.1,0.,0.,0.; 4485P 6488
+126,1,1,0,0,1,0,0.,0.,1.31795856175671,1.31795856175671,1.,1., 4487P 6489
+222.262258409196,-224.067006010089,-8.5,229.254445909196, 4487P 6490
+-235.238881010089,-8.5,0.,1.31795856175671,0.,0.,0.; 4487P 6491
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.462736337436351,1.14014998210771, 4489P 6492
+1.14014998210771,1.14014998210771,1.14014998210771,1.,1.,1.,1., 4489P 6493
+1.,215.680227159196,-214.770131010089,-7.5,216.657814949634, 4489P 6494
+-215.965086764049,-7.5,219.066522914849,-218.90937419357,-7.5, 4489P 6495
+221.071194285368,-222.144734836071,-7.5,222.262258409196, 4489P 6496
+-224.067006010089,-7.5,0.,1.14014998210771,0.,0.,0.; 4489P 6497
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,215.680227159196, 4491P 6498
+-214.770131010089,-7.5,215.680227159196,-214.770131010089,-8.5, 4491P 6499
+0.,0.1,0.,0.,0.; 4491P 6500
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.462736337436351,1.14014998210771, 4493P 6501
+1.14014998210771,1.14014998210771,1.14014998210771,1.,1.,1.,1., 4493P 6502
+1.,215.680227159196,-214.770131010089,-8.5,216.657814949634, 4493P 6503
+-215.965086764049,-8.5,219.066522914849,-218.90937419357,-8.5, 4493P 6504
+221.071194285368,-222.144734836071,-8.5,222.262258409196, 4493P 6505
+-224.067006010089,-8.5,0.,1.14014998210771,0.,0.,0.; 4493P 6506
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.412099250560617,0.785781181487306, 4495P 6507
+0.785781181487306,0.785781181487306,0.785781181487306,1.,1.,1., 4495P 6508
+1.,1.,209.488820909196,-209.965443510089,-7.5,210.662083255283, 4495P 6509
+-210.689085359138,-7.5,212.899232367418,-212.068908657398,-7.5, 4495P 6510
+214.783943791004,-213.899557402522,-7.5,215.680227159196, 4495P 6511
+-214.770131010089,-7.5,0.,0.785781181487306,0.,0.,0.; 4495P 6512
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,209.488820909196, 4497P 6513
+-209.965443510089,-7.5,209.488820909196,-209.965443510089,-8.5, 4497P 6514
+0.,0.1,0.,0.,0.; 4497P 6515
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.412099250560617,0.785781181487306, 4499P 6516
+0.785781181487306,0.785781181487306,0.785781181487306,1.,1.,1., 4499P 6517
+1.,1.,209.488820909196,-209.965443510089,-8.5,210.662083255283, 4499P 6518
+-210.689085359138,-8.5,212.899232367418,-212.068908657398,-8.5, 4499P 6519
+214.783943791004,-213.899557402522,-8.5,215.680227159196, 4499P 6520
+-214.770131010089,-8.5,0.,0.785781181487306,0.,0.,0.; 4499P 6521
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.58357780873946,1.26971165673407, 4501P 6522
+1.26971165673407,1.26971165673407,1.26971165673407,1.,1.,1.,1., 4501P 6523
+1.,220.816945909196,-204.672474760089,-7.5,219.30946855557, 4501P 6524
+-205.953780785553,-7.5,216.029594750405,-208.741565331179,-7.5, 4501P 6525
+211.783402108826,-209.536092499316,-7.5,209.488820909196, 4501P 6526
+-209.965443510089,-7.5,0.,1.26971165673407,0.,0.,0.; 4501P 6527
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,220.816945909196, 4503P 6528
+-204.672474760089,-7.5,220.816945909196,-204.672474760089,-8.5, 4503P 6529
+0.,0.1,0.,0.,0.; 4503P 6530
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.58357780873946,1.26971165673407, 4505P 6531
+1.26971165673407,1.26971165673407,1.26971165673407,1.,1.,1.,1., 4505P 6532
+1.,220.816945909196,-204.672474760089,-8.5,219.30946855557, 4505P 6533
+-205.953780785553,-8.5,216.029594750405,-208.741565331179,-8.5, 4505P 6534
+211.783402108826,-209.536092499316,-8.5,209.488820909196, 4505P 6535
+-209.965443510089,-8.5,0.,1.26971165673407,0.,0.,0.; 4505P 6536
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.595955416925639,1.15039635746486, 4507P 6537
+1.15039635746486,1.15039635746486,1.15039635746486,1.,1.,1.,1., 4507P 6538
+1.,224.606008409196,-194.027943510089,-7.5,224.472199977234, 4507P 6539
+-196.055393519306,-7.5,224.213904258538,-199.969060614703,-7.5, 4507P 6540
+221.921692259118,-203.14284764226,-7.5,220.816945909196, 4507P 6541
+-204.672474760089,-7.5,0.,1.15039635746486,0.,0.,0.; 4507P 6542
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,224.606008409196, 4509P 6543
+-194.027943510089,-7.5,224.606008409196,-194.027943510089,-8.5, 4509P 6544
+0.,0.1,0.,0.,0.; 4509P 6545
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.595955416925639,1.15039635746486, 4511P 6546
+1.15039635746486,1.15039635746486,1.15039635746486,1.,1.,1.,1., 4511P 6547
+1.,224.606008409196,-194.027943510089,-8.5,224.472199977234, 4511P 6548
+-196.055393519306,-8.5,224.213904258538,-199.969060614703,-8.5, 4511P 6549
+221.921692259118,-203.14284764226,-8.5,220.816945909196, 4511P 6550
+-204.672474760089,-8.5,0.,1.15039635746486,0.,0.,0.; 4511P 6551
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.462557773590166,0.946106124712921, 4513P 6552
+0.946106124712921,0.946106124712921,0.946106124712921,1.,1.,1., 4513P 6553
+1.,1.,222.106008409196,-185.004506010089,-7.5,222.835074753493, 4513P 6554
+-186.384818489344,-7.5,224.326292009032,-189.208081150147,-7.5, 4513P 6555
+224.51140065161,-192.397733878194,-7.5,224.606008409196, 4513P 6556
+-194.027943510089,-7.5,0.,0.946106124712921,0.,0.,0.; 4513P 6557
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,222.106008409196, 4515P 6558
+-185.004506010089,-7.5,222.106008409196,-185.004506010089,-8.5, 4515P 6559
+0.,0.1,0.,0.,0.; 4515P 6560
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.462557773590166,0.946106124712921, 4517P 6561
+0.946106124712921,0.946106124712921,0.946106124712921,1.,1.,1., 4517P 6562
+1.,1.,222.106008409196,-185.004506010089,-8.5,222.835074753493, 4517P 6563
+-186.384818489344,-8.5,224.326292009032,-189.208081150147,-8.5, 4517P 6564
+224.51140065161,-192.397733878194,-8.5,224.606008409196, 4517P 6565
+-194.027943510089,-8.5,0.,0.946106124712921,0.,0.,0.; 4517P 6566
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.431517432398868,0.875191282358429, 4519P 6567
+0.875191282358429,0.875191282358429,0.875191282358429,1.,1.,1., 4519P 6568
+1.,1.,215.445852159196,-179.516224760089,-7.5,216.769000336918, 4519P 6569
+-180.1395665842,-7.5,219.45257152887,-181.403810597143,-7.5, 4519P 6570
+221.213376913017,-183.793211270963,-7.5,222.106008409196, 4519P 6571
+-185.004506010089,-7.5,0.,0.875191282358429,0.,0.,0.; 4519P 6572
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,215.445852159196, 4521P 6573
+-179.516224760089,-7.5,215.445852159196,-179.516224760089,-8.5, 4521P 6574
+0.,0.1,0.,0.,0.; 4521P 6575
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.431517432398868,0.875191282358429, 4523P 6576
+0.875191282358429,0.875191282358429,0.875191282358429,1.,1.,1., 4523P 6577
+1.,1.,215.445852159196,-179.516224760089,-8.5,216.769000336918, 4523P 6578
+-180.1395665842,-8.5,219.45257152887,-181.403810597143,-8.5, 4523P 6579
+221.213376913017,-183.793211270963,-8.5,222.106008409196, 4523P 6580
+-185.004506010089,-8.5,0.,0.875191282358429,0.,0.,0.; 4523P 6581
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.793418719026967,1.34714989356346, 4525P 6582
+1.34714989356346,1.34714989356346,1.34714989356346,1.,1.,1.,1., 4525P 6583
+1.,202.106008409196,-177.973256010089,-7.5,204.763886597037, 4525P 6584
+-177.976937713112,-7.5,209.276712211041,-177.983188896397,-7.5, 4525P 6585
+213.648767024992,-179.069647768159,-7.5,215.445852159196, 4525P 6586
+-179.516224760089,-7.5,0.,1.34714989356346,0.,0.,0.; 4525P 6587
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,202.106008409196, 4527P 6588
+-177.973256010089,-7.5,202.106008409196,-177.973256010089,-8.5, 4527P 6589
+0.,0.1,0.,0.,0.; 4527P 6590
+126,4,3,0,0,1,0,0.,0.,0.,0.,0.793418719026967,1.34714989356346, 4529P 6591
+1.34714989356346,1.34714989356346,1.34714989356346,1.,1.,1.,1., 4529P 6592
+1.,202.106008409196,-177.973256010089,-8.5,204.763886597037, 4529P 6593
+-177.976937713112,-8.5,209.276712211041,-177.983188896397,-8.5, 4529P 6594
+213.648767024992,-179.069647768159,-8.5,215.445852159196, 4529P 6595
+-179.516224760089,-8.5,0.,1.34714989356346,0.,0.,0.; 4529P 6596
+126,1,1,0,0,1,0,-1.12061908669187,-1.12061908669187, 4531P 6597
+1.31297466330813,1.31297466330813,1.,1.,177.770070909196, 4531P 6598
+-177.973256010089,-7.5,202.106008409196,-177.973256010089,-7.5, 4531P 6599
+-1.12061908669187,1.31297466330813,0.,0.,0.; 4531P 6600
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,177.770070909196, 4533P 6601
+-177.973256010089,-7.5,177.770070909196,-177.973256010089,-8.5, 4533P 6602
+0.,0.1,0.,0.,0.; 4533P 6603
+126,1,1,0,0,1,0,0.,0.,2.43359375,2.43359375,1.,1., 4535P 6604
+177.770070909196,-177.973256010089,-8.5,202.106008409196, 4535P 6605
+-177.973256010089,-8.5,0.,2.43359375,0.,0.,0.; 4535P 6606
+126,1,1,0,0,1,0,-1.42952596397102,-1.42952596397102, 4537P 6607
+4.29703653602898,4.29703653602898,1.,1.,177.770070909196, 4537P 6608
+-235.238881010089,-7.5,177.770070909196,-177.973256010089,-7.5, 4537P 6609
+-1.42952596397102,4.29703653602898,0.,0.,0.; 4537P 6610
+126,1,1,0,0,1,0,0.,0.,0.1,0.1,1.,1.,177.770070909196, 4539P 6611
+-235.238881010089,-7.5,177.770070909196,-235.238881010089,-8.5, 4539P 6612
+0.,0.1,0.,0.,0.; 4539P 6613
+126,1,1,0,0,1,0,0.,0.,5.7265625,5.7265625,1.,1., 4541P 6614
+177.770070909196,-235.238881010089,-8.5,177.770070909196, 4541P 6615
+-177.973256010089,-8.5,0.,5.7265625,0.,0.,0.; 4541P 6616
+126,1,1,0,0,1,0,0.542494086691871,0.542494086691871, 4543P 6617
+1.69874408669187,1.69874408669187,1.,1.,189.332570909196, 4543P 6618
+-235.238881010089,-7.5,177.770070909196,-235.238881010089,-7.5, 4543P 6619
+0.542494086691871,1.69874408669187,0.,0.,0.; 4543P 6620
+126,1,1,0,0,1,0,0.,0.,1.15625,1.15625,1.,1.,189.332570909196, 4545P 6621
+-235.238881010089,-8.5,177.770070909196,-235.238881010089,-8.5, 4545P 6622
+0.,1.15625,0.,0.,0.; 4545P 6623
+126,1,1,0,0,1,0,-7.99046868143113,-7.99046868143113, 4547P 6624
+-0.229270143011589,-0.229270143011589,1.,1.,256.765901357746, 4547P 6625
+-167.842369071796,-7.5,256.765898784737,-245.454354455992,-7.5, 4547P 6626
+-7.99046868143113,-0.229270143011589,0.,0.,0.; 4547P 6627
+126,2,2,0,0,0,0,-3.14159259057679,-3.14159259057679, 4549P 6628
+-3.14159259057679,-1.98287834194696,-1.98287834194696, 4549P 6629
+-1.98287834194696,0.999999677363267,0.836814636061334,1., 4549P 6630
+258.265901433755,-165.549667575233,-7.5,258.265901433755, 4549P 6631
+-167.18670588825,-7.5,256.765901357746,-167.842369071796,-7.5, 4549P 6632
+-3.14159259057679,-1.98287834194696,0.,0.,0.; 4549P 6633
+126,4,2,0,0,0,0,0.412082048305129,0.412082048305129, 4551P 6634
+0.412082048305129,1.77683680972467,1.77683680972467, 4551P 6635
+3.14159157114422,3.14159157114422,3.14159157114422,1., 4551P 6636
+0.776075642357549,1.,0.776075642357572,1.,253.471039970417, 4551P 6637
+-164.547507575232,-7.5,254.285396173926,-162.684456106938,-7.5, 4551P 6638
+256.275647703394,-163.100431646069,-7.5,258.265899232863, 4551P 6639
+-163.516407185201,-7.5,258.265901433754,-165.54966486678,-7.5, 4551P 6640
+0.412082048305129,3.14159157114422,0.,0.,0.; 4551P 6641
+126,1,1,0,0,1,0,-1.7983076682195,-1.7983076682195, 4553P 6642
+-0.229270146333917,-0.229270146333917,1.,1.,237.780664751561, 4553P 6643
+-164.547507575232,-7.5,253.471039970417,-164.547507575232,-7.5, 4553P 6644
+-1.7983076682195,-0.229270146333917,0.,0.,0.; 4553P 6645
+126,1,1,0,0,1,0,-1.87991060542639,-1.87991060542639, 4555P 6646
+-0.177112355490372,-0.177112355490372,1.,1.,237.780664751561, 4555P 6647
+-164.547507575232,-7.5,220.752682252201,-164.547507575232,-7.5, 4555P 6648
+-1.87991060542639,-0.177112355490372,0.,0.,0.; 4555P 6649
+126,1,1,0,0,1,0,-2.45504270777187,-2.45504270777187, 4557P 6650
+-1.75504270777187,-1.75504270777187,1.,1.,213.600041714311, 4557P 6651
+-164.547507575232,-7.5,213.600041714311,-171.547507575232,-7.5, 4557P 6652
+-2.45504270777187,-1.75504270777187,0.,0.,0.; 4557P 6653
+126,1,1,0,0,1,0,-1.67087945356388,-1.67087945356388, 4559P 6654
+0.329120546436124,0.329120546436124,1.,1.,213.600041714311, 4559P 6655
+-171.547507575232,-7.5,193.600041714311,-171.547507575231,-7.5, 4559P 6656
+-1.67087945356388,0.329120546436124,0.,0.,0.; 4559P 6657
+126,1,1,0,0,1,0,1.40504270777187,1.40504270777187, 4561P 6658
+2.10504270777187,2.10504270777187,1.,1.,193.600041714311, 4561P 6659
+-171.547507575231,-7.5,193.600041714311,-164.547507575232,-7.5, 4561P 6660
+1.40504270777187,2.10504270777187,0.,0.,0.; 4561P 6661
+126,1,1,0,0,1,0,-8.61515214233563,-8.61515214233563, 4563P 6662
+-6.21636997194452,-6.21636997194452,1.,1.,169.612220010399, 4563P 6663
+-164.547507575232,-7.5,193.600041714311,-164.547507575232,-7.5, 4563P 6664
+-8.61515214233563,-6.21636997194452,0.,0.,0.; 4563P 6665
+126,1,1,0,0,1,0,2.12851163163167,2.12851163163167, 4565P 6666
+3.5313098815677,3.5313098815677,1.,1.,169.612220010399, 4565P 6667
+-164.547507575232,-7.5,155.584237511039,-164.547507575232,-7.5, 4565P 6668
+2.12851163163167,3.5313098815677,0.,0.,0.; 4565P 6669
+126,4,2,0,0,0,0,-6.25390749790614,-6.25390749790614, 4567P 6670
+-6.25390749790614,-4.9037910999005,-4.9037910999005, 4567P 6671
+-3.55367470189486,-3.55367470189486,-3.55367470189486,1., 4567P 6672
+0.78067058140956,1.,0.780670581409572,1.,142.100041714311, 4567P 6673
+-165.476420277504,-7.5,142.158677672821,-163.474248497833,-7.5, 4567P 6674
+144.125129478152,-163.093200852189,-7.5,146.091581283483, 4567P 6675
+-162.712153206546,-7.5,146.893830840843,-164.547507575232,-7.5, 4567P 6676
+-6.25390749790614,-3.55367470189486,0.,0.,0.; 4567P 6677
+126,1,1,0,0,1,0,2.18487010842909,2.18487010842909, 4569P 6678
+2.19951956797476,2.19951956797476,1.,1.,142.100041714311, 4569P 6679
+-165.622914872961,-7.5,142.100041714311,-165.476420277504,-7.5, 4569P 6680
+2.18487010842909,2.19951956797476,0.,0.,0.; 4569P 6681
+126,2,2,0,0,0,0,-1.15918194829754,-1.15918194829754, 4571P 6682
+-1.15918194829754,-0.0292778092733589,-0.0292778092733589, 4571P 6683
+-0.0292778092733589,1.,0.844614262194479,1.,143.600041714311, 4571P 6684
+-167.842837467805,-7.5,142.146470952165,-167.208278396419,-7.5, 4571P 6685
+142.100041714311,-165.622914872961,-7.5,-1.15918194829754, 4571P 6686
+-0.0292778092733589,0.,0.,0.; 4571P 6687
+126,1,1,0,0,1,0,-2.19683051976291,-2.19683051976291, 4573P 6688
+-0.233951809861228,-0.233951809861228,1.,1.,143.600041714311, 4573P 6689
+-187.471624566822,-7.5,143.600041714311,-167.842837467805,-7.5, 4573P 6690
+-2.19683051976291,-0.233951809861228,0.,0.,0.; 4573P 6691
+126,1,1,0,0,1,0,-5.79827126090288,-5.79827126090288,0.,0.,1.,1., 4575P 6692
+143.599043329707,-245.454337167255,-7.5,143.600041714311, 4575P 6693
+-187.471624566822,-7.5,-5.79827126090288,0.,0.,0.,0.; 4575P 6694
+126,6,2,0,0,0,0,-9.01269591246431,-9.01269591246431, 4577P 6695
+-9.01269591246431,-7.71661521165286,-7.71661521165286, 4577P 6696
+-6.42053451084141,-6.42053451084141,-5.12445381002996, 4577P 6697
+-5.12445381002996,-5.12445381002996,1.,0.797268222513902,1., 4577P 6698
+0.797268222513893,1.,0.797268222513928,1.,146.893865315652, 4577P 6699
+-248.749215886107,-7.5,146.13511310057,-250.485058779287,-7.5, 4577P 6700
+144.2585310156,-250.22564568775,-7.5,142.381948930629, 4577P 6701
+-249.966232596213,-7.5,142.122568151359,-248.089646044774,-7.5, 4577P 6702
+141.863187372088,-246.213059493336,-7.5,143.599043329707, 4577P 6703
+-245.454337167255,-7.5,-9.01269591246431,-5.12445381002996,0., 4577P 6704
+0.,0.; 4577P 6705
+126,1,1,0,0,1,0,-10.8869873393078,-10.8869873393078, 4579P 6706
+-0.22927014633397,-0.22927014633397,1.,1.,253.47103724539, 4579P 6707
+-248.749215886107,-7.5,146.893865315652,-248.749215886107,-7.5, 4579P 6708
+-10.8869873393078,-0.22927014633397,0.,0.,0.; 4579P 6709
+126,6,2,0,0,0,0,-4.30030689892742,-4.30030689892742, 4581P 6710
+-4.30030689892742,-3.00423194871996,-3.00423194871996, 4581P 6711
+-1.7081569985125,-1.7081569985125,-0.412082048305046, 4581P 6712
+-0.412082048305046,-0.412082048305046,1.,0.79726995811531,1., 4581P 6713
+0.797269958115373,1.,0.797269958115304,1.,256.765898784737, 4581P 6714
+-245.454354455992,-7.5,258.501731281752,-246.213102195359,-7.5, 4581P 6715
+258.242330469318,-248.089674551596,-7.5,257.982929656885, 4581P 6716
+-249.966246907834,-7.5,256.106357292048,-250.225647658055,-7.5, 4581P 6717
+254.22978492721,-250.485048408276,-7.5,253.47103724539, 4581P 6718
+-248.749215886107,-7.5,-4.30030689892742,-0.412082048305046,0., 4581P 6719
+0.,0.; 4581P 6720
+126,6,2,0,0,0,0,3.13925814735297,3.13925814735297, 4583P 6721
+3.13925814735297,4.1872070362588,4.1872070362588, 4583P 6722
+5.23515592516463,5.23515592516463,6.28310481407046, 4583P 6723
+6.28310481407046,6.28310481407046,1.,0.865837508251611,1., 4583P 6724
+0.865837508251546,1.,0.865837508251788,1.,242.35733990852, 4583P 6725
+-172.121201750437,-7.5,242.358316855497,-172.988052565356,-7.5, 4583P 6726
+241.607764429229,-173.421760237843,-7.5,240.857212002962, 4583P 6727
+-173.85546791033,-7.5,240.10665957669,-173.421760237851,-7.5, 4583P 6728
+239.356107150418,-172.988052565371,-7.5,239.357084097385, 4583P 6729
+-172.121201750453,-7.5,3.13925814735297,6.28310481407046,0.,0., 4583P 6730
+0.; 4583P 6731
+126,6,2,0,0,0,0,3.13925814731996,3.13925814731996, 4585P 6732
+3.13925814731996,4.1872070362402,4.1872070362402, 4585P 6733
+5.23515592516045,5.23515592516045,6.28310481408069, 4585P 6734
+6.28310481408069,6.28310481408069,1.,0.865837508248116,1., 4585P 6735
+0.865837508248067,1.,0.865837508248292,1.,239.357084097385, 4585P 6736
+-172.121201750453,-7.5,239.35610715039,-171.25435093552,-7.5, 4585P 6737
+240.106659576667,-170.82064326302,-7.5,240.857212002944, 4585P 6738
+-170.38693559052,-7.5,241.607764429225,-170.820643263012,-7.5, 4585P 6739
+242.358316855506,-171.254350935504,-7.5,242.35733990852, 4585P 6740
+-172.121201750437,-7.5,3.13925814731996,6.28310481408069,0.,0., 4585P 6741
+0.; 4585P 6742
+126,6,2,0,0,0,0,3.13925814734168,3.13925814734168, 4587P 6743
+3.13925814734168,4.18720703625123,4.18720703625123, 4587P 6744
+5.23515592516079,5.23515592516079,6.28310481407034, 4587P 6745
+6.28310481407034,6.28310481407034,1.,0.865837508250857,1., 4587P 6746
+0.865837508250855,1.,0.865837508250881,1.,163.58288415273, 4587P 6747
+-190.598023114196,-7.5,163.583861099711,-191.464873929118,-7.5, 4587P 6748
+162.833308673442,-191.898581601608,-7.5,162.082756247172, 4587P 6749
+-192.332289274099,-7.5,161.332203820897,-191.898581601616,-7.5, 4587P 6750
+160.581651394623,-191.464873929134,-7.5,160.582628341595, 4587P 6751
+-190.598023114212,-7.5,3.13925814734168,6.28310481407034,0.,0., 4587P 6752
+0.; 4587P 6753
+126,6,2,0,0,0,0,3.13925814733116,3.13925814733116, 4589P 6754
+3.13925814733116,4.18720703624771,4.18720703624771, 4589P 6755
+5.23515592516426,5.23515592516426,6.28310481408081, 4589P 6756
+6.28310481408081,6.28310481408081,1.,0.865837508248909,1., 4589P 6757
+0.865837508248987,1.,0.86583750824897,1.,160.582628341595, 4589P 6758
+-190.598023114212,-7.5,160.581651394605,-189.731172299282,-7.5, 4589P 6759
+161.332203820879,-189.297464626786,-7.5,162.082756247154, 4589P 6760
+-188.863756954289,-7.5,162.833308673433,-189.297464626778,-7.5, 4589P 6761
+163.583861099712,-189.731172299267,-7.5,163.58288415273, 4589P 6762
+-190.598023114196,-7.5,3.13925814733116,6.28310481408081,0.,0., 4589P 6763
+0.; 4589P 6764
+126,6,2,0,0,0,0,3.13866619559787,3.13866619559787, 4591P 6765
+3.13866619559787,4.18680559832114,4.18680559832114, 4591P 6766
+5.2349450010444,5.2349450010444,6.28308440376766, 4591P 6767
+6.28308440376766,6.28308440376766,1.,0.865789844881696,1., 4591P 6768
+0.865789844881894,1.,0.865789844881696,1.,239.784272290707, 4591P 6769
+-228.698656211057,-7.5,239.785497227975,-229.565697649234,-7.5, 4591P 6770
+239.034820806557,-229.999572361928,-7.5,238.284144385139, 4591P 6771
+-230.433447074621,-7.5,237.533467963721,-229.999572361928,-7.5, 4591P 6772
+236.782791542303,-229.565697649234,-7.5,236.784016479572, 4591P 6773
+-228.698656211057,-7.5,3.13866619559787,6.28308440376766,0.,0., 4591P 6774
+0.; 4591P 6775
+126,6,2,0,0,0,0,3.13866619557958,3.13866619557958, 4593P 6776
+3.13866619557958,4.18680559830898,4.18680559830898, 4593P 6777
+5.23494500103838,5.23494500103838,6.28308440376778, 4593P 6778
+6.28308440376778,6.28308440376778,1.,0.865789844880162,1., 4593P 6779
+0.865789844880317,1.,0.865789844880162,1.,236.784016479572, 4593P 6780
+-228.698656211057,-7.5,236.782791542295,-227.831614772873,-7.5, 4593P 6781
+237.533467963717,-227.397740060174,-7.5,238.284144385139, 4593P 6782
+-226.963865347475,-7.5,239.034820806561,-227.397740060174,-7.5, 4593P 6783
+239.785497227983,-227.831614772873,-7.5,239.784272290707, 4593P 6784
+-228.698656211057,-7.5,3.13866619557958,6.28308440376778,0.,0., 4593P 6785
+0.; 4593P 6786
+126,6,2,0,0,0,0,3.13925814734168,3.13925814734168, 4595P 6787
+3.13925814734168,4.18720703625123,4.18720703625123, 4595P 6788
+5.23515592516079,5.23515592516079,6.28310481407034, 4595P 6789
+6.28310481407034,6.28310481407034,1.,0.865837508250857,1., 4595P 6790
+0.865837508250855,1.,0.865837508250881,1.,163.58288415273, 4595P 6791
+-228.69865621105,-7.5,163.583861099711,-229.565507025972,-7.5, 4595P 6792
+162.833308673442,-229.999214698462,-7.5,162.082756247172, 4595P 6793
+-230.432922370953,-7.5,161.332203820897,-229.99921469847,-7.5, 4595P 6794
+160.581651394623,-229.565507025988,-7.5,160.582628341595, 4595P 6795
+-228.698656211065,-7.5,3.13925814734168,6.28310481407034,0.,0., 4595P 6796
+0.; 4595P 6797
+126,6,2,0,0,0,0,3.13925814733116,3.13925814733116, 4597P 6798
+3.13925814733116,4.18720703624771,4.18720703624771, 4597P 6799
+5.23515592516426,5.23515592516426,6.28310481408081, 4597P 6800
+6.28310481408081,6.28310481408081,1.,0.865837508248909,1., 4597P 6801
+0.865837508248987,1.,0.86583750824897,1.,160.582628341595, 4597P 6802
+-228.698656211065,-7.5,160.581651394605,-227.831805396136,-7.5, 4597P 6803
+161.332203820879,-227.39809772364,-7.5,162.082756247154, 4597P 6804
+-226.964390051143,-7.5,162.833308673433,-227.398097723632,-7.5, 4597P 6805
+163.583861099712,-227.83180539612,-7.5,163.58288415273, 4597P 6806
+-228.69865621105,-7.5,3.13925814733116,6.28310481408081,0.,0., 4597P 6807
+0.; 4597P 6808
+126,6,2,0,0,0,0,3.13917765424295,3.13917765424295, 4599P 6809
+3.13917765424295,4.18718020522184,4.18718020522184, 4599P 6810
+5.23518275620074,5.23518275620074,6.28318530717964, 4599P 6811
+6.28318530717964,6.28318530717964,1.,0.865824083693605,1., 4599P 6812
+0.865824083693601,1.,0.865824083693706,1.,239.68226259674, 4599P 6813
+-190.598023114196,-7.50000000000001,239.683239604231, 4599P 6814
+-191.407138874521,-7.50000000000001,238.982687181724, 4599P 6815
+-191.811979054677,-7.50000000000001,238.282134759216, 4599P 6816
+-192.216819234834,-7.50000000000001,237.581582336708, 4599P 6817
+-191.811979054677,-7.50000000000001,236.8810299142, 4599P 6818
+-191.407138874521,-7.50000000000001,236.882006921691, 4599P 6819
+-190.598023114196,-7.50000000000001,3.13917765424295, 4599P 6820
+6.28318530717964,0.,0.,0.; 4599P 6821
+126,6,2,0,0,0,0,3.13917765424305,3.13917765424305, 4601P 6822
+3.13917765424305,4.1871802052219,4.1871802052219, 4601P 6823
+5.23518275620074,5.23518275620074,6.28318530717959, 4601P 6824
+6.28318530717959,6.28318530717959,1.,0.865824083693657,1., 4601P 6825
+0.865824083693437,1.,0.865824083693493,1.,236.882006921691, 4601P 6826
+-190.598023114196,-7.50000000000001,236.8810299142, 4601P 6827
+-189.78890735387,-7.50000000000001,237.581582336708, 4601P 6828
+-189.384067173714,-7.50000000000001,238.282134759216, 4601P 6829
+-188.979226993558,-7.50000000000001,238.982687181724, 4601P 6830
+-189.384067173714,-7.50000000000001,239.683239604231, 4601P 6831
+-189.78890735387,-7.50000000000001,239.68226259674, 4601P 6832
+-190.598023114196,-7.50000000000001,3.13917765424305, 4601P 6833
+6.28318530717959,0.,0.,0.; 4601P 6834
+126,6,2,0,0,0,0,3.13917765425437,3.13917765425437, 4603P 6835
+3.13917765425437,4.18718020522943,4.18718020522943, 4603P 6836
+5.2351827562045,5.2351827562045,6.28318530717956, 4603P 6837
+6.28318530717956,6.28318530717956,1.,0.865824083694451,1., 4603P 6838
+0.865824083694691,1.,0.865824083694492,1.,160.90780684095, 4603P 6839
+-172.121201750437,-7.5,160.908783848437,-172.930317510758,-7.5, 4603P 6840
+160.208231425931,-173.335157690912,-7.5,159.507679003426, 4603P 6841
+-173.739997871065,-7.5,158.80712658092,-173.335157690912,-7.5, 4603P 6842
+158.106574158415,-172.930317510759,-7.5,158.107551165901, 4603P 6843
+-172.121201750437,-7.5,3.13917765425437,6.28318530717956,0.,0., 4603P 6844
+0.; 4603P 6845
+126,6,2,0,0,0,0,3.13917765423161,3.13917765423161, 4605P 6846
+3.13917765423161,4.18718020521427,4.18718020521427, 4605P 6847
+5.23518275619693,5.23518275619693,6.28318530717959, 4605P 6848
+6.28318530717959,6.28318530717959,1.,0.865824083692486,1., 4605P 6849
+0.865824083692489,1.,0.865824083692465,1.,158.107551165901, 4605P 6850
+-172.121201750437,-7.5,158.106574158405,-171.312085990108,-7.5, 4605P 6851
+158.807126580916,-170.907245809948,-7.5,159.507679003426, 4605P 6852
+-170.502405629789,-7.5,160.208231425936,-170.907245809948,-7.5, 4605P 6853
+160.908783848446,-171.312085990108,-7.5,160.90780684095, 4605P 6854
+-172.121201750437,-7.5,3.13917765423161,6.28318530717959,0.,0., 4605P 6855
+0.; 4605P 6856
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 4607P 6857
+158.107551165901,-172.121201750437,-7.5,158.107551165901, 4607P 6858
+-172.121201750437,-11.6,1.623625,2.033625,0.,0.,0.; 4607P 6859
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 4609P 6860
+160.90780684095,-172.121201750437,-7.5,160.90780684095, 4609P 6861
+-172.121201750437,-11.6,1.623625,2.033625,0.,0.,0.; 4609P 6862
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 4611P 6863
+236.882006921691,-190.598023114196,-7.5,236.882006921691, 4611P 6864
+-190.598023114196,-11.6,1.623625,2.033625,0.,0.,0.; 4611P 6865
+126,1,1,0,0,1,0,1.623625,1.623625,2.033625,2.033625,1.,1., 4613P 6866
+239.68226259674,-190.598023114196,-7.5,239.68226259674, 4613P 6867
+-190.598023114196,-11.6,1.623625,2.033625,0.,0.,0.; 4613P 6868
+126,2,2,0,0,0,0,-1.15918194829754,-1.15918194829754, 4615P 6869
+-1.15918194829754,-0.0292778092733589,-0.0292778092733589, 4615P 6870
+-0.0292778092733589,1.,0.84461426219442,1.,143.600041714311, 4615P 6871
+-167.842837467805,5.5,142.146470952165,-167.208278396419,5.5, 4615P 6872
+142.100041714311,-165.622914872961,5.5,-1.15918194829754, 4615P 6873
+-0.0292778092733589,0.,0.,0.; 4615P 6874
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,143.600041714311, 4617P 6875
+-167.842837467805,-7.5,143.600041714311,-167.842837467805,5.5, 4617P 6876
+-1.5,-0.2,0.,0.,0.; 4617P 6877
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,142.100041714311, 4619P 6878
+-165.622914872961,5.5,142.100041714311,-165.622914872961,-7.5, 4619P 6879
+0.2,1.5,0.,0.,0.; 4619P 6880
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,253.47103724539, 4621P 6881
+-248.749215886107,5.5,253.47103724539,-248.749215886107,-7.5, 4621P 6882
+0.2,1.5,0.,0.,0.; 4621P 6883
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,146.893865315652, 4623P 6884
+-248.749215886107,-7.5,146.893865315652,-248.749215886107,5.5, 4623P 6885
+-1.5,-0.2,0.,0.,0.; 4623P 6886
+126,1,1,0,0,1,0,-8.10792303602294,-8.10792303602294, 4625P 6887
+2.54979415695085,2.54979415695085,1.,1.,146.893865315652, 4625P 6888
+-248.749215886107,5.5,253.47103724539,-248.749215886107,5.5, 4625P 6889
+-8.10792303602294,2.54979415695085,0.,0.,0.; 4625P 6890
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,143.599043329707, 4627P 6891
+-245.454337167255,5.5,143.599043329707,-245.454337167255,-7.5, 4627P 6892
+0.2,1.5,0.,0.,0.; 4627P 6893
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,143.600041714311, 4629P 6894
+-187.471624566822,5.5,143.600041714311,-187.471624566822,-7.5, 4629P 6895
+0.2,1.5,0.,0.,0.; 4629P 6896
+126,1,1,0,0,1,0,-3.97255884800442,-3.97255884800442, 4631P 6897
+1.82571241289845,1.82571241289845,1.,1.,143.600041714311, 4631P 6898
+-187.471624566822,5.5,143.599043329707,-245.454337167255,5.5, 4631P 6899
+-3.97255884800442,1.82571241289845,0.,0.,0.; 4631P 6900
+126,2,2,0,0,0,0,1.5707963267949,1.5707963267949,1.5707963267949, 4633P 6901
+2.72951060528473,2.72951060528473,2.72951060528473,1., 4633P 6902
+0.836814780130264,1.,144.601129377503,-163.047507575232,5.5, 4633P 6903
+146.23816763129,-163.047507575232,5.5,146.893830840843, 4633P 6904
+-164.547507575232,5.5,1.5707963267949,2.72951060528473,0.,0.,0.; 4633P 6905
+126,2,2,0,0,0,0,1.72186597884763D-5,1.72186597884763D-5, 4635P 6906
+1.72186597884763D-5,1.15873149714963,1.15873149714963, 4635P 6907
+1.15873149714963,1.,0.836814780130337,1.,142.099003852683, 4635P 6908
+-247.747012802266,5.5,142.099032040288,-246.109974548721,5.5, 4635P 6909
+143.599043329707,-245.454337167255,5.5,1.72186597884763D-5, 4635P 6910
+1.15873149714963,0.,0.,0.; 4635P 6911
+126,1,1,0,0,1,0,-2.92171556809407,-2.92171556809407, 4637P 6912
+-0.958836858192392,-0.958836858192392,1.,1.,143.600041714311, 4637P 6913
+-167.842837467805,5.5,143.600041714311,-187.471624566822,5.5, 4637P 6914
+-2.92171556809407,-0.958836858192392,0.,0.,0.; 4637P 6915
+126,1,1,0,0,1,0,0.958837288670924,0.958837288670924, 4639P 6916
+3.14370739710002,3.14370739710002,1.,1.,142.100041714311, 4639P 6917
+-187.471615957251,5.5,142.100041714311,-165.622914872961,5.5, 4639P 6918
+0.958837288670924,3.14370739710002,0.,0.,0.; 4639P 6919
+126,1,1,0,0,1,0,-2.054982559236,-2.054982559236, 4641P 6920
+3.97255712615894,3.97255712615894,1.,1.,142.099003852683, 4641P 6921
+-247.747012802266,5.5,142.100041714311,-187.471615957251,5.5, 4641P 6922
+-2.054982559236,3.97255712615894,0.,0.,0.; 4641P 6923
+126,2,2,0,0,0,0,-1.5707963267949,-1.5707963267949, 4643P 6924
+-1.5707963267949,-0.412082048305059,-0.412082048305059, 4643P 6925
+-0.412082048305059,1.,0.836814780130349,1.,255.763738708729, 4643P 6926
+-250.249215886107,5.5,254.126700454943,-250.249215886107,5.5, 4643P 6927
+253.47103724539,-248.749215886107,5.5,-1.5707963267949, 4643P 6928
+-0.412082048305059,0.,0.,0.; 4643P 6929
+126,2,2,0,0,0,0,-2.72951060528471,-2.72951060528471, 4645P 6930
+-2.72951060528471,-1.5707963267949,-1.5707963267949, 4645P 6931
+-1.5707963267949,1.,0.83681478013024,1.,146.893865315652, 4645P 6932
+-248.749215886107,5.5,146.238202106099,-250.249215886107,5.5, 4645P 6933
+144.601163852312,-250.249215886107,5.5,-2.72951060528471, 4645P 6934
+-1.5707963267949,0.,0.,0.; 4645P 6935
+126,1,1,0,0,1,0,-2.77906430328482,-2.77906430328482, 4647P 6936
+8.33719318235691,8.33719318235691,1.,1.,255.763738708729, 4647P 6937
+-250.249215886107,5.5,144.601163852312,-250.249215886107,5.5, 4647P 6938
+-2.77906430328482,8.33719318235691,0.,0.,0.; 4647P 6939
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,253.471039970417, 4649P 6940
+-164.547507575232,-7.5,253.471039970417,-164.547507575232,5.5, 4649P 6941
+-1.5,-0.2,0.,0.,0.; 4649P 6942
+126,1,1,0,0,1,0,-8.10792489601484,-8.10792489601484, 4651P 6943
+-6.53888737412926,-6.53888737412926,1.,1.,253.471039970417, 4651P 6944
+-164.547507575232,5.5,237.780664751561,-164.547507575232,5.5, 4651P 6945
+-8.10792489601484,-6.53888737412926,0.,0.,0.; 4651P 6946
+126,1,1,0,0,1,0,-0.2,-0.2,1.1,1.1,1.,1.,237.780664751561, 4653P 6947
+-164.547507575232,5.5,237.780664751561,-164.547507575232,-7.5, 4653P 6948
+-0.2,1.1,0.,0.,0.; 4653P 6949
+126,2,2,0,0,0,0,1.98287840825217,1.98287840825217, 4655P 6950
+1.98287840825217,3.14159265358978,3.14159265358978, 4655P 6951
+3.14159265358978,1.,0.836814789205546,1.,256.765898784737, 4655P 6952
+-245.454354455992,5.5,258.265898708729,-246.11001769155,5.5, 4655P 6953
+258.265898708729,-247.747055886107,5.5,1.98287840825217, 4655P 6954
+3.14159265358978,0.,0.,0.; 4655P 6955
+126,1,1,0,0,1,0,-2.05493493947419,-2.05493493947419, 4657P 6956
+6.16480416245852,6.16480416245852,1.,1.,258.265901433754, 4657P 6957
+-165.54966486678,5.5,258.265898708729,-247.747055886107,5.5, 4657P 6958
+-2.05493493947419,6.16480416245852,0.,0.,0.; 4657P 6959
+126,2,2,0,0,0,0,-3.14159373603537,-3.14159373603537, 4659P 6960
+-3.14159373603537,-1.98287834194696,-1.98287834194696, 4659P 6961
+-1.98287834194696,1.,0.836814474742808,1.,258.265901433754, 4659P 6962
+-165.54966486678,5.5,258.265903205761,-167.186705113691,5.5, 4659P 6963
+256.765901357746,-167.842369071796,5.5,-3.14159373603537, 4659P 6964
+-1.98287834194696,0.,0.,0.; 4659P 6965
+126,1,1,0,0,1,0,-5.93553402441977,-5.93553402441977, 4661P 6966
+1.82566451399977,1.82566451399977,1.,1.,256.765898784737, 4661P 6967
+-245.454354455992,5.5,256.765901357746,-167.842369071796,5.5, 4661P 6968
+-5.93553402441977,1.82566451399977,0.,0.,0.; 4661P 6969
+126,2,2,0,0,0,0,0.412082048305129,0.412082048305129, 4663P 6970
+0.412082048305129,1.57079632679488,1.57079632679488, 4663P 6971
+1.57079632679488,1.,0.836814780130332,1.,253.471039970417, 4663P 6972
+-164.547507575232,5.5,254.126703179969,-163.047507575233,5.5, 4663P 6973
+255.763741433756,-163.047507575233,5.5,0.412082048305129, 4663P 6974
+1.57079632679488,0.,0.,0.; 4663P 6975
+126,1,1,0,0,1,0,-2.25504270777187,-2.25504270777187, 4665P 6976
+-2.10504270777188,-2.10504270777188,1.,1.,237.780664751561, 4665P 6977
+-163.047507575232,5.5,237.780664751561,-164.547507575232,5.5, 4665P 6978
+-2.25504270777187,-2.10504270777188,0.,0.,0.; 4665P 6979
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,160.582628341595, 4667P 6980
+-228.698656211065,-7.5,160.582628341595,-228.698656211065,-11.6, 4667P 6981
+1.5,1.91,0.,0.,0.; 4667P 6982
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,163.58288415273, 4669P 6983
+-228.69865621105,-7.5,163.58288415273,-228.69865621105,-11.6, 4669P 6984
+1.5,1.91,0.,0.,0.; 4669P 6985
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,236.784016479572, 4671P 6986
+-228.698656211057,-7.5,236.784016479572,-228.698656211057,-11.6, 4671P 6987
+1.5,1.91,0.,0.,0.; 4671P 6988
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,239.784272290707, 4673P 6989
+-228.698656211057,-7.5,239.784272290707,-228.698656211057,-11.6, 4673P 6990
+1.5,1.91,0.,0.,0.; 4673P 6991
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,160.582628341595, 4675P 6992
+-190.598023114212,-7.5,160.582628341595,-190.598023114212,-11.6, 4675P 6993
+1.5,1.91,0.,0.,0.; 4675P 6994
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,163.58288415273, 4677P 6995
+-190.598023114196,-7.5,163.58288415273,-190.598023114196,-11.6, 4677P 6996
+1.5,1.91,0.,0.,0.; 4677P 6997
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,239.357084097385, 4679P 6998
+-172.121201750453,-7.5,239.357084097385,-172.121201750453,-11.6, 4679P 6999
+1.5,1.91,0.,0.,0.; 4679P 7000
+126,1,1,0,0,1,0,1.5,1.5,1.91,1.91,1.,1.,242.35733990852, 4681P 7001
+-172.121201750437,-7.5,242.35733990852,-172.121201750437,-11.6, 4681P 7002
+1.5,1.91,0.,0.,0.; 4681P 7003
+126,1,1,0,0,1,0,0.8,0.8,1.21,1.21,1.,1.,237.780664751561, 4683P 7004
+-164.547507575232,-7.5,237.780664751561,-164.547507575232,-11.6, 4683P 7005
+0.8,1.21,0.,0.,0.; 4683P 7006
+126,1,1,0,0,1,0,0.0749999999999993,0.0749999999999993, 4685P 7007
+0.724999999999998,0.724999999999998,1.,1.,237.780664751561, 4685P 7008
+-163.047507575232,1.5,237.780664751561,-156.547507575232,1.5, 4685P 7009
+0.0749999999999993,0.724999999999998,0.,0.,0.; 4685P 7010
+126,1,1,0,0,1,0,0.8,0.8,1.21,1.21,1.,1.,169.612220010399, 4687P 7011
+-164.547507575232,-7.5,169.612220010399,-164.547507575232,-11.6, 4687P 7012
+0.8,1.21,0.,0.,0.; 4687P 7013
+126,1,1,0,0,1,0,-0.2,-0.2,1.1,1.1,1.,1.,169.612220010399, 4689P 7014
+-164.547507575232,5.5,169.612220010399,-164.547507575232,-7.5, 4689P 7015
+-0.2,1.1,0.,0.,0.; 4689P 7016
+126,1,1,0,0,1,0,0.0749999999999993,0.0749999999999993, 4691P 7017
+0.724999999999998,0.724999999999998,1.,1.,169.612220010399, 4691P 7018
+-163.047507575232,1.5,169.612220010399,-156.547507575232,1.5, 4691P 7019
+0.0749999999999993,0.724999999999998,0.,0.,0.; 4691P 7020
+126,1,1,0,0,1,0,-0.75,-0.75,0.55,0.55,1.,1.,193.600041714311, 4693P 7021
+-164.547507575232,-7.5,193.600041714311,-164.547507575232,5.5, 4693P 7022
+-0.75,0.55,0.,0.,0.; 4693P 7023
+126,1,1,0,0,1,0,0.,0.,1.3,1.3,1.,1.,213.600041714311, 4695P 7024
+-171.547507575232,-7.5,213.600041714311,-171.547507575232,5.5, 4695P 7025
+0.,1.3,0.,0.,0.; 4695P 7026
+126,1,1,0,0,1,0,0.,0.,1.3,1.3,1.,1.,193.600041714311, 4697P 7027
+-171.547507575231,-7.5,193.600041714311,-171.547507575231,5.5, 4697P 7028
+0.,1.3,0.,0.,0.; 4697P 7029
+126,1,1,0,0,1,0,-1.5,-1.5,-0.2,-0.2,1.,1.,256.765898784737, 4699P 7030
+-245.454354455992,-7.5,256.765898784737,-245.454354455992,5.5, 4699P 7031
+-1.5,-0.2,0.,0.,0.; 4699P 7032
+126,1,1,0,0,1,0,0.2,0.2,1.5,1.5,1.,1.,256.765901357746, 4701P 7033
+-167.842369071796,5.5,256.765901357746,-167.842369071796,-7.5, 4701P 7034
+0.2,1.5,0.,0.,0.; 4701P 7035
+126,1,1,0,0,1,0,0.958837288670924,0.958837288670924, 4703P 7036
+3.15835685664568,3.15835685664568,1.,1.,142.100041714311, 4703P 7037
+-187.471615957251,7.5,142.100041714311,-165.476420277504,7.5, 4703P 7038
+0.958837288670924,3.15835685664568,0.,0.,0.; 4703P 7039
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,142.100041714311, 4705P 7040
+-187.471615957251,7.5,142.100041714311,-187.471615957251,5.5,0., 4705P 7041
+0.2,0.,0.,0.; 4705P 7042
+126,1,1,0,0,1,0,0.,0.,1.5,1.5,1.,1.,142.100041714311, 4707P 7043
+-165.476420277504,7.5,142.100041714311,-165.476420277504,-7.5, 4707P 7044
+0.,1.5,0.,0.,0.; 4707P 7045
+126,1,1,0,0,1,0,-2.054982559236,-2.054982559236, 4709P 7046
+3.97255712615894,3.97255712615894,1.,1.,142.099003852683, 4709P 7047
+-247.747012802266,7.5,142.100041714311,-187.471615957251,7.5, 4709P 7048
+-2.054982559236,3.97255712615894,0.,0.,0.; 4709P 7049
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,142.099003852683, 4711P 7050
+-247.747012802266,7.5,142.099003852683,-247.747012802266,5.5,0., 4711P 7051
+0.2,0.,0.,0.; 4711P 7052
+126,4,2,0,0,0,0,-1.57081354545468,-1.57081354545468, 4713P 7053
+-1.57081354545468,-0.785406772727342,-0.785406772727342,0.,0., 4713P 7054
+0.,1.,0.92387788517883,1.,0.923877885178821,1.,144.601163852312, 4713P 7055
+-250.249215886107,7.5,143.564722626097,-250.249215886107,7.5, 4713P 7056
+142.831854316326,-249.516334957217,7.5,142.098986006554, 4713P 7057
+-248.783454028327,7.5,142.099003852683,-247.747012802266,7.5, 4713P 7058
+-1.57081354545468,0.,0.,0.,0.; 4713P 7059
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,144.601163852312, 4715P 7060
+-250.249215886107,7.5,144.601163852312,-250.249215886107,5.5,0., 4715P 7061
+0.2,0.,0.,0.; 4715P 7062
+126,1,1,0,0,1,0,-2.77906430328482,-2.77906430328482, 4717P 7063
+8.33719318235691,8.33719318235691,1.,1.,255.763738708729, 4717P 7064
+-250.249215886107,7.5,144.601163852312,-250.249215886107,7.5, 4717P 7065
+-2.77906430328482,8.33719318235691,0.,0.,0.; 4717P 7066
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,255.763738708729, 4719P 7067
+-250.249215886107,7.5,255.763738708729,-250.249215886107,5.5,0., 4719P 7068
+0.2,0.,0.,0.; 4719P 7069
+126,2,2,0,0,0,0,-1.5707963267949,-1.5707963267949, 4721P 7070
+-1.5707963267949,0.,0.,0.,1.,0.707106781186518,1., 4721P 7071
+258.265898708729,-247.747055886107,7.5,258.265898708729, 4721P 7072
+-250.249215886107,7.5,255.763738708729,-250.249215886107,7.5, 4721P 7073
+-1.5707963267949,0.,0.,0.,0.; 4721P 7074
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,258.265898708729, 4723P 7075
+-247.747055886107,7.5,258.265898708729,-247.747055886107,5.5,0., 4723P 7076
+0.2,0.,0.,0.; 4723P 7077
+126,1,1,0,0,1,0,-2.05493493947419,-2.05493493947419, 4725P 7078
+6.16480416245852,6.16480416245852,1.,1.,258.265901433754, 4725P 7079
+-165.54966486678,7.5,258.265898708729,-247.747055886107,7.5, 4725P 7080
+-2.05493493947419,6.16480416245852,0.,0.,0.; 4725P 7081
+126,1,1,0,0,1,0,0.,0.,0.2,0.2,1.,1.,258.265901433754, 4727P 7082
+-165.54966486678,7.5,258.265901433754,-165.54966486678,5.5,0., 4727P 7083
+0.2,0.,0.,0.; 4727P 7084
+126,2,2,0,0,0,0,-1.57079524434933,-1.57079524434933, 4729P 7085
+-1.57079524434933,0.,0.,0.,1.,0.707107163888743,1., 4729P 7086
+255.763741433756,-163.047507575233,7.5,258.265898725305, 4729P 7087
+-163.047507575233,7.5,258.265901433754,-165.54966486678,7.5, 4729P 7088
+-1.57079524434933,0.,0.,0.,0.; 4729P 7089
+126,2,2,0,0,0,0,-1.54151851752146,-1.54151851752146, 4731P 7090
+-1.54151851752146,0.,0.,0.,1.,0.717381915954777,1., 4731P 7091
+142.100041714311,-165.476420277504,7.5,142.171175283308, 4731P 7092
+-163.047507575232,7.5,144.601129377503,-163.047507575232,7.5, 4731P 7093
+-1.54151851752146,0.,0.,0.,0.; 4731P 7094
+126,2,2,0,0,0,0,0.,0.,0.,1.55536115200856,1.55536115200856, 4733P 7095
+1.55536115200856,1.,0.712542827450536,1.,144.601129377503, 4733P 7096
+-156.547507575232,7.5,135.73685786174,-156.547507575232,7.5, 4733P 7097
+135.600041714311,-165.410723179457,7.5,0.,1.55536115200856,0., 4733P 7098
+0.,0.; 4733P 7099
+126,1,1,0,0,1,0,7.15168754189355D-31,7.15168754189355D-31, 4735P 7100
+2.20608325126057,2.20608325126057,1.,1.,135.600041714311, 4735P 7101
+-165.410723179457,7.5,135.600041714311,-187.471555692063,7.5, 4735P 7102
+7.15168754189355D-31,2.20608325126057,0.,0.,0.; 4735P 7103
+126,1,1,0,0,1,0,0.,0.,6.02753451978495,6.02753451978495,1.,1., 4737P 7104
+135.600041714311,-187.471555692063,7.5,135.599003853647, 4737P 7105
+-247.746900880977,7.5,0.,6.02753451978495,0.,0.,0.; 4737P 7106
+126,4,2,0,0,0,0,0.,0.,0.,0.785406772727353,0.785406772727353, 4739P 7107
+1.57081354545471,1.57081354545471,1.57081354545471,1., 4739P 7108
+0.923877885178792,1.,0.923877885178803,1.,135.599003853647, 4739P 7109
+-247.746900880977,7.5,135.598939647638,-251.475763043109,7.5, 4739P 7110
+138.235620668632,-254.112489464608,7.5,140.872301689627, 4739P 7111
+-256.749215886107,7.5,144.601163852312,-256.749215886107,7.5,0., 4739P 7112
+1.57081354545471,0.,0.,0.; 4739P 7113
+126,1,1,0,0,1,0,0.,0.,11.1162574856417,11.1162574856417,1.,1., 4741P 7114
+144.601163852312,-256.749215886107,7.5,255.763738708729, 4741P 7115
+-256.749215886107,7.5,0.,11.1162574856417,0.,0.,0.; 4741P 7116
+126,2,2,0,0,0,0,0.,0.,0.,1.57079632679491,1.57079632679491, 4743P 7117
+1.57079632679491,1.,0.707106781186549,1.,255.763738708729, 4743P 7118
+-256.749215886107,7.5,264.765898708729,-256.749215886107,7.5, 4743P 7119
+264.765898708729,-247.747055886107,7.5,0.,1.57079632679491,0., 4743P 7120
+0.,0.; 4743P 7121
+126,1,1,0,0,1,0,0.,0.,8.21973908038377,8.21973908038377,1.,1., 4745P 7122
+264.765898708729,-247.747055886107,7.5,264.765901433754, 4745P 7123
+-165.54966508227,7.5,0.,8.21973908038377,0.,0.,0.; 4745P 7124
+126,2,2,0,0,0,0,0.,0.,0.,1.57079604986551,1.57079604986551, 4747P 7125
+1.57079604986551,1.,0.707106879095859,1.,264.765901433754, 4747P 7126
+-165.54966508227,7.5,264.765898940792,-156.547507575234,7.5, 4747P 7127
+255.763741433756,-156.547507575234,7.5,0.,1.57079604986551,0., 4747P 7128
+0.,0.; 4747P 7129
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,135.600041714311, 4749P 7130
+-165.410723179457,7.5,135.600041714311,-165.410723179457,-11.6, 4749P 7131
+0.,1.91,0.,0.,0.; 4749P 7132
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,135.600041714311, 4751P 7133
+-187.471555692063,7.5,135.600041714311,-187.471555692063,-11.6, 4751P 7134
+0.,1.91,0.,0.,0.; 4751P 7135
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,135.599003853647, 4753P 7136
+-247.746900880977,7.5,135.599003853647,-247.746900880977,-11.6, 4753P 7137
+0.,1.91,0.,0.,0.; 4753P 7138
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,144.601163852312, 4755P 7139
+-256.749215886107,7.5,144.601163852312,-256.749215886107,-11.6, 4755P 7140
+0.,1.91,0.,0.,0.; 4755P 7141
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,255.763738708729, 4757P 7142
+-256.749215886107,7.5,255.763738708729,-256.749215886107,-11.6, 4757P 7143
+0.,1.91,0.,0.,0.; 4757P 7144
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,264.765898708729, 4759P 7145
+-247.747055886107,7.5,264.765898708729,-247.747055886107,-11.6, 4759P 7146
+0.,1.91,0.,0.,0.; 4759P 7147
+126,1,1,0,0,1,0,0.,0.,1.91,1.91,1.,1.,264.765901433754, 4761P 7148
+-165.54966508227,7.5,264.765901433754,-165.54966508227,-11.6,0., 4761P 7149
+1.91,0.,0.,0.; 4761P 7150
+128,1,6,1,2,0,0,0,0,0,-1.14300985890878D-16, 4763P 7151
+-1.14300985890878D-16,1.07865733739701,1.07865733739701, 4763P 7152
+3.1392581473417,3.1392581473417,3.1392581473417, 4763P 7153
+4.18726069832056,4.18726069832056,5.23526324929942, 4763P 7154
+5.23526324929942,6.28326580027829,6.28326580027829, 4763P 7155
+6.28326580027829,1.,1.,0.865824083693581,0.865824083693581,1., 4763P 7156
+1.,0.865824083693581,0.865824083693581,1.,1.,0.865824083693581, 4763P 7157
+0.865824083693581,1.,1.,136.882006921691,-80.5980231141957, 4763P 7158
+8.73624999999999,136.882006921691,-80.5980231141957, 4763P 7159
+7.11812499999999,136.8810299142,-79.7889073538704, 4763P 7160
+8.73624999999999,136.8810299142,-79.7889073538704, 4763P 7161
+7.11812499999999,137.581582336708,-79.3840671737142, 4763P 7162
+8.73624999999999,137.581582336708,-79.3840671737142, 4763P 7163
+7.11812499999999,138.282134759216,-78.9792269935579, 4763P 7164
+8.73624999999999,138.282134759216,-78.9792269935579, 4763P 7165
+7.11812499999999,138.982687181724,-79.3840671737142, 4763P 7166
+8.73624999999999,138.982687181724,-79.3840671737142, 4763P 7167
+7.11812499999999,139.683239604231,-79.7889073538704, 4763P 7168
+8.73624999999999,139.683239604231,-79.7889073538704, 4763P 7169
+7.11812499999999,139.68226259674,-80.5980231141957, 4763P 7170
+8.73624999999999,139.68226259674,-80.5980231141957, 4763P 7171
+7.11812499999999,-1.14300985890878D-16,1.07865733739701, 4763P 7172
+3.1392581473417,6.28326580027829; 4763P 7173
+128,1,6,1,2,0,0,0,0,0,-1.14300985890878D-16, 4765P 7174
+-1.14300985890878D-16,1.07865733739701,1.07865733739701, 4765P 7175
+3.13925814734167,3.13925814734167,3.13925814734167, 4765P 7176
+4.18726069832055,4.18726069832055,5.23526324929943, 4765P 7177
+5.23526324929943,6.28326580027831,6.28326580027831, 4765P 7178
+6.28326580027831,1.,1.,0.865824083693577,0.865824083693577,1., 4765P 7179
+1.,0.865824083693577,0.865824083693577,1.,1.,0.865824083693577, 4765P 7180
+0.865824083693577,1.,1.,139.68226259674,-80.5980231141957, 4765P 7181
+8.73624999999999,139.68226259674,-80.5980231141957, 4765P 7182
+7.11812499999999,139.683239604231,-81.4071388745211, 4765P 7183
+8.73624999999999,139.683239604231,-81.4071388745211, 4765P 7184
+7.11812499999999,138.982687181724,-81.8119790546774, 4765P 7185
+8.73624999999999,138.982687181724,-81.8119790546774, 4765P 7186
+7.11812499999999,138.282134759216,-82.2168192348336, 4765P 7187
+8.73624999999999,138.282134759216,-82.2168192348336, 4765P 7188
+7.11812499999999,137.581582336708,-81.8119790546774, 4765P 7189
+8.73624999999999,137.581582336708,-81.8119790546774, 4765P 7190
+7.11812499999999,136.8810299142,-81.4071388745211, 4765P 7191
+8.73624999999999,136.8810299142,-81.4071388745211, 4765P 7192
+7.11812499999999,136.882006921691,-80.5980231141957, 4765P 7193
+8.73624999999999,136.882006921691,-80.5980231141957, 4765P 7194
+7.11812499999999,-1.14300985890878D-16,1.07865733739701, 4765P 7195
+3.13925814734167,6.28326580027831; 4765P 7196
+128,1,6,1,2,0,0,0,0,0,-1.14300985890878D-16, 4767P 7197
+-1.14300985890878D-16,1.07865733739701,1.07865733739701, 4767P 7198
+3.1392581473417,3.1392581473417,3.1392581473417, 4767P 7199
+4.18726069832056,4.18726069832056,5.23526324929942, 4767P 7200
+5.23526324929942,6.28326580027829,6.28326580027829, 4767P 7201
+6.28326580027829,1.,1.,0.865824083693581,0.865824083693581,1., 4767P 7202
+1.,0.865824083693581,0.865824083693581,1.,1.,0.865824083693581, 4767P 7203
+0.865824083693581,1.,1.,136.882006921691,-118.69865621105, 4767P 7204
+8.73624999999999,136.882006921691,-118.69865621105, 4767P 7205
+7.11812499999999,136.8810299142,-117.889540450724, 4767P 7206
+8.73624999999999,136.8810299142,-117.889540450724, 4767P 7207
+7.11812499999999,137.581582336708,-117.484700270568, 4767P 7208
+8.73624999999999,137.581582336708,-117.484700270568, 4767P 7209
+7.11812499999999,138.282134759216,-117.079860090412, 4767P 7210
+8.73624999999999,138.282134759216,-117.079860090412, 4767P 7211
+7.11812499999999,138.982687181724,-117.484700270568, 4767P 7212
+8.73624999999999,138.982687181724,-117.484700270568, 4767P 7213
+7.11812499999999,139.683239604231,-117.889540450724, 4767P 7214
+8.73624999999999,139.683239604231,-117.889540450724, 4767P 7215
+7.11812499999999,139.68226259674,-118.69865621105, 4767P 7216
+8.73624999999999,139.68226259674,-118.69865621105, 4767P 7217
+7.11812499999999,-1.14300985890878D-16,1.07865733739701, 4767P 7218
+3.1392581473417,6.28326580027829; 4767P 7219
+128,1,6,1,2,0,0,0,0,0,-1.14300985890878D-16, 4769P 7220
+-1.14300985890878D-16,1.07865733739701,1.07865733739701, 4769P 7221
+3.13925814734167,3.13925814734167,3.13925814734167, 4769P 7222
+4.18726069832055,4.18726069832055,5.23526324929943, 4769P 7223
+5.23526324929943,6.28326580027831,6.28326580027831, 4769P 7224
+6.28326580027831,1.,1.,0.865824083693577,0.865824083693577,1., 4769P 7225
+1.,0.865824083693577,0.865824083693577,1.,1.,0.865824083693577, 4769P 7226
+0.865824083693577,1.,1.,139.68226259674,-118.69865621105, 4769P 7227
+8.73624999999999,139.68226259674,-118.69865621105, 4769P 7228
+7.11812499999999,139.683239604231,-119.507771971375, 4769P 7229
+8.73624999999999,139.683239604231,-119.507771971375, 4769P 7230
+7.11812499999999,138.982687181724,-119.912612151531, 4769P 7231
+8.73624999999999,138.982687181724,-119.912612151531, 4769P 7232
+7.11812499999999,138.282134759216,-120.317452331688, 4769P 7233
+8.73624999999999,138.282134759216,-120.317452331688, 4769P 7234
+7.11812499999999,137.581582336708,-119.912612151531, 4769P 7235
+8.73624999999999,137.581582336708,-119.912612151531, 4769P 7236
+7.11812499999999,136.8810299142,-119.507771971375, 4769P 7237
+8.73624999999999,136.8810299142,-119.507771971375, 4769P 7238
+7.11812499999999,136.882006921691,-118.69865621105, 4769P 7239
+8.73624999999999,136.882006921691,-118.69865621105, 4769P 7240
+7.11812499999999,-1.14300985890878D-16,1.07865733739701, 4769P 7241
+3.13925814734167,6.28326580027831; 4769P 7242
+128,1,6,1,2,0,0,0,0,0,-1.14300941237118D-16, 4771P 7243
+-1.14300941237118D-16,1.07865694595434,1.07865694595434, 4771P 7244
+3.13866619558426,3.13866619558426,3.13866619558426, 4771P 7245
+4.18687286725483,4.18687286725483,5.2350795389254, 4771P 7246
+5.2350795389254,6.28328621059597,6.28328621059597, 4771P 7247
+6.28328621059597,1.,1.,0.865773013439831,0.865773013439831,1., 4771P 7248
+1.,0.865773013439831,0.865773013439831,1.,1.,0.865773013439831, 4771P 7249
+0.865773013439831,1.,1.,60.6806188225967,-118.698656211056, 4771P 7250
+8.73625,60.6806188225967,-118.698656211056,7.118125, 4771P 7251
+60.679393790223,-117.889349843306,8.73625,60.679393790223, 4771P 7252
+-117.889349843306,7.118125,61.3800702057312,-117.484342610857, 4771P 7253
+8.73625,61.3800702057312,-117.484342610857,7.118125, 4771P 7254
+62.0807466212394,-117.079335378408,8.73625,62.0807466212394, 4771P 7255
+-117.079335378408,7.118125,62.7814230367476,-117.484342610857, 4771P 7256
+8.73625,62.7814230367476,-117.484342610857,7.118125, 4771P 7257
+63.4820994522559,-117.889349843306,8.73625,63.4820994522559, 4771P 7258
+-117.889349843306,7.118125,63.4808744198821,-118.698656211056, 4771P 7259
+8.73625,63.4808744198821,-118.698656211056,7.118125, 4771P 7260
+-1.14300941237118D-16,1.07865694595434,3.13866619558426, 4771P 7261
+6.28328621059597; 4771P 7262
+128,1,6,1,2,0,0,0,0,0,-1.14300941237119D-16, 4773P 7263
+-1.14300941237119D-16,1.07865694595435,1.07865694595435, 4773P 7264
+3.13866619559326,3.13866619559326,3.13866619559326, 4773P 7265
+4.18687286725781,4.18687286725781,5.23507953892236, 4773P 7266
+5.23507953892236,6.28328621058691,6.28328621058691, 4773P 7267
+6.28328621058691,1.,1.,0.865773013441338,0.865773013441338,1., 4773P 7268
+1.,0.865773013441338,0.865773013441338,1.,1.,0.865773013441338, 4773P 7269
+0.865773013441338,1.,1.,63.4808744198821,-118.698656211056, 4773P 7270
+8.73625,63.4808744198821,-118.698656211056,7.118125, 4773P 7271
+63.4820994522485,-119.507962578801,8.73625,63.4820994522485, 4773P 7272
+-119.507962578801,7.118125,62.781423036744,-119.912969811245, 4773P 7273
+8.73625,62.781423036744,-119.912969811245,7.118125, 4773P 7274
+62.0807466212394,-120.317977043689,8.73625,62.0807466212394, 4773P 7275
+-120.317977043689,7.118125,61.3800702057349,-119.912969811245, 4773P 7276
+8.73625,61.3800702057349,-119.912969811245,7.118125, 4773P 7277
+60.6793937902303,-119.507962578801,8.73625,60.6793937902303, 4773P 7278
+-119.507962578801,7.118125,60.6806188225967,-118.698656211056, 4773P 7279
+8.73625,60.6806188225967,-118.698656211056,7.118125, 4773P 7280
+-1.14300941237119D-16,1.07865694595435,3.13866619559326, 4773P 7281
+6.28328621058691; 4773P 7282
+128,1,6,1,2,0,0,0,0,0,-1.14300985890877D-16, 4775P 7283
+-1.14300985890877D-16,1.078657337397,1.078657337397, 4775P 7284
+3.13925814733601,3.13925814733601,3.13925814733601, 4775P 7285
+4.18726069831867,4.18726069831867,5.23526324930132, 4775P 7286
+5.23526324930132,6.28326580028397,6.28326580028397, 4775P 7287
+6.28326580028397,1.,1.,0.865824083692633,0.865824083692633,1., 4775P 7288
+1.,0.865824083692633,0.865824083692633,1.,1.,0.865824083692633, 4775P 7289
+0.865824083692633,1.,1.,58.1075511659013,-62.1212017504367, 4775P 7290
+8.73625,58.1075511659013,-62.1212017504367,7.118125, 4775P 7291
+58.1065741584055,-61.3120859901078,8.73625,58.1065741584055, 4775P 7292
+-61.3120859901078,7.118125,58.8071265809156,-60.9072458099485, 4775P 7293
+8.73625,58.8071265809156,-60.9072458099485,7.118125, 4775P 7294
+59.5076790034257,-60.5024056297891,8.73625,59.5076790034257, 4775P 7295
+-60.5024056297891,7.118125,60.2082314259358,-60.9072458099485, 4775P 7296
+8.73625,60.2082314259358,-60.9072458099485,7.118125, 4775P 7297
+60.9087838484459,-61.3120859901078,8.73625,60.9087838484459, 4775P 7298
+-61.3120859901078,7.118125,60.9078068409501,-62.1212017504367, 4775P 7299
+8.73625,60.9078068409501,-62.1212017504367,7.118125, 4775P 7300
+-1.14300985890877D-16,1.078657337397,3.13925814733601, 4775P 7301
+6.28326580028397; 4775P 7302
+128,1,6,1,2,0,0,0,0,0,-1.14300985890879D-16, 4777P 7303
+-1.14300985890879D-16,1.07865733739701,1.07865733739701, 4777P 7304
+3.13925814734738,3.13925814734738,3.13925814734738, 4777P 7305
+4.18726069832246,4.18726069832246,5.23526324929753, 4777P 7306
+5.23526324929753,6.2832658002726,6.2832658002726, 4777P 7307
+6.2832658002726,1.,1.,0.865824083694529,0.865824083694529,1.,1., 4777P 7308
+0.865824083694529,0.865824083694529,1.,1.,0.865824083694529, 4777P 7309
+0.865824083694529,1.,1.,60.9078068409501,-62.1212017504367, 4777P 7310
+8.73625,60.9078068409501,-62.1212017504367,7.118125, 4777P 7311
+60.9087838484367,-62.9303175107585,8.73625,60.9087838484367, 4777P 7312
+-62.9303175107585,7.118125,60.2082314259312,-63.3351576909116, 4777P 7313
+8.73625,60.2082314259312,-63.3351576909116,7.118125, 4777P 7314
+59.5076790034257,-63.7399978710648,8.73625,59.5076790034257, 4777P 7315
+-63.7399978710648,7.118125,58.8071265809202,-63.3351576909116, 4777P 7316
+8.73625,58.8071265809202,-63.3351576909116,7.118125, 4777P 7317
+58.1065741584147,-62.9303175107585,8.73625,58.1065741584147, 4777P 7318
+-62.9303175107585,7.118125,58.1075511659013,-62.1212017504367, 4777P 7319
+8.73625,58.1075511659013,-62.1212017504367,7.118125, 4777P 7320
+-1.14300985890879D-16,1.07865733739701,3.13925814734738, 4777P 7321
+6.2832658002726; 4777P 7322
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4779P 7323
+1.29891011810403,1.29891011810403,-0.00100000000000011, 4779P 7324
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,154.818861794198, 4779P 7325
+-121.223878110647,8.74703749999999,140.796081395161, 4779P 7326
+-121.223895558101,8.74703749999999,154.818861794198, 4779P 7327
+-121.223878110647,7.10733749999999,140.796081395161, 4779P 7328
+-121.223895558101,7.10733749999999,-0.00100000000000002, 4779P 7329
+1.29891011810403,-0.00100000000000011,0.151; 4779P 7330
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4781P 7331
+0.0564439671834306,0.0564439671834306,-0.001,-0.001,0.151,0.151, 4781P 7332
+1.,1.,1.,1.,154.808074294198,-121.832767420061,8.74703749999999, 4781P 7333
+154.808074294198,-121.213090624069,8.74703749999999, 4781P 7334
+154.808074294198,-121.832767420061,7.10733749999999, 4781P 7335
+154.808074294198,-121.213090624069,7.10733749999999, 4781P 7336
+-0.00100000000000178,0.0564439671834306,-0.001,0.151; 4781P 7337
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4783P 7338
+0.0750926997042853,0.0750926997042853,-0.001,-0.001,0.151,0.151, 4783P 7339
+1.,1.,1.,1.,155.618136792065,-121.82199757579,8.74703749999999, 4783P 7340
+154.7972867942,-121.821979684942,8.74703749999999, 4783P 7341
+155.618136792065,-121.82199757579,7.10733749999999, 4783P 7342
+154.7972867942,-121.821979684942,7.10733749999999, 4783P 7343
+-0.00100000000000002,0.0750926997042853,-0.001,0.151; 4783P 7344
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4785P 7345
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4785P 7346
+155.607349292068,-134.634981929548,8.74703749999999, 4785P 7347
+155.607349292068,-121.81120984067,8.74703749999999, 4785P 7348
+155.607349292068,-134.634981929548,7.10733749999999, 4785P 7349
+155.607349292068,-121.81120984067,7.10733749999999,-0.001, 4785P 7350
+1.1877621866862,-0.001,0.151; 4785P 7351
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4787P 7352
+0.0750926997042836,0.0750926997042836,-0.00100000000000001, 4787P 7353
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,154.7972867942, 4787P 7354
+-134.624176773819,8.74703749999999,155.618136792065, 4787P 7355
+-134.624194664667,8.74703749999999,154.7972867942, 4787P 7356
+-134.624176773819,7.10733749999999,155.618136792065, 4787P 7357
+-134.624194664667,7.10733749999999,-0.00100000000000178, 4787P 7358
+0.0750926997042836,-0.00100000000000001,0.151; 4787P 7359
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.056571543375649, 4789P 7360
+0.056571543375649,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4789P 7361
+154.808074294198,-135.234442533103,8.74703749999999, 4789P 7362
+154.808074294198,-134.613389508938,8.74703749999999, 4789P 7363
+154.808074294198,-135.234442533103,7.10733749999999, 4789P 7364
+154.808074294198,-134.613389508938,7.10733749999999,-0.001, 4789P 7365
+0.056571543375649,-0.001,0.151; 4789P 7366
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.2989097143809, 4791P 7367
+1.2989097143809,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4791P 7368
+140.796085750314,-135.223655033103,8.74703749999999, 4791P 7369
+154.818861794198,-135.223655033103,8.74703749999999, 4791P 7370
+140.796085750314,-135.223655033103,7.10733749999999, 4791P 7371
+154.818861794198,-135.223655033103,7.10733749999999,-0.001, 4791P 7372
+1.2989097143809,-0.001,0.151; 4791P 7373
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565715433771185, 4793P 7374
+0.0565715433771185,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4793P 7375
+140.806868816791,-134.613389508938,8.74703749999999, 4793P 7376
+140.806873328684,-135.234442533103,8.74703749999999, 4793P 7377
+140.806868816791,-134.613389508938,7.10733749999999, 4793P 7378
+140.806873328684,-135.234442533103,7.10733749999999,-0.001, 4793P 7379
+0.0565715433771185,-0.001,0.151; 4793P 7380
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750874512990324, 4795P 7381
+0.0750874512990324,-0.00100000000000011,-0.00100000000000011, 4795P 7382
+0.151,0.151,1.,1.,1.,1.,139.996863014273,-134.624177008938, 4795P 7383
+8.74703749999999,140.817656395161,-134.624177008938, 4795P 7384
+8.74703749999999,139.996863014273,-134.624177008938, 4795P 7385
+7.10733749999999,140.817656395161,-134.624177008938, 4795P 7386
+7.10733749999999,-0.001,0.0750874512990324,-0.00100000000000011, 4795P 7387
+0.151; 4795P 7388
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18776218668627, 4797P 7389
+1.18776218668627,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4797P 7390
+140.007654873095,-121.811192420061,8.74703749999999, 4797P 7391
+140.007650510603,-134.634964508938,8.74703749999999, 4797P 7392
+140.007654873095,-121.811192420061,7.10733749999999, 4797P 7393
+140.007650510603,-134.634964508938,7.10733749999999,-0.001, 4797P 7394
+1.18776218668627,-0.001,0.151; 4797P 7395
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4799P 7396
+0.075087451316632,0.075087451316632,-0.001,-0.001,0.151,0.151, 4799P 7397
+1.,1.,1.,1.,140.817660750311,-121.821997575806,8.74703749999999, 4799P 7398
+139.996867369428,-121.821979684925,8.74703749999999, 4799P 7399
+140.817660750311,-121.821997575806,7.10733749999999, 4799P 7400
+139.996867369428,-121.821979684925,7.10733749999999, 4799P 7401
+-0.00100000000000002,0.075087451316632,-0.001,0.151; 4799P 7402
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0564439671849002, 4801P 7403
+0.0564439671849002,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4801P 7404
+140.806868816611,-121.21310804468,8.74703749999999, 4801P 7405
+140.806873328864,-121.83278484067,8.74703749999999, 4801P 7406
+140.806868816611,-121.21310804468,7.10733749999999, 4801P 7407
+140.806873328864,-121.83278484067,7.10733749999999,-0.001, 4801P 7408
+0.0564439671849002,-0.001,0.151; 4801P 7409
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4803P 7410
+1.29888872083129,1.29888872083129,-0.00100000000000009, 4803P 7411
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,135.768458142722, 4803P 7412
+-121.223878110647,8.74703749999999,121.745908566765, 4803P 7413
+-121.223895558102,8.74703749999999,135.768458142722, 4803P 7414
+-121.223878110647,7.10733749999999,121.745908566765, 4803P 7415
+-121.223895558102,7.10733749999999,-0.00100000000000002, 4803P 7416
+1.29888872083129,-0.00100000000000009,0.151; 4803P 7417
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4805P 7418
+0.0564439671834306,0.0564439671834306,-0.001,-0.001,0.151,0.151, 4805P 7419
+1.,1.,1.,1.,135.757670642722,-121.832767420061,8.74703749999999, 4805P 7420
+135.757670642722,-121.213090624069,8.74703749999999, 4805P 7421
+135.757670642722,-121.832767420061,7.10733749999999, 4805P 7422
+135.757670642722,-121.213090624069,7.10733749999999, 4805P 7423
+-0.00100000000000178,0.0564439671834306,-0.001,0.151; 4805P 7424
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4807P 7425
+0.0750967369255578,0.0750967369255578,-0.001,-0.001,0.151,0.151, 4807P 7426
+1.,1.,1.,1.,136.567776692114,-121.821997575777,8.74703749999999, 4807P 7427
+135.746883142724,-121.821979684954,8.74703749999999, 4807P 7428
+136.567776692114,-121.821997575777,7.10733749999999, 4807P 7429
+135.746883142724,-121.821979684954,7.10733749999999, 4807P 7430
+-0.00100000000000002,0.0750967369255578,-0.001,0.151; 4807P 7431
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4809P 7432
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4809P 7433
+136.556989192117,-134.634981929548,8.74703749999999, 4809P 7434
+136.556989192117,-121.81120984067,8.74703749999999, 4809P 7435
+136.556989192117,-134.634981929548,7.10733749999999, 4809P 7436
+136.556989192117,-121.81120984067,7.10733749999999,-0.001, 4809P 7437
+1.1877621866862,-0.001,0.151; 4809P 7438
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750967369255578, 4811P 7439
+0.0750967369255578,-0.00100000000000001,-0.00100000000000001, 4811P 7440
+0.151,0.151,1.,1.,1.,1.,135.746883142724,-134.624176773832, 4811P 7441
+8.74703749999999,136.567776692114,-134.624194664654, 4811P 7442
+8.74703749999999,135.746883142724,-134.624176773832, 4811P 7443
+7.10733749999999,136.567776692114,-134.624194664654, 4811P 7444
+7.10733749999999,-0.001,0.0750967369255578,-0.00100000000000001, 4811P 7445
+0.151; 4811P 7446
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.056571543375649, 4813P 7447
+0.056571543375649,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4813P 7448
+135.757670642722,-135.234442533103,8.74703749999999, 4813P 7449
+135.757670642722,-134.613389508938,8.74703749999999, 4813P 7450
+135.757670642722,-135.234442533103,7.10733749999999, 4813P 7451
+135.757670642722,-134.613389508938,7.10733749999999,-0.001, 4813P 7452
+0.056571543375649,-0.001,0.151; 4813P 7453
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888872083028, 4815P 7454
+1.29888872083028,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4815P 7455
+121.745908566765,-135.223655033103,8.74703749999999, 4815P 7456
+135.768458142722,-135.223655033103,8.74703749999999, 4815P 7457
+121.745908566765,-135.223655033103,7.10733749999999, 4815P 7458
+135.768458142722,-135.223655033103,7.10733749999999,-0.001, 4815P 7459
+1.29888872083028,-0.001,0.151; 4815P 7460
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565715433756525, 4817P 7461
+0.0565715433756525,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4817P 7462
+121.756696066765,-134.613389508938,8.74703749999999, 4817P 7463
+121.756696066765,-135.234442533103,8.74703749999999, 4817P 7464
+121.756696066765,-134.613389508938,7.10733749999999, 4817P 7465
+121.756696066765,-135.234442533103,7.10733749999999,-0.001, 4817P 7466
+0.0565715433756525,-0.001,0.151; 4817P 7467
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056187947589, 4819P 7468
+0.0751056187947589,-0.00100000000000001,-0.00100000000000001, 4819P 7469
+0.151,0.151,1.,1.,1.,1.,120.946494204017,-134.624177008938, 4819P 7470
+8.74703749999999,121.767483566765,-134.624177008938, 4819P 7471
+8.74703749999999,120.946494204017,-134.624177008938, 4819P 7472
+7.10733749999999,121.767483566765,-134.624177008938, 4819P 7473
+7.10733749999999,-0.001,0.0751056187947589,-0.00100000000000001, 4819P 7474
+0.151; 4819P 7475
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4821P 7476
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4821P 7477
+120.957281704017,-121.811192420061,8.74703749999999, 4821P 7478
+120.957281704017,-134.634964508938,8.74703749999999, 4821P 7479
+120.957281704017,-121.811192420061,7.10733749999999, 4821P 7480
+120.957281704017,-134.634964508938,7.10733749999999,-0.001, 4821P 7481
+1.1877621866862,-0.001,0.151; 4821P 7482
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4823P 7483
+0.0751056188123538,0.0751056188123538,-0.001,-0.001,0.151,0.151, 4823P 7484
+1.,1.,1.,1.,121.767483566763,-121.821997575749,8.74703749999999, 4823P 7485
+120.946494204019,-121.821979684983,8.74703749999999, 4823P 7486
+121.767483566763,-121.821997575749,7.10733749999999, 4823P 7487
+120.946494204019,-121.821979684983,7.10733749999999, 4823P 7488
+-0.00100000000000002,0.0751056188123538,-0.001,0.151; 4823P 7489
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0564439671834303, 4825P 7490
+0.0564439671834303,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4825P 7491
+121.756696066765,-121.213108044679,8.74703749999999, 4825P 7492
+121.756696066765,-121.83278484067,8.74703749999999, 4825P 7493
+121.756696066765,-121.213108044679,7.10733749999999, 4825P 7494
+121.756696066765,-121.83278484067,7.10733749999999,-0.001, 4825P 7495
+0.0564439671834303,-0.001,0.151; 4825P 7496
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4827P 7497
+1.29888831710916,1.29888831710916,-0.00100000000000009, 4827P 7498
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,116.718084977313, 4827P 7499
+-121.223878110647,8.74703749999999,102.695539756509, 4827P 7500
+-121.223895558102,8.7470375,116.718084977313,-121.223878110647, 4827P 7501
+7.10733749999999,102.695539756509,-121.223895558102, 4827P 7502
+7.10733749999999,-0.00100000000000002,1.29888831710916, 4827P 7503
+-0.00100000000000009,0.151; 4827P 7504
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4829P 7505
+0.0564439671834306,0.0564439671834306,-0.001,-0.001,0.151,0.151, 4829P 7506
+1.,1.,1.,1.,116.707297477313,-121.832767420061,8.74703749999999, 4829P 7507
+116.707297477313,-121.213090624069,8.74703749999999, 4829P 7508
+116.707297477313,-121.832767420061,7.10733749999999, 4829P 7509
+116.707297477313,-121.213090624069,7.10733749999999, 4829P 7510
+-0.00100000000000178,0.0564439671834306,-0.001,0.151; 4829P 7511
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4831P 7512
+0.0751056188123572,0.0751056188123572,-0.001,-0.001,0.151,0.151, 4831P 7513
+1.,1.,1.,1.,117.517499340059,-121.821997575749,8.74703749999999, 4831P 7514
+116.696509977316,-121.821979684983,8.74703749999999, 4831P 7515
+117.517499340059,-121.821997575749,7.10733749999999, 4831P 7516
+116.696509977316,-121.821979684983,7.10733749999999, 4831P 7517
+-0.00100000000000002,0.0751056188123572,-0.001,0.151; 4831P 7518
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18776218668648, 4833P 7519
+1.18776218668648,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4833P 7520
+117.506720557706,-134.634981929548,8.74703749999999, 4833P 7521
+117.506711832722,-121.81120984067,8.74703749999999, 4833P 7522
+117.506720557706,-134.634981929548,7.10733749999999, 4833P 7523
+117.506711832722,-121.81120984067,7.10733749999999,-0.001, 4833P 7524
+1.18776218668648,-0.001,0.151; 4833P 7525
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056188123538, 4835P 7526
+0.0751056188123538,-0.00100000000000001,-0.00100000000000001, 4835P 7527
+0.151,0.151,1.,1.,1.,1.,116.696518687621,-134.62417677386, 4835P 7528
+8.74703749999999,117.517508050364,-134.624194664626, 4835P 7529
+8.74703749999999,116.696518687621,-134.62417677386, 4835P 7530
+7.10733749999999,117.517508050364,-134.624194664626, 4835P 7531
+7.10733749999999,-0.001,0.0751056188123538,-0.00100000000000001, 4835P 7532
+0.151; 4835P 7533
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565715433815147, 4837P 7534
+0.0565715433815147,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4837P 7535
+116.707297320573,-135.234442533102,8.74703749999999, 4837P 7536
+116.707306344358,-134.613389508939,8.74703749999999, 4837P 7537
+116.707297320573,-135.234442533102,7.10733749999999, 4837P 7538
+116.707306344358,-134.613389508939,7.10733749999999,-0.001, 4837P 7539
+0.0565715433815147,-0.001,0.151; 4837P 7540
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710816, 4839P 7541
+1.29888831710816,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4839P 7542
+102.695539756509,-135.223655033103,8.7470375,116.718084977313, 4839P 7543
+-135.223655033103,8.74703749999999,102.695539756509, 4839P 7544
+-135.223655033103,7.10733749999999,116.718084977313, 4839P 7545
+-135.223655033103,7.10733749999999,-0.001,1.29888831710816, 4839P 7546
+-0.001,0.151; 4839P 7547
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565715433756525, 4841P 7548
+0.0565715433756525,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4841P 7549
+102.706327256509,-134.613389508938,8.7470375,102.706327256509, 4841P 7550
+-135.234442533103,8.7470375,102.706327256509,-134.613389508938, 4841P 7551
+7.10733749999999,102.706327256509,-135.234442533103, 4841P 7552
+7.10733749999999,-0.001,0.0565715433756525,-0.001,0.151; 4841P 7553
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4843P 7554
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 4843P 7555
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,101.89612539376, 4843P 7556
+-134.624177008938,8.7470375,102.717114756509,-134.624177008938, 4843P 7557
+8.7470375,101.89612539376,-134.624177008938,7.10733749999999, 4843P 7558
+102.717114756509,-134.624177008938,7.10733749999999, 4843P 7559
+-0.00100000000000178,0.0751056187947571,-0.00100000000000001, 4843P 7560
+0.151; 4843P 7561
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4845P 7562
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4845P 7563
+101.90691289376,-121.811192420061,8.7470375,101.90691289376, 4845P 7564
+-134.634964508938,8.7470375,101.90691289376,-121.811192420061, 4845P 7565
+7.10733749999999,101.90691289376,-134.634964508938, 4845P 7566
+7.10733749999999,-0.001,1.1877621866862,-0.001,0.151; 4845P 7567
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4847P 7568
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 4847P 7569
+1.,1.,1.,1.,102.717114756506,-121.821997575749,8.7470375, 4847P 7570
+101.896125393763,-121.821979684983,8.7470375,102.717114756506, 4847P 7571
+-121.821997575749,7.10733749999999,101.896125393763, 4847P 7572
+-121.821979684983,7.10733749999999,-0.00100000000000178, 4847P 7573
+0.0751056188123521,-0.001,0.151; 4847P 7574
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0564439671834303, 4849P 7575
+0.0564439671834303,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4849P 7576
+102.706327256509,-121.213108044679,8.7470375,102.706327256509, 4849P 7577
+-121.83278484067,8.7470375,102.706327256509,-121.213108044679, 4849P 7578
+7.10733749999999,102.706327256509,-121.83278484067, 4849P 7579
+7.10733749999999,-0.001,0.0564439671834303,-0.001,0.151; 4849P 7580
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4851P 7581
+1.29888831710916,1.29888831710916,-0.00100000000000009, 4851P 7582
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,97.6677161670568, 4851P 7583
+-121.223878110647,8.7470375,83.6451709462526,-121.223895558102, 4851P 7584
+8.7470375,97.6677161670568,-121.223878110647,7.10733749999999, 4851P 7585
+83.6451709462526,-121.223895558102,7.1073375, 4851P 7586
+-0.00100000000000002,1.29888831710916,-0.00100000000000009, 4851P 7587
+0.151; 4851P 7588
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4853P 7589
+0.0564439671834306,0.0564439671834306,-0.001,-0.001,0.151,0.151, 4853P 7590
+1.,1.,1.,1.,97.6569286670568,-121.832767420061,8.7470375, 4853P 7591
+97.6569286670568,-121.213090624069,8.7470375,97.6569286670568, 4853P 7592
+-121.832767420061,7.10733749999999,97.6569286670568, 4853P 7593
+-121.213090624069,7.10733749999999,-0.00100000000000178, 4853P 7594
+0.0564439671834306,-0.001,0.151; 4853P 7595
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4855P 7596
+0.0751056188123537,0.0751056188123537,-0.001,-0.001,0.151,0.151, 4855P 7597
+1.,1.,1.,1.,98.4671305298027,-121.821997575749,8.7470375, 4855P 7598
+97.6461411670594,-121.821979684983,8.7470375,98.4671305298027, 4855P 7599
+-121.821997575749,7.10733749999999,97.6461411670594, 4855P 7600
+-121.821979684983,7.10733749999999,-0.00100000000000178, 4855P 7601
+0.0751056188123537,-0.001,0.151; 4855P 7602
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4857P 7603
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4857P 7604
+98.4563430298053,-134.634981929548,8.7470375,98.4563430298053, 4857P 7605
+-121.81120984067,8.7470375,98.4563430298053,-134.634981929548, 4857P 7606
+7.10733749999999,98.4563430298053,-121.81120984067, 4857P 7607
+7.10733749999999,-0.001,1.1877621866862,-0.001,0.151; 4857P 7608
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4859P 7609
+0.0751056188123537,0.0751056188123537,-0.00100000000000001, 4859P 7610
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,97.6461411670594, 4859P 7611
+-134.62417677386,8.7470375,98.4671305298027,-134.624194664626, 4859P 7612
+8.7470375,97.6461411670594,-134.62417677386,7.10733749999999, 4859P 7613
+98.4671305298027,-134.624194664626,7.10733749999999, 4859P 7614
+-0.00100000000000178,0.0751056188123537,-0.00100000000000001, 4859P 7615
+0.151; 4859P 7616
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.056571543375649, 4861P 7617
+0.056571543375649,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4861P 7618
+97.6569286670568,-135.234442533103,8.7470375,97.6569286670568, 4861P 7619
+-134.613389508938,8.7470375,97.6569286670568,-135.234442533103, 4861P 7620
+7.10733749999999,97.6569286670568,-134.613389508938, 4861P 7621
+7.10733749999999,-0.001,0.056571543375649,-0.001,0.151; 4861P 7622
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888912455241, 4863P 7623
+1.29888912455241,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4863P 7624
+83.6451622359477,-135.223655033103,8.7470375,97.6677161670568, 4863P 7625
+-135.223655033103,8.7470375,83.6451622359477,-135.223655033103, 4863P 7626
+7.1073375,97.6677161670569,-135.223655033103,7.1073375,-0.001, 4863P 7627
+1.29888912455241,-0.001,0.151; 4863P 7628
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.056571543381518, 4865P 7629
+0.056571543381518,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4865P 7630
+83.655958602993,-134.613389508939,8.7470375,83.6559495792073, 4865P 7631
+-135.234442533102,8.7470375,83.655958602993,-134.613389508939, 4865P 7632
+7.1073375,83.6559495792073,-135.234442533102,7.1073375,-0.001, 4865P 7633
+0.056571543381518,-0.001,0.151; 4865P 7634
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000165,-0.00100000000000165, 4867P 7635
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 4867P 7636
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,82.8457565835041, 4867P 7637
+-134.624177008938,8.7470375,83.6667459462526,-134.624177008938, 4867P 7638
+8.7470375,82.8457565835041,-134.624177008938,7.1073375, 4867P 7639
+83.6667459462526,-134.624177008938,7.1073375, 4867P 7640
+-0.00100000000000165,0.0751056187947571,-0.00100000000000001, 4867P 7641
+0.151; 4867P 7642
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4869P 7643
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4869P 7644
+82.8565440835042,-121.811192420061,8.7470375,82.8565440835042, 4869P 7645
+-134.634964508938,8.7470375,82.8565440835042,-121.811192420061, 4869P 7646
+7.1073375,82.8565440835042,-134.634964508938,7.1073375,-0.001, 4869P 7647
+1.1877621866862,-0.001,0.151; 4869P 7648
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4871P 7649
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 4871P 7650
+1.,1.,1.,1.,83.66674594625,-121.821997575749,8.7470375, 4871P 7651
+82.8457565835067,-121.821979684983,8.7470375,83.66674594625, 4871P 7652
+-121.821997575749,7.1073375,82.8457565835067,-121.821979684983, 4871P 7653
+7.1073375,-0.00100000000000178,0.0751056188123521,-0.001,0.151; 4871P 7654
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0564439671834303, 4873P 7655
+0.0564439671834303,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4873P 7656
+83.6559584462526,-121.213108044679,8.7470375,83.6559584462526, 4873P 7657
+-121.83278484067,8.7470375,83.6559584462526,-121.213108044679, 4873P 7658
+7.1073375,83.6559584462526,-121.83278484067,7.1073375,-0.001, 4873P 7659
+0.0564439671834303,-0.001,0.151; 4873P 7660
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4875P 7661
+1.29888831710916,1.29888831710916,-0.00100000000000009, 4875P 7662
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,78.6173473568005, 4875P 7663
+-121.223878110647,8.7470375,64.5948021359963,-121.223895558102, 4875P 7664
+8.7470375,78.6173473568005,-121.223878110647,7.1073375, 4875P 7665
+64.5948021359963,-121.223895558102,7.1073375, 4875P 7666
+-0.00100000000000002,1.29888831710916,-0.00100000000000009, 4875P 7667
+0.151; 4875P 7668
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4877P 7669
+0.0564439671834306,0.0564439671834306,-0.001,-0.001,0.151,0.151, 4877P 7670
+1.,1.,1.,1.,78.6065598568005,-121.832767420061,8.7470375, 4877P 7671
+78.6065598568005,-121.213090624069,8.7470375,78.6065598568005, 4877P 7672
+-121.832767420061,7.1073375,78.6065598568005,-121.213090624069, 4877P 7673
+7.1073375,-0.00100000000000178,0.0564439671834306,-0.001,0.151; 4877P 7674
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 4879P 7675
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 4879P 7676
+1.,1.,1.,1.,79.4167617195464,-121.821997575749,8.7470375, 4879P 7677
+78.5957723568031,-121.821979684983,8.7470375,79.4167617195464, 4879P 7678
+-121.821997575749,7.1073375,78.5957723568031,-121.821979684983, 4879P 7679
+7.1073375,-0.00100000000000266,0.0751056188123521,-0.001,0.151; 4879P 7680
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4881P 7681
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4881P 7682
+79.4059742195489,-134.634981929548,8.7470375,79.4059742195489, 4881P 7683
+-121.81120984067,8.7470375,79.4059742195489,-134.634981929548, 4881P 7684
+7.1073375,79.4059742195489,-121.81120984067,7.1073375,-0.001, 4881P 7685
+1.1877621866862,-0.001,0.151; 4881P 7686
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 4883P 7687
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 4883P 7688
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,78.595772356803, 4883P 7689
+-134.62417677386,8.7470375,79.4167617195464,-134.624194664626, 4883P 7690
+8.7470375,78.595772356803,-134.62417677386,7.1073375, 4883P 7691
+79.4167617195464,-134.624194664626,7.1073375, 4883P 7692
+-0.00100000000000266,0.0751056188123522,-0.00100000000000001, 4883P 7693
+0.151; 4883P 7694
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.056571543375649, 4885P 7695
+0.056571543375649,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4885P 7696
+78.6065598568005,-135.234442533103,8.7470375,78.6065598568005, 4885P 7697
+-134.613389508938,8.7470375,78.6065598568005,-135.234442533103, 4885P 7698
+7.1073375,78.6065598568005,-134.613389508938,7.1073375,-0.001, 4885P 7699
+0.056571543375649,-0.001,0.151; 4885P 7700
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710816, 4887P 7701
+1.29888831710816,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4887P 7702
+64.5948021359963,-135.223655033103,8.7470375,78.6173473568005, 4887P 7703
+-135.223655033103,8.7470375,64.5948021359963,-135.223655033103, 4887P 7704
+7.1073375,78.6173473568005,-135.223655033103,7.1073375,-0.001, 4887P 7705
+1.29888831710816,-0.001,0.151; 4887P 7706
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565715433756525, 4889P 7707
+0.0565715433756525,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4889P 7708
+64.6055896359963,-134.613389508938,8.7470375,64.6055896359963, 4889P 7709
+-135.234442533103,8.7470375,64.6055896359963,-134.613389508938, 4889P 7710
+7.1073375,64.6055896359963,-135.234442533103,7.1073375,-0.001, 4889P 7711
+0.0565715433756525,-0.001,0.151; 4889P 7712
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000247,-0.00100000000000247, 4891P 7713
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 4891P 7714
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,63.7953877732478, 4891P 7715
+-134.624177008938,8.7470375,64.6163771359963,-134.624177008938, 4891P 7716
+8.7470375,63.7953877732478,-134.624177008938,7.1073375, 4891P 7717
+64.6163771359963,-134.624177008938,7.1073375, 4891P 7718
+-0.00100000000000247,0.0751056187947571,-0.00100000000000001, 4891P 7719
+0.151; 4891P 7720
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4893P 7721
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4893P 7722
+63.8061752732478,-121.811192420061,8.7470375,63.8061752732478, 4893P 7723
+-134.634964508938,8.7470375,63.8061752732478,-121.811192420061, 4893P 7724
+7.1073375,63.8061752732478,-134.634964508938,7.1073375,-0.001, 4893P 7725
+1.1877621866862,-0.001,0.151; 4893P 7726
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 4895P 7727
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 4895P 7728
+1.,1.,1.,1.,64.6163771359937,-121.821997575749,8.7470375, 4895P 7729
+63.7953877732504,-121.821979684983,8.7470375,64.6163771359937, 4895P 7730
+-121.821997575749,7.1073375,63.7953877732504,-121.821979684983, 4895P 7731
+7.1073375,-0.00100000000000266,0.0751056188123521,-0.001,0.151; 4895P 7732
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0564439671834303, 4897P 7733
+0.0564439671834303,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4897P 7734
+64.6055896359963,-121.213108044679,8.7470375,64.6055896359963, 4897P 7735
+-121.83278484067,8.7470375,64.6055896359963,-121.213108044679, 4897P 7736
+7.1073375,64.6055896359963,-121.83278484067,7.1073375,-0.001, 4897P 7737
+0.0564439671834303,-0.001,0.151; 4897P 7738
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4899P 7739
+1.29879546101989,1.29879546101989,-0.001,-0.001,0.151,0.151,1., 4899P 7740
+1.,1.,1.,59.5669785465442,-121.223878110646,8.7470375, 4899P 7741
+45.545435010803,-121.223895558102,8.7470375,59.5669785465442, 4899P 7742
+-121.223878110646,7.1073375,45.545435010803,-121.223895558102, 4899P 7743
+7.1073375,-0.00100000000000002,1.29879546101989,-0.001,0.151; 4899P 7744
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4901P 7745
+0.0564439671834306,0.0564439671834306,-0.001,-0.001,0.151,0.151, 4901P 7746
+1.,1.,1.,1.,59.5561910465442,-121.832767420061,8.7470375, 4901P 7747
+59.5561910465442,-121.213090624069,8.7470375,59.5561910465442, 4901P 7748
+-121.832767420061,7.1073375,59.5561910465442,-121.213090624069, 4901P 7749
+7.1073375,-0.00100000000000178,0.0564439671834306,-0.001,0.151; 4901P 7750
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 4903P 7751
+0.0751056188123521,0.0751056188123521,-0.00100000000000011, 4903P 7752
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,60.3663929092901, 4903P 7753
+-121.821997575749,8.7470375,59.5454035465468,-121.821979684983, 4903P 7754
+8.7470375,60.3663929092901,-121.821997575749,7.1073375, 4903P 7755
+59.5454035465468,-121.821979684983,7.1073375, 4903P 7756
+-0.00100000000000266,0.0751056188123521,-0.00100000000000011, 4903P 7757
+0.151; 4903P 7758
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4905P 7759
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4905P 7760
+60.3556054092926,-134.634981929548,8.7470375,60.3556054092926, 4905P 7761
+-121.81120984067,8.7470375,60.3556054092926,-134.634981929548, 4905P 7762
+7.1073375,60.3556054092926,-121.81120984067,7.1073375,-0.001, 4905P 7763
+1.1877621866862,-0.001,0.151; 4905P 7764
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 4907P 7765
+0.0751056188123522,0.0751056188123522,-0.001,-0.001,0.151,0.151, 4907P 7766
+1.,1.,1.,1.,59.5454035465467,-134.62417677386,8.7470375, 4907P 7767
+60.3663929092901,-134.624194664626,8.7470375,59.5454035465467, 4907P 7768
+-134.62417677386,7.1073375,60.3663929092901,-134.624194664626, 4907P 7769
+7.1073375,-0.00100000000000266,0.0751056188123522,-0.001,0.151; 4907P 7770
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.056571543375649, 4909P 7771
+0.056571543375649,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4909P 7772
+59.5561910465442,-135.234442533103,8.7470375,59.5561910465442, 4909P 7773
+-134.613389508938,8.7470375,59.5561910465442,-135.234442533103, 4909P 7774
+7.1073375,59.5561910465442,-134.613389508938,7.1073375,-0.001, 4909P 7775
+0.056571543375649,-0.001,0.151; 4909P 7776
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29879546101888, 4911P 7777
+1.29879546101888,-0.00100000000000011,-0.00100000000000011, 4911P 7778
+0.151,0.151,1.,1.,1.,1.,45.545435010803,-135.223655033103, 4911P 7779
+8.7470375,59.5669785465442,-135.223655033103,8.7470375, 4911P 7780
+45.545435010803,-135.223655033103,7.1073375,59.5669785465442, 4911P 7781
+-135.223655033103,7.1073375,-0.001,1.29879546101888, 4911P 7782
+-0.00100000000000011,0.151; 4911P 7783
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565715433756525, 4913P 7784
+0.0565715433756525,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4913P 7785
+45.556222510803,-134.613389508938,8.7470375,45.556222510803, 4913P 7786
+-135.234442533103,8.7470375,45.556222510803,-134.613389508938, 4913P 7787
+7.1073375,45.556222510803,-135.234442533103,7.1073375,-0.001, 4913P 7788
+0.0565715433756525,-0.001,0.151; 4913P 7789
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751621398925796, 4915P 7790
+0.0751621398925796,-0.00100000000000001,-0.00100000000000001, 4915P 7791
+0.151,0.151,1.,1.,1.,1.,44.7454109267118,-134.624177008938, 4915P 7792
+8.7470375,45.567010010803,-134.624177008938,8.7470375, 4915P 7793
+44.7454109267118,-134.624177008938,7.1073375,45.567010010803, 4915P 7794
+-134.624177008938,7.1073375,-0.001,0.0751621398925796, 4915P 7795
+-0.00100000000000001,0.151; 4915P 7796
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877621866862, 4917P 7797
+1.1877621866862,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4917P 7798
+44.7561984267118,-121.811192420061,8.7470375,44.7561984267118, 4917P 7799
+-134.634964508938,8.7470375,44.7561984267118,-121.811192420061, 4917P 7800
+7.1073375,44.7561984267118,-134.634964508938,7.1073375,-0.001, 4917P 7801
+1.1877621866862,-0.001,0.151; 4917P 7802
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4919P 7803
+0.0751621399101629,0.0751621399101629,-0.001,-0.001,0.151,0.151, 4919P 7804
+1.,1.,1.,1.,45.5670100108004,-121.821997575569,8.7470375, 4919P 7805
+44.7454109267143,-121.821979685162,8.7470375,45.5670100108004, 4919P 7806
+-121.821997575569,7.1073375,44.7454109267143,-121.821979685162, 4919P 7807
+7.1073375,-0.00100000000000002,0.0751621399101629,-0.001,0.151; 4919P 7808
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0564439671834303, 4921P 7809
+0.0564439671834303,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4921P 7810
+45.556222510803,-121.213108044679,8.7470375,45.556222510803, 4921P 7811
+-121.83278484067,8.7470375,45.556222510803,-121.213108044679, 4921P 7812
+7.1073375,45.556222510803,-121.83278484067,7.1073375,-0.001, 4921P 7813
+0.0564439671834303,-0.001,0.151; 4921P 7814
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4923P 7815
+1.29891011810403,1.29891011810403,-0.00100000000000011, 4923P 7816
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,154.818861794198, 4923P 7817
+-102.173605113745,8.74703749999999,140.796081395161, 4923P 7818
+-102.173622561199,8.74703749999999,154.818861794198, 4923P 7819
+-102.173605113745,7.10733749999999,140.796081395161, 4923P 7820
+-102.173622561199,7.10733749999999,-0.00100000000000002, 4923P 7821
+1.29891011810403,-0.00100000000000011,0.151; 4923P 7822
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4925P 7823
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 4925P 7824
+1.,1.,1.,1.,154.808074294198,-102.783696445234,8.74703749999999, 4925P 7825
+154.808074294198,-102.162817627167,8.74703749999999, 4925P 7826
+154.808074294198,-102.783696445234,7.10733749999999, 4925P 7827
+154.808074294198,-102.162817627167,7.10733749999999, 4925P 7828
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 4925P 7829
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4927P 7830
+0.0750926997042859,0.0750926997042859,-0.001,-0.001,0.151,0.151, 4927P 7831
+1.,1.,1.,1.,155.618136792065,-102.772926600963,8.74703749999999, 4927P 7832
+154.7972867942,-102.772908710115,8.74703749999999, 4927P 7833
+155.618136792065,-102.772926600963,7.10733749999999, 4927P 7834
+154.7972867942,-102.772908710115,7.10733749999999, 4927P 7835
+-0.00100000000000002,0.0750926997042859,-0.001,0.151; 4927P 7836
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 4929P 7837
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4929P 7838
+155.607349292068,-115.584569567767,8.74703749999999, 4929P 7839
+155.607349292068,-102.762138865844,8.74703749999999, 4929P 7840
+155.607349292068,-115.584569567767,7.10733749999999, 4929P 7841
+155.607349292068,-102.762138865844,7.10733749999999,-0.001, 4929P 7842
+1.187637840271,-0.001,0.151; 4929P 7843
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4931P 7844
+0.0750926997042836,0.0750926997042836,-0.00100000000000001, 4931P 7845
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,154.7972867942, 4931P 7846
+-115.573764412038,8.74703749999999,155.618136792065, 4931P 7847
+-115.573782302886,8.74703749999999,154.7972867942, 4931P 7848
+-115.573764412038,7.10733749999999,155.618136792065, 4931P 7849
+-115.573782302886,7.10733749999999,-0.00100000000000178, 4931P 7850
+0.0750926997042836,-0.00100000000000001,0.151; 4931P 7851
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565747731526666, 4933P 7852
+0.0565747731526666,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4933P 7853
+154.808074294198,-116.184065012542,8.74703749999999, 4933P 7854
+154.808074294198,-115.562977147157,8.74703749999999, 4933P 7855
+154.808074294198,-116.184065012542,7.10733749999999, 4933P 7856
+154.808074294198,-115.562977147157,7.10733749999999,-0.001, 4933P 7857
+0.0565747731526666,-0.001,0.151; 4933P 7858
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.2989097143809, 4935P 7859
+1.2989097143809,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4935P 7860
+140.796085750314,-116.173277512542,8.74703749999999, 4935P 7861
+154.818861794198,-116.173277512542,8.74703749999999, 4935P 7862
+140.796085750314,-116.173277512542,7.10733749999999, 4935P 7863
+154.818861794198,-116.173277512542,7.10733749999999,-0.001, 4935P 7864
+1.2989097143809,-0.001,0.151; 4935P 7865
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4937P 7866
+0.0565747731541363,0.0565747731541363,-0.001,-0.001,0.151,0.151, 4937P 7867
+1.,1.,1.,1.,140.806868816796,-115.562977147158,8.74703749999999, 4937P 7868
+140.80687332868,-116.184065012541,8.74703749999999, 4937P 7869
+140.806868816796,-115.562977147158,7.10733749999999, 4937P 7870
+140.80687332868,-116.184065012541,7.10733749999999, 4937P 7871
+-0.00100000000000178,0.0565747731541363,-0.001,0.151; 4937P 7872
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750874512990324, 4939P 7873
+0.0750874512990324,-0.00100000000000011,-0.00100000000000011, 4939P 7874
+0.151,0.151,1.,1.,1.,1.,139.996863014273,-115.573764647157, 4939P 7875
+8.74703749999999,140.817656395161,-115.573764647157, 4939P 7876
+8.74703749999999,139.996863014273,-115.573764647157, 4939P 7877
+7.10733749999999,140.817656395161,-115.573764647157, 4939P 7878
+7.10733749999999,-0.001,0.0750874512990324,-0.00100000000000011, 4939P 7879
+0.151; 4939P 7880
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18763784027106, 4941P 7881
+1.18763784027106,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4941P 7882
+140.007654873096,-102.762121445234,8.74703749999999, 4941P 7883
+140.007650510603,-115.584552147157,8.74703749999999, 4941P 7884
+140.007654873096,-102.762121445234,7.10733749999999, 4941P 7885
+140.007650510603,-115.584552147157,7.10733749999999,-0.001, 4941P 7886
+1.18763784027106,-0.001,0.151; 4941P 7887
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4943P 7888
+0.075087451316632,0.075087451316632,-0.001,-0.001,0.151,0.151, 4943P 7889
+1.,1.,1.,1.,140.817660750311,-102.772926600979,8.74703749999999, 4943P 7890
+139.996867369428,-102.772908710098,8.74703749999999, 4943P 7891
+140.817660750311,-102.772926600979,7.10733749999999, 4943P 7892
+139.996867369428,-102.772908710098,7.10733749999999, 4943P 7893
+-0.00100000000000002,0.075087451316632,-0.001,0.151; 4943P 7894
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944920294, 4945P 7895
+0.0565553944920294,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4945P 7896
+140.806868816768,-102.162835047777,8.74703749999999, 4945P 7897
+140.806873328707,-102.783713865843,8.74703749999999, 4945P 7898
+140.806868816768,-102.162835047777,7.10733749999999, 4945P 7899
+140.806873328707,-102.783713865843,7.10733749999999,-0.001, 4945P 7900
+0.0565553944920294,-0.001,0.151; 4945P 7901
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4947P 7902
+1.29888872083129,1.29888872083129,-0.00100000000000009, 4947P 7903
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,135.768458142722, 4947P 7904
+-102.173605113745,8.74703749999999,121.745908566765, 4947P 7905
+-102.173622561199,8.74703749999999,135.768458142722, 4947P 7906
+-102.173605113745,7.10733749999999,121.745908566765, 4947P 7907
+-102.173622561199,7.10733749999999,-0.00100000000000002, 4947P 7908
+1.29888872083129,-0.00100000000000009,0.151; 4947P 7909
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.069153139750164, 4949P 7910
+0.069153139750164,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4949P 7911
+135.757670642722,-102.919594622222,8.74703749999999, 4949P 7912
+135.757670642722,-102.162817627167,8.74703749999999, 4949P 7913
+135.757670642722,-102.919594622222,7.10733749999999, 4949P 7914
+135.757670642722,-102.162817627167,7.10733749999999,-0.001, 4949P 7915
+0.069153139750164,-0.001,0.151; 4949P 7916
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4951P 7917
+0.0750967369079582,0.0750967369079582,-0.001,-0.001,0.151,0.151, 4951P 7918
+1.,1.,1.,1.,136.567776692117,-102.908807122222,8.74703749999999, 4951P 7919
+135.746883142722,-102.908807122222,8.74703749999999, 4951P 7920
+136.567776692117,-102.908807122222,7.10733749999999, 4951P 7921
+135.746883142722,-102.908807122222,7.10733749999999, 4951P 7922
+-0.00100000000000002,0.0750967369079582,-0.001,0.151; 4951P 7923
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 4953P 7924
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4953P 7925
+136.556989192117,-115.720450324145,8.74703749999999, 4953P 7926
+136.556989192117,-102.898019622222,8.74703749999999, 4953P 7927
+136.556989192117,-115.720450324145,7.10733749999999, 4953P 7928
+136.556989192117,-102.898019622222,7.10733749999999,-0.001, 4953P 7929
+1.187637840271,-0.001,0.151; 4953P 7930
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750967369079582, 4955P 7931
+0.0750967369079582,-0.00100000000000001,-0.00100000000000001, 4955P 7932
+0.151,0.151,1.,1.,1.,1.,135.746883142722,-115.709662824145, 4955P 7933
+8.74703749999999,136.567776692117,-115.709662824145, 4955P 7934
+8.74703749999999,135.746883142722,-115.709662824145, 4955P 7935
+7.10733749999999,136.567776692117,-115.709662824145, 4955P 7936
+7.10733749999999,-0.001,0.0750967369079582,-0.00100000000000001, 4955P 7937
+0.151; 4955P 7938
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0441191380818669, 4957P 7939
+0.0441191380818669,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4957P 7940
+135.757670642722,-116.185598026203,8.74703749999999, 4957P 7941
+135.757670642722,-115.698875324145,8.74703749999999, 4957P 7942
+135.757670642722,-116.185598026203,7.10733749999999, 4957P 7943
+135.757670642722,-115.698875324145,7.10733749999999,-0.001, 4957P 7944
+0.0441191380818669,-0.001,0.151; 4957P 7945
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888872083028, 4959P 7946
+1.29888872083028,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4959P 7947
+121.745908566765,-116.174810526203,8.74703749999999, 4959P 7948
+135.768458142722,-116.174810526203,8.74703749999999, 4959P 7949
+121.745908566765,-116.174810526203,7.10733749999999, 4959P 7950
+135.768458142722,-116.174810526203,7.10733749999999,-0.001, 4959P 7951
+1.29888872083028,-0.001,0.151; 4959P 7952
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4961P 7953
+0.0565747731526699,0.0565747731526699,-0.001,-0.001,0.151,0.151, 4961P 7954
+1.,1.,1.,1.,121.756696066765,-115.564510160819,8.74703749999999, 4961P 7955
+121.756696066765,-116.185598026203,8.74703749999999, 4961P 7956
+121.756696066765,-115.564510160819,7.10733749999999, 4961P 7957
+121.756696066765,-116.185598026203,7.10733749999999, 4961P 7958
+-0.00100000000000178,0.0565747731526699,-0.001,0.151; 4961P 7959
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056187947582, 4963P 7960
+0.0751056187947582,-0.00100000000000001,-0.00100000000000001, 4963P 7961
+0.151,0.151,1.,1.,1.,1.,120.946494204017,-115.575297660819, 4963P 7962
+8.74703749999999,121.767483566765,-115.575297660819, 4963P 7963
+8.74703749999999,120.946494204017,-115.575297660819, 4963P 7964
+7.10733749999999,121.767483566765,-115.575297660819, 4963P 7965
+7.10733749999999,-0.001,0.0751056187947582,-0.00100000000000001, 4963P 7966
+0.151; 4963P 7967
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.1877799504598, 4965P 7968
+1.1877799504598,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4965P 7969
+120.957281704017,-102.762121445234,8.74703749999999, 4965P 7970
+120.957281704017,-115.586085160819,8.74703749999999, 4965P 7971
+120.957281704017,-102.762121445234,7.10733749999999, 4965P 7972
+120.957281704017,-115.586085160819,7.10733749999999,-0.001, 4965P 7973
+1.1877799504598,-0.001,0.151; 4965P 7974
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4967P 7975
+0.0751056188123538,0.0751056188123538,-0.001,-0.001,0.151,0.151, 4967P 7976
+1.,1.,1.,1.,121.767483566763,-102.772926600922,8.74703749999999, 4967P 7977
+120.946494204019,-102.772908710156,8.74703749999999, 4967P 7978
+121.767483566763,-102.772926600922,7.10733749999999, 4967P 7979
+120.946494204019,-102.772908710156,7.10733749999999, 4967P 7980
+-0.00100000000000002,0.0751056188123538,-0.001,0.151; 4967P 7981
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905629, 4969P 7982
+0.0565553944905629,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4969P 7983
+121.756696066765,-102.162835047777,8.74703749999999, 4969P 7984
+121.756696066765,-102.783713865844,8.74703749999999, 4969P 7985
+121.756696066765,-102.162835047777,7.10733749999999, 4969P 7986
+121.756696066765,-102.783713865844,7.10733749999999,-0.001, 4969P 7987
+0.0565553944905629,-0.001,0.151; 4969P 7988
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4971P 7989
+1.29888831710916,1.29888831710916,-0.00100000000000009, 4971P 7990
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,116.718084977313, 4971P 7991
+-102.173605113745,8.74703749999999,102.695539756509, 4971P 7992
+-102.173622561199,8.7470375,116.718084977313,-102.173605113745, 4971P 7993
+7.10733749999999,102.695539756509,-102.173622561199, 4971P 7994
+7.10733749999999,-0.00100000000000002,1.29888831710916, 4971P 7995
+-0.00100000000000009,0.151; 4971P 7996
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4973P 7997
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 4973P 7998
+1.,1.,1.,1.,116.707297477313,-102.783696445234,8.74703749999999, 4973P 7999
+116.707297477313,-102.162817627167,8.74703749999999, 4973P 8000
+116.707297477313,-102.783696445234,7.10733749999999, 4973P 8001
+116.707297477313,-102.162817627167,7.10733749999999, 4973P 8002
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 4973P 8003
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4975P 8004
+0.0751056188123572,0.0751056188123572,-0.001,-0.001,0.151,0.151, 4975P 8005
+1.,1.,1.,1.,117.517499340059,-102.772926600922,8.74703749999999, 4975P 8006
+116.696509977316,-102.772908710156,8.74703749999999, 4975P 8007
+117.517499340059,-102.772926600922,7.10733749999999, 4975P 8008
+116.696509977316,-102.772908710156,7.10733749999999, 4975P 8009
+-0.00100000000000002,0.0751056188123572,-0.001,0.151; 4975P 8010
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18763784027127, 4977P 8011
+1.18763784027127,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4977P 8012
+117.506720557707,-115.584569567767,8.74703749999999, 4977P 8013
+117.506711832721,-102.762138865844,8.74703749999999, 4977P 8014
+117.506720557707,-115.584569567767,7.10733749999999, 4977P 8015
+117.506711832721,-102.762138865844,7.10733749999999,-0.001, 4977P 8016
+1.18763784027127,-0.001,0.151; 4977P 8017
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056188123554, 4979P 8018
+0.0751056188123554,-0.00100000000000001,-0.00100000000000001, 4979P 8019
+0.151,0.151,1.,1.,1.,1.,116.696518687621,-115.573764412079, 4979P 8020
+8.74703749999999,117.517508050364,-115.573782302845, 4979P 8021
+8.74703749999999,116.696518687621,-115.573764412079, 4979P 8022
+7.10733749999999,117.517508050364,-115.573782302845, 4979P 8023
+7.10733749999999,-0.001,0.0751056188123554,-0.00100000000000001, 4979P 8024
+0.151; 4979P 8025
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565747731585322, 4981P 8026
+0.0565747731585322,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4981P 8027
+116.707297320582,-116.184065012541,8.74703749999999, 4981P 8028
+116.707306344349,-115.562977147158,8.74703749999999, 4981P 8029
+116.707297320582,-116.184065012541,7.10733749999999, 4981P 8030
+116.707306344349,-115.562977147158,7.10733749999999,-0.001, 4981P 8031
+0.0565747731585322,-0.001,0.151; 4981P 8032
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710816, 4983P 8033
+1.29888831710816,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4983P 8034
+102.695539756509,-116.173277512542,8.7470375,116.718084977313, 4983P 8035
+-116.173277512542,8.74703749999999,102.695539756509, 4983P 8036
+-116.173277512542,7.10733749999999,116.718084977313, 4983P 8037
+-116.173277512542,7.10733749999999,-0.001,1.29888831710816, 4983P 8038
+-0.001,0.151; 4983P 8039
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4985P 8040
+0.0565747731526699,0.0565747731526699,-0.001,-0.001,0.151,0.151, 4985P 8041
+1.,1.,1.,1.,102.706327256509,-115.562977147157,8.7470375, 4985P 8042
+102.706327256509,-116.184065012542,8.7470375,102.706327256509, 4985P 8043
+-115.562977147157,7.10733749999999,102.706327256509, 4985P 8044
+-116.184065012542,7.10733749999999,-0.00100000000000178, 4985P 8045
+0.0565747731526699,-0.001,0.151; 4985P 8046
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4987P 8047
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 4987P 8048
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,101.89612539376, 4987P 8049
+-115.573764647157,8.7470375,102.717114756509,-115.573764647157, 4987P 8050
+8.7470375,101.89612539376,-115.573764647157,7.10733749999999, 4987P 8051
+102.717114756509,-115.573764647157,7.10733749999999, 4987P 8052
+-0.00100000000000178,0.0751056187947571,-0.00100000000000001, 4987P 8053
+0.151; 4987P 8054
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 4989P 8055
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4989P 8056
+101.90691289376,-102.762121445234,8.7470375,101.90691289376, 4989P 8057
+-115.584552147157,8.7470375,101.90691289376,-102.762121445234, 4989P 8058
+7.10733749999999,101.90691289376,-115.584552147157, 4989P 8059
+7.10733749999999,-0.001,1.187637840271,-0.001,0.151; 4989P 8060
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4991P 8061
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 4991P 8062
+1.,1.,1.,1.,102.717114756506,-102.772926600922,8.7470375, 4991P 8063
+101.896125393763,-102.772908710156,8.7470375,102.717114756506, 4991P 8064
+-102.772926600922,7.10733749999999,101.896125393763, 4991P 8065
+-102.772908710156,7.10733749999999,-0.00100000000000178, 4991P 8066
+0.0751056188123521,-0.001,0.151; 4991P 8067
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905629, 4993P 8068
+0.0565553944905629,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 4993P 8069
+102.706327256509,-102.162835047777,8.7470375,102.706327256509, 4993P 8070
+-102.783713865844,8.7470375,102.706327256509,-102.162835047777, 4993P 8071
+7.10733749999999,102.706327256509,-102.783713865844, 4993P 8072
+7.10733749999999,-0.001,0.0565553944905629,-0.001,0.151; 4993P 8073
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 4995P 8074
+1.29888831710916,1.29888831710916,-0.00100000000000009, 4995P 8075
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,97.6677161670568, 4995P 8076
+-102.173605113745,8.7470375,83.6451709462526,-102.173622561199, 4995P 8077
+8.7470375,97.6677161670568,-102.173605113745,7.10733749999999, 4995P 8078
+83.6451709462526,-102.173622561199,7.1073375, 4995P 8079
+-0.00100000000000002,1.29888831710916,-0.00100000000000009, 4995P 8080
+0.151; 4995P 8081
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4997P 8082
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 4997P 8083
+1.,1.,1.,1.,97.6569286670568,-102.783696445234,8.7470375, 4997P 8084
+97.6569286670568,-102.162817627167,8.7470375,97.6569286670568, 4997P 8085
+-102.783696445234,7.10733749999999,97.6569286670568, 4997P 8086
+-102.162817627167,7.10733749999999,-0.00100000000000178, 4997P 8087
+0.0565553944905594,-0.001,0.151; 4997P 8088
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 4999P 8089
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 4999P 8090
+1.,1.,1.,1.,98.4671305298027,-102.772926600922,8.7470375, 4999P 8091
+97.6461411670594,-102.772908710156,8.7470375,98.4671305298027, 4999P 8092
+-102.772926600922,7.10733749999999,97.6461411670594, 4999P 8093
+-102.772908710156,7.10733749999999,-0.00100000000000178, 4999P 8094
+0.0751056188123521,-0.001,0.151; 4999P 8095
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5001P 8096
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5001P 8097
+98.4563430298053,-115.584569567767,8.7470375,98.4563430298053, 5001P 8098
+-102.762138865844,8.7470375,98.4563430298053,-115.584569567767, 5001P 8099
+7.10733749999999,98.4563430298053,-102.762138865844, 5001P 8100
+7.10733749999999,-0.001,1.187637840271,-0.001,0.151; 5001P 8101
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5003P 8102
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 5003P 8103
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,97.6461411670594, 5003P 8104
+-115.573764412079,8.7470375,98.4671305298027,-115.573782302845, 5003P 8105
+8.7470375,97.6461411670594,-115.573764412079,7.10733749999999, 5003P 8106
+98.4671305298027,-115.573782302845,7.10733749999999, 5003P 8107
+-0.00100000000000178,0.0751056188123522,-0.00100000000000001, 5003P 8108
+0.151; 5003P 8109
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565747731526666, 5005P 8110
+0.0565747731526666,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5005P 8111
+97.6569286670568,-116.184065012542,8.7470375,97.6569286670568, 5005P 8112
+-115.562977147157,8.7470375,97.6569286670568,-116.184065012542, 5005P 8113
+7.10733749999999,97.6569286670568,-115.562977147157, 5005P 8114
+7.10733749999999,-0.001,0.0565747731526666,-0.001,0.151; 5005P 8115
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888912455241, 5007P 8116
+1.29888912455241,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5007P 8117
+83.6451622359477,-116.173277512542,8.7470375,97.6677161670568, 5007P 8118
+-116.173277512542,8.7470375,83.6451622359477,-116.173277512542, 5007P 8119
+7.1073375,97.6677161670569,-116.173277512542,7.1073375,-0.001, 5007P 8120
+1.29888912455241,-0.001,0.151; 5007P 8121
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5009P 8122
+0.0565747731585355,0.0565747731585355,-0.001,-0.001,0.151,0.151, 5009P 8123
+1.,1.,1.,1.,83.6559586029839,-115.562977147158,8.7470375, 5009P 8124
+83.6559495792164,-116.184065012541,8.7470375,83.6559586029839, 5009P 8125
+-115.562977147158,7.1073375,83.6559495792164,-116.184065012541, 5009P 8126
+7.1073375,-0.00100000000000178,0.0565747731585355,-0.001,0.151; 5009P 8127
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000165,-0.00100000000000165, 5011P 8128
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 5011P 8129
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,82.8457565835041, 5011P 8130
+-115.573764647157,8.7470375,83.6667459462526,-115.573764647157, 5011P 8131
+8.7470375,82.8457565835041,-115.573764647157,7.1073375, 5011P 8132
+83.6667459462526,-115.573764647157,7.1073375, 5011P 8133
+-0.00100000000000165,0.0751056187947571,-0.00100000000000001, 5011P 8134
+0.151; 5011P 8135
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5013P 8136
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5013P 8137
+82.8565440835042,-102.762121445234,8.7470375,82.8565440835042, 5013P 8138
+-115.584552147157,8.7470375,82.8565440835042,-102.762121445234, 5013P 8139
+7.1073375,82.8565440835042,-115.584552147157,7.1073375,-0.001, 5013P 8140
+1.187637840271,-0.001,0.151; 5013P 8141
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5015P 8142
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 5015P 8143
+1.,1.,1.,1.,83.66674594625,-102.772926600922,8.7470375, 5015P 8144
+82.8457565835067,-102.772908710156,8.7470375,83.66674594625, 5015P 8145
+-102.772926600922,7.1073375,82.8457565835067,-102.772908710156, 5015P 8146
+7.1073375,-0.00100000000000178,0.0751056188123521,-0.001,0.151; 5015P 8147
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905629, 5017P 8148
+0.0565553944905629,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5017P 8149
+83.6559584462526,-102.162835047777,8.7470375,83.6559584462526, 5017P 8150
+-102.783713865844,8.7470375,83.6559584462526,-102.162835047777, 5017P 8151
+7.1073375,83.6559584462526,-102.783713865844,7.1073375,-0.001, 5017P 8152
+0.0565553944905629,-0.001,0.151; 5017P 8153
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5019P 8154
+1.29888831710916,1.29888831710916,-0.00100000000000009, 5019P 8155
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,78.6173473568005, 5019P 8156
+-102.173605113745,8.7470375,64.5948021359963,-102.173622561199, 5019P 8157
+8.7470375,78.6173473568005,-102.173605113745,7.1073375, 5019P 8158
+64.5948021359963,-102.173622561199,7.1073375, 5019P 8159
+-0.00100000000000002,1.29888831710916,-0.00100000000000009, 5019P 8160
+0.151; 5019P 8161
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5021P 8162
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5021P 8163
+1.,1.,1.,1.,78.6065598568005,-102.783696445234,8.7470375, 5021P 8164
+78.6065598568005,-102.162817627167,8.7470375,78.6065598568005, 5021P 8165
+-102.783696445234,7.1073375,78.6065598568005,-102.162817627167, 5021P 8166
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5021P 8167
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5023P 8168
+0.0751056188123528,0.0751056188123528,-0.001,-0.001,0.151,0.151, 5023P 8169
+1.,1.,1.,1.,79.4167617195464,-102.772926600922,8.7470375, 5023P 8170
+78.5957723568031,-102.772908710156,8.7470375,79.4167617195464, 5023P 8171
+-102.772926600922,7.1073375,78.5957723568031,-102.772908710156, 5023P 8172
+7.1073375,-0.00100000000000266,0.0751056188123528,-0.001,0.151; 5023P 8173
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5025P 8174
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5025P 8175
+79.4059742195489,-115.584569567767,8.7470375,79.4059742195489, 5025P 8176
+-102.762138865844,8.7470375,79.4059742195489,-115.584569567767, 5025P 8177
+7.1073375,79.4059742195489,-102.762138865844,7.1073375,-0.001, 5025P 8178
+1.187637840271,-0.001,0.151; 5025P 8179
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5027P 8180
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 5027P 8181
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,78.595772356803, 5027P 8182
+-115.573764412079,8.7470375,79.4167617195464,-115.573782302845, 5027P 8183
+8.7470375,78.595772356803,-115.573764412079,7.1073375, 5027P 8184
+79.4167617195464,-115.573782302845,7.1073375, 5027P 8185
+-0.00100000000000266,0.0751056188123522,-0.00100000000000001, 5027P 8186
+0.151; 5027P 8187
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565747731526666, 5029P 8188
+0.0565747731526666,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5029P 8189
+78.6065598568005,-116.184065012542,8.7470375,78.6065598568005, 5029P 8190
+-115.562977147157,8.7470375,78.6065598568005,-116.184065012542, 5029P 8191
+7.1073375,78.6065598568005,-115.562977147157,7.1073375,-0.001, 5029P 8192
+0.0565747731526666,-0.001,0.151; 5029P 8193
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710816, 5031P 8194
+1.29888831710816,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5031P 8195
+64.5948021359963,-116.173277512542,8.7470375,78.6173473568005, 5031P 8196
+-116.173277512542,8.7470375,64.5948021359963,-116.173277512542, 5031P 8197
+7.1073375,78.6173473568005,-116.173277512542,7.1073375,-0.001, 5031P 8198
+1.29888831710816,-0.001,0.151; 5031P 8199
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5033P 8200
+0.0565747731526699,0.0565747731526699,-0.001,-0.001,0.151,0.151, 5033P 8201
+1.,1.,1.,1.,64.6055896359963,-115.562977147157,8.7470375, 5033P 8202
+64.6055896359963,-116.184065012542,8.7470375,64.6055896359963, 5033P 8203
+-115.562977147157,7.1073375,64.6055896359963,-116.184065012542, 5033P 8204
+7.1073375,-0.00100000000000178,0.0565747731526699,-0.001,0.151; 5033P 8205
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000247,-0.00100000000000247, 5035P 8206
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 5035P 8207
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,63.7953877732478, 5035P 8208
+-115.573764647157,8.7470375,64.6163771359963,-115.573764647157, 5035P 8209
+8.7470375,63.7953877732478,-115.573764647157,7.1073375, 5035P 8210
+64.6163771359963,-115.573764647157,7.1073375, 5035P 8211
+-0.00100000000000247,0.0751056187947571,-0.00100000000000001, 5035P 8212
+0.151; 5035P 8213
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5037P 8214
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5037P 8215
+63.8061752732478,-102.762121445234,8.7470375,63.8061752732478, 5037P 8216
+-115.584552147157,8.7470375,63.8061752732478,-102.762121445234, 5037P 8217
+7.1073375,63.8061752732478,-115.584552147157,7.1073375,-0.001, 5037P 8218
+1.187637840271,-0.001,0.151; 5037P 8219
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5039P 8220
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 5039P 8221
+1.,1.,1.,1.,64.6163771359937,-102.772926600922,8.7470375, 5039P 8222
+63.7953877732504,-102.772908710156,8.7470375,64.6163771359937, 5039P 8223
+-102.772926600922,7.1073375,63.7953877732504,-102.772908710156, 5039P 8224
+7.1073375,-0.00100000000000266,0.0751056188123521,-0.001,0.151; 5039P 8225
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905629, 5041P 8226
+0.0565553944905629,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5041P 8227
+64.6055896359963,-102.162835047777,8.7470375,64.6055896359963, 5041P 8228
+-102.783713865844,8.7470375,64.6055896359963,-102.162835047777, 5041P 8229
+7.1073375,64.6055896359963,-102.783713865844,7.1073375,-0.001, 5041P 8230
+0.0565553944905629,-0.001,0.151; 5041P 8231
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5043P 8232
+1.29879546101989,1.29879546101989,-0.001,-0.001,0.151,0.151,1., 5043P 8233
+1.,1.,1.,59.5669785465442,-102.173605113744,8.7470375, 5043P 8234
+45.545435010803,-102.1736225612,8.7470375,59.5669785465442, 5043P 8235
+-102.173605113744,7.1073375,45.545435010803,-102.1736225612, 5043P 8236
+7.1073375,-0.00100000000000002,1.29879546101989,-0.001,0.151; 5043P 8237
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5045P 8238
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5045P 8239
+1.,1.,1.,1.,59.5561910465442,-102.783696445234,8.7470375, 5045P 8240
+59.5561910465442,-102.162817627167,8.7470375,59.5561910465442, 5045P 8241
+-102.783696445234,7.1073375,59.5561910465442,-102.162817627167, 5045P 8242
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5045P 8243
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000249,-0.00100000000000249, 5047P 8244
+0.0751056188123528,0.0751056188123528,-0.00100000000000011, 5047P 8245
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,60.3663929092901, 5047P 8246
+-102.772926600922,8.7470375,59.5454035465467,-102.772908710156, 5047P 8247
+8.7470375,60.3663929092901,-102.772926600922,7.1073375, 5047P 8248
+59.5454035465467,-102.772908710156,7.1073375, 5047P 8249
+-0.00100000000000249,0.0751056188123528,-0.00100000000000011, 5047P 8250
+0.151; 5047P 8251
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5049P 8252
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5049P 8253
+60.3556054092926,-115.584569567767,8.7470375,60.3556054092926, 5049P 8254
+-102.762138865844,8.7470375,60.3556054092926,-115.584569567767, 5049P 8255
+7.1073375,60.3556054092926,-102.762138865844,7.1073375,-0.001, 5049P 8256
+1.187637840271,-0.001,0.151; 5049P 8257
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000247,-0.00100000000000247, 5051P 8258
+0.0751056188123528,0.0751056188123528,-0.001,-0.001,0.151,0.151, 5051P 8259
+1.,1.,1.,1.,59.5454035465467,-115.573764412079,8.7470375, 5051P 8260
+60.3663929092901,-115.573782302845,8.7470375,59.5454035465467, 5051P 8261
+-115.573764412079,7.1073375,60.3663929092901,-115.573782302845, 5051P 8262
+7.1073375,-0.00100000000000247,0.0751056188123528,-0.001,0.151; 5051P 8263
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565747731526666, 5053P 8264
+0.0565747731526666,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5053P 8265
+59.5561910465442,-116.184065012542,8.7470375,59.5561910465442, 5053P 8266
+-115.562977147157,8.7470375,59.5561910465442,-116.184065012542, 5053P 8267
+7.1073375,59.5561910465442,-115.562977147157,7.1073375,-0.001, 5053P 8268
+0.0565747731526666,-0.001,0.151; 5053P 8269
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29879546101888, 5055P 8270
+1.29879546101888,-0.00100000000000011,-0.00100000000000011, 5055P 8271
+0.151,0.151,1.,1.,1.,1.,45.545435010803,-116.173277512542, 5055P 8272
+8.7470375,59.5669785465442,-116.173277512542,8.7470375, 5055P 8273
+45.545435010803,-116.173277512542,7.1073375,59.5669785465442, 5055P 8274
+-116.173277512542,7.1073375,-0.001,1.29879546101888, 5055P 8275
+-0.00100000000000011,0.151; 5055P 8276
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5057P 8277
+0.0565747731526699,0.0565747731526699,-0.001,-0.001,0.151,0.151, 5057P 8278
+1.,1.,1.,1.,45.556222510803,-115.562977147157,8.7470375, 5057P 8279
+45.556222510803,-116.184065012542,8.7470375,45.556222510803, 5057P 8280
+-115.562977147157,7.1073375,45.556222510803,-116.184065012542, 5057P 8281
+7.1073375,-0.00100000000000178,0.0565747731526699,-0.001,0.151; 5057P 8282
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751621398925796, 5059P 8283
+0.0751621398925796,-0.00100000000000001,-0.00100000000000001, 5059P 8284
+0.151,0.151,1.,1.,1.,1.,44.7454109267118,-115.573764647157, 5059P 8285
+8.7470375,45.567010010803,-115.573764647157,8.7470375, 5059P 8286
+44.7454109267118,-115.573764647157,7.1073375,45.567010010803, 5059P 8287
+-115.573764647157,7.1073375,-0.001,0.0751621398925796, 5059P 8288
+-0.00100000000000001,0.151; 5059P 8289
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5061P 8290
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5061P 8291
+44.7561984267118,-102.762121445234,8.7470375,44.7561984267118, 5061P 8292
+-115.584552147157,8.7470375,44.7561984267118,-102.762121445234, 5061P 8293
+7.1073375,44.7561984267118,-115.584552147157,7.1073375,-0.001, 5061P 8294
+1.187637840271,-0.001,0.151; 5061P 8295
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5063P 8296
+0.075162139910162,0.075162139910162,-0.001,-0.001,0.151,0.151, 5063P 8297
+1.,1.,1.,1.,45.5670100108004,-102.772926600743,8.7470375, 5063P 8298
+44.7454109267143,-102.772908710335,8.7470375,45.5670100108004, 5063P 8299
+-102.772926600743,7.1073375,44.7454109267143,-102.772908710335, 5063P 8300
+7.1073375,-0.00100000000000002,0.075162139910162,-0.001,0.151; 5063P 8301
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905629, 5065P 8302
+0.0565553944905629,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5065P 8303
+45.556222510803,-102.162835047777,8.7470375,45.556222510803, 5065P 8304
+-102.783713865844,8.7470375,45.556222510803,-102.162835047777, 5065P 8305
+7.1073375,45.556222510803,-102.783713865844,7.1073375,-0.001, 5065P 8306
+0.0565553944905629,-0.001,0.151; 5065P 8307
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5067P 8308
+1.29891011810303,1.29891011810303,-0.00100000000000011, 5067P 8309
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,154.818861794198, 5067P 8310
+-83.1232450272156,8.74703749999999,140.796081395161, 5067P 8311
+-83.1232450272155,8.74703749999999,154.818861794198, 5067P 8312
+-83.1232450272156,7.10733749999999,140.796081395161, 5067P 8313
+-83.1232450272155,7.10733749999999,-0.00100000000000002, 5067P 8314
+1.29891011810303,-0.00100000000000011,0.151; 5067P 8315
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5069P 8316
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5069P 8317
+1.,1.,1.,1.,154.808074294198,-83.7333363452825,8.74703749999999, 5069P 8318
+154.808074294198,-83.1124575272156,8.74703749999999, 5069P 8319
+154.808074294198,-83.7333363452825,7.10733749999999, 5069P 8320
+154.808074294198,-83.1124575272156,7.10733749999999, 5069P 8321
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5069P 8322
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5071P 8323
+0.0750926996866866,0.0750926996866866,-0.001,-0.001,0.151,0.151, 5071P 8324
+1.,1.,1.,1.,155.618136792068,-83.7225488452825,8.74703749999999, 5071P 8325
+154.797286794198,-83.7225488452825,8.74703749999999, 5071P 8326
+155.618136792068,-83.7225488452825,7.10733749999999, 5071P 8327
+154.797286794198,-83.7225488452825,7.10733749999999, 5071P 8328
+-0.00100000000000002,0.0750926996866866,-0.001,0.151; 5071P 8329
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5073P 8330
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5073P 8331
+155.607349292068,-96.5341920472058,8.74703749999999, 5073P 8332
+155.607349292068,-83.7117613452824,8.74703749999999, 5073P 8333
+155.607349292068,-96.5341920472058,7.10733749999999, 5073P 8334
+155.607349292068,-83.7117613452824,7.10733749999999,-0.001, 5073P 8335
+1.187637840271,-0.001,0.151; 5073P 8336
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5075P 8337
+0.0750926996866857,0.0750926996866857,-0.00100000000000001, 5075P 8338
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,154.797286794198, 5075P 8339
+-96.5234045472058,8.74703749999999,155.618136792068, 5075P 8340
+-96.5234045472058,8.74703749999999,154.797286794198, 5075P 8341
+-96.5234045472058,7.10733749999999,155.618136792068, 5075P 8342
+-96.5234045472058,7.10733749999999,-0.00100000000000178, 5075P 8343
+0.0750926996866857,-0.00100000000000001,0.151; 5075P 8344
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5077P 8345
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5077P 8346
+1.,1.,1.,1.,154.808074294198,-97.1334958652727,8.74703749999999, 5077P 8347
+154.808074294198,-96.5126170472058,8.74703749999999, 5077P 8348
+154.808074294198,-97.1334958652727,7.10733749999999, 5077P 8349
+154.808074294198,-96.5126170472059,7.10733749999999, 5077P 8350
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5077P 8351
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.2989097143809, 5079P 8352
+1.2989097143809,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5079P 8353
+140.796085750314,-97.1227083652727,8.74703749999999, 5079P 8354
+154.818861794198,-97.1227083652727,8.74703749999999, 5079P 8355
+140.796085750314,-97.1227083652727,7.10733749999999, 5079P 8356
+154.818861794198,-97.1227083652727,7.10733749999999,-0.001, 5079P 8357
+1.2989097143809,-0.001,0.151; 5079P 8358
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000165,-0.00100000000000165, 5081P 8359
+0.0565553944920266,0.0565553944920266,-0.001,-0.001,0.151,0.151, 5081P 8360
+1.,1.,1.,1.,140.806868816768,-96.5126170472061,8.74703749999999, 5081P 8361
+140.806873328707,-97.1334958652725,8.74703749999999, 5081P 8362
+140.806868816768,-96.5126170472061,7.10733749999999, 5081P 8363
+140.806873328707,-97.1334958652725,7.10733749999999, 5081P 8364
+-0.00100000000000165,0.0565553944920266,-0.001,0.151; 5081P 8365
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750874512990324, 5083P 8366
+0.0750874512990324,-0.00100000000000011,-0.00100000000000011, 5083P 8367
+0.151,0.151,1.,1.,1.,1.,139.996863014273,-96.5234045472058, 5083P 8368
+8.74703749999999,140.817656395161,-96.5234045472058, 5083P 8369
+8.74703749999999,139.996863014273,-96.5234045472058, 5083P 8370
+7.10733749999999,140.817656395161,-96.5234045472058, 5083P 8371
+7.10733749999999,-0.001,0.0750874512990324,-0.00100000000000011, 5083P 8372
+0.151; 5083P 8373
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18763784027107, 5085P 8374
+1.18763784027107,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5085P 8375
+140.007654873096,-83.7117613452825,8.74703749999999, 5085P 8376
+140.007650510603,-96.5341920472058,8.74703749999999, 5085P 8377
+140.007654873096,-83.7117613452825,7.10733749999999, 5085P 8378
+140.007650510603,-96.5341920472059,7.10733749999999,-0.001, 5085P 8379
+1.18763784027107,-0.001,0.151; 5085P 8380
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5087P 8381
+0.0750874512990324,0.0750874512990324,-0.001,-0.001,0.151,0.151, 5087P 8382
+1.,1.,1.,1.,140.817660750314,-83.7225488452825,8.74703749999999, 5087P 8383
+139.996867369426,-83.7225488452825,8.74703749999999, 5087P 8384
+140.817660750314,-83.7225488452825,7.10733749999999, 5087P 8385
+139.996867369426,-83.7225488452825,7.10733749999999, 5087P 8386
+-0.00100000000000002,0.0750874512990324,-0.001,0.151; 5087P 8387
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944920294, 5089P 8388
+0.0565553944920294,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5089P 8389
+140.806868816768,-83.1124575272158,8.74703749999999, 5089P 8390
+140.806873328707,-83.7333363452822,8.74703749999999, 5089P 8391
+140.806868816768,-83.1124575272158,7.10733749999999, 5089P 8392
+140.806873328707,-83.7333363452822,7.10733749999999,-0.001, 5089P 8393
+0.0565553944920294,-0.001,0.151; 5089P 8394
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5091P 8395
+1.29888872083028,1.29888872083028,-0.00100000000000009, 5091P 8396
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,135.768458142722, 5091P 8397
+-83.1232450272156,8.74703749999999,121.745908566765, 5091P 8398
+-83.1232450272155,8.74703749999999,135.768458142722, 5091P 8399
+-83.1232450272156,7.10733749999999,121.745908566765, 5091P 8400
+-83.1232450272155,7.10733749999999,-0.00100000000000002, 5091P 8401
+1.29888872083028,-0.00100000000000009,0.151; 5091P 8402
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5093P 8403
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5093P 8404
+1.,1.,1.,1.,135.757670642722,-83.7333363452825,8.74703749999999, 5093P 8405
+135.757670642722,-83.1124575272156,8.74703749999999, 5093P 8406
+135.757670642722,-83.7333363452825,7.10733749999999, 5093P 8407
+135.757670642722,-83.1124575272156,7.10733749999999, 5093P 8408
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5093P 8409
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5095P 8410
+0.0750967369079582,0.0750967369079582,-0.001,-0.001,0.151,0.151, 5095P 8411
+1.,1.,1.,1.,136.567776692117,-83.7225488452825,8.74703749999999, 5095P 8412
+135.746883142722,-83.7225488452825,8.74703749999999, 5095P 8413
+136.567776692117,-83.7225488452825,7.10733749999999, 5095P 8414
+135.746883142722,-83.7225488452825,7.10733749999999, 5095P 8415
+-0.00100000000000002,0.0750967369079582,-0.001,0.151; 5095P 8416
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5097P 8417
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5097P 8418
+136.556989192117,-96.5341920472058,8.74703749999999, 5097P 8419
+136.556989192117,-83.7117613452825,8.74703749999999, 5097P 8420
+136.556989192117,-96.5341920472058,7.10733749999999, 5097P 8421
+136.556989192117,-83.7117613452825,7.10733749999999,-0.001, 5097P 8422
+1.187637840271,-0.001,0.151; 5097P 8423
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750967369079582, 5099P 8424
+0.0750967369079582,-0.00100000000000001,-0.00100000000000001, 5099P 8425
+0.151,0.151,1.,1.,1.,1.,135.746883142722,-96.5234045472058, 5099P 8426
+8.74703749999999,136.567776692117,-96.5234045472058, 5099P 8427
+8.74703749999999,135.746883142722,-96.5234045472058, 5099P 8428
+7.10733749999999,136.567776692117,-96.5234045472058, 5099P 8429
+7.10733749999999,-0.001,0.0750967369079582,-0.00100000000000001, 5099P 8430
+0.151; 5099P 8431
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5101P 8432
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5101P 8433
+1.,1.,1.,1.,135.757670642722,-97.1334958652727,8.74703749999999, 5101P 8434
+135.757670642722,-96.5126170472058,8.74703749999999, 5101P 8435
+135.757670642722,-97.1334958652727,7.10733749999999, 5101P 8436
+135.757670642722,-96.5126170472059,7.10733749999999, 5101P 8437
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5101P 8438
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888872083028, 5103P 8439
+1.29888872083028,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5103P 8440
+121.745908566765,-97.1227083652727,8.74703749999999, 5103P 8441
+135.768458142722,-97.1227083652727,8.74703749999999, 5103P 8442
+121.745908566765,-97.1227083652727,7.10733749999999, 5103P 8443
+135.768458142722,-97.1227083652727,7.10733749999999,-0.001, 5103P 8444
+1.29888872083028,-0.001,0.151; 5103P 8445
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5105P 8446
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5105P 8447
+1.,1.,1.,1.,121.756696066765,-96.5126170472058,8.74703749999999, 5105P 8448
+121.756696066765,-97.1334958652727,8.74703749999999, 5105P 8449
+121.756696066765,-96.5126170472058,7.10733749999999, 5105P 8450
+121.756696066765,-97.1334958652727,7.10733749999999, 5105P 8451
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5105P 8452
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056187947589, 5107P 8453
+0.0751056187947589,-0.00100000000000001,-0.00100000000000001, 5107P 8454
+0.151,0.151,1.,1.,1.,1.,120.946494204017,-96.5234045472058, 5107P 8455
+8.74703749999999,121.767483566765,-96.5234045472058, 5107P 8456
+8.74703749999999,120.946494204017,-96.5234045472058, 5107P 8457
+7.10733749999999,121.767483566765,-96.5234045472058, 5107P 8458
+7.10733749999999,-0.001,0.0751056187947589,-0.00100000000000001, 5107P 8459
+0.151; 5107P 8460
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5109P 8461
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5109P 8462
+120.957281704017,-83.7117613452825,8.74703749999999, 5109P 8463
+120.957281704017,-96.5341920472058,8.74703749999999, 5109P 8464
+120.957281704017,-83.7117613452825,7.10733749999999, 5109P 8465
+120.957281704017,-96.5341920472058,7.10733749999999,-0.001, 5109P 8466
+1.187637840271,-0.001,0.151; 5109P 8467
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5111P 8468
+0.0751056187947589,0.0751056187947589,-0.001,-0.001,0.151,0.151, 5111P 8469
+1.,1.,1.,1.,121.767483566765,-83.7225488452825,8.74703749999999, 5111P 8470
+120.946494204017,-83.7225488452825,8.74703749999999, 5111P 8471
+121.767483566765,-83.7225488452825,7.10733749999999, 5111P 8472
+120.946494204017,-83.7225488452825,7.10733749999999, 5111P 8473
+-0.00100000000000002,0.0751056187947589,-0.001,0.151; 5111P 8474
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905625, 5113P 8475
+0.0565553944905625,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5113P 8476
+121.756696066765,-83.1124575272155,8.74703749999999, 5113P 8477
+121.756696066765,-83.7333363452825,8.74703749999999, 5113P 8478
+121.756696066765,-83.1124575272155,7.10733749999999, 5113P 8479
+121.756696066765,-83.7333363452825,7.10733749999999,-0.001, 5113P 8480
+0.0565553944905625,-0.001,0.151; 5113P 8481
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5115P 8482
+1.29888831710816,1.29888831710816,-0.00100000000000009, 5115P 8483
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,116.718084977313, 5115P 8484
+-83.1232450272156,8.74703749999999,102.695539756509, 5115P 8485
+-83.1232450272155,8.7470375,116.718084977313,-83.1232450272156, 5115P 8486
+7.10733749999999,102.695539756509,-83.1232450272155, 5115P 8487
+7.10733749999999,-0.00100000000000002,1.29888831710816, 5115P 8488
+-0.00100000000000009,0.151; 5115P 8489
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5117P 8490
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5117P 8491
+1.,1.,1.,1.,116.707297477313,-83.7333363452825,8.74703749999999, 5117P 8492
+116.707297477313,-83.1124575272156,8.74703749999999, 5117P 8493
+116.707297477313,-83.7333363452825,7.10733749999999, 5117P 8494
+116.707297477313,-83.1124575272156,7.10733749999999, 5117P 8495
+-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5117P 8496
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5119P 8497
+0.0751056187947606,0.0751056187947606,-0.001,-0.001,0.151,0.151, 5119P 8498
+1.,1.,1.,1.,117.517499340062,-83.7225488452825,8.74703749999999, 5119P 8499
+116.696509977313,-83.7225488452825,8.74703749999999, 5119P 8500
+117.517499340062,-83.7225488452825,7.10733749999999, 5119P 8501
+116.696509977313,-83.7225488452825,7.10733749999999, 5119P 8502
+-0.00100000000000002,0.0751056187947606,-0.001,0.151; 5119P 8503
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18763784027127, 5121P 8504
+1.18763784027127,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5121P 8505
+117.506720557707,-96.5341920472058,8.74703749999999, 5121P 8506
+117.506711832721,-83.7117613452824,8.74703749999999, 5121P 8507
+117.506720557707,-96.5341920472058,7.10733749999999, 5121P 8508
+117.506711832721,-83.7117613452824,7.10733749999999,-0.001, 5121P 8509
+1.18763784027127,-0.001,0.151; 5121P 8510
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056187947589, 5123P 8511
+0.0751056187947589,-0.00100000000000001,-0.00100000000000001, 5123P 8512
+0.151,0.151,1.,1.,1.,1.,116.696518687618,-96.5234045472058, 5123P 8513
+8.74703749999999,117.517508050367,-96.5234045472058, 5123P 8514
+8.74703749999999,116.696518687618,-96.5234045472058, 5123P 8515
+7.10733749999999,117.517508050367,-96.5234045472058, 5123P 8516
+7.10733749999999,-0.001,0.0751056187947589,-0.00100000000000001, 5123P 8517
+0.151; 5123P 8518
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5125P 8519
+0.0565553944964269,0.0565553944964269,-0.001,-0.001,0.151,0.151, 5125P 8520
+1.,1.,1.,1.,116.707297320527,-97.1334958652716,8.74703749999999, 5125P 8521
+116.707306344404,-96.512617047207,8.74703749999999, 5125P 8522
+116.707297320527,-97.1334958652716,7.10733749999999, 5125P 8523
+116.707306344404,-96.512617047207,7.10733749999999, 5125P 8524
+-0.00100000000000178,0.0565553944964269,-0.001,0.151; 5125P 8525
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710816, 5127P 8526
+1.29888831710816,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5127P 8527
+102.695539756509,-97.1227083652727,8.7470375,116.718084977313, 5127P 8528
+-97.1227083652727,8.74703749999999,102.695539756509, 5127P 8529
+-97.1227083652727,7.10733749999999,116.718084977313, 5127P 8530
+-97.1227083652727,7.10733749999999,-0.001,1.29888831710816, 5127P 8531
+-0.001,0.151; 5127P 8532
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5129P 8533
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5129P 8534
+1.,1.,1.,1.,102.706327256509,-96.5126170472058,8.7470375, 5129P 8535
+102.706327256509,-97.1334958652727,8.7470375,102.706327256509, 5129P 8536
+-96.5126170472058,7.10733749999999,102.706327256509, 5129P 8537
+-97.1334958652727,7.10733749999999,-0.00100000000000178, 5129P 8538
+0.0565553944905594,-0.001,0.151; 5129P 8539
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5131P 8540
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 5131P 8541
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,101.89612539376, 5131P 8542
+-96.5234045472058,8.7470375,102.717114756509,-96.5234045472058, 5131P 8543
+8.7470375,101.89612539376,-96.5234045472058,7.10733749999999, 5131P 8544
+102.717114756509,-96.5234045472058,7.10733749999999, 5131P 8545
+-0.00100000000000178,0.0751056187947571,-0.00100000000000001, 5131P 8546
+0.151; 5131P 8547
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5133P 8548
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5133P 8549
+101.90691289376,-83.7117613452825,8.7470375,101.90691289376, 5133P 8550
+-96.5341920472058,8.7470375,101.90691289376,-83.7117613452825, 5133P 8551
+7.10733749999999,101.90691289376,-96.5341920472058, 5133P 8552
+7.10733749999999,-0.001,1.187637840271,-0.001,0.151; 5133P 8553
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5135P 8554
+0.0751056187947571,0.0751056187947571,-0.001,-0.001,0.151,0.151, 5135P 8555
+1.,1.,1.,1.,102.717114756509,-83.7225488452825,8.7470375, 5135P 8556
+101.89612539376,-83.7225488452825,8.7470375,102.717114756509, 5135P 8557
+-83.7225488452825,7.10733749999999,101.89612539376, 5135P 8558
+-83.7225488452825,7.10733749999999,-0.00100000000000178, 5135P 8559
+0.0751056187947571,-0.001,0.151; 5135P 8560
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905625, 5137P 8561
+0.0565553944905625,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5137P 8562
+102.706327256509,-83.1124575272155,8.7470375,102.706327256509, 5137P 8563
+-83.7333363452825,8.7470375,102.706327256509,-83.1124575272155, 5137P 8564
+7.10733749999999,102.706327256509,-83.7333363452825, 5137P 8565
+7.10733749999999,-0.001,0.0565553944905625,-0.001,0.151; 5137P 8566
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5139P 8567
+1.29888831710816,1.29888831710816,-0.00100000000000009, 5139P 8568
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,97.6677161670568, 5139P 8569
+-83.1232450272156,8.7470375,83.6451709462526,-83.1232450272155, 5139P 8570
+8.7470375,97.6677161670568,-83.1232450272156,7.10733749999999, 5139P 8571
+83.6451709462526,-83.1232450272155,7.1073375, 5139P 8572
+-0.00100000000000002,1.29888831710816,-0.00100000000000009, 5139P 8573
+0.151; 5139P 8574
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5141P 8575
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5141P 8576
+1.,1.,1.,1.,97.6569286670568,-83.7333363452825,8.7470375, 5141P 8577
+97.6569286670568,-83.1124575272156,8.7470375,97.6569286670568, 5141P 8578
+-83.7333363452825,7.10733749999999,97.6569286670568, 5141P 8579
+-83.1124575272156,7.10733749999999,-0.00100000000000178, 5141P 8580
+0.0565553944905594,-0.001,0.151; 5141P 8581
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5143P 8582
+0.0751056187947571,0.0751056187947571,-0.001,-0.001,0.151,0.151, 5143P 8583
+1.,1.,1.,1.,98.4671305298053,-83.7225488452825,8.7470375, 5143P 8584
+97.6461411670568,-83.7225488452825,8.7470375,98.4671305298053, 5143P 8585
+-83.7225488452825,7.10733749999999,97.6461411670568, 5143P 8586
+-83.7225488452825,7.10733749999999,-0.00100000000000178, 5143P 8587
+0.0751056187947571,-0.001,0.151; 5143P 8588
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5145P 8589
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5145P 8590
+98.4563430298053,-96.5341920472058,8.7470375,98.4563430298053, 5145P 8591
+-83.7117613452825,8.7470375,98.4563430298053,-96.5341920472058, 5145P 8592
+7.10733749999999,98.4563430298053,-83.7117613452825, 5145P 8593
+7.10733749999999,-0.001,1.187637840271,-0.001,0.151; 5145P 8594
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5147P 8595
+0.0751056187947566,0.0751056187947566,-0.00100000000000001, 5147P 8596
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,97.6461411670568, 5147P 8597
+-96.5234045472058,8.7470375,98.4671305298053,-96.5234045472058, 5147P 8598
+8.7470375,97.6461411670568,-96.5234045472058,7.10733749999999, 5147P 8599
+98.4671305298053,-96.5234045472058,7.10733749999999, 5147P 8600
+-0.00100000000000178,0.0751056187947566,-0.00100000000000001, 5147P 8601
+0.151; 5147P 8602
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5149P 8603
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5149P 8604
+1.,1.,1.,1.,97.6569286670568,-97.1334958652727,8.7470375, 5149P 8605
+97.6569286670568,-96.5126170472058,8.7470375,97.6569286670568, 5149P 8606
+-97.1334958652727,7.10733749999999,97.6569286670568, 5149P 8607
+-96.5126170472059,7.10733749999999,-0.00100000000000178, 5149P 8608
+0.0565553944905594,-0.001,0.151; 5149P 8609
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888912455241, 5151P 8610
+1.29888912455241,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5151P 8611
+83.6451622359477,-97.1227083652727,8.7470375,97.6677161670568, 5151P 8612
+-97.1227083652727,8.7470375,83.6451622359477,-97.1227083652727, 5151P 8613
+7.1073375,97.6677161670569,-97.1227083652727,7.1073375,-0.001, 5151P 8614
+1.29888912455241,-0.001,0.151; 5151P 8615
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5153P 8616
+0.0565553944964269,0.0565553944964269,-0.001,-0.001,0.151,0.151, 5153P 8617
+1.,1.,1.,1.,83.6559586030385,-96.512617047207,8.7470375, 5153P 8618
+83.6559495791618,-97.1334958652716,8.7470375,83.6559586030385, 5153P 8619
+-96.512617047207,7.1073375,83.6559495791617,-97.1334958652716, 5153P 8620
+7.1073375,-0.00100000000000178,0.0565553944964269,-0.001,0.151; 5153P 8621
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000165,-0.00100000000000165, 5155P 8622
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 5155P 8623
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,82.8457565835041, 5155P 8624
+-96.5234045472058,8.7470375,83.6667459462526,-96.5234045472058, 5155P 8625
+8.7470375,82.8457565835041,-96.5234045472058,7.1073375, 5155P 8626
+83.6667459462526,-96.5234045472058,7.1073375, 5155P 8627
+-0.00100000000000165,0.0751056187947571,-0.00100000000000001, 5155P 8628
+0.151; 5155P 8629
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5157P 8630
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5157P 8631
+82.8565440835042,-83.7117613452825,8.7470375,82.8565440835042, 5157P 8632
+-96.5341920472058,8.7470375,82.8565440835042,-83.7117613452825, 5157P 8633
+7.1073375,82.8565440835042,-96.5341920472058,7.1073375,-0.001, 5157P 8634
+1.187637840271,-0.001,0.151; 5157P 8635
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5159P 8636
+0.0751056187947571,0.0751056187947571,-0.001,-0.001,0.151,0.151, 5159P 8637
+1.,1.,1.,1.,83.6667459462526,-83.7225488452825,8.7470375, 5159P 8638
+82.8457565835041,-83.7225488452825,8.7470375,83.6667459462526, 5159P 8639
+-83.7225488452825,7.1073375,82.8457565835041,-83.7225488452825, 5159P 8640
+7.1073375,-0.00100000000000178,0.0751056187947571,-0.001,0.151; 5159P 8641
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905625, 5161P 8642
+0.0565553944905625,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5161P 8643
+83.6559584462526,-83.1124575272155,8.7470375,83.6559584462526, 5161P 8644
+-83.7333363452825,8.7470375,83.6559584462526,-83.1124575272155, 5161P 8645
+7.1073375,83.6559584462526,-83.7333363452825,7.1073375,-0.001, 5161P 8646
+0.0565553944905625,-0.001,0.151; 5161P 8647
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5163P 8648
+1.29888831710816,1.29888831710816,-0.00100000000000009, 5163P 8649
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,78.6173473568005, 5163P 8650
+-83.1232450272156,8.7470375,64.5948021359962,-83.1232450272155, 5163P 8651
+8.7470375,78.6173473568005,-83.1232450272156,7.1073375, 5163P 8652
+64.5948021359962,-83.1232450272155,7.1073375, 5163P 8653
+-0.00100000000000002,1.29888831710816,-0.00100000000000009, 5163P 8654
+0.151; 5163P 8655
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5165P 8656
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5165P 8657
+1.,1.,1.,1.,78.6065598568005,-83.7333363452825,8.7470375, 5165P 8658
+78.6065598568005,-83.1124575272156,8.7470375,78.6065598568005, 5165P 8659
+-83.7333363452825,7.1073375,78.6065598568005,-83.1124575272156, 5165P 8660
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5165P 8661
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5167P 8662
+0.0751056187947565,0.0751056187947565,-0.001,-0.001,0.151,0.151, 5167P 8663
+1.,1.,1.,1.,79.416761719549,-83.7225488452825,8.7470375, 5167P 8664
+78.5957723568005,-83.7225488452825,8.7470375,79.416761719549, 5167P 8665
+-83.7225488452825,7.1073375,78.5957723568005,-83.7225488452825, 5167P 8666
+7.1073375,-0.00100000000000266,0.0751056187947565,-0.001,0.151; 5167P 8667
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5169P 8668
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5169P 8669
+79.4059742195489,-96.5341920472058,8.7470375,79.4059742195489, 5169P 8670
+-83.7117613452825,8.7470375,79.4059742195489,-96.5341920472058, 5169P 8671
+7.1073375,79.4059742195489,-83.7117613452825,7.1073375,-0.001, 5169P 8672
+1.187637840271,-0.001,0.151; 5169P 8673
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5171P 8674
+0.0751056187947566,0.0751056187947566,-0.00100000000000001, 5171P 8675
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,78.5957723568005, 5171P 8676
+-96.5234045472058,8.7470375,79.4167617195489,-96.5234045472058, 5171P 8677
+8.7470375,78.5957723568005,-96.5234045472058,7.1073375, 5171P 8678
+79.4167617195489,-96.5234045472058,7.1073375, 5171P 8679
+-0.00100000000000266,0.0751056187947566,-0.00100000000000001, 5171P 8680
+0.151; 5171P 8681
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5173P 8682
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5173P 8683
+1.,1.,1.,1.,78.6065598568005,-97.1334958652727,8.7470375, 5173P 8684
+78.6065598568005,-96.5126170472058,8.7470375,78.6065598568005, 5173P 8685
+-97.1334958652727,7.1073375,78.6065598568005,-96.5126170472059, 5173P 8686
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5173P 8687
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710816, 5175P 8688
+1.29888831710816,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5175P 8689
+64.5948021359963,-97.1227083652727,8.7470375,78.6173473568005, 5175P 8690
+-97.1227083652727,8.7470375,64.5948021359963,-97.1227083652727, 5175P 8691
+7.1073375,78.6173473568005,-97.1227083652727,7.1073375,-0.001, 5175P 8692
+1.29888831710816,-0.001,0.151; 5175P 8693
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5177P 8694
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5177P 8695
+1.,1.,1.,1.,64.6055896359963,-96.5126170472058,8.7470375, 5177P 8696
+64.6055896359963,-97.1334958652727,8.7470375,64.6055896359963, 5177P 8697
+-96.5126170472058,7.1073375,64.6055896359963,-97.1334958652727, 5177P 8698
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5177P 8699
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000247,-0.00100000000000247, 5179P 8700
+0.0751056187947571,0.0751056187947571,-0.00100000000000001, 5179P 8701
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,63.7953877732478, 5179P 8702
+-96.5234045472058,8.7470375,64.6163771359963,-96.5234045472058, 5179P 8703
+8.7470375,63.7953877732478,-96.5234045472058,7.1073375, 5179P 8704
+64.6163771359963,-96.5234045472058,7.1073375, 5179P 8705
+-0.00100000000000247,0.0751056187947571,-0.00100000000000001, 5179P 8706
+0.151; 5179P 8707
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5181P 8708
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5181P 8709
+63.8061752732478,-83.7117613452825,8.7470375,63.8061752732478, 5181P 8710
+-96.5341920472058,8.7470375,63.8061752732478,-83.7117613452825, 5181P 8711
+7.1073375,63.8061752732478,-96.5341920472058,7.1073375,-0.001, 5181P 8712
+1.187637840271,-0.001,0.151; 5181P 8713
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5183P 8714
+0.0751056187947571,0.0751056187947571,-0.001,-0.001,0.151,0.151, 5183P 8715
+1.,1.,1.,1.,64.6163771359963,-83.7225488452825,8.7470375, 5183P 8716
+63.7953877732478,-83.7225488452825,8.7470375,64.6163771359963, 5183P 8717
+-83.7225488452825,7.1073375,63.7953877732478,-83.7225488452825, 5183P 8718
+7.1073375,-0.00100000000000266,0.0751056187947571,-0.001,0.151; 5183P 8719
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905625, 5185P 8720
+0.0565553944905625,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5185P 8721
+64.6055896359963,-83.1124575272155,8.7470375,64.6055896359963, 5185P 8722
+-83.7333363452825,8.7470375,64.6055896359963,-83.1124575272155, 5185P 8723
+7.1073375,64.6055896359963,-83.7333363452825,7.1073375,-0.001, 5185P 8724
+0.0565553944905625,-0.001,0.151; 5185P 8725
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5187P 8726
+1.29879546101888,1.29879546101888,-0.001,-0.001,0.151,0.151,1., 5187P 8727
+1.,1.,1.,59.5669785465442,-83.1232450272156,8.7470375, 5187P 8728
+45.545435010803,-83.1232450272155,8.7470375,59.5669785465442, 5187P 8729
+-83.1232450272156,7.1073375,45.545435010803,-83.1232450272155, 5187P 8730
+7.1073375,-0.00100000000000002,1.29879546101888,-0.001,0.151; 5187P 8731
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5189P 8732
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5189P 8733
+1.,1.,1.,1.,59.5561910465442,-83.7333363452825,8.7470375, 5189P 8734
+59.5561910465442,-83.1124575272156,8.7470375,59.5561910465442, 5189P 8735
+-83.7333363452825,7.1073375,59.5561910465442,-83.1124575272156, 5189P 8736
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5189P 8737
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5191P 8738
+0.0751056187947571,0.0751056187947571,-0.00100000000000011, 5191P 8739
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,60.3663929092927, 5191P 8740
+-83.7225488452825,8.7470375,59.5454035465442,-83.7225488452825, 5191P 8741
+8.7470375,60.3663929092927,-83.7225488452825,7.1073375, 5191P 8742
+59.5454035465442,-83.7225488452825,7.1073375, 5191P 8743
+-0.00100000000000266,0.0751056187947571,-0.00100000000000011, 5191P 8744
+0.151; 5191P 8745
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5193P 8746
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5193P 8747
+60.3556054092926,-96.5341920472058,8.7470375,60.3556054092926, 5193P 8748
+-83.7117613452825,8.7470375,60.3556054092926,-96.5341920472058, 5193P 8749
+7.1073375,60.3556054092926,-83.7117613452825,7.1073375,-0.001, 5193P 8750
+1.187637840271,-0.001,0.151; 5193P 8751
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000247,-0.00100000000000247, 5195P 8752
+0.0751056187947571,0.0751056187947571,-0.001,-0.001,0.151,0.151, 5195P 8753
+1.,1.,1.,1.,59.5454035465442,-96.5234045472058,8.7470375, 5195P 8754
+60.3663929092926,-96.5234045472058,8.7470375,59.5454035465442, 5195P 8755
+-96.5234045472058,7.1073375,60.3663929092926,-96.5234045472058, 5195P 8756
+7.1073375,-0.00100000000000247,0.0751056187947571,-0.001,0.151; 5195P 8757
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5197P 8758
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5197P 8759
+1.,1.,1.,1.,59.5561910465442,-97.1334958652727,8.7470375, 5197P 8760
+59.5561910465442,-96.5126170472058,8.7470375,59.5561910465442, 5197P 8761
+-97.1334958652727,7.1073375,59.5561910465442,-96.5126170472059, 5197P 8762
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5197P 8763
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29879546101888, 5199P 8764
+1.29879546101888,-0.00100000000000011,-0.00100000000000011, 5199P 8765
+0.151,0.151,1.,1.,1.,1.,45.545435010803,-97.1227083652727, 5199P 8766
+8.7470375,59.5669785465442,-97.1227083652727,8.7470375, 5199P 8767
+45.545435010803,-97.1227083652727,7.1073375,59.5669785465442, 5199P 8768
+-97.1227083652727,7.1073375,-0.001,1.29879546101888, 5199P 8769
+-0.00100000000000011,0.151; 5199P 8770
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5201P 8771
+0.0565553944905594,0.0565553944905594,-0.001,-0.001,0.151,0.151, 5201P 8772
+1.,1.,1.,1.,45.556222510803,-96.5126170472058,8.7470375, 5201P 8773
+45.556222510803,-97.1334958652727,8.7470375,45.556222510803, 5201P 8774
+-96.5126170472058,7.1073375,45.556222510803,-97.1334958652727, 5201P 8775
+7.1073375,-0.00100000000000178,0.0565553944905594,-0.001,0.151; 5201P 8776
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751621398925796, 5203P 8777
+0.0751621398925796,-0.00100000000000001,-0.00100000000000001, 5203P 8778
+0.151,0.151,1.,1.,1.,1.,44.7454109267118,-96.5234045472058, 5203P 8779
+8.7470375,45.567010010803,-96.5234045472058,8.7470375, 5203P 8780
+44.7454109267118,-96.5234045472058,7.1073375,45.567010010803, 5203P 8781
+-96.5234045472058,7.1073375,-0.001,0.0751621398925796, 5203P 8782
+-0.00100000000000001,0.151; 5203P 8783
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.187637840271, 5205P 8784
+1.187637840271,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5205P 8785
+44.7561984267118,-83.7117613452825,8.7470375,44.7561984267118, 5205P 8786
+-96.5341920472058,8.7470375,44.7561984267118,-83.7117613452825, 5205P 8787
+7.1073375,44.7561984267118,-96.5341920472058,7.1073375,-0.001, 5205P 8788
+1.187637840271,-0.001,0.151; 5205P 8789
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5207P 8790
+0.0751621398925796,0.0751621398925796,-0.001,-0.001,0.151,0.151, 5207P 8791
+1.,1.,1.,1.,45.567010010803,-83.7225488452825,8.7470375, 5207P 8792
+44.7454109267118,-83.7225488452825,8.7470375,45.567010010803, 5207P 8793
+-83.7225488452825,7.1073375,44.7454109267118,-83.7225488452825, 5207P 8794
+7.1073375,-0.00100000000000002,0.0751621398925796,-0.001,0.151; 5207P 8795
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0565553944905625, 5209P 8796
+0.0565553944905625,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5209P 8797
+45.556222510803,-83.1124575272155,8.7470375,45.556222510803, 5209P 8798
+-83.7333363452825,8.7470375,45.556222510803,-83.1124575272155, 5209P 8799
+7.1073375,45.556222510803,-83.7333363452825,7.1073375,-0.001, 5209P 8800
+0.0565553944905625,-0.001,0.151; 5209P 8801
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5211P 8802
+1.29891011810303,1.29891011810303,-0.00100000000000011, 5211P 8803
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,154.818861794198, 5211P 8804
+-64.0711428662849,8.74703749999999,140.796081395161, 5211P 8805
+-64.0711428662849,8.74703749999999,154.818861794198, 5211P 8806
+-64.0711428662849,7.10733749999999,140.796081395161, 5211P 8807
+-64.0711428662849,7.10733749999999,-0.00100000000000002, 5211P 8808
+1.29891011810303,-0.00100000000000011,0.151; 5211P 8809
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5213P 8810
+0.0567168833414705,0.0567168833414705,-0.001,-0.001,0.151,0.151, 5213P 8811
+1.,1.,1.,1.,154.808074294198,-64.682976245331,8.74703749999999, 5213P 8812
+154.808074294198,-64.0603553662849,8.74703749999999, 5213P 8813
+154.808074294198,-64.682976245331,7.10733749999999, 5213P 8814
+154.808074294198,-64.0603553662849,7.10733749999999, 5213P 8815
+-0.00100000000000089,0.0567168833414705,-0.001,0.151; 5213P 8816
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5215P 8817
+0.0750926997042853,0.0750926997042853,-0.001,-0.001,0.151,0.151, 5215P 8818
+1.,1.,1.,1.,155.618136792065,-64.6721710896021,8.74703749999999, 5215P 8819
+154.7972867942,-64.6721889804501,8.74703749999999, 5215P 8820
+155.618136792065,-64.6721710896021,7.10733749999999, 5215P 8821
+154.7972867942,-64.6721889804501,7.10733749999999, 5215P 8822
+-0.00100000000000002,0.0750926997042853,-0.001,0.151; 5215P 8823
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5217P 8824
+1.18750703430176,1.18750703430176,-0.001,-0.001,0.151,0.151,1., 5217P 8825
+1.,1.,1.,155.607349292068,-77.4824034572515,8.74703749999999, 5217P 8826
+155.607349292068,-64.6613838247213,8.74703749999999, 5217P 8827
+155.607349292068,-77.4824034572515,7.10733749999999, 5217P 8828
+155.607349292068,-64.6613838247213,7.10733749999999, 5217P 8829
+-0.00100000000000178,1.18750703430176,-0.001,0.151; 5217P 8830
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5219P 8831
+0.0750926997042836,0.0750926997042836,-0.00100000000000001, 5219P 8832
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,154.7972867942, 5219P 8833
+-77.4716336129804,8.74703749999999,155.618136792065, 5219P 8834
+-77.4716157221324,8.74703749999999,154.7972867942, 5219P 8835
+-77.4716336129804,7.10733749999999,155.618136792065, 5219P 8836
+-77.4716157221324,7.10733749999999,-0.00100000000000178, 5219P 8837
+0.0750926997042836,-0.00100000000000001,0.151; 5219P 8838
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5221P 8839
+0.0566862004597987,0.0566862004597987,-0.001,-0.001,0.151,0.151, 5221P 8840
+1.,1.,1.,1.,154.808074294198,-78.0831357653214,8.74703749999999, 5221P 8841
+154.808074294198,-77.4608458778613,8.74703749999999, 5221P 8842
+154.808074294198,-78.0831357653214,7.10733749999999, 5221P 8843
+154.808074294198,-77.4608458778613,7.10733749999999, 5221P 8844
+-0.00100000000000089,0.0566862004597987,-0.001,0.151; 5221P 8845
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.2989097143819, 5223P 8846
+1.2989097143819,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5223P 8847
+140.796085750314,-78.0723308312895,8.74703749999999, 5223P 8848
+154.818861794198,-78.0723482787434,8.74703749999999, 5223P 8849
+140.796085750314,-78.0723308312895,7.10733749999999, 5223P 8850
+154.818861794198,-78.0723482787434,7.10733749999999,-0.001, 5223P 8851
+1.2989097143819,-0.001,0.151; 5223P 8852
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000082,-0.00100000000000082, 5225P 8853
+0.0566862004612659,0.0566862004612659,-0.001,-0.001,0.151,0.151, 5225P 8854
+1.,1.,1.,1.,140.806868816953,-77.4608284572517,8.74703749999999, 5225P 8855
+140.806873328523,-78.0831183447113,8.74703749999999, 5225P 8856
+140.806868816953,-77.4608284572517,7.10733749999999, 5225P 8857
+140.806873328523,-78.0831183447113,7.10733749999999, 5225P 8858
+-0.00100000000000082,0.0566862004612659,-0.001,0.151; 5225P 8859
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750874513166321, 5227P 8860
+0.0750874513166321,-0.00100000000000011,-0.00100000000000011, 5227P 8861
+0.151,0.151,1.,1.,1.,1.,139.996863014276,-77.471633612997, 5227P 8862
+8.74703749999999,140.817656395159,-77.4716157221157, 5227P 8863
+8.74703749999999,139.996863014276,-77.471633612997, 5227P 8864
+7.10733749999999,140.817656395159,-77.4716157221157, 5227P 8865
+7.10733749999999,-0.001,0.0750874513166321,-0.00100000000000011, 5227P 8866
+0.151; 5227P 8867
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18752964274096, 5229P 8868
+1.18752964274096,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5229P 8869
+140.007654873096,-64.6611573567939,8.74703749999999, 5229P 8870
+140.007650510603,-77.4824208778613,8.74703749999999, 5229P 8871
+140.007654873096,-64.6611573567939,7.10733749999999, 5229P 8872
+140.007650510603,-77.4824208778613,7.10733749999999,-0.001, 5229P 8873
+1.18752964274096,-0.001,0.151; 5229P 8874
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5231P 8875
+0.0750874512990324,0.0750874512990324,-0.001,-0.001,0.151,0.151, 5231P 8876
+1.,1.,1.,1.,140.817660750314,-64.6719448567939,8.74703749999999, 5231P 8877
+139.996867369426,-64.6719448567939,8.74703749999999, 5231P 8878
+140.817660750314,-64.6719448567939,7.10733749999999, 5231P 8879
+139.996867369426,-64.6719448567939,7.10733749999999, 5231P 8880
+-0.00100000000000002,0.0750874512990324,-0.001,0.151; 5231P 8881
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5233P 8882
+0.0566942749038051,0.0566942749038051,-0.001,-0.001,0.151,0.151, 5233P 8883
+1.,1.,1.,1.,140.806868816964,-64.0603553662852,8.74703749999999, 5233P 8884
+140.806873328511,-64.6827323567937,8.74703749999999, 5233P 8885
+140.806868816964,-64.0603553662852,7.10733749999999, 5233P 8886
+140.806873328511,-64.6827323567937,7.10733749999999, 5233P 8887
+-0.00100000000000178,0.0566942749038051,-0.001,0.151; 5233P 8888
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5235P 8889
+1.29888872083028,1.29888872083028,-0.00100000000000009, 5235P 8890
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,135.768458142722, 5235P 8891
+-64.0711428662849,8.74703749999999,121.745908566765, 5235P 8892
+-64.0711428662849,8.74703749999999,135.768458142722, 5235P 8893
+-64.0711428662849,7.10733749999999,121.745908566765, 5235P 8894
+-64.0711428662849,7.10733749999999,-0.00100000000000002, 5235P 8895
+1.29888872083028,-0.00100000000000009,0.151; 5235P 8896
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0694050623575851, 5237P 8897
+0.0694050623575851,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5237P 8898
+135.757670642722,-64.8198499764674,8.74703749999999, 5237P 8899
+135.757670642722,-64.0603553662849,8.74703749999999, 5237P 8900
+135.757670642722,-64.8198499764674,7.10733749999999, 5237P 8901
+135.757670642722,-64.0603553662849,7.10733749999999,-0.001, 5237P 8902
+0.0694050623575851,-0.001,0.151; 5237P 8903
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5239P 8904
+0.0750967369255561,0.0750967369255561,-0.001,-0.001,0.151,0.151, 5239P 8905
+1.,1.,1.,1.,136.567776692114,-64.8090448207513,8.74703749999999, 5239P 8906
+135.746883142724,-64.8090627115737,8.74703749999999, 5239P 8907
+136.567776692114,-64.8090448207513,7.10733749999999, 5239P 8908
+135.746883142724,-64.8090627115737,7.10733749999999, 5239P 8909
+-0.00100000000000002,0.0750967369255561,-0.001,0.151; 5239P 8910
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5241P 8911
+1.18750703430176,1.18750703430176,-0.001,-0.001,0.151,0.151,1., 5241P 8912
+1.,1.,1.,136.556989192117,-77.6192771883878,8.74703749999999, 5241P 8913
+136.556989192117,-64.7982575558576,8.74703749999999, 5241P 8914
+136.556989192117,-77.6192771883878,7.10733749999999, 5241P 8915
+136.556989192117,-64.7982575558576,7.10733749999999, 5241P 8916
+-0.00100000000000178,1.18750703430176,-0.001,0.151; 5241P 8917
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0750967369255578, 5243P 8918
+0.0750967369255578,-0.00100000000000001,-0.00100000000000001, 5243P 8919
+0.151,0.151,1.,1.,1.,1.,135.746883142724,-77.6085073441039, 5243P 8920
+8.74703749999999,136.567776692114,-77.6084894532815, 5243P 8921
+8.74703749999999,135.746883142724,-77.6085073441039, 5243P 8922
+7.10733749999999,136.567776692114,-77.6084894532815, 5243P 8923
+7.10733749999999,-0.001,0.0750967369255578,-0.00100000000000001, 5243P 8924
+0.151; 5243P 8925
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5245P 8926
+0.0439980214436811,0.0439980214436811,-0.001,-0.001,0.151,0.151, 5245P 8927
+1.,1.,1.,1.,135.757670642722,-78.0831357653213,8.74703749999999, 5245P 8928
+135.757670642722,-77.5977196089976,8.74703749999999, 5245P 8929
+135.757670642722,-78.0831357653213,7.10733749999999, 5245P 8930
+135.757670642722,-77.5977196089976,7.10733749999999, 5245P 8931
+-0.00100000000000178,0.0439980214436811,-0.001,0.151; 5245P 8932
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888872083129, 5247P 8933
+1.29888872083129,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5247P 8934
+121.745908566765,-78.0723308312893,8.74703749999999, 5247P 8935
+135.768458142722,-78.0723482787436,8.74703749999999, 5247P 8936
+121.745908566765,-78.0723308312893,7.10733749999999, 5247P 8937
+135.768458142722,-78.0723482787436,7.10733749999999,-0.001, 5247P 8938
+1.29888872083129,-0.001,0.151; 5247P 8939
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000082,-0.00100000000000082, 5249P 8940
+0.0566862004598022,0.0566862004598022,-0.001,-0.001,0.151,0.151, 5249P 8941
+1.,1.,1.,1.,121.756696066765,-77.4608284572515,8.74703749999999, 5249P 8942
+121.756696066765,-78.0831183447116,8.74703749999999, 5249P 8943
+121.756696066765,-77.4608284572515,7.10733749999999, 5249P 8944
+121.756696066765,-78.0831183447116,7.10733749999999, 5249P 8945
+-0.00100000000000082,0.0566862004598022,-0.001,0.151; 5249P 8946
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056188123554, 5251P 8947
+0.0751056188123554,-0.00100000000000001,-0.00100000000000001, 5251P 8948
+0.151,0.151,1.,1.,1.,1.,120.946494204019,-77.4716336129394, 5251P 8949
+8.74703749999999,121.767483566763,-77.4716157221733, 5251P 8950
+8.74703749999999,120.946494204019,-77.4716336129394, 5251P 8951
+7.10733749999999,121.767483566763,-77.4716157221733, 5251P 8952
+7.10733749999999,-0.001,0.0751056188123554,-0.00100000000000001, 5251P 8953
+0.151; 5251P 8954
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18752964274089, 5253P 8955
+1.18752964274089,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5253P 8956
+120.957281704017,-64.6611573567939,8.74703749999999, 5253P 8957
+120.957281704017,-77.4824208778613,8.74703749999999, 5253P 8958
+120.957281704017,-64.6611573567939,7.10733749999999, 5253P 8959
+120.957281704017,-77.4824208778613,7.10733749999999,-0.001, 5253P 8960
+1.18752964274089,-0.001,0.151; 5253P 8961
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5255P 8962
+0.0751056187947589,0.0751056187947589,-0.001,-0.001,0.151,0.151, 5255P 8963
+1.,1.,1.,1.,121.767483566765,-64.6719448567939,8.74703749999999, 5255P 8964
+120.946494204017,-64.6719448567939,8.74703749999999, 5255P 8965
+121.767483566765,-64.6719448567939,7.10733749999999, 5255P 8966
+120.946494204017,-64.6719448567939,7.10733749999999, 5255P 8967
+-0.00100000000000002,0.0751056187947589,-0.001,0.151; 5255P 8968
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5257P 8969
+0.0566942749023418,0.0566942749023418,-0.001,-0.001,0.151,0.151, 5257P 8970
+1.,1.,1.,1.,121.756696066765,-64.0603553662849,8.74703749999999, 5257P 8971
+121.756696066765,-64.6827323567939,8.74703749999999, 5257P 8972
+121.756696066765,-64.0603553662849,7.10733749999999, 5257P 8973
+121.756696066765,-64.6827323567939,7.10733749999999, 5257P 8974
+-0.00100000000000178,0.0566942749023418,-0.001,0.151; 5257P 8975
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5259P 8976
+1.29888831710916,1.29888831710916,-0.00100000000000009, 5259P 8977
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,116.718084977313, 5259P 8978
+-64.0713693476345,8.74703749999999,102.695539756509, 5259P 8979
+-64.0713519001801,8.7470375,116.718084977313,-64.0713693476345, 5259P 8980
+7.10733749999999,102.695539756509,-64.0713519001801, 5259P 8981
+7.10733749999999,-0.00100000000000002,1.29888831710916, 5259P 8982
+-0.00100000000000009,0.151; 5259P 8983
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908597, 5261P 8984
+0.0566958897908597,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5261P 8985
+116.707297477313,-64.6829762453311,8.74703749999999, 5261P 8986
+116.707297477313,-64.0605818342122,8.74703749999999, 5261P 8987
+116.707297477313,-64.6829762453311,7.10733749999999, 5261P 8988
+116.707297477313,-64.0605818342122,7.10733749999999,-0.001, 5261P 8989
+0.0566958897908597,-0.001,0.151; 5261P 8990
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5263P 8991
+0.0751056188123554,0.0751056188123554,-0.001,-0.001,0.151,0.151, 5263P 8992
+1.,1.,1.,1.,117.517499340059,-64.6721710896431,8.74703749999999, 5263P 8993
+116.696509977316,-64.6721889804092,8.74703749999999, 5263P 8994
+117.517499340059,-64.6721710896431,7.10733749999999, 5263P 8995
+116.696509977316,-64.6721889804092,7.10733749999999, 5263P 8996
+-0.00100000000000002,0.0751056188123554,-0.001,0.151; 5263P 8997
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000165,-0.00100000000000165, 5265P 8998
+1.18750703430203,1.18750703430203,-0.001,-0.001,0.151,0.151,1., 5265P 8999
+1.,1.,1.,117.506720557708,-77.4824034572515,8.74703749999999, 5265P 9000
+117.50671183272,-64.6613838247212,8.74703749999999, 5265P 9001
+117.506720557708,-77.4824034572515,7.10733749999999, 5265P 9002
+117.50671183272,-64.6613838247212,7.10733749999999, 5265P 9003
+-0.00100000000000165,1.18750703430203,-0.001,0.151; 5265P 9004
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0751056188123554, 5267P 9005
+0.0751056188123554,-0.00100000000000001,-0.00100000000000001, 5267P 9006
+0.151,0.151,1.,1.,1.,1.,116.696518687621,-77.4716336129394, 5267P 9007
+8.74703749999999,117.517508050364,-77.4716157221734, 5267P 9008
+8.74703749999999,116.696518687621,-77.4716336129394, 5267P 9009
+7.10733749999999,117.517508050364,-77.4716157221734, 5267P 9010
+7.10733749999999,-0.001,0.0751056188123554,-0.00100000000000001, 5267P 9011
+0.151; 5267P 9012
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5269P 9013
+0.0566862004656526,0.0566862004656526,-0.001,-0.001,0.151,0.151, 5269P 9014
+1.,1.,1.,1.,116.707297320895,-78.0831357653202,8.74703749999999, 5269P 9015
+116.707306344036,-77.4608458778624,8.74703749999999, 5269P 9016
+116.707297320895,-78.0831357653202,7.10733749999999, 5269P 9017
+116.707306344036,-77.4608458778624,7.10733749999999, 5269P 9018
+-0.00100000000000089,0.0566862004656526,-0.001,0.151; 5269P 9019
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710916, 5271P 9020
+1.29888831710916,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5271P 9021
+102.695539756509,-78.0723308312893,8.7470375,116.718084977313, 5271P 9022
+-78.0723482787436,8.74703749999999,102.695539756509, 5271P 9023
+-78.0723308312893,7.10733749999999,116.718084977313, 5271P 9024
+-78.0723482787436,7.10733749999999,-0.001,1.29888831710916, 5271P 9025
+-0.001,0.151; 5271P 9026
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000082,-0.00100000000000082, 5273P 9027
+0.0566862004598022,0.0566862004598022,-0.001,-0.001,0.151,0.151, 5273P 9028
+1.,1.,1.,1.,102.706327256509,-77.4608284572515,8.7470375, 5273P 9029
+102.706327256509,-78.0831183447116,8.7470375,102.706327256509, 5273P 9030
+-77.4608284572515,7.10733749999999,102.706327256509, 5273P 9031
+-78.0831183447116,7.10733749999999,-0.00100000000000082, 5273P 9032
+0.0566862004598022,-0.001,0.151; 5273P 9033
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5275P 9034
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 5275P 9035
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,101.896125393763, 5275P 9036
+-77.4716336129394,8.7470375,102.717114756506,-77.4716157221733, 5275P 9037
+8.7470375,101.896125393763,-77.4716336129394,7.10733749999999, 5275P 9038
+102.717114756506,-77.4716157221733,7.10733749999999, 5275P 9039
+-0.00100000000000178,0.0751056188123522,-0.00100000000000001, 5275P 9040
+0.151; 5275P 9041
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18750703430176, 5277P 9042
+1.18750703430176,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5277P 9043
+101.90691289376,-64.661401245331,8.7470375,101.90691289376, 5277P 9044
+-77.4824208778613,8.7470375,101.90691289376,-64.661401245331, 5277P 9045
+7.10733749999999,101.90691289376,-77.4824208778613, 5277P 9046
+7.10733749999999,-0.001,1.18750703430176,-0.001,0.151; 5277P 9047
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5279P 9048
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 5279P 9049
+1.,1.,1.,1.,102.717114756506,-64.6721710896431,8.7470375, 5279P 9050
+101.896125393763,-64.6721889804091,8.7470375,102.717114756506, 5279P 9051
+-64.6721710896431,7.10733749999999,101.896125393763, 5279P 9052
+-64.6721889804091,7.10733749999999,-0.00100000000000178, 5279P 9053
+0.0751056188123521,-0.001,0.151; 5279P 9054
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908557, 5281P 9055
+0.0566958897908557,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5281P 9056
+102.706327256509,-64.0605644136024,8.7470375,102.706327256509, 5281P 9057
+-64.6829588247213,8.7470375,102.706327256509,-64.0605644136024, 5281P 9058
+7.10733749999999,102.706327256509,-64.6829588247213, 5281P 9059
+7.10733749999999,-0.001,0.0566958897908557,-0.001,0.151; 5281P 9060
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5283P 9061
+1.29888831710916,1.29888831710916,-0.00100000000000009, 5283P 9062
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,97.6677161670568, 5283P 9063
+-64.0713693476345,8.7470375,83.6451709462526,-64.0713519001801, 5283P 9064
+8.7470375,97.6677161670568,-64.0713693476345,7.10733749999999, 5283P 9065
+83.6451709462526,-64.0713519001801,7.1073375, 5283P 9066
+-0.00100000000000002,1.29888831710916,-0.00100000000000009, 5283P 9067
+0.151; 5283P 9068
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908597, 5285P 9069
+0.0566958897908597,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5285P 9070
+97.6569286670568,-64.6829762453311,8.7470375,97.6569286670568, 5285P 9071
+-64.0605818342122,8.7470375,97.6569286670568,-64.6829762453311, 5285P 9072
+7.10733749999999,97.6569286670568,-64.0605818342122, 5285P 9073
+7.10733749999999,-0.001,0.0566958897908597,-0.001,0.151; 5285P 9074
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5287P 9075
+0.0751056188123537,0.0751056188123537,-0.001,-0.001,0.151,0.151, 5287P 9076
+1.,1.,1.,1.,98.4671305298027,-64.6721710896431,8.7470375, 5287P 9077
+97.6461411670594,-64.6721889804092,8.7470375,98.4671305298027, 5287P 9078
+-64.6721710896431,7.10733749999999,97.6461411670594, 5287P 9079
+-64.6721889804092,7.10733749999999,-0.00100000000000178, 5287P 9080
+0.0751056188123537,-0.001,0.151; 5287P 9081
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5289P 9082
+1.18750703430176,1.18750703430176,-0.001,-0.001,0.151,0.151,1., 5289P 9083
+1.,1.,1.,98.4563430298053,-77.4824034572515,8.7470375, 5289P 9084
+98.4563430298053,-64.6613838247213,8.7470375,98.4563430298053, 5289P 9085
+-77.4824034572515,7.10733749999999,98.4563430298053, 5289P 9086
+-64.6613838247213,7.10733749999999,-0.00100000000000178, 5289P 9087
+1.18750703430176,-0.001,0.151; 5289P 9088
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000165,-0.00100000000000165, 5291P 9089
+0.0751056188123537,0.0751056188123537,-0.00100000000000001, 5291P 9090
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,97.6461411670594, 5291P 9091
+-77.4716336129394,8.7470375,98.4671305298027,-77.4716157221734, 5291P 9092
+8.7470375,97.6461411670594,-77.4716336129394,7.10733749999999, 5291P 9093
+98.4671305298027,-77.4716157221734,7.10733749999999, 5291P 9094
+-0.00100000000000165,0.0751056188123537,-0.00100000000000001, 5291P 9095
+0.151; 5291P 9096
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5293P 9097
+0.0566862004597987,0.0566862004597987,-0.001,-0.001,0.151,0.151, 5293P 9098
+1.,1.,1.,1.,97.6569286670568,-78.0831357653214,8.7470375, 5293P 9099
+97.6569286670568,-77.4608458778613,8.7470375,97.6569286670568, 5293P 9100
+-78.0831357653214,7.10733749999999,97.6569286670568, 5293P 9101
+-77.4608458778613,7.10733749999999,-0.00100000000000089, 5293P 9102
+0.0566862004597987,-0.001,0.151; 5293P 9103
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888912455341, 5295P 9104
+1.29888912455341,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5295P 9105
+83.6451622359477,-78.0723308312893,8.7470375,97.6677161670568, 5295P 9106
+-78.0723482787436,8.7470375,83.6451622359477,-78.0723308312893, 5295P 9107
+7.1073375,97.6677161670569,-78.0723482787436,7.1073375,-0.001, 5295P 9108
+1.29888912455341,-0.001,0.151; 5295P 9109
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5297P 9110
+0.0566862004656559,0.0566862004656559,-0.001,-0.001,0.151,0.151, 5297P 9111
+1.,1.,1.,1.,83.6559586026702,-77.4608284572526,8.7470375, 5297P 9112
+83.6559495795301,-78.0831183447104,8.7470375,83.6559586026702, 5297P 9113
+-77.4608284572526,7.1073375,83.65594957953,-78.0831183447104, 5297P 9114
+7.1073375,-0.00100000000000089,0.0566862004656559,-0.001,0.151; 5297P 9115
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5299P 9116
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 5299P 9117
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,82.8457565835067, 5299P 9118
+-77.4716336129394,8.7470375,83.66674594625,-77.4716157221733, 5299P 9119
+8.7470375,82.8457565835067,-77.4716336129394,7.1073375, 5299P 9120
+83.66674594625,-77.4716157221733,7.1073375,-0.00100000000000178, 5299P 9121
+0.0751056188123522,-0.00100000000000001,0.151; 5299P 9122
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18750703430176, 5301P 9123
+1.18750703430176,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5301P 9124
+82.8565440835042,-64.661401245331,8.7470375,82.8565440835042, 5301P 9125
+-77.4824208778613,8.7470375,82.8565440835042,-64.661401245331, 5301P 9126
+7.1073375,82.8565440835042,-77.4824208778613,7.1073375,-0.001, 5301P 9127
+1.18750703430176,-0.001,0.151; 5301P 9128
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5303P 9129
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 5303P 9130
+1.,1.,1.,1.,83.66674594625,-64.6721710896431,8.7470375, 5303P 9131
+82.8457565835067,-64.6721889804091,8.7470375,83.66674594625, 5303P 9132
+-64.6721710896431,7.1073375,82.8457565835067,-64.6721889804091, 5303P 9133
+7.1073375,-0.00100000000000178,0.0751056188123521,-0.001,0.151; 5303P 9134
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908557, 5305P 9135
+0.0566958897908557,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5305P 9136
+83.6559584462526,-64.0605644136024,8.7470375,83.6559584462526, 5305P 9137
+-64.6829588247213,8.7470375,83.6559584462526,-64.0605644136024, 5305P 9138
+7.1073375,83.6559584462526,-64.6829588247213,7.1073375,-0.001, 5305P 9139
+0.0566958897908557,-0.001,0.151; 5305P 9140
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5307P 9141
+1.29888831710916,1.29888831710916,-0.00100000000000009, 5307P 9142
+-0.00100000000000009,0.151,0.151,1.,1.,1.,1.,78.6173473568005, 5307P 9143
+-64.0713693476345,8.7470375,64.5948021359963,-64.0713519001801, 5307P 9144
+8.7470375,78.6173473568005,-64.0713693476345,7.1073375, 5307P 9145
+64.5948021359963,-64.0713519001801,7.1073375, 5307P 9146
+-0.00100000000000002,1.29888831710916,-0.00100000000000009, 5307P 9147
+0.151; 5307P 9148
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908597, 5309P 9149
+0.0566958897908597,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5309P 9150
+78.6065598568005,-64.6829762453311,8.7470375,78.6065598568005, 5309P 9151
+-64.0605818342122,8.7470375,78.6065598568005,-64.6829762453311, 5309P 9152
+7.1073375,78.6065598568005,-64.0605818342122,7.1073375,-0.001, 5309P 9153
+0.0566958897908597,-0.001,0.151; 5309P 9154
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5311P 9155
+0.0751056188123521,0.0751056188123521,-0.001,-0.001,0.151,0.151, 5311P 9156
+1.,1.,1.,1.,79.4167617195464,-64.6721710896431,8.7470375, 5311P 9157
+78.5957723568031,-64.6721889804092,8.7470375,79.4167617195464, 5311P 9158
+-64.6721710896431,7.1073375,78.5957723568031,-64.6721889804092, 5311P 9159
+7.1073375,-0.00100000000000266,0.0751056188123521,-0.001,0.151; 5311P 9160
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5313P 9161
+1.18750703430176,1.18750703430176,-0.001,-0.001,0.151,0.151,1., 5313P 9162
+1.,1.,1.,79.4059742195489,-77.4824034572515,8.7470375, 5313P 9163
+79.4059742195489,-64.6613838247213,8.7470375,79.4059742195489, 5313P 9164
+-77.4824034572515,7.1073375,79.4059742195489,-64.6613838247213, 5313P 9165
+7.1073375,-0.00100000000000178,1.18750703430176,-0.001,0.151; 5313P 9166
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5315P 9167
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 5315P 9168
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,78.595772356803, 5315P 9169
+-77.4716336129394,8.7470375,79.4167617195464,-77.4716157221734, 5315P 9170
+8.7470375,78.595772356803,-77.4716336129394,7.1073375, 5315P 9171
+79.4167617195464,-77.4716157221734,7.1073375, 5315P 9172
+-0.00100000000000266,0.0751056188123522,-0.00100000000000001, 5315P 9173
+0.151; 5315P 9174
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5317P 9175
+0.0566862004597987,0.0566862004597987,-0.001,-0.001,0.151,0.151, 5317P 9176
+1.,1.,1.,1.,78.6065598568005,-78.0831357653214,8.7470375, 5317P 9177
+78.6065598568005,-77.4608458778613,8.7470375,78.6065598568005, 5317P 9178
+-78.0831357653214,7.1073375,78.6065598568005,-77.4608458778613, 5317P 9179
+7.1073375,-0.00100000000000089,0.0566862004597987,-0.001,0.151; 5317P 9180
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29888831710916, 5319P 9181
+1.29888831710916,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5319P 9182
+64.5948021359963,-78.0723308312893,8.7470375,78.6173473568005, 5319P 9183
+-78.0723482787436,8.7470375,64.5948021359963,-78.0723308312893, 5319P 9184
+7.1073375,78.6173473568005,-78.0723482787436,7.1073375,-0.001, 5319P 9185
+1.29888831710916,-0.001,0.151; 5319P 9186
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000082,-0.00100000000000082, 5321P 9187
+0.0566862004598022,0.0566862004598022,-0.001,-0.001,0.151,0.151, 5321P 9188
+1.,1.,1.,1.,64.6055896359963,-77.4608284572515,8.7470375, 5321P 9189
+64.6055896359963,-78.0831183447116,8.7470375,64.6055896359963, 5321P 9190
+-77.4608284572515,7.1073375,64.6055896359963,-78.0831183447116, 5321P 9191
+7.1073375,-0.00100000000000082,0.0566862004598022,-0.001,0.151; 5321P 9192
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000266,-0.00100000000000266, 5323P 9193
+0.0751056188123522,0.0751056188123522,-0.00100000000000001, 5323P 9194
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,63.7953877732504, 5323P 9195
+-77.4716336129394,8.7470375,64.6163771359937,-77.4716157221733, 5323P 9196
+8.7470375,63.7953877732504,-77.4716336129394,7.1073375, 5323P 9197
+64.6163771359937,-77.4716157221733,7.1073375, 5323P 9198
+-0.00100000000000266,0.0751056188123522,-0.00100000000000001, 5323P 9199
+0.151; 5323P 9200
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18750703430176, 5325P 9201
+1.18750703430176,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5325P 9202
+63.8061752732478,-64.661401245331,8.7470375,63.8061752732478, 5325P 9203
+-77.4824208778613,8.7470375,63.8061752732478,-64.661401245331, 5325P 9204
+7.1073375,63.8061752732478,-77.4824208778613,7.1073375,-0.001, 5325P 9205
+1.18750703430176,-0.001,0.151; 5325P 9206
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000249,-0.00100000000000249, 5327P 9207
+0.0751056188123528,0.0751056188123528,-0.001,-0.001,0.151,0.151, 5327P 9208
+1.,1.,1.,1.,64.6163771359937,-64.6721710896431,8.7470375, 5327P 9209
+63.7953877732504,-64.6721889804091,8.7470375,64.6163771359937, 5327P 9210
+-64.6721710896431,7.1073375,63.7953877732504,-64.6721889804091, 5327P 9211
+7.1073375,-0.00100000000000249,0.0751056188123528,-0.001,0.151; 5327P 9212
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908557, 5329P 9213
+0.0566958897908557,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5329P 9214
+64.6055896359963,-64.0605644136024,8.7470375,64.6055896359963, 5329P 9215
+-64.6829588247213,8.7470375,64.6055896359963,-64.0605644136024, 5329P 9216
+7.1073375,64.6055896359963,-64.6829588247213,7.1073375,-0.001, 5329P 9217
+0.0566958897908557,-0.001,0.151; 5329P 9218
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5331P 9219
+1.29879626846414,1.29879626846414,-0.001,-0.001,0.151,0.151,1., 5331P 9220
+1.,1.,1.,59.5672485659959,-64.0713693476354,8.7470375, 5331P 9221
+45.5456963199499,-64.0713519001792,8.7470375,59.5672485659959, 5331P 9222
+-64.0713693476354,7.1073375,45.5456963199499,-64.0713519001792, 5331P 9223
+7.1073375,-0.00100000000000002,1.29879626846414,-0.001,0.151; 5331P 9224
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958897908597, 5333P 9225
+0.0566958897908597,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5333P 9226
+59.5564610659959,-64.6829762453311,8.7470375,59.5564610659959, 5333P 9227
+-64.0605818342122,8.7470375,59.5564610659959,-64.6829762453311, 5333P 9228
+7.1073375,59.5564610659959,-64.0605818342122,7.1073375,-0.001, 5333P 9229
+0.0566958897908597,-0.001,0.151; 5333P 9230
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5335P 9231
+0.0751056188123538,0.0751056188123538,-0.00100000000000011, 5335P 9232
+-0.00100000000000011,0.151,0.151,1.,1.,1.,1.,60.3666629287418, 5335P 9233
+-64.6721710896431,8.7470375,59.5456735659985,-64.6721889804092, 5335P 9234
+8.7470375,60.3666629287418,-64.6721710896431,7.1073375, 5335P 9235
+59.5456735659985,-64.6721889804092,7.1073375, 5335P 9236
+-0.00100000000000089,0.0751056188123538,-0.00100000000000011, 5335P 9237
+0.151; 5335P 9238
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5337P 9239
+1.18750703430176,1.18750703430176,-0.001,-0.001,0.151,0.151,1., 5337P 9240
+1.,1.,1.,60.3558754287444,-77.4824034572515,8.7470375, 5337P 9241
+60.3558754287444,-64.6613838247213,8.7470375,60.3558754287444, 5337P 9242
+-77.4824034572515,7.1073375,60.3558754287444,-64.6613838247213, 5337P 9243
+7.1073375,-0.00100000000000178,1.18750703430176,-0.001,0.151; 5337P 9244
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5339P 9245
+0.0751056188123538,0.0751056188123538,-0.001,-0.001,0.151,0.151, 5339P 9246
+1.,1.,1.,1.,59.5456735659985,-77.4716336129394,8.7470375, 5339P 9247
+60.3666629287418,-77.4716157221734,8.7470375,59.5456735659985, 5339P 9248
+-77.4716336129394,7.1073375,60.3666629287418,-77.4716157221734, 5339P 9249
+7.1073375,-0.00100000000000089,0.0751056188123538,-0.001,0.151; 5339P 9250
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5341P 9251
+0.0566862004597987,0.0566862004597987,-0.001,-0.001,0.151,0.151, 5341P 9252
+1.,1.,1.,1.,59.5564610659959,-78.0831357653214,8.7470375, 5341P 9253
+59.5564610659959,-77.4608458778613,8.7470375,59.5564610659959, 5341P 9254
+-78.0831357653214,7.1073375,59.5564610659959,-77.4608458778613, 5341P 9255
+7.1073375,-0.00100000000000089,0.0566862004597987,-0.001,0.151; 5341P 9256
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.29879626846414, 5343P 9257
+1.29879626846414,-0.00100000000000011,-0.00100000000000011, 5343P 9258
+0.151,0.151,1.,1.,1.,1.,45.5456963199499,-78.0723308312883, 5343P 9259
+8.7470375,59.5672485659959,-78.0723482787446,8.7470375, 5343P 9260
+45.5456963199499,-78.0723308312883,7.1073375,59.5672485659959, 5343P 9261
+-78.0723482787446,7.1073375,-0.001,1.29879626846414, 5343P 9262
+-0.00100000000000011,0.151; 5343P 9263
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000082,-0.00100000000000082, 5345P 9264
+0.0566862004598022,0.0566862004598022,-0.001,-0.001,0.151,0.151, 5345P 9265
+1.,1.,1.,1.,45.5564838199499,-77.4608284572515,8.7470375, 5345P 9266
+45.5564838199499,-78.0831183447116,8.7470375,45.5564838199499, 5345P 9267
+-77.4608284572515,7.1073375,45.5564838199499,-78.0831183447116, 5345P 9268
+7.1073375,-0.00100000000000082,0.0566862004598022,-0.001,0.151; 5345P 9269
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5347P 9270
+0.0751621399101601,0.0751621399101601,-0.00100000000000001, 5347P 9271
+-0.00100000000000001,0.151,0.151,1.,1.,1.,1.,44.7456722358612, 5347P 9272
+-77.4716336127602,8.7470375,45.5672713199473,-77.4716157223525, 5347P 9273
+8.7470375,44.7456722358612,-77.4716336127602,7.1073375, 5347P 9274
+45.5672713199473,-77.4716157223525,7.1073375, 5347P 9275
+-0.00100000000000089,0.0751621399101601,-0.00100000000000001, 5347P 9276
+0.151; 5347P 9277
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.18750703430286, 5349P 9278
+1.18750703430286,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5349P 9279
+44.7564771711507,-64.661401245331,8.7470375,44.7564597211764, 5349P 9280
+-77.4824208778613,8.7470375,44.7564771711507,-64.661401245331, 5349P 9281
+7.1073375,44.7564597211764,-77.4824208778613,7.1073375,-0.001, 5349P 9282
+1.18750703430286,-0.001,0.151; 5349P 9283
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000089,-0.00100000000000089, 5351P 9284
+0.0751621399101601,0.0751621399101601,-0.001,-0.001,0.151,0.151, 5351P 9285
+1.,1.,1.,1.,45.5672887405571,-64.6721710898223,8.7470375, 5351P 9286
+44.745689656471,-64.67218898023,8.7470375,45.5672887405571, 5351P 9287
+-64.6721710898223,7.1073375,44.745689656471,-64.67218898023, 5351P 9288
+7.1073375,-0.00100000000000089,0.0751621399101601,-0.001,0.151; 5351P 9289
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.0566958898142677, 5353P 9290
+0.0566958898142677,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5353P 9291
+45.556483507169,-64.0605644136069,8.7470375,45.5565015533406, 5353P 9292
+-64.6829588247167,8.7470375,45.556483507169,-64.0605644136069, 5353P 9293
+7.1073375,45.5565015533406,-64.6829588247167,7.1073375,-0.001, 5353P 9294
+0.0566958898142677,-0.001,0.151; 5353P 9295
+128,1,2,1,2,0,0,0,0,0,-1.22399089060933D-16, 5355P 9296
+-1.22399089060933D-16,0.808189655172426,0.808189655172426,0.,0., 5355P 9297
+0.,1.53806598054936,1.53806598054936,1.53806598054936,1.,1., 5355P 9298
+0.718583503390008,0.718583503390008,1.,1.,155.763761628875, 5355P 9299
+-53.5475075752323,7.11812499999999,155.763761628875, 5355P 9300
+-53.5475075752323,8.73624999999999,157.701439739527, 5355P 9301
+-53.5475075752323,7.11812499999999,157.701439739527, 5355P 9302
+-53.5475075752323,8.73624999999999,157.764849292068, 5355P 9303
+-55.4841478849295,7.11812499999999,157.764849292068, 5355P 9304
+-55.4841478849295,8.73624999999999,-1.22399089060933D-16, 5355P 9305
+0.808189655172426,0.,1.53806598054936; 5355P 9306
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,10.305761256663, 5357P 9307
+10.305761256663,-0.00100000000000003,-0.00100000000000003,0.151, 5357P 9308
+0.151,1.,1.,1.,1.,44.5903620726228,-53.5475075752323,8.7470375, 5357P 9309
+155.774549128875,-53.5475075752323,8.74703749999999, 5357P 9310
+44.5903620726228,-53.5475075752323,7.1073375,155.774549128875, 5357P 9311
+-53.5475075752323,7.10733749999999,-0.001,10.305761256663, 5357P 9312
+-0.00100000000000003,0.151; 5357P 9313
+128,1,2,1,2,0,0,0,0,0,-2.17306280968065D-30, 5359P 9314
+-2.17306280968065D-30,0.808189655172443,0.808189655172443, 5359P 9315
+-1.25985272984906D-14,-1.25985272984906D-14, 5359P 9316
+-1.25985272984906D-14,1.57079496575076,1.57079496575076, 5359P 9317
+1.57079496575076,1.,1.,0.707107262388147,0.707107262388147,1., 5359P 9318
+1.,42.5989895726247,-55.5496648502041,7.118125,42.5989895726247, 5359P 9319
+-55.5496648502041,8.73625,42.5989922976491,-53.5475075752323, 5359P 9320
+7.118125,42.5989922976491,-53.5475075752323,8.73625, 5359P 9321
+44.6011495726228,-53.5475075752324,7.118125,44.6011495726228, 5359P 9322
+-53.5475075752324,8.73625,-2.17306280968065D-30, 5359P 9323
+0.808189655172443,-1.25985272984906D-14,1.57079496575076; 5359P 9324
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,7.62068862441746, 5361P 9325
+7.62068862441746,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5361P 9326
+42.5989922980068,-137.757843386107,8.7470375,42.5989895722671, 5361P 9327
+-55.5388773502041,8.7470375,42.5989922980068,-137.757843386107, 5361P 9328
+7.1073375,42.5989895722671,-55.5388773502041,7.1073375,-0.001, 5361P 9329
+7.62068862441746,-0.001,0.151; 5361P 9330
+128,1,2,1,2,0,0,0,0,0,-1.0865314048403D-30,-1.0865314048403D-30, 5363P 9331
+0.808189655172426,0.808189655172426,5.99711237284094D-16, 5363P 9332
+5.99711237284094D-16,5.99711237284094D-16,1.57079632679492, 5363P 9333
+1.57079632679492,1.57079632679492,1.,1.,0.707106781186538, 5363P 9334
+0.707106781186538,1.,1.,44.6011522976492,-139.749215886107, 5363P 9335
+7.118125,44.6011522976492,-139.749215886107,8.73625, 5363P 9336
+42.5989922976492,-139.749215886107,7.118125,42.5989922976492, 5363P 9337
+-139.749215886107,8.73625,42.5989922976492,-137.747055886107, 5363P 9338
+7.118125,42.5989922976492,-137.747055886107,8.73625, 5363P 9339
+-1.0865314048403D-30,0.808189655172426,5.99711237284094D-16, 5363P 9340
+1.57079632679492; 5363P 9341
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5365P 9342
+10.3057578082426,10.3057578082426,-0.001,-0.001,0.151,0.151,1., 5365P 9343
+1.,1.,1.,155.774514654066,-139.749215886107,8.74703749999999, 5365P 9344
+44.5903647976492,-139.749215886107,8.7470375,155.774514654066, 5365P 9345
+-139.749215886107,7.10733749999999,44.5903647976492, 5365P 9346
+-139.749215886107,7.1073375,-0.00100000000000002, 5365P 9347
+10.3057578082426,-0.001,0.151; 5365P 9348
+128,1,4,1,2,0,0,0,0,0,-1.22464679896581D-16, 5367P 9349
+-1.22464679896581D-16,0.808189655172408,0.808189655172408, 5367P 9350
+2.97223250293513D-15,2.97223250293513D-15,2.97223250293513D-15, 5367P 9351
+0.785406772727348,0.785406772727348,1.57081354545469, 5367P 9352
+1.57081354545469,1.57081354545469,1.,1.,0.92387788517877, 5367P 9353
+0.92387788517877,1.,1.,0.92387788517877,0.92387788517877,1.,1., 5367P 9354
+157.76588715377,-137.747021411595,7.11812499999999, 5367P 9355
+157.76588715377,-137.747021411595,8.73624999999999, 5367P 9356
+157.765901433754,-138.576353334882,7.11812499999999, 5367P 9357
+157.765901433754,-138.576353334882,8.73624999999999, 5367P 9358
+157.179480255615,-139.162784610495,7.11812499999999, 5367P 9359
+157.179480255615,-139.162784610495,8.73624999999999, 5367P 9360
+156.593059077476,-139.749215886107,7.11812499999999, 5367P 9361
+156.593059077476,-139.749215886107,8.73624999999999, 5367P 9362
+155.763727154066,-139.749215886107,7.11812499999999, 5367P 9363
+155.763727154066,-139.749215886107,8.73624999999999, 5367P 9364
+-1.22464679896581D-16,0.808189655172408,2.97223250293513D-15, 5367P 9365
+1.57081354545469; 5367P 9366
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,5.58852310204211, 5369P 9367
+5.58852310204211,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5369P 9368
+157.764849106322,-77.4608284572531,8.74703749999999, 5369P 9369
+157.765887339516,-137.757808911594,8.74703749999999, 5369P 9370
+157.764849106322,-77.4608284572531,7.10733749999999, 5369P 9371
+157.765887339516,-137.757808911594,7.10733749999999,-0.001, 5369P 9372
+5.58852310204211,-0.001,0.151; 5369P 9373
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.03923574250957, 5371P 9374
+2.03923574250957,-0.001,-0.001,0.151,0.151,1.,1.,1.,1., 5371P 9375
+157.764849292068,-55.4733603849295,8.74703749999999, 5371P 9376
+157.764849292068,-77.4824034572515,8.74703749999999, 5371P 9377
+157.764849292068,-55.4733603849295,7.10733749999999, 5371P 9378
+157.764849292068,-77.4824034572515,7.10733749999999,-0.001, 5371P 9379
+2.03923574250957,-0.001,0.151; 5371P 9380
+128,1,1,1,1,0,0,1,0,0,-5.33898035415141,-5.33898035415141, 5373P 9381
+5.33897903042604,5.33897903042604,-3.99644418590382, 5373P 9382
+-3.99644418590382,3.99644418590383,3.99644418590383,1.,1.,1.,1., 5373P 9383
+157.776688933754,-139.760003386107,7.11812499999999, 5373P 9384
+42.5882020726247,-139.760003386107,7.118125,157.776688933754, 5373P 9385
+-53.5367200752323,7.11812499999999,42.5882020726247, 5373P 9386
+-53.5367200752323,7.118125,-5.33898035415141,5.33897903042604, 5373P 9387
+-3.99644418590382,3.99644418590383; 5373P 9388
+128,1,1,1,1,0,0,1,0,0,-5.33898035415141,-5.33898035415141, 5375P 9389
+5.33897903042604,5.33897903042604,-3.99644418590382, 5375P 9390
+-3.99644418590382,3.99644418590383,3.99644418590383,1.,1.,1.,1., 5375P 9391
+42.5882020726247,-139.760003386107,8.73625,157.776688933754, 5375P 9392
+-139.760003386107,8.73624999999999,42.5882020726247, 5375P 9393
+-53.5367200752323,8.73625,157.776688933754,-53.5367200752323, 5375P 9394
+8.73624999999999,-5.33898035415141,5.33897903042604, 5375P 9395
+-3.99644418590382,3.99644418590383; 5375P 9396
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.84523828125,0.84523828125, 5377P 9397
+-0.001,-0.001,0.101,0.101,1.,1.,1.,1.,83.9631823855374, 5377P 9398
+-232.571324596043,-7.48999999999994,83.9631823855374, 5377P 9399
+-224.108941783543,-7.48999999999994,83.9631823855374, 5377P 9400
+-232.571324596043,-8.50999999999994,83.9631823855374, 5377P 9401
+-224.108941783543,-8.50999999999994,-0.001,0.84523828125,-0.001, 5377P 9402
+0.101; 5377P 9403
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5379P 9404
+2.516625,2.516625,-0.00100000000000116,-0.00100000000000116, 5379P 9405
+0.101000000000001,0.101000000000001,1.,1.,1.,1., 5379P 9406
+83.9731823855374,-224.118941783543,-7.48999999999994, 5379P 9407
+58.7969323855374,-224.118941783543,-7.48999999999994, 5379P 9408
+83.9731823855374,-224.118941783543,-8.50999999999996, 5379P 9409
+58.7969323855374,-224.118941783543,-8.50999999999997, 5379P 9410
+-0.00100000000000002,2.516625,-0.00100000000000116, 5379P 9411
+0.101000000000001; 5379P 9412
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,4.12648828125,4.12648828125, 5381P 9413
+-0.001,-0.001,0.101000000000001,0.101000000000001,1.,1.,1.,1., 5381P 9414
+58.8069323855374,-224.128941783543,-7.48999999999996, 5381P 9415
+58.8069323855374,-182.854058971043,-7.48999999999996, 5381P 9416
+58.8069323855374,-224.128941783543,-8.50999999999997, 5381P 9417
+58.8069323855374,-182.854058971043,-8.50999999999997,-0.001, 5381P 9418
+4.12648828125,-0.001,0.101000000000001; 5381P 9419
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5383P 9420
+1.01271875,1.01271875,-0.001,-0.001,0.101000000000001, 5383P 9421
+0.101000000000001,1.,1.,1.,1.,58.8169323855374, 5383P 9422
+-182.864058971043,-7.48999999999995,48.6797448855374, 5383P 9423
+-182.864058971043,-7.48999999999996,58.8169323855374, 5383P 9424
+-182.864058971043,-8.50999999999997,48.6797448855374, 5383P 9425
+-182.864058971043,-8.50999999999997,-0.00100000000000002, 5383P 9426
+1.01271875,-0.001,0.101000000000001; 5383P 9427
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,4.9707265625,4.9707265625, 5385P 9428
+-0.001,-0.001,0.101000000000001,0.101000000000001,1.,1.,1.,1., 5385P 9429
+48.6897448855374,-182.854058971043,-7.48999999999996, 5385P 9430
+48.6897448855374,-232.571324596043,-7.48999999999996, 5385P 9431
+48.6897448855374,-182.854058971043,-8.50999999999997, 5385P 9432
+48.6897448855374,-232.571324596043,-8.50999999999997,-0.001, 5385P 9433
+4.9707265625,-0.001,0.101000000000001; 5385P 9434
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,3.52834375,3.52834375, 5387P 9435
+-0.001,-0.001,0.101000000000001,0.101000000000001,1.,1.,1.,1., 5387P 9436
+48.6797448855374,-232.561324596043,-7.48999999999995, 5387P 9437
+83.9731823855374,-232.561324596043,-7.48999999999994, 5387P 9438
+48.6797448855374,-232.561324596043,-8.50999999999996, 5387P 9439
+83.9731823855374,-232.561324596043,-8.50999999999995,-0.001, 5387P 9440
+3.52834375,-0.001,0.101000000000001; 5387P 9441
+128,1,1,1,1,0,0,1,0,0,-1.764671875,-1.764671875,1.764671875, 5389P 9442
+1.764671875,-2.48586328125,-2.48586328125,2.48586328125, 5389P 9443
+2.48586328125,1.,1.,1.,1.,48.6797448855374,-232.571324596043, 5389P 9444
+-8.49999999999996,83.9731823855374,-232.571324596043, 5389P 9445
+-8.49999999999995,48.6797448855374,-182.854058971043, 5389P 9446
+-8.49999999999996,83.9731823855374,-182.854058971043, 5389P 9447
+-8.49999999999995,-1.764671875,1.764671875,-2.48586328125, 5389P 9448
+2.48586328125; 5389P 9449
+128,1,6,1,2,0,0,0,0,0,11.5962540906493,11.5962540906493, 5391P 9450
+14.5245559935925,14.5245559935925,3.13917765423161, 5391P 9451
+3.13917765423161,3.13917765423161,4.18718020521427, 5391P 9452
+4.18718020521427,5.23518275619693,5.23518275619693, 5391P 9453
+6.28318530717959,6.28318530717959,6.28318530717959,1.,1., 5391P 9454
+0.865824083692631,0.865824083692631,1.,1.,0.865824083692631, 5391P 9455
+0.865824083692631,1.,1.,0.865824083692631,0.865824083692631,1., 5391P 9456
+1.,18.9406505609936,-172.121201750437,-7.49999999999996, 5391P 9457
+18.9406505609936,-172.121201750437,-11.6,18.9396735534978, 5391P 9458
+-171.312085990108,-7.49999999999996,18.9396735534978, 5391P 9459
+-171.312085990108,-11.6,19.6402259760079,-170.907245809948, 5391P 9460
+-7.49999999999996,19.6402259760079,-170.907245809948,-11.6, 5391P 9461
+20.340778398518,-170.502405629789,-7.49999999999996, 5391P 9462
+20.340778398518,-170.502405629789,-11.6,21.0413308210281, 5391P 9463
+-170.907245809948,-7.49999999999996,21.0413308210281, 5391P 9464
+-170.907245809948,-11.6,21.7418832435383,-171.312085990108, 5391P 9465
+-7.49999999999996,21.7418832435383,-171.312085990108,-11.6, 5391P 9466
+21.7409062360425,-172.121201750437,-7.49999999999996, 5391P 9467
+21.7409062360425,-172.121201750437,-11.6,11.5962540906493, 5391P 9468
+14.5245559935925,3.13917765423161,6.28318530717959; 5391P 9469
+128,1,6,1,2,0,0,0,0,0,11.5962540906495,11.5962540906495, 5393P 9470
+14.5245559935927,14.5245559935927,3.13917765425437, 5393P 9471
+3.13917765425437,3.13917765425437,4.18718020522942, 5393P 9472
+4.18718020522942,5.23518275620448,5.23518275620448, 5393P 9473
+6.28318530717956,6.28318530717956,6.28318530717956,1.,1., 5393P 9474
+0.865824083694531,0.865824083694531,1.,1.,0.865824083694531, 5393P 9475
+0.865824083694531,1.,1.,0.865824083694531,0.865824083694531,1., 5393P 9476
+1.,21.7409062360425,-172.121201750437,-7.49999999999996, 5393P 9477
+21.7409062360425,-172.121201750437,-11.6,21.7418832435291, 5393P 9478
+-172.930317510758,-7.49999999999996,21.7418832435291, 5393P 9479
+-172.930317510758,-11.6,21.0413308210236,-173.335157690912, 5393P 9480
+-7.49999999999996,21.0413308210236,-173.335157690912,-11.6, 5393P 9481
+20.3407783985181,-173.739997871065,-7.49999999999996, 5393P 9482
+20.3407783985181,-173.739997871065,-11.6,19.6402259760126, 5393P 9483
+-173.335157690912,-7.49999999999996,19.6402259760126, 5393P 9484
+-173.335157690912,-11.6,18.939673553507,-172.930317510759, 5393P 9485
+-7.49999999999996,18.939673553507,-172.930317510759,-11.6, 5393P 9486
+18.9406505609936,-172.121201750437,-7.49999999999996, 5393P 9487
+18.9406505609936,-172.121201750437,-11.6,11.5962540906495, 5393P 9488
+14.5245559935927,3.13917765425437,6.28318530717956; 5393P 9489
+128,1,6,1,2,0,0,0,0,0,11.5962540906494,11.5962540906494, 5395P 9490
+14.5245559935926,14.5245559935926,3.13917765424305, 5395P 9491
+3.13917765424305,3.13917765424305,4.18718020522189, 5395P 9492
+4.18718020522189,5.23518275620074,5.23518275620074, 5395P 9493
+6.28318530717959,6.28318530717959,6.28318530717959,1.,1., 5395P 9494
+0.865824083693586,0.865824083693586,1.,1.,0.865824083693586, 5395P 9495
+0.865824083693586,1.,1.,0.865824083693586,0.865824083693586,1., 5395P 9496
+1.,97.7151063167837,-190.598023114196,-7.49999999999994, 5395P 9497
+97.7151063167837,-190.598023114196,-11.6,97.7141293092926, 5395P 9498
+-189.78890735387,-7.49999999999994,97.7141293092926, 5395P 9499
+-189.78890735387,-11.6,98.4146817318004,-189.384067173714, 5395P 9500
+-7.49999999999994,98.4146817318004,-189.384067173714,-11.6, 5395P 9501
+99.1152341543082,-188.979226993558,-7.49999999999994, 5395P 9502
+99.1152341543082,-188.979226993558,-11.6,99.815786576816, 5395P 9503
+-189.384067173714,-7.49999999999994,99.815786576816, 5395P 9504
+-189.384067173714,-11.6,100.516338999324,-189.78890735387, 5395P 9505
+-7.49999999999994,100.516338999324,-189.78890735387,-11.6, 5395P 9506
+100.515361991833,-190.598023114196,-7.49999999999994, 5395P 9507
+100.515361991833,-190.598023114196,-11.6,11.5962540906494, 5395P 9508
+14.5245559935926,3.13917765424305,6.28318530717959; 5395P 9509
+128,1,6,1,2,0,0,0,0,0,11.5962540906494,11.5962540906494, 5397P 9510
+14.5245559935926,14.5245559935926,3.13917765424295, 5397P 9511
+3.13917765424295,3.13917765424295,4.18718020522186, 5397P 9512
+4.18718020522186,5.23518275620077,5.23518275620077, 5397P 9513
+6.28318530717964,6.28318530717964,6.28318530717964,1.,1., 5397P 9514
+0.865824083693573,0.865824083693573,1.,1.,0.865824083693573, 5397P 9515
+0.865824083693573,1.,1.,0.865824083693573,0.865824083693573,1., 5397P 9516
+1.,100.515361991833,-190.598023114196,-7.49999999999994, 5397P 9517
+100.515361991833,-190.598023114196,-11.6,100.516338999324, 5397P 9518
+-191.407138874521,-7.49999999999994,100.516338999324, 5397P 9519
+-191.407138874521,-11.6,99.815786576816,-191.811979054677, 5397P 9520
+-7.49999999999994,99.815786576816,-191.811979054677,-11.6, 5397P 9521
+99.1152341543081,-192.216819234834,-7.49999999999994, 5397P 9522
+99.1152341543081,-192.216819234834,-11.6,98.4146817318003, 5397P 9523
+-191.811979054677,-7.49999999999994,98.4146817318003, 5397P 9524
+-191.811979054677,-11.6,97.7141293092925,-191.407138874521, 5397P 9525
+-7.49999999999994,97.7141293092925,-191.407138874521,-11.6, 5397P 9526
+97.7151063167837,-190.598023114196,-7.49999999999994, 5397P 9527
+97.7151063167837,-190.598023114196,-11.6,11.5962540906494, 5397P 9528
+14.5245559935926,3.13917765424295,6.28318530717964; 5397P 9529
+128,1,2,1,2,0,0,0,0,0,0.799309396681273,0.799309396681273, 5399P 9530
+5.99482047510957,5.99482047510957,-1.15918194829754, 5399P 9531
+-1.15918194829754,-1.15918194829754,-0.0292778092733589, 5399P 9532
+-0.0292778092733589,-0.0292778092733589,1.,1.,0.844614262194488, 5399P 9533
+0.844614262194488,1.,1.,4.43314110940288,-167.842837467805, 5399P 9534
+5.50000000000003,4.43314110940289,-167.842837467805, 5399P 9535
+-7.49999999999997,2.97957034725773,-167.208278396419, 5399P 9536
+5.50000000000003,2.97957034725773,-167.208278396419, 5399P 9537
+-7.49999999999997,2.93314110940286,-165.622914872961, 5399P 9538
+5.50000000000003,2.93314110940287,-165.622914872961, 5399P 9539
+-7.49999999999997,0.799309396681273,5.99482047510957, 5399P 9540
+-1.15918194829754,-0.0292778092733589; 5399P 9541
+128,1,1,1,1,0,0,1,0,0,0.228270146333974,0.228270146333974, 5401P 9542
+10.8879873393078,10.8879873393078,0.199,0.199,1.501,1.501,1.,1., 5401P 9543
+1.,1.,7.71696471074415,-248.749215886107,5.51000000000004, 5401P 9544
+114.314136640482,-248.749215886107,5.51000000000006, 5401P 9545
+7.71696471074415,-248.749215886107,-7.50999999999997, 5401P 9546
+114.314136640482,-248.749215886107,-7.50999999999995, 5401P 9547
+0.228270146333974,10.8879873393078,0.199,1.501; 5401P 9548
+128,1,1,1,1,0,0,1,0,0,0.228270146333972,0.228270146333972, 5403P 9549
+6.02854140723685,6.02854140723685,0.198999999999999, 5403P 9550
+0.198999999999999,1.501,1.501,1.,1.,1.,1.,4.43314128158948, 5403P 9551
+-187.461624566824,5.51000000000003,4.43214255261294, 5403P 9552
+-245.464337167254,5.51000000000003,4.43314128158948, 5403P 9553
+-187.461624566824,-7.50999999999997,4.43214255261294, 5403P 9554
+-245.464337167254,-7.50999999999997,0.228270146333972, 5403P 9555
+6.02854140723685,0.198999999999999,1.501; 5403P 9556
+128,1,1,1,1,0,0,1,0,0,3.75618683883495,3.75618683883495, 5405P 9557
+5.55913232655296,5.55913232655296,-4.36108541554375, 5405P 9558
+-4.36108541554375,-4.20908541554375,-4.20908541554375,1.,1.,1., 5405P 9559
+1.,23.4536836497758,-163.037507575232,5.50000000000002, 5405P 9560
+5.4242287725957,-163.037507575232,5.50000000000002, 5405P 9561
+23.4536836497758,-164.557507575232,5.50000000000002, 5405P 9562
+5.4242287725957,-164.557507575232,5.50000000000002, 5405P 9563
+3.75618683883495,5.55913232655296,-4.36108541554375, 5405P 9564
+-4.20908541554375; 5405P 9565
+128,1,1,1,1,0,0,1,0,0,5.65724109287224,5.65724109287224, 5407P 9566
+5.809344879035,5.809344879035,-4.10354468577093, 5407P 9567
+-4.10354468577093,4.11086510715957,4.11086510715957,1.,1.,1.,1., 5407P 9568
+4.44314110940289,-165.612914872961,5.50000000000002, 5407P 9569
+2.92210324777535,-165.612914872961,5.50000000000002, 5407P 9570
+4.44314110940289,-247.757012802266,5.50000000000002, 5407P 9571
+2.92210324777535,-247.757012802266,5.50000000000002, 5407P 9572
+5.65724109287224,5.809344879035,-4.10354468577093, 5407P 9573
+4.11086510715957; 5407P 9574
+128,1,1,1,1,0,0,1,0,0,-5.55912860656964,-5.55912860656964, 5409P 9575
+5.55912887907209,5.55912887907209,4.20908541554374, 5409P 9576
+4.20908541554374,4.36108541554375,4.36108541554375,1.,1.,1.,1., 5409P 9577
+116.606838103822,-248.739215886107,5.50000000000005, 5409P 9578
+5.42426324740444,-248.739215886107,5.50000000000002, 5409P 9579
+116.606838103822,-250.259215886107,5.50000000000005, 5409P 9580
+5.42426324740443,-250.259215886107,5.50000000000002, 5409P 9581
+-5.55912860656964,5.55912887907209,4.20908541554374, 5409P 9582
+4.36108541554375; 5409P 9583
+128,1,1,1,1,0,0,1,0,0,0.228270146333966,0.228270146333966, 5411P 9584
+1.80194548771801,1.80194548771801,0.199,0.199,1.501,1.501,1.,1., 5411P 9585
+1.,1.,23.4536836497758,-164.547507575232,5.51000000000003, 5411P 9586
+7.71693023593539,-164.547507575232,5.51000000000003, 5411P 9587
+23.4536836497758,-164.547507575232,-7.50999999999997, 5411P 9588
+7.7169302359354,-164.547507575232,-7.50999999999998, 5411P 9589
+0.228270146333966,1.80194548771801,0.199,1.501; 5411P 9590
+128,1,1,1,1,0,0,1,0,0,10.0169535374057,10.0169535374057, 5413P 9591
+10.8879910592913,10.8879910592913,0.198999999999999, 5413P 9592
+0.198999999999999,1.501,1.501,1.,1.,1.,1.,114.314139365509, 5413P 9593
+-164.547507575232,5.51000000000006,105.603764146653, 5413P 9594
+-164.547507575232,5.51000000000006,114.314139365509, 5413P 9595
+-164.547507575232,-7.50999999999994,105.603764146653, 5413P 9596
+-164.547507575232,-7.50999999999994,10.0169535374057, 5413P 9597
+10.8879910592913,0.198999999999999,1.501; 5413P 9598
+128,1,1,1,1,0,0,1,0,0,-5.80934505627278,-5.80934505627278, 5415P 9599
+-5.65734461417044,-5.65734461417044,-4.11086968638896, 5415P 9600
+-4.11086968638896,4.11086941554375,4.11086941554375,1.,1.,1.,1., 5415P 9601
+119.109002600853,-165.53966486678,5.50000000000005, 5415P 9602
+117.58899817983,-165.53966486678,5.50000000000005, 5415P 9603
+119.109002600853,-247.757055886107,5.50000000000005, 5415P 9604
+117.58899817983,-247.757055886107,5.50000000000005, 5415P 9605
+-5.80934505627278,-5.65734461417044,-4.11086968638896, 5415P 9606
+4.11086941554375; 5415P 9607
+128,1,1,1,1,0,0,1,0,0,-5.55912887907228,-5.55912887907228, 5417P 9608
+-4.45882121085278,-4.45882121085278,-4.36108541554375, 5417P 9609
+-4.36108541554375,-4.20908541554375,-4.20908541554375,1.,1.,1., 5417P 9610
+1.,116.606840828848,-163.037507575232,5.50000000000005, 5417P 9611
+105.603764146653,-163.037507575232,5.50000000000004, 5417P 9612
+116.606840828848,-164.557507575232,5.50000000000005, 5417P 9613
+105.603764146653,-164.557507575232,5.50000000000004, 5417P 9614
+-5.55912887907228,-4.45882121085278,-4.36108541554375, 5417P 9615
+-4.20908541554375; 5417P 9616
+128,1,6,1,2,0,0,0,0,0,10.7132996449142,10.7132996449142, 5419P 9617
+13.6416015478574,13.6416015478574,3.13925814733116, 5419P 9618
+3.13925814733116,3.13925814733116,4.18720703624771, 5419P 9619
+4.18720703624771,5.23515592516426,5.23515592516426, 5419P 9620
+6.28310481408081,6.28310481408081,6.28310481408081,1.,1., 5419P 9621
+0.865837508249046,0.865837508249046,1.,1.,0.865837508249046, 5419P 9622
+0.865837508249046,1.,1.,0.865837508249046,0.865837508249046,1., 5419P 9623
+1.,21.4157277366876,-228.698656211065,-7.49999999999997, 5419P 9624
+21.4157277366876,-228.698656211065,-11.6,21.4147507896972, 5419P 9625
+-227.831805396136,-7.49999999999997,21.4147507896972, 5419P 9626
+-227.831805396136,-11.6,22.1653032159716,-227.39809772364, 5419P 9627
+-7.49999999999997,22.1653032159716,-227.39809772364,-11.6, 5419P 9628
+22.915855642246,-226.964390051143,-7.49999999999997, 5419P 9629
+22.915855642246,-226.964390051143,-11.6,23.6664080685249, 5419P 9630
+-227.398097723632,-7.49999999999997,23.6664080685249, 5419P 9631
+-227.398097723632,-11.6,24.4169604948039,-227.83180539612, 5419P 9632
+-7.49999999999997,24.4169604948039,-227.83180539612,-11.6, 5419P 9633
+24.4159835478226,-228.69865621105,-7.49999999999997, 5419P 9634
+24.4159835478226,-228.69865621105,-11.6,10.7132996449142, 5419P 9635
+13.6416015478574,3.13925814733116,6.28310481408081; 5419P 9636
+128,1,6,1,2,0,0,0,0,0,10.7132996449144,10.7132996449144, 5421P 9637
+13.6416015478576,13.6416015478576,3.13925814734165, 5421P 9638
+3.13925814734165,3.13925814734165,4.18720703625122, 5421P 9639
+4.18720703625122,5.23515592516079,5.23515592516079, 5421P 9640
+6.28310481407037,6.28310481407037,6.28310481407037,1.,1., 5421P 9641
+0.865837508250792,0.865837508250792,1.,1.,0.865837508250792, 5421P 9642
+0.865837508250792,1.,1.,0.865837508250792,0.865837508250792,1., 5421P 9643
+1.,24.4159835478226,-228.69865621105,-7.49999999999997, 5421P 9644
+24.4159835478226,-228.69865621105,-11.6,24.4169604948039, 5421P 9645
+-229.565507025972,-7.49999999999997,24.4169604948039, 5421P 9646
+-229.565507025972,-11.6,23.666408068534,-229.999214698462, 5421P 9647
+-7.49999999999997,23.666408068534,-229.999214698462,-11.6, 5421P 9648
+22.9158556422642,-230.432922370953,-7.49999999999997, 5421P 9649
+22.9158556422642,-230.432922370953,-11.6,22.1653032159897, 5421P 9650
+-229.99921469847,-7.49999999999997,22.1653032159897, 5421P 9651
+-229.99921469847,-11.6,21.4147507897153,-229.565507025988, 5421P 9652
+-7.49999999999997,21.4147507897153,-229.565507025988,-11.6, 5421P 9653
+21.4157277366876,-228.698656211065,-7.49999999999997, 5421P 9654
+21.4157277366876,-228.698656211065,-11.6,10.7132996449144, 5421P 9655
+13.6416015478576,3.13925814734165,6.28310481407037; 5421P 9656
+128,1,6,1,2,0,0,0,0,0,10.7132954794018,10.7132954794018, 5423P 9657
+13.6415962437716,13.6415962437716,3.13866619557958, 5423P 9658
+3.13866619557958,3.13866619557958,4.18680559830898, 5423P 9659
+4.18680559830898,5.23494500103838,5.23494500103838, 5423P 9660
+6.28308440376778,6.28308440376778,6.28308440376778,1.,1., 5423P 9661
+0.865789844880249,0.865789844880249,1.,1.,0.865789844880249, 5423P 9662
+0.865789844880249,1.,1.,0.865789844880249,0.865789844880249,1., 5423P 9663
+1.,97.617115874664,-228.698656211057,-7.49999999999994, 5423P 9664
+97.617115874664,-228.698656211057,-11.5999999999999, 5423P 9665
+97.6158909373877,-227.831614772873,-7.49999999999994, 5423P 9666
+97.6158909373877,-227.831614772873,-11.5999999999999, 5423P 9667
+98.3665673588096,-227.397740060174,-7.49999999999994, 5423P 9668
+98.3665673588096,-227.397740060174,-11.5999999999999, 5423P 9669
+99.1172437802314,-226.963865347475,-7.49999999999994, 5423P 9670
+99.1172437802314,-226.963865347475,-11.5999999999999, 5423P 9671
+99.8679202016534,-227.397740060174,-7.49999999999994, 5423P 9672
+99.8679202016534,-227.397740060174,-11.5999999999999, 5423P 9673
+100.618596623075,-227.831614772873,-7.49999999999994, 5423P 9674
+100.618596623075,-227.831614772873,-11.5999999999999, 5423P 9675
+100.617371685799,-228.698656211057,-7.49999999999994, 5423P 9676
+100.617371685799,-228.698656211057,-11.5999999999999, 5423P 9677
+10.7132954794018,13.6415962437716,3.13866619557958, 5423P 9678
+6.28308440376778; 5423P 9679
+128,1,6,1,2,0,0,0,0,0,10.7132954794019,10.7132954794019, 5425P 9680
+13.6415962437718,13.6415962437718,3.13866619559783, 5425P 9681
+3.13866619559783,3.13866619559783,4.18680559832112, 5425P 9682
+4.18680559832112,5.23494500104441,5.23494500104441, 5425P 9683
+6.2830844037677,6.2830844037677,6.2830844037677,1.,1., 5425P 9684
+0.865789844881778,0.865789844881778,1.,1.,0.865789844881778, 5425P 9685
+0.865789844881778,1.,1.,0.865789844881778,0.865789844881778,1., 5425P 9686
+1.,100.617371685799,-228.698656211056,-7.49999999999994, 5425P 9687
+100.617371685799,-228.698656211056,-11.5999999999999, 5425P 9688
+100.618596623067,-229.565697649234,-7.49999999999994, 5425P 9689
+100.618596623067,-229.565697649234,-11.5999999999999, 5425P 9690
+99.8679202016494,-229.999572361928,-7.49999999999994, 5425P 9691
+99.8679202016494,-229.999572361928,-11.5999999999999, 5425P 9692
+99.1172437802314,-230.433447074621,-7.49999999999994, 5425P 9693
+99.1172437802314,-230.433447074621,-11.5999999999999, 5425P 9694
+98.3665673588135,-229.999572361928,-7.49999999999994, 5425P 9695
+98.3665673588135,-229.999572361928,-11.5999999999999, 5425P 9696
+97.6158909373956,-229.565697649234,-7.49999999999994, 5425P 9697
+97.6158909373956,-229.565697649234,-11.5999999999999, 5425P 9698
+97.617115874664,-228.698656211056,-7.49999999999994, 5425P 9699
+97.617115874664,-228.698656211056,-11.5999999999999, 5425P 9700
+10.7132954794019,13.6415962437718,3.13866619559783, 5425P 9701
+6.2830844037677; 5425P 9702
+128,1,6,1,2,0,0,0,0,0,10.7132996449142,10.7132996449142, 5427P 9703
+13.6416015478574,13.6416015478574,3.13925814733116, 5427P 9704
+3.13925814733116,3.13925814733116,4.18720703624771, 5427P 9705
+4.18720703624771,5.23515592516426,5.23515592516426, 5427P 9706
+6.28310481408081,6.28310481408081,6.28310481408081,1.,1., 5427P 9707
+0.865837508249046,0.865837508249046,1.,1.,0.865837508249046, 5427P 9708
+0.865837508249046,1.,1.,0.865837508249046,0.865837508249046,1., 5427P 9709
+1.,21.4157277366876,-190.598023114212,-7.49999999999997, 5427P 9710
+21.4157277366876,-190.598023114212,-11.6,21.4147507896972, 5427P 9711
+-189.731172299282,-7.49999999999997,21.4147507896972, 5427P 9712
+-189.731172299282,-11.6,22.1653032159716,-189.297464626786, 5427P 9713
+-7.49999999999997,22.1653032159716,-189.297464626786,-11.6, 5427P 9714
+22.915855642246,-188.863756954289,-7.49999999999997, 5427P 9715
+22.915855642246,-188.863756954289,-11.6,23.6664080685249, 5427P 9716
+-189.297464626778,-7.49999999999997,23.6664080685249, 5427P 9717
+-189.297464626778,-11.6,24.4169604948039,-189.731172299267, 5427P 9718
+-7.49999999999997,24.4169604948039,-189.731172299267,-11.6, 5427P 9719
+24.4159835478226,-190.598023114196,-7.49999999999997, 5427P 9720
+24.4159835478226,-190.598023114196,-11.6,10.7132996449142, 5427P 9721
+13.6416015478574,3.13925814733116,6.28310481408081; 5427P 9722
+128,1,6,1,2,0,0,0,0,0,10.7132996449144,10.7132996449144, 5429P 9723
+13.6416015478576,13.6416015478576,3.13925814734168, 5429P 9724
+3.13925814734168,3.13925814734168,4.18720703625123, 5429P 9725
+4.18720703625123,5.23515592516079,5.23515592516079, 5429P 9726
+6.28310481407034,6.28310481407034,6.28310481407034,1.,1., 5429P 9727
+0.865837508250795,0.865837508250795,1.,1.,0.865837508250795, 5429P 9728
+0.865837508250795,1.,1.,0.865837508250795,0.865837508250795,1., 5429P 9729
+1.,24.4159835478226,-190.598023114196,-7.49999999999997, 5429P 9730
+24.4159835478226,-190.598023114196,-11.6,24.4169604948039, 5429P 9731
+-191.464873929118,-7.49999999999997,24.4169604948039, 5429P 9732
+-191.464873929118,-11.6,23.666408068534,-191.898581601608, 5429P 9733
+-7.49999999999997,23.666408068534,-191.898581601608,-11.6, 5429P 9734
+22.9158556422642,-192.332289274099,-7.49999999999997, 5429P 9735
+22.9158556422642,-192.332289274099,-11.6,22.1653032159898, 5429P 9736
+-191.898581601616,-7.49999999999997,22.1653032159898, 5429P 9737
+-191.898581601616,-11.6,21.4147507897154,-191.464873929134, 5429P 9738
+-7.49999999999997,21.4147507897154,-191.464873929134,-11.6, 5429P 9739
+21.4157277366876,-190.598023114211,-7.49999999999997, 5429P 9740
+21.4157277366876,-190.598023114211,-11.6,10.7132996449144, 5429P 9741
+13.6416015478576,3.13925814734168,6.28310481407034; 5429P 9742
+128,1,6,1,2,0,0,0,0,0,10.7132996449141,10.7132996449141, 5431P 9743
+13.6416015478573,13.6416015478573,3.13925814731996, 5431P 9744
+3.13925814731996,3.13925814731996,4.1872070362402, 5431P 9745
+4.1872070362402,5.23515592516045,5.23515592516045, 5431P 9746
+6.28310481408069,6.28310481408069,6.28310481408069,1.,1., 5431P 9747
+0.865837508248121,0.865837508248121,1.,1.,0.865837508248121, 5431P 9748
+0.865837508248121,1.,1.,0.865837508248121,0.865837508248121,1., 5431P 9749
+1.,100.190183492478,-172.121201750453,-7.49999999999994, 5431P 9750
+100.190183492478,-172.121201750453,-11.5999999999999, 5431P 9751
+100.189206545482,-171.25435093552,-7.49999999999994, 5431P 9752
+100.189206545482,-171.25435093552,-11.5999999999999, 5431P 9753
+100.939758971759,-170.82064326302,-7.49999999999994, 5431P 9754
+100.939758971759,-170.82064326302,-11.5999999999999, 5431P 9755
+101.690311398036,-170.38693559052,-7.49999999999994, 5431P 9756
+101.690311398036,-170.38693559052,-11.5999999999999, 5431P 9757
+102.440863824317,-170.820643263012,-7.49999999999994, 5431P 9758
+102.440863824317,-170.820643263012,-11.5999999999999, 5431P 9759
+103.191416250599,-171.254350935504,-7.49999999999994, 5431P 9760
+103.191416250599,-171.254350935504,-11.5999999999999, 5431P 9761
+103.190439303613,-172.121201750437,-7.49999999999994, 5431P 9762
+103.190439303613,-172.121201750437,-11.5999999999999, 5431P 9763
+10.7132996449141,13.6416015478573,3.13925814731996, 5431P 9764
+6.28310481408069; 5431P 9765
+128,1,6,1,2,0,0,0,0,0,10.7132996449144,10.7132996449144, 5433P 9766
+13.6416015478577,13.6416015478577,3.13925814735297, 5433P 9767
+3.13925814735297,3.13925814735297,4.1872070362588, 5433P 9768
+4.1872070362588,5.23515592516463,5.23515592516463, 5433P 9769
+6.28310481407046,6.28310481407046,6.28310481407046,1.,1., 5433P 9770
+0.865837508251727,0.865837508251727,1.,1.,0.865837508251727, 5433P 9771
+0.865837508251727,1.,1.,0.865837508251727,0.865837508251727,1., 5433P 9772
+1.,103.190439303613,-172.121201750437,-7.49999999999994, 5433P 9773
+103.190439303613,-172.121201750437,-11.5999999999999, 5433P 9774
+103.191416250589,-172.988052565356,-7.49999999999994, 5433P 9775
+103.191416250589,-172.988052565356,-11.5999999999999, 5433P 9776
+102.440863824322,-173.421760237843,-7.49999999999994, 5433P 9777
+102.440863824322,-173.421760237843,-11.5999999999999, 5433P 9778
+101.690311398054,-173.85546791033,-7.49999999999994, 5433P 9779
+101.690311398054,-173.85546791033,-11.5999999999999, 5433P 9780
+100.939758971782,-173.421760237851,-7.49999999999994, 5433P 9781
+100.939758971782,-173.421760237851,-11.5999999999999, 5433P 9782
+100.18920654551,-172.988052565371,-7.49999999999994, 5433P 9783
+100.18920654551,-172.988052565371,-11.5999999999999, 5433P 9784
+100.190183492478,-172.121201750453,-7.49999999999994, 5433P 9785
+100.190183492478,-172.121201750453,-11.5999999999999, 5433P 9786
+10.7132996449144,13.6416015478577,3.13925814735297, 5433P 9787
+6.28310481407046; 5433P 9788
+128,1,1,1,1,0,0,1,0,0,-0.701000000000003,-0.701000000000003, 5435P 9789
+0.703178681517682,0.703178681517682,0.899,0.899,1.311,1.311,1., 5435P 9790
+1.,1.,1.,91.5819773314763,-164.547507575232,-7.48999999999993, 5435P 9791
+105.623764146653,-164.547507575232,-7.48999999999993, 5435P 9792
+91.5819773314763,-164.547507575232,-11.61,105.623764146653, 5435P 9793
+-164.547507575232,-11.6099999999999,-0.701000000000003, 5435P 9794
+0.703178681517682,0.899,1.311; 5435P 9795
+128,1,1,1,1,0,0,1,0,0,-0.601,-0.601,1.111,1.111,-0.001,-0.001, 5437P 9796
+0.800999999999997,0.800999999999997,1.,1.,1.,1., 5437P 9797
+105.613764146653,-164.557507575232,-11.6099999999999, 5437P 9798
+105.613764146653,-164.557507575232,5.51000000000006, 5437P 9799
+105.613764146653,-156.537507575232,-11.6099999999999, 5437P 9800
+105.613764146653,-156.537507575232,5.51000000000006,-0.601, 5437P 9801
+1.111,-0.001,0.800999999999997; 5437P 9802
+128,1,1,1,1,0,0,1,0,0,-5.83292786387186,-5.83292786387186, 5439P 9803
+5.83292652709446,5.83292652709446,-4.39739056237306, 5439P 9804
+-4.39739056237306,4.38466970486183,4.38466970486183,1.,1.,1.,1., 5439P 9805
+119.344830676844,-162.674456106938,-7.49999999999994, 5439P 9806
+2.68628676718068,-162.674456106938,-7.49999999999997, 5439P 9807
+119.344830676844,-250.495058779287,-7.49999999999994, 5439P 9808
+2.68628676718068,-250.495058779287,-7.49999999999997, 5439P 9809
+-5.83292786387186,5.83292652709446,-4.39739056237306, 5439P 9810
+4.38466970486183; 5439P 9811
+128,1,1,1,1,0,0,1,0,0,0.198999999999999,0.198999999999999, 5441P 9812
+1.9011635755716,1.9011635755716,0.898999999999999, 5441P 9813
+0.898999999999999,1.311,1.311,1.,1.,1.,1.,23.4336836497758, 5441P 9814
+-164.547507575232,-7.48999999999996,40.4553194054918, 5441P 9815
+-164.547507575232,-7.48999999999996,23.4336836497758, 5441P 9816
+-164.547507575232,-11.61,40.4553194054918,-164.547507575232, 5441P 9817
+-11.61,0.198999999999999,1.9011635755716,0.898999999999999, 5441P 9818
+1.311; 5441P 9819
+128,1,1,1,1,0,0,1,0,0,-0.600999999999999,-0.600999999999999, 5443P 9820
+1.111,1.111,-0.001,-0.001,0.801000000000001,0.801000000000001, 5443P 9821
+1.,1.,1.,1.,40.4453194054918,-164.557507575232,-11.61, 5443P 9822
+40.4453194054918,-164.557507575232,5.51000000000003, 5443P 9823
+40.4453194054918,-156.537507575232,-11.61,40.4453194054918, 5443P 9824
+-156.537507575232,5.51000000000003,-0.600999999999999,1.111, 5443P 9825
+-0.001,0.801000000000001; 5443P 9826
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000133,-0.00100000000000133, 5445P 9827
+1.7011635755716,1.7011635755716,-0.00100000000000355, 5445P 9828
+-0.00100000000000355,0.651,0.651,1.,1.,1.,1.,40.4553194054918, 5445P 9829
+-163.057507575232,1.50000000000003,23.4336836497758, 5445P 9830
+-163.057507575232,1.50000000000003,40.4553194054918, 5445P 9831
+-156.537507575232,1.50000000000003,23.4336836497758, 5445P 9832
+-156.537507575232,1.50000000000003,-0.00100000000000133, 5445P 9833
+1.7011635755716,-0.00100000000000355,0.651; 5445P 9834
+128,1,1,1,1,0,0,1,0,0,1.199,1.199,2.60317868151768, 5447P 9835
+2.60317868151768,-0.001,-0.001,0.650999999999999, 5447P 9836
+0.650999999999999,1.,1.,1.,1.,105.623764146653, 5447P 9837
+-163.057507575232,1.50000000000005,91.5819773314763, 5447P 9838
+-163.057507575232,1.50000000000005,105.623764146653, 5447P 9839
+-156.537507575232,1.50000000000005,91.5819773314763, 5447P 9840
+-156.537507575232,1.50000000000005,1.199,2.60317868151768, 5447P 9841
+-0.001,0.650999999999999; 5447P 9842
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000189,-0.00100000000000189, 5449P 9843
+11.1172612056252,11.1172612056252,-0.00100000000000083, 5449P 9844
+-0.00100000000000083,0.601000000000001,0.601000000000001,1.,1., 5449P 9845
+1.,1.,116.606840828848,-163.047507575232,7.51000000000006, 5449P 9846
+5.42422877259571,-163.047507575232,7.51000000000003, 5449P 9847
+116.606840828848,-163.047507575232,1.49000000000005, 5449P 9848
+5.42422877259571,-163.047507575232,1.49000000000002, 5449P 9849
+-0.00100000000000189,11.1172612056252,-0.00100000000000083, 5449P 9850
+0.601000000000001; 5449P 9851
+128,1,1,1,1,0,0,1,0,0,-0.411,-0.411,1.301,1.301,-0.001,-0.001, 5451P 9852
+0.801000000000001,0.801000000000001,1.,1.,1.,1., 5451P 9853
+23.4436836497758,-164.557507575232,5.51000000000003, 5451P 9854
+23.4436836497758,-164.557507575232,-11.61,23.4436836497758, 5451P 9855
+-156.537507575232,5.51000000000003,23.4436836497758, 5451P 9856
+-156.537507575232,-11.61,-0.411,1.301,-0.001,0.801000000000001; 5451P 9857
+128,1,1,1,1,0,0,1,0,0,-0.411000000000001,-0.411000000000001, 5453P 9858
+1.301,1.301,-0.001,-0.001,0.800999999999997,0.800999999999997, 5453P 9859
+1.,1.,1.,1.,91.5919773314763,-164.557507575232,5.51000000000004, 5453P 9860
+91.5919773314763,-164.557507575232,-11.6099999999999, 5453P 9861
+91.5919773314763,-156.537507575232,5.51000000000004, 5453P 9862
+91.5919773314763,-156.537507575232,-11.6099999999999, 5453P 9863
+-0.411000000000001,1.301,-0.001,0.800999999999997; 5453P 9864
+128,1,1,1,1,0,0,1,0,0,3.5001090632896,3.5001090632896, 5455P 9865
+4.90089123368072,4.90089123368072,0.199,0.199,1.501,1.501,1.,1., 5455P 9866
+1.,1.,54.4431411094029,-164.547507575232,5.51000000000004, 5455P 9867
+40.4353194054918,-164.547507575232,5.51000000000003, 5455P 9868
+54.4431411094029,-164.547507575232,-7.50999999999997, 5455P 9869
+40.4353194054918,-164.547507575232,-7.50999999999997, 5455P 9870
+3.5001090632896,4.90089123368072,0.199,1.501; 5455P 9871
+128,1,1,1,1,0,0,1,0,0,-3.0586425293351,-3.0586425293351, 5457P 9872
+2.05802326326335,2.05802326326335,-4.36108541554375, 5457P 9873
+-4.36108541554375,-3.50908541554383,-3.50908541554383,1.,1.,1., 5457P 9874
+1.,91.6019773314763,-163.037507575232,5.50000000000004, 5457P 9875
+40.4353194054918,-163.037507575232,5.50000000000003, 5457P 9876
+91.6019773314763,-171.557507575232,5.50000000000004, 5457P 9877
+40.4353194054918,-171.557507575232,5.50000000000003, 5457P 9878
+-3.0586425293351,2.05802326326335,-4.36108541554375, 5457P 9879
+-3.50908541554383; 5457P 9880
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.700999999999999, 5459P 9881
+0.700999999999999,-0.001,-0.001,1.301,1.301,1.,1.,1.,1., 5459P 9882
+74.4331411094029,-171.557507575232,-7.50999999999996, 5459P 9883
+74.4331411094029,-164.537507575232,-7.50999999999996, 5459P 9884
+74.4331411094029,-171.557507575232,5.51000000000004, 5459P 9885
+74.4331411094029,-164.537507575232,5.51000000000004,-0.001, 5459P 9886
+0.700999999999999,-0.001,1.301; 5459P 9887
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5461P 9888
+2.001,2.001,-0.00100000000000049,-0.00100000000000049,1.301, 5461P 9889
+1.301,1.,1.,1.,1.,54.4231411094029,-171.547507575231, 5461P 9890
+-7.50999999999996,74.4431411094029,-171.547507575232, 5461P 9891
+-7.50999999999996,54.4231411094029,-171.547507575231, 5461P 9892
+5.51000000000004,74.4431411094029,-171.547507575232, 5461P 9893
+5.51000000000004,-0.00100000000000178,2.001, 5461P 9894
+-0.00100000000000049,1.301; 5461P 9895
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.700999999999999, 5463P 9896
+0.700999999999999,-0.001,-0.001,1.301,1.301,1.,1.,1.,1., 5463P 9897
+54.4331411094029,-164.537507575232,-7.50999999999996, 5463P 9898
+54.4331411094029,-171.557507575232,-7.50999999999996, 5463P 9899
+54.4331411094029,-164.537507575232,5.51000000000004, 5463P 9900
+54.4331411094029,-171.557507575232,5.51000000000004,-0.001, 5463P 9901
+0.700999999999999,-0.001,1.301; 5463P 9902
+128,1,1,1,1,0,0,1,0,0,0.228270425474422,0.228270425474422, 5465P 9903
+7.99146896389396,7.99146896389396,0.198999999999999, 5465P 9904
+0.198999999999999,1.501,1.501,1.,1.,1.,1.,117.598998179498, 5465P 9905
+-245.464354455991,5.51000000000007,117.599000753169, 5465P 9906
+-167.832369071796,5.51000000000007,117.598998179498, 5465P 9907
+-245.464354455991,-7.50999999999994,117.599000753169, 5465P 9908
+-167.832369071796,-7.50999999999994,0.228270425474422, 5465P 9909
+7.99146896389396,0.198999999999999,1.501; 5465P 9910
+128,1,1,1,1,0,0,1,0,0,6.89889123368072,6.89889123368072, 5467P 9911
+8.61677485588806,8.61677485588806,0.199,0.199,1.501,1.501,1.,1., 5467P 9912
+1.,1.,91.6019773314763,-164.547507575232,5.51000000000005, 5467P 9913
+74.4231411094029,-164.547507575232,5.51000000000004, 5467P 9914
+91.6019773314763,-164.547507575232,-7.50999999999995, 5467P 9915
+74.4231411094029,-164.547507575232,-7.50999999999996, 5467P 9916
+6.89889123368072,8.61677485588806,0.199,1.501; 5467P 9917
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.96387870990168, 5469P 9918
+1.96387870990168,0.198999999999999,0.198999999999999,1.501, 5469P 9919
+1.501,1.,1.,1.,1.,4.43314110940287,-167.832837467805, 5469P 9920
+5.51000000000003,4.43314110940289,-187.481624566822, 5469P 9921
+5.51000000000003,4.43314110940288,-167.832837467805, 5469P 9922
+-7.50999999999997,4.43314110940289,-187.481624566822, 5469P 9923
+-7.50999999999997,-0.001,1.96387870990168,0.198999999999999, 5469P 9924
+1.501; 5469P 9925
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.20051956797476, 5471P 9926
+2.20051956797476,-0.001,-0.001,1.501,1.501,1.,1.,1.,1., 5471P 9927
+2.93314110940289,-165.466420277504,7.51000000000003, 5471P 9928
+2.9331411094029,-187.481615957251,7.51000000000003, 5471P 9929
+2.93314110940289,-165.466420277504,-7.50999999999997, 5471P 9930
+2.93314110940291,-187.481615957251,-7.50999999999997,-0.001, 5471P 9931
+2.20051956797476,-0.001,1.501; 5471P 9932
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000355,-0.00100000000000355, 5473P 9933
+6.02853968539494,6.02853968539494,-0.001,-0.001,0.201,0.201,1., 5473P 9934
+1.,1.,1.,2.93314128158951,-187.461615957253,7.51000000000003, 5473P 9935
+2.93210307558876,-247.757012802264,7.51000000000003, 5473P 9936
+2.93314128158951,-187.461615957253,5.49000000000003, 5473P 9937
+2.93210307558876,-247.757012802264,5.49000000000003, 5473P 9938
+-0.00100000000000355,6.02853968539494,-0.001,0.201; 5473P 9939
+128,1,6,1,2,0,0,0,0,0,-2.44929359793162D-16, 5475P 9940
+-2.44929359793162D-16,5.99482047510948,5.99482047510948, 5475P 9941
+-2.72952782394451,-2.72952782394451,-2.72952782394451, 5475P 9942
+-1.43344712313306,-1.43344712313306,-0.137366422321606, 5475P 9943
+-0.137366422321606,1.15871427848985,1.15871427848985, 5475P 9944
+1.15871427848985,1.,1.,0.797268222513888,0.797268222513888,1., 5475P 9945
+1.,0.797268222513888,0.797268222513888,1.,1.,0.797268222513888, 5475P 9946
+0.797268222513888,1.,1.,7.72696471074416,-248.749215886107, 5475P 9947
+7.50000000000003,7.72696471074416,-248.749215886107, 5475P 9948
+-7.49999999999997,6.96821249566286,-250.485058779287, 5475P 9949
+7.50000000000003,6.96821249566286,-250.485058779287, 5475P 9950
+-7.49999999999997,5.09163041069214,-250.22564568775, 5475P 9951
+7.50000000000003,5.09163041069214,-250.22564568775, 5475P 9952
+-7.49999999999997,3.21504832572142,-249.966232596213, 5475P 9953
+7.50000000000003,3.21504832572142,-249.966232596213, 5475P 9954
+-7.49999999999997,2.95566754645106,-248.089646044774, 5475P 9955
+7.50000000000003,2.95566754645106,-248.089646044774, 5475P 9956
+-7.49999999999997,2.69628676718069,-246.213059493336, 5475P 9957
+7.50000000000003,2.6962867671807,-246.213059493336, 5475P 9958
+-7.49999999999997,4.43214272479956,-245.454337167255, 5475P 9959
+7.50000000000003,4.43214272479956,-245.454337167255, 5475P 9960
+-7.49999999999997,-2.44929359793162D-16,5.99482047510948, 5475P 9961
+-2.72952782394451,1.15871427848985; 5475P 9962
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,11.1172574856417, 5477P 9963
+11.1172574856417,-0.00100000000000078,-0.00100000000000078, 5477P 9964
+0.201000000000001,0.201000000000001,1.,1.,1.,1., 5477P 9965
+5.42426324740445,-250.249215886107,7.51000000000004, 5477P 9966
+116.606838103822,-250.249215886107,7.51000000000007, 5477P 9967
+5.42426324740445,-250.249215886107,5.49000000000003, 5477P 9968
+116.606838103822,-250.249215886107,5.49000000000005,-0.001, 5477P 9969
+11.1172574856417,-0.00100000000000078,0.201000000000001; 5477P 9970
+128,1,6,1,2,0,0,0,0,0,-2.17420625539854D-16, 5479P 9971
+-2.17420625539854D-16,5.99482047510955,5.99482047510955, 5479P 9972
+-2.72951057213252,-2.72951057213252,-2.72951057213252, 5479P 9973
+-1.43343562192506,-1.43343562192506,-0.1373606717176, 5479P 9974
+-0.1373606717176,1.15871427848986,1.15871427848986, 5479P 9975
+1.15871427848986,1.,1.,0.797269958115333,0.797269958115333,1., 5479P 9976
+1.,0.797269958115333,0.797269958115333,1.,1.,0.797269958115333, 5479P 9977
+0.797269958115333,1.,1.,117.59899817983,-245.454354455992, 5479P 9978
+7.50000000000006,117.59899817983,-245.454354455992, 5479P 9979
+-7.49999999999994,119.334830676844,-246.213102195359, 5479P 9980
+7.50000000000006,119.334830676844,-246.213102195359, 5479P 9981
+-7.49999999999994,119.07542986441,-248.089674551596, 5479P 9982
+7.50000000000006,119.07542986441,-248.089674551596, 5479P 9983
+-7.49999999999994,118.816029051977,-249.966246907834, 5479P 9984
+7.50000000000006,118.816029051977,-249.966246907834, 5479P 9985
+-7.49999999999994,116.93945668714,-250.225647658055, 5479P 9986
+7.50000000000006,116.93945668714,-250.225647658055, 5479P 9987
+-7.49999999999994,115.062884322303,-250.485048408276, 5479P 9988
+7.50000000000006,115.062884322303,-250.485048408276, 5479P 9989
+-7.49999999999994,114.304136640482,-248.749215886107, 5479P 9990
+7.50000000000006,114.304136640482,-248.749215886107, 5479P 9991
+-7.49999999999994,-2.17420625539854D-16,5.99482047510955, 5479P 9992
+-2.72951057213252,1.15871427848986; 5479P 9993
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,8.22073910193271, 5481P 9994
+8.22073910193271,-0.001,-0.001,0.201,0.201,1.,1.,1.,1., 5481P 9995
+119.09899810349,-247.757055886107,7.51000000000006, 5481P 9996
+119.099000829178,-165.53966486678,7.51000000000006, 5481P 9997
+119.09899810349,-247.757055886107,5.49000000000006, 5481P 9998
+119.099000829178,-165.53966486678,5.49000000000006,-0.001, 5481P 9999
+8.22073910193271,-0.001,0.201; 5481P 10000
+128,1,6,1,2,0,0,0,0,0,-2.17420701633559D-16, 5483P 10001
+-2.17420701633559D-16,5.99482047511063,5.99482047511063, 5483P 10002
+-2.72950952283909,-2.72950952283909,-2.72950952283909, 5483P 10003
+-1.43343455052993,-1.43343455052993,-0.137359578220759, 5483P 10004
+-0.137359578220759,1.15871539408841,1.15871539408841, 5483P 10005
+1.15871539408841,1.,1.,0.797269951444785,0.797269951444785,1., 5483P 10006
+1.,0.797269951444785,0.797269951444785,1.,1.,0.797269951444785, 5483P 10007
+0.797269951444785,1.,1.,114.304139365509,-164.547507575232, 5483P 10008
+7.50000000000006,114.304139365509,-164.547507575232, 5483P 10009
+-7.49999999999994,115.062887064753,-162.811675013205, 5483P 10010
+7.50000000000006,115.062887064753,-162.811675013205, 5483P 10011
+-7.49999999999994,116.939459466948,-163.071075810858, 5483P 10012
+7.50000000000006,116.939459466948,-163.071075810858, 5483P 10013
+-7.49999999999994,118.816031869142,-163.330476608511, 5483P 10014
+7.50000000000006,118.816031869142,-163.330476608511, 5483P 10015
+-7.49999999999994,119.075432604581,-165.207049019306, 5483P 10016
+7.50000000000006,119.075432604581,-165.207049019306, 5483P 10017
+-7.49999999999994,119.33483334002,-167.083621430101, 5483P 10018
+7.50000000000006,119.33483334002,-167.083621430101, 5483P 10019
+-7.49999999999994,117.599000752838,-167.842369071796, 5483P 10020
+7.50000000000006,117.599000752838,-167.842369071796, 5483P 10021
+-7.49999999999994,-2.17420701633559D-16,5.99482047511063, 5483P 10022
+-2.72950952283909,1.15871539408841; 5483P 10023
+128,1,4,1,2,0,0,0,0,0,-2.44824391814757D-16, 5485P 10024
+-2.44824391814757D-16,5.99482047510955,5.99482047510955, 5485P 10025
+-1.54151851752146,-1.54151851752146,-1.54151851752146, 5485P 10026
+-0.191402119515813,-0.191402119515813,1.15871427848983, 5485P 10027
+1.15871427848983,1.15871427848983,1.,1.,0.780670581409592, 5485P 10028
+0.780670581409592,1.,1.,0.780670581409592,0.780670581409592,1., 5485P 10029
+1.,2.93314110940286,-165.476420277504,7.50000000000003, 5485P 10030
+2.93314110940286,-165.476420277504,-7.49999999999997, 5485P 10031
+2.99177706791293,-163.474248497833,7.50000000000003, 5485P 10032
+2.99177706791294,-163.474248497833,-7.49999999999997, 5485P 10033
+4.95822887324418,-163.093200852189,7.50000000000003, 5485P 10034
+4.95822887324418,-163.093200852189,-7.49999999999997, 5485P 10035
+6.92468067857542,-162.712153206546,7.50000000000003, 5485P 10036
+6.92468067857543,-162.712153206546,-7.49999999999997, 5485P 10037
+7.72693023593539,-164.547507575232,7.50000000000003, 5485P 10038
+7.7269302359354,-164.547507575232,-7.49999999999997, 5485P 10039
+-2.44824391814757D-16,5.99482047510955,-1.54151851752146, 5485P 10040
+1.15871427848983; 5485P 10041
+128,1,1,1,1,0,0,1,0,0,-6.45934487907209,-6.45934487907209, 5487P 10042
+6.45935129953954,6.45935129953954,-5.01108541554375, 5487P 10043
+-5.01108541554375,5.01108541554375,5.01108541554375,1.,1.,1.,1., 5487P 10044
+125.609000828846,-156.537507575232,7.50000000000006, 5487P 10045
+-3.57796095727013,-156.537507575232,7.50000000000003, 5487P 10046
+125.609000828846,-256.759215886107,7.50000000000006, 5487P 10047
+-3.57796095727013,-256.759215886107,7.50000000000003, 5487P 10048
+-6.45934487907209,6.45935129953954,-5.01108541554375, 5487P 10049
+5.01108541554375; 5487P 10050
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.20708325126057, 5489P 10051
+2.20708325126057,-0.001,-0.001,1.911,1.911,1.,1.,1.,1., 5489P 10052
+-3.56685889059712,-187.481555692063,7.51000000000003, 5489P 10053
+-3.56685889059714,-165.400723179457,7.51000000000003, 5489P 10054
+-3.56685889059711,-187.481555692063,-11.61,-3.56685889059713, 5489P 10055
+-165.400723179457,-11.61,-0.001,2.20708325126057,-0.001,1.911; 5489P 10056
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,6.02853451978495, 5491P 10057
+6.02853451978495,-0.001,-0.001,1.911,1.911,1.,1.,1.,1., 5491P 10058
+-3.56789692344769,-247.756900880975,7.51000000000003, 5491P 10059
+-3.56685871841052,-187.461555692064,7.51000000000003, 5491P 10060
+-3.56789692344768,-247.756900880975,-11.61,-3.56685871841052, 5491P 10061
+-187.461555692064,-11.61,-0.001,6.02853451978495,-0.001,1.911; 5491P 10062
+128,1,4,1,2,0,0,0,0,0,-2.44929359793162D-16, 5493P 10063
+-2.44929359793162D-16,2.12171301109956,2.12171301109956, 5493P 10064
+-1.57081354545471,-1.57081354545471,-1.57081354545471, 5493P 10065
+-0.785406772727353,-0.785406772727353,0.,0.,0.,1.,1., 5493P 10066
+0.923877885178768,0.923877885178768,1.,1.,0.923877885178768, 5493P 10067
+0.923877885178768,1.,1.,5.43426324740446,-256.749215886107, 5493P 10068
+-11.6,5.43426324740445,-256.749215886107,7.50000000000003, 5493P 10069
+1.70540108471929,-256.749215886107,-11.6,1.70540108471929, 5493P 10070
+-256.749215886107,7.50000000000003,-0.931279936275416, 5493P 10071
+-254.112489464608,-11.6,-0.931279936275421,-254.112489464608, 5493P 10072
+7.50000000000003,-3.56796095727012,-251.475763043109,-11.6, 5493P 10073
+-3.56796095727013,-251.475763043109,7.50000000000003, 5493P 10074
+-3.56789675126107,-247.746900880977,-11.6,-3.56789675126107, 5493P 10075
+-247.746900880977,7.50000000000003,-2.44929359793162D-16, 5493P 10076
+2.12171301109956,-1.57081354545471,0.; 5493P 10077
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,11.1172574856417, 5495P 10078
+11.1172574856417,-0.001,-0.001,1.911,1.911,1.,1.,1.,1., 5495P 10079
+116.606838103822,-256.749215886107,7.51000000000006, 5495P 10080
+5.42426324740443,-256.749215886107,7.51000000000003, 5495P 10081
+116.606838103822,-256.749215886107,-11.6099999999999, 5495P 10082
+5.42426324740443,-256.749215886107,-11.61,-0.001, 5495P 10083
+11.1172574856417,-0.001,1.911; 5495P 10084
+128,1,2,1,2,0,0,0,0,0,-2.95981068971121D-17, 5497P 10085
+-2.95981068971121D-17,2.12171301109957,2.12171301109957, 5497P 10086
+-1.57079632679491,-1.57079632679491,-1.57079632679491, 5497P 10087
+2.4929260496087D-15,2.4929260496087D-15,2.4929260496087D-15,1., 5497P 10088
+1.,0.707106781186542,0.707106781186542,1.,1.,125.598998103822, 5497P 10089
+-247.747055886107,-11.5999999999999,125.598998103822, 5497P 10090
+-247.747055886107,7.50000000000006,125.598998103822, 5497P 10091
+-256.749215886107,-11.5999999999999,125.598998103822, 5497P 10092
+-256.749215886107,7.50000000000006,116.596838103822, 5497P 10093
+-256.749215886107,-11.5999999999999,116.596838103822, 5497P 10094
+-256.749215886107,7.50000000000006,-2.95981068971121D-17, 5497P 10095
+2.12171301109957,-1.57079632679491,2.4929260496087D-15; 5497P 10096
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000355,-0.00100000000000355, 5499P 10097
+8.22073908038377,8.22073908038377,-0.001,-0.001,1.911,1.911,1., 5499P 10098
+1.,1.,1.,125.599000829178,-165.53966508227,7.51000000000006, 5499P 10099
+125.59899810349,-247.757055886107,7.51000000000006, 5499P 10100
+125.599000829178,-165.53966508227,-11.6099999999999, 5499P 10101
+125.59899810349,-247.757055886107,-11.6099999999999, 5499P 10102
+-0.00100000000000355,8.22073908038377,-0.001,1.911; 5499P 10103
+128,1,2,1,2,0,0,0,0,0,-2.95981225633938D-17, 5501P 10104
+-2.95981225633938D-17,2.12171301109993,2.12171301109993, 5501P 10105
+-1.57079604986551,-1.57079604986551,-1.57079604986551, 5501P 10106
+4.70460948958054D-22,4.70460948958054D-22,4.70460948958054D-22, 5501P 10107
+1.,1.,0.707106879095863,0.707106879095863,1.,1., 5501P 10108
+116.596840828848,-156.547507575234,-11.5999999999999, 5501P 10109
+116.596840828848,-156.547507575234,7.50000000000006, 5501P 10110
+125.598998335884,-156.547507575234,-11.5999999999999, 5501P 10111
+125.598998335884,-156.547507575234,7.50000000000006, 5501P 10112
+125.599000828846,-165.54966508227,-11.5999999999999, 5501P 10113
+125.599000828846,-165.54966508227,7.50000000000006, 5501P 10114
+-2.95981225633938D-17,2.12171301109993,-1.57079604986551, 5501P 10115
+4.70460948958054D-22; 5501P 10116
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000233,-0.00100000000000233, 5503P 10117
+11.1172612056252,11.1172612056252,-0.00100000000000087, 5503P 10118
+-0.00100000000000087,1.911,1.911,1.,1.,1.,1.,5.42422877259571, 5503P 10119
+-156.547507575232,7.51000000000004,116.606840828848, 5503P 10120
+-156.547507575232,7.51000000000006,5.42422877259571, 5503P 10121
+-156.547507575232,-11.61,116.606840828848,-156.547507575232, 5503P 10122
+-11.61,-0.00100000000000233,11.1172612056252, 5503P 10123
+-0.00100000000000087,1.911; 5503P 10124
+128,1,2,1,2,0,0,0,0,0,-2.44900183857515D-16, 5505P 10125
+-2.44900183857515D-16,2.12171301109957,2.12171301109957, 5505P 10126
+-1.55536115200856,-1.55536115200856,-1.55536115200856, 5505P 10127
+2.95988436008734D-15,2.95988436008734D-15,2.95988436008734D-15, 5505P 10128
+1.,1.,0.712542827450537,0.712542827450537,1.,1., 5505P 10129
+-3.56685889059712,-165.410723179457,-11.6,-3.56685889059713, 5505P 10130
+-165.410723179457,7.50000000000003,-3.43004274316728, 5505P 10131
+-156.547507575232,-11.6,-3.43004274316728,-156.547507575232, 5505P 10132
+7.50000000000003,5.43422877259571,-156.547507575232,-11.6, 5505P 10133
+5.4342287725957,-156.547507575232,7.50000000000003, 5505P 10134
+-2.44900183857515D-16,2.12171301109957,-1.55536115200856, 5505P 10135
+2.95988436008734D-15; 5505P 10136
+128,1,1,1,1,0,0,1,0,0,-6.45934487907209,-6.45934487907209, 5507P 10137
+6.45935129953954,6.45935129953954,-5.01108541554375, 5507P 10138
+-5.01108541554375,5.01108541554375,5.01108541554375,1.,1.,1.,1., 5507P 10139
+-3.57796095727013,-156.537507575232,-11.6,125.609000828846, 5507P 10140
+-156.537507575232,-11.5999999999999,-3.57796095727014, 5507P 10141
+-256.759215886107,-11.6,125.609000828846,-256.759215886107, 5507P 10142
+-11.5999999999999,-6.45934487907209,6.45935129953954, 5507P 10143
+-5.01108541554375,5.01108541554375; 5507P 10144
+128,1,1,1,1,0,0,1,0,0,6.89889123368072,6.89889123368072, 5509P 10145
+7.61615528746972,7.61615528746972,0.199,0.199,1.501,1.501,1.,1., 5509P 10146
+1.,1.,220.762682252201,-164.547507575232,5.51,213.590041714311, 5509P 10147
+-164.547507575232,5.51,220.762682252201,-164.547507575232,-7.51, 5509P 10148
+213.590041714311,-164.547507575232,-7.51,6.89889123368072, 5509P 10149
+7.61615528746972,0.199,1.501; 5509P 10150
+128,1,1,1,1,0,0,1,0,0,-2.05802296091676,-2.05802296091676, 5511P 10151
+3.05802326326335,3.05802326326335,-4.36108541554375, 5511P 10152
+-4.36108541554375,-3.50908541554383,-3.50908541554383,1.,1.,1., 5511P 10153
+1.,220.762682252201,-163.037507575232,5.5,169.602220010399, 5511P 10154
+-163.037507575232,5.5,220.762682252201,-171.557507575232,5.5, 5511P 10155
+169.602220010399,-171.557507575232,5.5,-2.05802296091676, 5511P 10156
+3.05802326326335,-4.36108541554375,-3.50908541554383; 5511P 10157
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5513P 10158
+11.1172612056252,11.1172612056252,-0.001,-0.001,0.601,0.601,1., 5513P 10159
+1.,1.,1.,255.773741433756,-163.047507575232,7.51, 5513P 10160
+144.591129377503,-163.047507575232,7.51,255.773741433756, 5513P 10161
+-163.047507575232,1.49,144.591129377503,-163.047507575232,1.49, 5513P 10162
+-0.00100000000000178,11.1172612056252,-0.001,0.601; 5513P 10163
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000355,-0.00100000000000355, 5515P 10164
+0.800999999999997,0.800999999999997,9.999,9.999,11.711,11.711, 5515P 10165
+1.,1.,1.,1.,155.584237511039,-164.557507575232,-11.61, 5515P 10166
+155.584237511039,-156.537507575232,-11.61,155.584237511039, 5515P 10167
+-164.557507575232,5.50999999999998,155.584237511039, 5515P 10168
+-156.537507575232,5.50999999999998,-0.00100000000000355, 5515P 10169
+0.800999999999997,9.999,11.711; 5515P 10170
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.800999999999999, 5517P 10171
+0.800999999999999,9.999,9.999,11.711,11.711,1.,1.,1.,1., 5517P 10172
+220.752682252201,-164.557507575232,-11.61,220.752682252201, 5517P 10173
+-156.537507575232,-11.61,220.752682252201,-164.557507575232, 5517P 10174
+5.51,220.752682252201,-156.537507575232,5.51,-0.001, 5517P 10175
+0.800999999999999,9.999,11.711; 5517P 10176
+128,1,1,1,1,0,0,1,0,0,0.228270146333967,0.228270146333967, 5519P 10177
+1.09931081335358,1.09931081335358,0.199,0.199,1.501,1.501,1.,1., 5519P 10178
+1.,1.,155.594237511039,-164.547507575232,5.51,146.883830840843, 5519P 10179
+-164.547507575232,5.51,155.594237511039,-164.547507575232,-7.51, 5519P 10180
+146.883830840843,-164.547507575232,-7.51,0.228270146333967, 5519P 10181
+1.09931081335358,0.199,1.501; 5519P 10182
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000178,-0.00100000000000178, 5521P 10183
+11.1172612056252,11.1172612056252,-0.001,-0.001,1.911,1.911,1., 5521P 10184
+1.,1.,1.,144.591129377503,-156.547507575232,7.51, 5521P 10185
+255.773741433756,-156.547507575232,7.51,144.591129377503, 5521P 10186
+-156.547507575232,-11.61,255.773741433756,-156.547507575232, 5521P 10187
+-11.61,-0.00100000000000178,11.1172612056252,-0.001,1.911; 5521P 10188
+128,1,1,1,1,0,0,1,0,0,-6.45934487907209,-6.45934487907209, 5523P 10189
+6.45935129953954,6.45935129953954,-5.01108541554375, 5523P 10190
+-5.01108541554375,5.01108541554375,5.01108541554375,1.,1.,1.,1., 5523P 10191
+135.588939647638,-156.537507575232,-11.6,264.775901433754, 5523P 10192
+-156.537507575232,-11.6,135.588939647638,-256.759215886107, 5523P 10193
+-11.6,264.775901433754,-256.759215886107,-11.6, 5523P 10194
+-6.45934487907209,6.45935129953954,-5.01108541554375, 5523P 10195
+5.01108541554375; 5523P 10196
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.90334375,0.90334375, 5525P 10197
+-0.001,-0.001,0.101,0.101,1.,1.,1.,1.,189.322570909196, 5525P 10198
+-187.660756010089,-7.49,198.366008409196,-187.660756010089, 5525P 10199
+-7.49,189.322570909196,-187.660756010089,-8.51,198.366008409196, 5525P 10200
+-187.660756010089,-8.51,-0.001,0.90334375,-0.001,0.101; 5525P 10201
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.562521192363372, 5527P 10202
+0.844152403739511,0.844152403739511,0.844152403739511, 5527P 10203
+0.844152403739511,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5527P 10204
+198.356008409196,-187.660756010089,-7.5,200.231830522622, 5527P 10205
+-187.649960043727,-7.5,203.046799571848,-187.633758981298,-7.5, 5527P 10206
+205.856214479556,-187.800454535029,-7.5,206.793508409196, 5527P 10207
+-187.856068510089,-7.5,198.356008409196,-187.660756010089,-8.5, 5527P 10208
+200.231830522622,-187.649960043727,-8.5,203.046799571848, 5527P 10209
+-187.633758981298,-8.5,205.856214479556,-187.800454535029,-8.5, 5527P 10210
+206.793508409196,-187.856068510089,-8.5,0.,0.844152403739511,0., 5527P 10211
+0.1; 5527P 10212
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.261898150092223, 5529P 10213
+0.497778933126644,0.497778933126644,0.497778933126644, 5529P 10214
+0.497778933126644,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5529P 10215
+206.793508409196,-187.856068510089,-7.5,207.662882757985, 5529P 10216
+-188.049967147936,-7.5,209.315266463925,-188.418502233228,-7.5, 5529P 10217
+210.559416215435,-189.560844484626,-7.5,211.148977159196, 5529P 10218
+-190.102162260089,-7.5,206.793508409196,-187.856068510089,-8.5, 5529P 10219
+207.662882757985,-188.049967147936,-8.5,209.315266463925, 5529P 10220
+-188.418502233228,-8.5,210.559416215435,-189.560844484626,-8.5, 5529P 10221
+211.148977159196,-190.102162260089,-8.5,0.,0.497778933126644,0., 5529P 10222
+0.1; 5529P 10223
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.235900997344428, 5531P 10224
+0.499964111306824,0.499964111306824,0.499964111306824, 5531P 10225
+0.499964111306824,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5531P 10226
+211.148977159196,-190.102162260089,-7.5,211.598623495598, 5531P 10227
+-190.765518704879,-7.5,212.551595435151,-192.171423805461,-7.5, 5531P 10228
+212.643437973881,-193.871965743153,-7.5,212.691945909196, 5531P 10229
+-194.770131010089,-7.5,211.148977159196,-190.102162260089,-8.5, 5531P 10230
+211.598623495598,-190.765518704879,-8.5,212.551595435151, 5531P 10231
+-192.171423805461,-8.5,212.643437973881,-193.871965743153,-8.5, 5531P 10232
+212.691945909196,-194.770131010089,-8.5,0.,0.499964111306824,0., 5531P 10233
+0.1; 5531P 10234
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.238137123420061, 5533P 10235
+0.450534415924653,0.450534415924653,0.450534415924653, 5533P 10236
+0.450534415924653,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5533P 10237
+212.691945909196,-194.770131010089,-7.5,212.655290538983, 5533P 10238
+-195.575101594424,-7.5,212.585941814299,-197.098034881101,-7.5, 5533P 10239
+211.861566257095,-198.436165560765,-7.5,211.520070909196, 5533P 10240
+-199.067006010089,-7.5,212.691945909196,-194.770131010089,-8.5, 5533P 10241
+212.655290538983,-195.575101594424,-8.5,212.585941814299, 5533P 10242
+-197.098034881101,-8.5,211.861566257095,-198.436165560765,-8.5, 5533P 10243
+211.520070909196,-199.067006010089,-8.5,0.,0.450534415924653,0., 5533P 10244
+0.1; 5533P 10245
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.202384184696661, 5535P 10246
+0.410291107118963,0.410291107118963,0.410291107118963, 5535P 10247
+0.410291107118963,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5535P 10248
+211.520070909196,-199.067006010089,-7.5,211.087476419098, 5535P 10249
+-199.599125342313,-7.5,210.210482633534,-200.677884684425,-7.5, 5535P 10250
+208.927838177421,-201.216133860944,-7.5,208.277883409196, 5535P 10251
+-201.488881010089,-7.5,211.520070909196,-199.067006010089,-8.5, 5535P 10252
+211.087476419098,-199.599125342313,-8.5,210.210482633534, 5535P 10253
+-200.677884684425,-8.5,208.927838177421,-201.216133860944,-8.5, 5535P 10254
+208.277883409196,-201.488881010089,-8.5,0.,0.410291107118963,0., 5535P 10255
+0.1; 5535P 10256
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.367088791586182, 5537P 10257
+1.04309862016124,1.04309862016124,1.04309862016124, 5537P 10258
+1.04309862016124,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5537P 10259
+208.277883409196,-201.488881010089,-7.5,207.069106365723, 5537P 10260
+-201.689994183538,-7.5,203.634314307158,-202.261465932413,-7.5, 5537P 10261
+200.147189290955,-202.219319929824,-7.5,197.887258409196, 5537P 10262
+-202.192006010089,-7.5,208.277883409196,-201.488881010089,-8.5, 5537P 10263
+207.069106365723,-201.689994183538,-8.5,203.634314307158, 5537P 10264
+-202.261465932413,-8.5,200.147189290955,-202.219319929824,-8.5, 5537P 10265
+197.887258409196,-202.192006010089,-8.5,0.,1.04309862016124,0., 5537P 10266
+0.1; 5537P 10267
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.85646875,0.85646875, 5539P 10268
+-0.001,-0.001,0.101,0.101,1.,1.,1.,1.,197.897258409196, 5539P 10269
+-202.192006010089,-7.49,189.322570909196,-202.192006010089, 5539P 10270
+-7.49,197.897258409196,-202.192006010089,-8.51,189.322570909196, 5539P 10271
+-202.192006010089,-8.51,-0.001,0.85646875,-0.001,0.101; 5539P 10272
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.454125,1.454125,-0.001, 5541P 10273
+-0.001,0.101,0.101,1.,1.,1.,1.,189.332570909196, 5541P 10274
+-202.202006010089,-7.49,189.332570909196,-187.650756010089, 5541P 10275
+-7.49,189.332570909196,-202.202006010089,-8.51,189.332570909196, 5541P 10276
+-187.650756010089,-8.51,-0.001,1.454125,-0.001,0.101; 5541P 10277
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.391625,2.391625,-0.001, 5543P 10278
+-0.001,0.101,0.101,1.,1.,1.,1.,189.332570909196, 5543P 10279
+-235.248881010089,-7.49,189.332570909196,-211.322631010089, 5543P 10280
+-7.49,189.332570909196,-235.248881010089,-8.51,189.332570909196, 5543P 10281
+-211.322631010089,-8.51,-0.001,2.391625,-0.001,0.101; 5543P 10282
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.235375,0.235375,-0.001, 5545P 10283
+-0.001,0.101,0.101,1.,1.,1.,1.,189.322570909196, 5545P 10284
+-211.332631010089,-7.49,191.686320909196,-211.332631010089, 5545P 10285
+-7.49,189.322570909196,-211.332631010089,-8.51,191.686320909196, 5545P 10286
+-211.332631010089,-8.51,-0.001,0.235375,-0.001,0.101; 5545P 10287
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.345102942215374, 5547P 10288
+0.58728108987376,0.58728108987376,0.58728108987376, 5547P 10289
+0.58728108987376,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5547P 10290
+191.676320909196,-211.332631010089,-7.5,192.831842297831, 5547P 10291
+-211.334659249473,-7.5,194.798258046518,-211.338110818527,-7.5, 5547P 10292
+196.708785715842,-211.790577691044,-7.5,197.496633409196, 5547P 10293
+-211.977162260089,-7.5,191.676320909196,-211.332631010089,-8.5, 5547P 10294
+192.831842297831,-211.334659249473,-8.5,194.798258046518, 5547P 10295
+-211.338110818527,-8.5,196.708785715842,-211.790577691044,-8.5, 5547P 10296
+197.496633409196,-211.977162260089,-8.5,0.,0.58728108987376,0., 5547P 10297
+0.1; 5547P 10298
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.200908599721103, 5549P 10299
+0.424515823966796,0.424515823966796,0.424515823966796, 5549P 10300
+0.424515823966796,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5549P 10301
+197.496633409196,-211.977162260089,-7.5,198.113566785881, 5549P 10302
+-212.251744615522,-7.5,199.417134582878,-212.831931601172,-7.5, 5549P 10303
+200.436343293178,-213.832788618144,-7.5,200.973195909196, 5549P 10304
+-214.359974760089,-7.5,197.496633409196,-211.977162260089,-8.5, 5549P 10305
+198.113566785881,-212.251744615522,-8.5,199.417134582878, 5549P 10306
+-212.831931601172,-8.5,200.436343293178,-213.832788618144,-8.5, 5549P 10307
+200.973195909196,-214.359974760089,-8.5,0.,0.424515823966796,0., 5549P 10308
+0.1; 5549P 10309
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.378624565580162, 5551P 10310
+1.03970923338266,1.03970923338266,1.03970923338266, 5551P 10311
+1.03970923338266,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5551P 10312
+200.973195909196,-214.359974760089,-7.5,201.766342156981, 5551P 10313
+-215.342414541706,-7.5,203.94433469157,-218.04021020804,-7.5, 5551P 10314
+205.853212488561,-220.936425355574,-7.5,207.066945909196, 5551P 10315
+-222.777943510089,-7.5,200.973195909196,-214.359974760089,-8.5, 5551P 10316
+201.766342156981,-215.342414541706,-8.5,203.94433469157, 5551P 10317
+-218.04021020804,-8.5,205.853212488561,-220.936425355574,-8.5, 5551P 10318
+207.066945909196,-222.777943510089,-8.5,0.,1.03970923338266,0., 5551P 10319
+0.1; 5551P 10320
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.50151362462835, 5553P 10321
+1.50151362462835,-0.001,-0.001,0.101,0.101,1.,1.,1.,1., 5553P 10322
+207.061374900134,-222.769639062002,-7.49,215.431891918257, 5553P 10323
+-235.247185458177,-7.49,207.061374900134,-222.769639062002, 5553P 10324
+-8.51,215.431891918257,-235.247185458177,-8.51,-0.001, 5553P 10325
+1.50151362462835,-0.001,0.101; 5553P 10326
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.3838125,1.3838125,-0.001, 5555P 10327
+-0.001,0.101,0.101,1.,1.,1.,1.,215.416320909196, 5555P 10328
+-235.238881010089,-7.49,229.264445909196,-235.238881010089, 5555P 10329
+-7.49,215.416320909196,-235.238881010089,-8.51,229.264445909196, 5555P 10330
+-235.238881010089,-8.51,-0.001,1.3838125,-0.001,0.101; 5555P 10331
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.31895856175671, 5557P 10332
+1.31895856175671,-0.001,-0.001,0.101,0.101,1.,1.,1.,1., 5557P 10333
+229.259751225844,-235.247357661271,-7.49,222.256953092547, 5557P 10334
+-224.058529358908,-7.49,229.259751225844,-235.247357661271, 5557P 10335
+-8.51,222.256953092547,-224.058529358908,-8.51,-0.001, 5557P 10336
+1.31895856175671,-0.001,0.101; 5557P 10337
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.677413644671362, 5559P 10338
+1.14014998210771,1.14014998210771,1.14014998210771, 5559P 10339
+1.14014998210771,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5559P 10340
+222.262258409196,-224.067006010089,-7.5,221.071194285368, 5559P 10341
+-222.144734836071,-7.5,219.066522914849,-218.90937419357,-7.5, 5559P 10342
+216.657814949634,-215.965086764049,-7.5,215.680227159196, 5559P 10343
+-214.770131010089,-7.5,222.262258409196,-224.067006010089,-8.5, 5559P 10344
+221.071194285368,-222.144734836071,-8.5,219.066522914849, 5559P 10345
+-218.90937419357,-8.5,216.657814949634,-215.965086764049,-8.5, 5559P 10346
+215.680227159196,-214.770131010089,-8.5,0.,1.14014998210771,0., 5559P 10347
+0.1; 5559P 10348
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.373681930926689, 5561P 10349
+0.785781181487306,0.785781181487306,0.785781181487306, 5561P 10350
+0.785781181487306,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5561P 10351
+215.680227159196,-214.770131010089,-7.5,214.783943791004, 5561P 10352
+-213.899557402522,-7.5,212.899232367418,-212.068908657398,-7.5, 5561P 10353
+210.662083255283,-210.689085359138,-7.5,209.488820909196, 5561P 10354
+-209.965443510089,-7.5,215.680227159196,-214.770131010089,-8.5, 5561P 10355
+214.783943791004,-213.899557402522,-8.5,212.899232367418, 5561P 10356
+-212.068908657398,-8.5,210.662083255283,-210.689085359138,-8.5, 5561P 10357
+209.488820909196,-209.965443510089,-8.5,0.,0.785781181487306,0., 5561P 10358
+0.1; 5561P 10359
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.686133847994611, 5563P 10360
+1.26971165673407,1.26971165673407,1.26971165673407, 5563P 10361
+1.26971165673407,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5563P 10362
+209.488820909196,-209.965443510089,-7.5,211.783402108826, 5563P 10363
+-209.536092499316,-7.5,216.029594750405,-208.741565331179,-7.5, 5563P 10364
+219.30946855557,-205.953780785553,-7.5,220.816945909196, 5563P 10365
+-204.672474760089,-7.5,209.488820909196,-209.965443510089,-8.5, 5563P 10366
+211.783402108826,-209.536092499316,-8.5,216.029594750405, 5563P 10367
+-208.741565331179,-8.5,219.30946855557,-205.953780785553,-8.5, 5563P 10368
+220.816945909196,-204.672474760089,-8.5,0.,1.26971165673407,0., 5563P 10369
+0.1; 5563P 10370
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.554440940539225, 5565P 10371
+1.15039635746486,1.15039635746486,1.15039635746486, 5565P 10372
+1.15039635746486,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5565P 10373
+220.816945909196,-204.672474760089,-7.5,221.921692259118, 5565P 10374
+-203.14284764226,-7.5,224.213904258538,-199.969060614703,-7.5, 5565P 10375
+224.472199977234,-196.055393519306,-7.5,224.606008409196, 5565P 10376
+-194.027943510089,-7.5,220.816945909196,-204.672474760089,-8.5, 5565P 10377
+221.921692259118,-203.14284764226,-8.5,224.213904258538, 5565P 10378
+-199.969060614703,-8.5,224.472199977234,-196.055393519306,-8.5, 5565P 10379
+224.606008409196,-194.027943510089,-8.5,0.,1.15039635746486,0., 5565P 10380
+0.1; 5565P 10381
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.483548351122755, 5567P 10382
+0.946106124712921,0.946106124712921,0.946106124712921, 5567P 10383
+0.946106124712921,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5567P 10384
+224.606008409196,-194.027943510089,-7.5,224.51140065161, 5567P 10385
+-192.397733878194,-7.5,224.326292009032,-189.208081150147,-7.5, 5567P 10386
+222.835074753493,-186.384818489344,-7.5,222.106008409196, 5567P 10387
+-185.004506010089,-7.5,224.606008409196,-194.027943510089,-8.5, 5567P 10388
+224.51140065161,-192.397733878194,-8.5,224.326292009032, 5567P 10389
+-189.208081150147,-8.5,222.835074753493,-186.384818489344,-8.5, 5567P 10390
+222.106008409196,-185.004506010089,-8.5,0.,0.946106124712921,0., 5567P 10391
+0.1; 5567P 10392
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.443673849959561, 5569P 10393
+0.875191282358429,0.875191282358429,0.875191282358429, 5569P 10394
+0.875191282358429,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5569P 10395
+222.106008409196,-185.004506010089,-7.5,221.213376913017, 5569P 10396
+-183.793211270963,-7.5,219.45257152887,-181.403810597143,-7.5, 5569P 10397
+216.769000336918,-180.1395665842,-7.5,215.445852159196, 5569P 10398
+-179.516224760089,-7.5,222.106008409196,-185.004506010089,-8.5, 5569P 10399
+221.213376913017,-183.793211270963,-8.5,219.45257152887, 5569P 10400
+-181.403810597143,-8.5,216.769000336918,-180.1395665842,-8.5, 5569P 10401
+215.445852159196,-179.516224760089,-8.5,0.,0.875191282358429,0., 5569P 10402
+0.1; 5569P 10403
+128,4,1,3,1,0,0,1,0,0,0.,0.,0.,0.,0.553731174536493, 5571P 10404
+1.34714989356346,1.34714989356346,1.34714989356346, 5571P 10405
+1.34714989356346,0.,0.,0.1,0.1,1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 5571P 10406
+215.445852159196,-179.516224760089,-7.5,213.648767024992, 5571P 10407
+-179.069647768159,-7.5,209.276712211041,-177.983188896397,-7.5, 5571P 10408
+204.763886597037,-177.976937713112,-7.5,202.106008409196, 5571P 10409
+-177.973256010089,-7.5,215.445852159196,-179.516224760089,-8.5, 5571P 10410
+213.648767024992,-179.069647768159,-8.5,209.276712211041, 5571P 10411
+-177.983188896397,-8.5,204.763886597037,-177.976937713112,-8.5, 5571P 10412
+202.106008409196,-177.973256010089,-8.5,0.,1.34714989356346,0., 5571P 10413
+0.1; 5571P 10414
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.43459375,2.43459375, 5573P 10415
+-0.001,-0.001,0.101,0.101,1.,1.,1.,1.,202.116008409196, 5573P 10416
+-177.973256010089,-7.49,177.760070909196,-177.973256010089, 5573P 10417
+-7.49,202.116008409196,-177.973256010089,-8.51,177.760070909196, 5573P 10418
+-177.973256010089,-8.51,-0.001,2.43459375,-0.001,0.101; 5573P 10419
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,5.7275625,5.7275625,-0.001, 5575P 10420
+-0.001,0.101,0.101,1.,1.,1.,1.,177.770070909196, 5575P 10421
+-177.963256010089,-7.49,177.770070909196,-235.248881010089, 5575P 10422
+-7.49,177.770070909196,-177.963256010089,-8.51,177.770070909196, 5575P 10423
+-235.248881010089,-8.51,-0.001,5.7275625,-0.001,0.101; 5575P 10424
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.15725,1.15725,-0.001, 5577P 10425
+-0.001,0.101,0.101,1.,1.,1.,1.,177.760070909196, 5577P 10426
+-235.238881010089,-7.49,189.342570909196,-235.238881010089, 5577P 10427
+-7.49,177.760070909196,-235.238881010089,-8.51,189.342570909196, 5577P 10428
+-235.238881010089,-8.51,-0.001,1.15725,-0.001,0.101; 5577P 10429
+128,1,1,1,1,0,0,1,0,0,-2.57521875,-2.57521875,2.57521875, 5579P 10430
+2.57521875,-2.86428125,-2.86428125,2.86428125,2.86428125,1.,1., 5579P 10431
+1.,1.,229.264445909196,-177.963256010089,-8.5,177.760070909196, 5579P 10432
+-177.963256010089,-8.5,229.264445909196,-235.248881010089,-8.5, 5579P 10433
+177.760070909196,-235.248881010089,-8.5,-2.57521875,2.57521875, 5579P 10434
+-2.86428125,2.86428125; 5579P 10435
+128,1,1,1,1,0,0,1,0,0,-5.83292786387186,-5.83292786387186, 5581P 10436
+5.83292652709446,5.83292652709446,-4.39739056237306, 5581P 10437
+-4.39739056237306,4.38466970486183,4.38466970486183,1.,1.,1.,1., 5581P 10438
+258.511731281752,-162.674456106938,-7.5,141.853187372088, 5581P 10439
+-162.674456106938,-7.5,258.511731281752,-250.495058779287,-7.5, 5581P 10440
+141.853187372088,-250.495058779287,-7.5,-5.83292786387186, 5581P 10441
+5.83292652709446,-4.39739056237306,4.38466970486183; 5581P 10442
+128,1,6,1,2,0,0,0,0,0,11.5962540906493,11.5962540906493, 5583P 10443
+14.5245559935925,14.5245559935925,3.13917765423161, 5583P 10444
+3.13917765423161,3.13917765423161,4.18718020521427, 5583P 10445
+4.18718020521427,5.23518275619693,5.23518275619693, 5583P 10446
+6.28318530717959,6.28318530717959,6.28318530717959,1.,1., 5583P 10447
+0.865824083692631,0.865824083692631,1.,1.,0.865824083692631, 5583P 10448
+0.865824083692631,1.,1.,0.865824083692631,0.865824083692631,1., 5583P 10449
+1.,158.107551165901,-172.121201750437,-7.5,158.107551165901, 5583P 10450
+-172.121201750437,-11.6,158.106574158405,-171.312085990108,-7.5, 5583P 10451
+158.106574158405,-171.312085990108,-11.6,158.807126580916, 5583P 10452
+-170.907245809948,-7.5,158.807126580916,-170.907245809948,-11.6, 5583P 10453
+159.507679003426,-170.502405629789,-7.5,159.507679003426, 5583P 10454
+-170.502405629789,-11.6,160.208231425936,-170.907245809948,-7.5, 5583P 10455
+160.208231425936,-170.907245809948,-11.6,160.908783848446, 5583P 10456
+-171.312085990108,-7.5,160.908783848446,-171.312085990108,-11.6, 5583P 10457
+160.90780684095,-172.121201750437,-7.5,160.90780684095, 5583P 10458
+-172.121201750437,-11.6,11.5962540906493,14.5245559935925, 5583P 10459
+3.13917765423161,6.28318530717959; 5583P 10460
+128,1,6,1,2,0,0,0,0,0,11.5962540906495,11.5962540906495, 5585P 10461
+14.5245559935927,14.5245559935927,3.13917765425437, 5585P 10462
+3.13917765425437,3.13917765425437,4.18718020522942, 5585P 10463
+4.18718020522942,5.23518275620448,5.23518275620448, 5585P 10464
+6.28318530717956,6.28318530717956,6.28318530717956,1.,1., 5585P 10465
+0.865824083694531,0.865824083694531,1.,1.,0.865824083694531, 5585P 10466
+0.865824083694531,1.,1.,0.865824083694531,0.865824083694531,1., 5585P 10467
+1.,160.90780684095,-172.121201750437,-7.5,160.90780684095, 5585P 10468
+-172.121201750437,-11.6,160.908783848437,-172.930317510758,-7.5, 5585P 10469
+160.908783848437,-172.930317510758,-11.6,160.208231425931, 5585P 10470
+-173.335157690912,-7.5,160.208231425931,-173.335157690912,-11.6, 5585P 10471
+159.507679003426,-173.739997871065,-7.5,159.507679003426, 5585P 10472
+-173.739997871065,-11.6,158.80712658092,-173.335157690912,-7.5, 5585P 10473
+158.80712658092,-173.335157690912,-11.6,158.106574158415, 5585P 10474
+-172.930317510759,-7.5,158.106574158415,-172.930317510759,-11.6, 5585P 10475
+158.107551165901,-172.121201750437,-7.5,158.107551165901, 5585P 10476
+-172.121201750437,-11.6,11.5962540906495,14.5245559935927, 5585P 10477
+3.13917765425437,6.28318530717956; 5585P 10478
+128,1,6,1,2,0,0,0,0,0,11.5962540906494,11.5962540906494, 5587P 10479
+14.5245559935926,14.5245559935926,3.13917765424305, 5587P 10480
+3.13917765424305,3.13917765424305,4.18718020522189, 5587P 10481
+4.18718020522189,5.23518275620074,5.23518275620074, 5587P 10482
+6.28318530717959,6.28318530717959,6.28318530717959,1.,1., 5587P 10483
+0.865824083693586,0.865824083693586,1.,1.,0.865824083693586, 5587P 10484
+0.865824083693586,1.,1.,0.865824083693586,0.865824083693586,1., 5587P 10485
+1.,236.882006921691,-190.598023114196,-7.5,236.882006921691, 5587P 10486
+-190.598023114196,-11.6,236.8810299142,-189.78890735387,-7.5, 5587P 10487
+236.8810299142,-189.78890735387,-11.6,237.581582336708, 5587P 10488
+-189.384067173714,-7.5,237.581582336708,-189.384067173714,-11.6, 5587P 10489
+238.282134759216,-188.979226993558,-7.5,238.282134759216, 5587P 10490
+-188.979226993558,-11.6,238.982687181724,-189.384067173714,-7.5, 5587P 10491
+238.982687181724,-189.384067173714,-11.6,239.683239604231, 5587P 10492
+-189.78890735387,-7.5,239.683239604231,-189.78890735387,-11.6, 5587P 10493
+239.68226259674,-190.598023114196,-7.5,239.68226259674, 5587P 10494
+-190.598023114196,-11.6,11.5962540906494,14.5245559935926, 5587P 10495
+3.13917765424305,6.28318530717959; 5587P 10496
+128,1,6,1,2,0,0,0,0,0,11.5962540906494,11.5962540906494, 5589P 10497
+14.5245559935926,14.5245559935926,3.13917765424295, 5589P 10498
+3.13917765424295,3.13917765424295,4.18718020522186, 5589P 10499
+4.18718020522186,5.23518275620077,5.23518275620077, 5589P 10500
+6.28318530717964,6.28318530717964,6.28318530717964,1.,1., 5589P 10501
+0.865824083693573,0.865824083693573,1.,1.,0.865824083693573, 5589P 10502
+0.865824083693573,1.,1.,0.865824083693573,0.865824083693573,1., 5589P 10503
+1.,239.68226259674,-190.598023114196,-7.5,239.68226259674, 5589P 10504
+-190.598023114196,-11.6,239.683239604231,-191.407138874521,-7.5, 5589P 10505
+239.683239604231,-191.407138874521,-11.6,238.982687181724, 5589P 10506
+-191.811979054677,-7.5,238.982687181724,-191.811979054677,-11.6, 5589P 10507
+238.282134759216,-192.216819234834,-7.5,238.282134759216, 5589P 10508
+-192.216819234834,-11.6,237.581582336708,-191.811979054677,-7.5, 5589P 10509
+237.581582336708,-191.811979054677,-11.6,236.8810299142, 5589P 10510
+-191.407138874521,-7.5,236.8810299142,-191.407138874521,-11.6, 5589P 10511
+236.882006921691,-190.598023114196,-7.5,236.882006921691, 5589P 10512
+-190.598023114196,-11.6,11.5962540906494,14.5245559935926, 5589P 10513
+3.13917765424295,6.28318530717964; 5589P 10514
+128,1,2,1,2,0,0,0,0,0,0.799309396681276,0.799309396681276, 5591P 10515
+5.99482047510957,5.99482047510957,-1.15918194829754, 5591P 10516
+-1.15918194829754,-1.15918194829754,-0.029277809273359, 5591P 10517
+-0.029277809273359,-0.029277809273359,1.,1.,0.844614262194489, 5591P 10518
+0.844614262194489,1.,1.,143.600041714311,-167.842837467805,5.5, 5591P 10519
+143.600041714311,-167.842837467805,-7.5,142.146470952165, 5591P 10520
+-167.208278396419,5.5,142.146470952165,-167.208278396419,-7.5, 5591P 10521
+142.10004171431,-165.622914872961,5.5,142.10004171431, 5591P 10522
+-165.622914872961,-7.5,0.799309396681276,5.99482047510957, 5591P 10523
+-1.15918194829754,-0.029277809273359; 5591P 10524
+128,1,1,1,1,0,0,1,0,0,0.228270146333974,0.228270146333974, 5593P 10525
+10.8879873393078,10.8879873393078,0.199,0.199,1.501,1.501,1.,1., 5593P 10526
+1.,1.,146.883865315652,-248.749215886107,5.51,253.48103724539, 5593P 10527
+-248.749215886107,5.51,146.883865315652,-248.749215886107,-7.51, 5593P 10528
+253.48103724539,-248.749215886107,-7.51,0.228270146333974, 5593P 10529
+10.8879873393078,0.199,1.501; 5593P 10530
+128,1,1,1,1,0,0,1,0,0,0.228270146333972,0.228270146333972, 5595P 10531
+6.02854140723685,6.02854140723685,0.199,0.199,1.501,1.501,1.,1., 5595P 10532
+1.,1.,143.600041886497,-187.461624566824,5.51,143.599043157521, 5595P 10533
+-245.464337167254,5.51,143.600041886497,-187.461624566824,-7.51, 5595P 10534
+143.599043157521,-245.464337167254,-7.51,0.228270146333972, 5595P 10535
+6.02854140723685,0.199,1.501; 5595P 10536
+128,1,1,1,1,0,0,1,0,0,4.45882151319937,4.45882151319937, 5597P 10537
+5.55913232655296,5.55913232655296,-4.36108541554375, 5597P 10538
+-4.36108541554375,-4.20908541554375,-4.20908541554375,1.,1.,1., 5597P 10539
+1.,155.594237511039,-163.037507575232,5.5,144.591129377503, 5597P 10540
+-163.037507575232,5.5,155.594237511039,-164.557507575232,5.5, 5597P 10541
+144.591129377503,-164.557507575232,5.5,4.45882151319937, 5597P 10542
+5.55913232655296,-4.36108541554375,-4.20908541554375; 5597P 10543
+128,1,1,1,1,0,0,1,0,0,5.65724109287224,5.65724109287224, 5599P 10544
+5.80934487903499,5.80934487903499,-4.10354468577093, 5599P 10545
+-4.10354468577093,4.11086510715957,4.11086510715957,1.,1.,1.,1., 5599P 10546
+143.610041714311,-165.612914872961,5.5,142.089003852683, 5599P 10547
+-165.612914872961,5.5,143.610041714311,-247.757012802266,5.5, 5599P 10548
+142.089003852683,-247.757012802266,5.5,5.65724109287224, 5599P 10549
+5.80934487903499,-4.10354468577093,4.11086510715957; 5599P 10550
+128,1,1,1,1,0,0,1,0,0,-5.55912860656964,-5.55912860656964, 5601P 10551
+5.55912887907209,5.55912887907209,4.20908541554374, 5601P 10552
+4.20908541554374,4.36108541554375,4.36108541554375,1.,1.,1.,1., 5601P 10553
+255.773738708729,-248.739215886107,5.5,144.591163852312, 5601P 10554
+-248.739215886107,5.5,255.773738708729,-250.259215886107,5.5, 5601P 10555
+144.591163852312,-250.259215886107,5.5,-5.55912860656964, 5601P 10556
+5.55912887907209,4.20908541554374,4.36108541554375; 5601P 10557
+128,1,1,1,1,0,0,1,0,0,9.31695353740574,9.31695353740574, 5603P 10558
+10.8879910592913,10.8879910592913,0.199,0.199,1.501,1.501,1.,1., 5603P 10559
+1.,1.,253.481039970417,-164.547507575232,5.51,237.770664751561, 5603P 10560
+-164.547507575232,5.51,253.481039970417,-164.547507575232,-7.51, 5603P 10561
+237.770664751561,-164.547507575232,-7.51,9.31695353740574, 5603P 10562
+10.8879910592913,0.199,1.501; 5603P 10563
+128,1,1,1,1,0,0,1,0,0,-5.80934505627278,-5.80934505627278, 5605P 10564
+-5.65734461417045,-5.65734461417045,-4.11086968638896, 5605P 10565
+-4.11086968638896,4.11086941554375,4.11086941554375,1.,1.,1.,1., 5605P 10566
+258.275903205761,-165.53966486678,5.5,256.755898784737, 5605P 10567
+-165.53966486678,5.5,258.275903205761,-247.757055886107,5.5, 5605P 10568
+256.755898784737,-247.757055886107,5.5,-5.80934505627278, 5605P 10569
+-5.65734461417045,-4.11086968638896,4.11086941554375; 5605P 10570
+128,1,1,1,1,0,0,1,0,0,-5.55912887907228,-5.55912887907228, 5607P 10571
+-3.75882121085278,-3.75882121085278,-4.36108541554375, 5607P 10572
+-4.36108541554375,-4.20908541554375,-4.20908541554375,1.,1.,1., 5607P 10573
+1.,255.773741433756,-163.037507575232,5.5,237.770664751561, 5607P 10574
+-163.037507575232,5.5,255.773741433756,-164.557507575232,5.5, 5607P 10575
+237.770664751561,-164.557507575232,5.5,-5.55912887907228, 5607P 10576
+-3.75882121085278,-4.36108541554375,-4.20908541554375; 5607P 10577
+128,1,6,1,2,0,0,0,0,0,10.7132996449142,10.7132996449142, 5609P 10578
+13.6416015478574,13.6416015478574,3.13925814733116, 5609P 10579
+3.13925814733116,3.13925814733116,4.18720703624771, 5609P 10580
+4.18720703624771,5.23515592516426,5.23515592516426, 5609P 10581
+6.28310481408081,6.28310481408081,6.28310481408081,1.,1., 5609P 10582
+0.865837508249046,0.865837508249046,1.,1.,0.865837508249046, 5609P 10583
+0.865837508249046,1.,1.,0.865837508249046,0.865837508249046,1., 5609P 10584
+1.,160.582628341595,-228.698656211065,-7.5,160.582628341595, 5609P 10585
+-228.698656211065,-11.6,160.581651394605,-227.831805396136,-7.5, 5609P 10586
+160.581651394605,-227.831805396136,-11.6,161.332203820879, 5609P 10587
+-227.39809772364,-7.5,161.332203820879,-227.39809772364,-11.6, 5609P 10588
+162.082756247154,-226.964390051143,-7.5,162.082756247154, 5609P 10589
+-226.964390051143,-11.6,162.833308673433,-227.398097723632,-7.5, 5609P 10590
+162.833308673433,-227.398097723632,-11.6,163.583861099712, 5609P 10591
+-227.83180539612,-7.5,163.583861099712,-227.83180539612,-11.6, 5609P 10592
+163.58288415273,-228.69865621105,-7.5,163.58288415273, 5609P 10593
+-228.69865621105,-11.6,10.7132996449142,13.6416015478574, 5609P 10594
+3.13925814733116,6.28310481408081; 5609P 10595
+128,1,6,1,2,0,0,0,0,0,10.7132996449144,10.7132996449144, 5611P 10596
+13.6416015478576,13.6416015478576,3.13925814734165, 5611P 10597
+3.13925814734165,3.13925814734165,4.18720703625122, 5611P 10598
+4.18720703625122,5.23515592516079,5.23515592516079, 5611P 10599
+6.28310481407037,6.28310481407037,6.28310481407037,1.,1., 5611P 10600
+0.865837508250792,0.865837508250792,1.,1.,0.865837508250792, 5611P 10601
+0.865837508250792,1.,1.,0.865837508250792,0.865837508250792,1., 5611P 10602
+1.,163.58288415273,-228.69865621105,-7.5,163.58288415273, 5611P 10603
+-228.69865621105,-11.6,163.583861099712,-229.565507025972,-7.5, 5611P 10604
+163.583861099712,-229.565507025972,-11.6,162.833308673442, 5611P 10605
+-229.999214698462,-7.5,162.833308673442,-229.999214698462,-11.6, 5611P 10606
+162.082756247172,-230.432922370953,-7.5,162.082756247172, 5611P 10607
+-230.432922370953,-11.6,161.332203820897,-229.99921469847,-7.5, 5611P 10608
+161.332203820897,-229.99921469847,-11.6,160.581651394623, 5611P 10609
+-229.565507025988,-7.5,160.581651394623,-229.565507025988,-11.6, 5611P 10610
+160.582628341595,-228.698656211065,-7.5,160.582628341595, 5611P 10611
+-228.698656211065,-11.6,10.7132996449144,13.6416015478576, 5611P 10612
+3.13925814734165,6.28310481407037; 5611P 10613
+128,1,6,1,2,0,0,0,0,0,10.7132954794018,10.7132954794018, 5613P 10614
+13.6415962437716,13.6415962437716,3.13866619557958, 5613P 10615
+3.13866619557958,3.13866619557958,4.18680559830898, 5613P 10616
+4.18680559830898,5.23494500103838,5.23494500103838, 5613P 10617
+6.28308440376778,6.28308440376778,6.28308440376778,1.,1., 5613P 10618
+0.865789844880249,0.865789844880249,1.,1.,0.865789844880249, 5613P 10619
+0.865789844880249,1.,1.,0.865789844880249,0.865789844880249,1., 5613P 10620
+1.,236.784016479572,-228.698656211057,-7.5,236.784016479572, 5613P 10621
+-228.698656211057,-11.6,236.782791542295,-227.831614772873,-7.5, 5613P 10622
+236.782791542295,-227.831614772873,-11.6,237.533467963717, 5613P 10623
+-227.397740060174,-7.5,237.533467963717,-227.397740060174,-11.6, 5613P 10624
+238.284144385139,-226.963865347475,-7.5,238.284144385139, 5613P 10625
+-226.963865347475,-11.6,239.034820806561,-227.397740060174,-7.5, 5613P 10626
+239.034820806561,-227.397740060174,-11.6,239.785497227983, 5613P 10627
+-227.831614772873,-7.5,239.785497227983,-227.831614772873,-11.6, 5613P 10628
+239.784272290707,-228.698656211057,-7.5,239.784272290707, 5613P 10629
+-228.698656211057,-11.6,10.7132954794018,13.6415962437716, 5613P 10630
+3.13866619557958,6.28308440376778; 5613P 10631
+128,1,6,1,2,0,0,0,0,0,10.7132954794019,10.7132954794019, 5615P 10632
+13.6415962437718,13.6415962437718,3.13866619559783, 5615P 10633
+3.13866619559783,3.13866619559783,4.18680559832112, 5615P 10634
+4.18680559832112,5.23494500104441,5.23494500104441, 5615P 10635
+6.2830844037677,6.2830844037677,6.2830844037677,1.,1., 5615P 10636
+0.865789844881778,0.865789844881778,1.,1.,0.865789844881778, 5615P 10637
+0.865789844881778,1.,1.,0.865789844881778,0.865789844881778,1., 5615P 10638
+1.,239.784272290707,-228.698656211056,-7.5,239.784272290707, 5615P 10639
+-228.698656211056,-11.6,239.785497227975,-229.565697649234,-7.5, 5615P 10640
+239.785497227975,-229.565697649234,-11.6,239.034820806557, 5615P 10641
+-229.999572361928,-7.5,239.034820806557,-229.999572361928,-11.6, 5615P 10642
+238.284144385139,-230.433447074621,-7.5,238.284144385139, 5615P 10643
+-230.433447074621,-11.6,237.533467963721,-229.999572361928,-7.5, 5615P 10644
+237.533467963721,-229.999572361928,-11.6,236.782791542303, 5615P 10645
+-229.565697649234,-7.5,236.782791542303,-229.565697649234,-11.6, 5615P 10646
+236.784016479572,-228.698656211056,-7.5,236.784016479572, 5615P 10647
+-228.698656211056,-11.6,10.7132954794019,13.6415962437718, 5615P 10648
+3.13866619559783,6.2830844037677; 5615P 10649
+128,1,6,1,2,0,0,0,0,0,10.7132996449142,10.7132996449142, 5617P 10650
+13.6416015478574,13.6416015478574,3.13925814733116, 5617P 10651
+3.13925814733116,3.13925814733116,4.18720703624771, 5617P 10652
+4.18720703624771,5.23515592516426,5.23515592516426, 5617P 10653
+6.28310481408081,6.28310481408081,6.28310481408081,1.,1., 5617P 10654
+0.865837508249046,0.865837508249046,1.,1.,0.865837508249046, 5617P 10655
+0.865837508249046,1.,1.,0.865837508249046,0.865837508249046,1., 5617P 10656
+1.,160.582628341595,-190.598023114212,-7.5,160.582628341595, 5617P 10657
+-190.598023114212,-11.6,160.581651394605,-189.731172299282,-7.5, 5617P 10658
+160.581651394605,-189.731172299282,-11.6,161.332203820879, 5617P 10659
+-189.297464626786,-7.5,161.332203820879,-189.297464626786,-11.6, 5617P 10660
+162.082756247154,-188.863756954289,-7.5,162.082756247154, 5617P 10661
+-188.863756954289,-11.6,162.833308673433,-189.297464626778,-7.5, 5617P 10662
+162.833308673433,-189.297464626778,-11.6,163.583861099712, 5617P 10663
+-189.731172299267,-7.5,163.583861099712,-189.731172299267,-11.6, 5617P 10664
+163.58288415273,-190.598023114196,-7.5,163.58288415273, 5617P 10665
+-190.598023114196,-11.6,10.7132996449142,13.6416015478574, 5617P 10666
+3.13925814733116,6.28310481408081; 5617P 10667
+128,1,6,1,2,0,0,0,0,0,10.7132996449144,10.7132996449144, 5619P 10668
+13.6416015478576,13.6416015478576,3.13925814734168, 5619P 10669
+3.13925814734168,3.13925814734168,4.18720703625123, 5619P 10670
+4.18720703625123,5.23515592516079,5.23515592516079, 5619P 10671
+6.28310481407034,6.28310481407034,6.28310481407034,1.,1., 5619P 10672
+0.865837508250795,0.865837508250795,1.,1.,0.865837508250795, 5619P 10673
+0.865837508250795,1.,1.,0.865837508250795,0.865837508250795,1., 5619P 10674
+1.,163.58288415273,-190.598023114196,-7.5,163.58288415273, 5619P 10675
+-190.598023114196,-11.6,163.583861099711,-191.464873929118,-7.5, 5619P 10676
+163.583861099711,-191.464873929118,-11.6,162.833308673442, 5619P 10677
+-191.898581601608,-7.5,162.833308673442,-191.898581601608,-11.6, 5619P 10678
+162.082756247172,-192.332289274099,-7.5,162.082756247172, 5619P 10679
+-192.332289274099,-11.6,161.332203820897,-191.898581601616,-7.5, 5619P 10680
+161.332203820897,-191.898581601616,-11.6,160.581651394623, 5619P 10681
+-191.464873929134,-7.5,160.581651394623,-191.464873929134,-11.6, 5619P 10682
+160.582628341595,-190.598023114211,-7.5,160.582628341595, 5619P 10683
+-190.598023114211,-11.6,10.7132996449144,13.6416015478576, 5619P 10684
+3.13925814734168,6.28310481407034; 5619P 10685
+128,1,6,1,2,0,0,0,0,0,10.7132996449141,10.7132996449141, 5621P 10686
+13.6416015478573,13.6416015478573,3.13925814731996, 5621P 10687
+3.13925814731996,3.13925814731996,4.1872070362402, 5621P 10688
+4.1872070362402,5.23515592516045,5.23515592516045, 5621P 10689
+6.28310481408069,6.28310481408069,6.28310481408069,1.,1., 5621P 10690
+0.865837508248121,0.865837508248121,1.,1.,0.865837508248121, 5621P 10691
+0.865837508248121,1.,1.,0.865837508248121,0.865837508248121,1., 5621P 10692
+1.,239.357084097385,-172.121201750453,-7.5,239.357084097385, 5621P 10693
+-172.121201750453,-11.6,239.35610715039,-171.25435093552,-7.5, 5621P 10694
+239.35610715039,-171.25435093552,-11.6,240.106659576667, 5621P 10695
+-170.82064326302,-7.5,240.106659576667,-170.82064326302,-11.6, 5621P 10696
+240.857212002944,-170.38693559052,-7.5,240.857212002944, 5621P 10697
+-170.38693559052,-11.6,241.607764429225,-170.820643263012,-7.5, 5621P 10698
+241.607764429225,-170.820643263012,-11.6,242.358316855506, 5621P 10699
+-171.254350935504,-7.5,242.358316855506,-171.254350935504,-11.6, 5621P 10700
+242.35733990852,-172.121201750437,-7.5,242.35733990852, 5621P 10701
+-172.121201750437,-11.6,10.7132996449141,13.6416015478573, 5621P 10702
+3.13925814731996,6.28310481408069; 5621P 10703
+128,1,6,1,2,0,0,0,0,0,10.7132996449144,10.7132996449144, 5623P 10704
+13.6416015478577,13.6416015478577,3.13925814735297, 5623P 10705
+3.13925814735297,3.13925814735297,4.1872070362588, 5623P 10706
+4.1872070362588,5.23515592516463,5.23515592516463, 5623P 10707
+6.28310481407046,6.28310481407046,6.28310481407046,1.,1., 5623P 10708
+0.865837508251727,0.865837508251727,1.,1.,0.865837508251727, 5623P 10709
+0.865837508251727,1.,1.,0.865837508251727,0.865837508251727,1., 5623P 10710
+1.,242.35733990852,-172.121201750437,-7.5,242.35733990852, 5623P 10711
+-172.121201750437,-11.6,242.358316855497,-172.988052565356,-7.5, 5623P 10712
+242.358316855497,-172.988052565356,-11.6,241.607764429229, 5623P 10713
+-173.421760237843,-7.5,241.607764429229,-173.421760237843,-11.6, 5623P 10714
+240.857212002962,-173.85546791033,-7.5,240.857212002962, 5623P 10715
+-173.85546791033,-11.6,240.10665957669,-173.421760237851,-7.5, 5623P 10716
+240.10665957669,-173.421760237851,-11.6,239.356107150418, 5623P 10717
+-172.988052565371,-7.5,239.356107150418,-172.988052565371,-11.6, 5623P 10718
+239.357084097385,-172.121201750453,-7.5,239.357084097385, 5623P 10719
+-172.121201750453,-11.6,10.7132996449144,13.6416015478577, 5623P 10720
+3.13925814735297,6.28310481407046; 5623P 10721
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000002,-0.00100000000000002, 5625P 10722
+1.70379824993602,1.70379824993602,0.899,0.899,1.311,1.311,1.,1., 5625P 10723
+1.,1.,220.742682252201,-164.547507575232,-7.49,237.790664751561, 5625P 10724
+-164.547507575232,-7.49,220.742682252201,-164.547507575232, 5625P 10725
+-11.61,237.790664751561,-164.547507575232,-11.61, 5625P 10726
+-0.00100000000000002,1.70379824993602,0.899,1.311; 5625P 10727
+128,1,1,1,1,0,0,1,0,0,-0.601,-0.601,1.111,1.111,-0.001,-0.001, 5627P 10728
+0.800999999999997,0.800999999999997,1.,1.,1.,1., 5627P 10729
+237.780664751561,-164.557507575232,-11.61,237.780664751561, 5627P 10730
+-164.557507575232,5.51,237.780664751561,-156.537507575232, 5627P 10731
+-11.61,237.780664751561,-156.537507575232,5.51,-0.601,1.111, 5627P 10732
+-0.001,0.800999999999997; 5627P 10733
+128,1,1,1,1,0,0,1,0,0,-1.25194932661626,-1.25194932661626, 5629P 10734
+1.08598817338374,1.08598817338374,-1.90191976533037, 5629P 10735
+-1.90191976533037,-0.439172788111116,-0.439172788111116,1.,1., 5629P 10736
+1.,1.,212.701945909196,-187.629164077365,-7.5,189.322570909196, 5629P 10737
+-187.629164077365,-7.5,212.701945909196,-202.256633849558,-7.5, 5629P 10738
+189.322570909196,-202.256633849558,-7.5,-1.25194932661626, 5629P 10739
+1.08598817338374,-1.90191976533037,-0.439172788111116; 5629P 10740
+128,1,1,1,1,0,0,1,0,0,1.199,1.199,2.60379824993602, 5631P 10741
+2.60379824993602,0.899,0.899,1.311,1.311,1.,1.,1.,1., 5631P 10742
+155.574237511039,-164.547507575232,-7.49,169.622220010399, 5631P 10743
+-164.547507575232,-7.49,155.574237511039,-164.547507575232, 5631P 10744
+-11.61,169.622220010399,-164.547507575232,-11.61,1.199, 5631P 10745
+2.60379824993602,0.899,1.311; 5631P 10746
+128,1,1,1,1,0,0,1,0,0,-0.601,-0.601,1.111,1.111,-0.001,-0.001, 5633P 10747
+0.801000000000001,0.801000000000001,1.,1.,1.,1., 5633P 10748
+169.612220010399,-164.557507575232,-11.61,169.612220010399, 5633P 10749
+-164.557507575232,5.51,169.612220010399,-156.537507575232, 5633P 10750
+-11.61,169.612220010399,-156.537507575232,5.51,-0.601,1.111, 5633P 10751
+-0.001,0.801000000000001; 5633P 10752
+128,1,1,1,1,0,0,1,0,0,-0.703634674364426,-0.703634674364426, 5635P 10753
+0.701163575571597,0.701163575571597,-0.00100000000000378, 5635P 10754
+-0.00100000000000378,0.651,0.651,1.,1.,1.,1.,169.622220010399, 5635P 10755
+-163.057507575232,1.5,155.574237511039,-163.057507575232,1.5, 5635P 10756
+169.622220010399,-156.537507575232,1.5,155.574237511039, 5635P 10757
+-156.537507575232,1.5,-0.703634674364426,0.701163575571597, 5635P 10758
+-0.00100000000000378,0.651; 5635P 10759
+128,1,1,1,1,0,0,1,0,0,0.198380431581659,0.198380431581659, 5637P 10760
+1.90317868151768,1.90317868151768,-0.001,-0.001,0.651,0.651,1., 5637P 10761
+1.,1.,1.,237.790664751561,-163.057507575232,1.5, 5637P 10762
+220.742682252201,-163.057507575232,1.5,237.790664751561, 5637P 10763
+-156.537507575232,1.5,220.742682252201,-156.537507575232,1.5, 5637P 10764
+0.198380431581659,1.90317868151768,-0.001,0.651; 5637P 10765
+128,1,1,1,1,0,0,1,0,0,2.5001090632896,2.5001090632896, 5639P 10766
+4.90089123368072,4.90089123368072,0.199,0.199,1.501,1.501,1.,1., 5639P 10767
+1.,1.,193.610041714311,-164.547507575232,5.51,169.602220010399, 5639P 10768
+-164.547507575232,5.51,193.610041714311,-164.547507575232,-7.51, 5639P 10769
+169.602220010399,-164.547507575232,-7.51,2.5001090632896, 5639P 10770
+4.90089123368072,0.199,1.501; 5639P 10771
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.700999999999999, 5641P 10772
+0.700999999999999,-0.001,-0.001,1.301,1.301,1.,1.,1.,1., 5641P 10773
+213.600041714311,-171.557507575232,-7.51,213.600041714311, 5641P 10774
+-164.537507575232,-7.51,213.600041714311,-171.557507575232,5.51, 5641P 10775
+213.600041714311,-164.537507575232,5.51,-0.001, 5641P 10776
+0.700999999999999,-0.001,1.301; 5641P 10777
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000355,-0.00100000000000355, 5643P 10778
+2.001,2.001,-0.001,-0.001,1.301,1.301,1.,1.,1.,1., 5643P 10779
+193.590041714311,-171.547507575231,-7.51,213.610041714311, 5643P 10780
+-171.547507575232,-7.51,193.590041714311,-171.547507575231,5.51, 5643P 10781
+213.610041714311,-171.547507575232,5.51,-0.00100000000000355, 5643P 10782
+2.001,-0.001,1.301; 5643P 10783
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,0.700999999999999, 5645P 10784
+0.700999999999999,-0.001,-0.001,1.301,1.301,1.,1.,1.,1., 5645P 10785
+193.600041714311,-164.537507575232,-7.51,193.600041714311, 5645P 10786
+-171.557507575232,-7.51,193.600041714311,-164.537507575232,5.51, 5645P 10787
+193.600041714311,-171.557507575232,5.51,-0.001, 5645P 10788
+0.700999999999999,-0.001,1.301; 5645P 10789
+128,1,1,1,1,0,0,1,0,0,0.228270425474422,0.228270425474422, 5647P 10790
+7.99146896389396,7.99146896389396,0.199,0.199,1.501,1.501,1.,1., 5647P 10791
+1.,1.,256.765898784406,-245.464354455991,5.51,256.765901358077, 5647P 10792
+-167.832369071796,5.51,256.765898784406,-245.464354455991,-7.51, 5647P 10793
+256.765901358077,-167.832369071796,-7.51,0.228270425474422, 5647P 10794
+7.99146896389396,0.199,1.501; 5647P 10795
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,1.96387870990168, 5649P 10796
+1.96387870990168,0.199,0.199,1.501,1.501,1.,1.,1.,1., 5649P 10797
+143.600041714311,-167.832837467805,5.51,143.600041714311, 5649P 10798
+-187.481624566822,5.51,143.600041714311,-167.832837467805,-7.51, 5649P 10799
+143.600041714311,-187.481624566822,-7.51,-0.001, 5649P 10800
+1.96387870990168,0.199,1.501; 5649P 10801
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.20051956797476, 5651P 10802
+2.20051956797476,-0.001,-0.001,1.501,1.501,1.,1.,1.,1., 5651P 10803
+142.100041714311,-165.466420277504,7.51,142.100041714311, 5651P 10804
+-187.481615957251,7.51,142.100041714311,-165.466420277504,-7.51, 5651P 10805
+142.100041714311,-187.481615957251,-7.51,-0.001, 5651P 10806
+2.20051956797476,-0.001,1.501; 5651P 10807
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000355,-0.00100000000000355, 5653P 10808
+6.02853968539494,6.02853968539494,-0.001,-0.001,0.201,0.201,1., 5653P 10809
+1.,1.,1.,142.100041886497,-187.461615957253,7.51, 5653P 10810
+142.099003680496,-247.757012802264,7.51,142.100041886497, 5653P 10811
+-187.461615957253,5.49,142.099003680496,-247.757012802264,5.49, 5653P 10812
+-0.00100000000000355,6.02853968539494,-0.001,0.201; 5653P 10813
+128,1,6,1,2,0,0,0,0,0,0.,0.,5.99482047510948,5.99482047510948, 5655P 10814
+-2.72952782394451,-2.72952782394451,-2.72952782394451, 5655P 10815
+-1.43344712313306,-1.43344712313306,-0.137366422321605, 5655P 10816
+-0.137366422321605,1.15871427848985,1.15871427848985, 5655P 10817
+1.15871427848985,1.,1.,0.797268222513888,0.797268222513888,1., 5655P 10818
+1.,0.797268222513888,0.797268222513888,1.,1.,0.797268222513888, 5655P 10819
+0.797268222513888,1.,1.,146.893865315652,-248.749215886107,7.5, 5655P 10820
+146.893865315652,-248.749215886107,-7.5,146.13511310057, 5655P 10821
+-250.485058779287,7.5,146.13511310057,-250.485058779287,-7.5, 5655P 10822
+144.2585310156,-250.22564568775,7.5,144.2585310156, 5655P 10823
+-250.22564568775,-7.5,142.381948930629,-249.966232596213,7.5, 5655P 10824
+142.381948930629,-249.966232596213,-7.5,142.122568151359, 5655P 10825
+-248.089646044774,7.5,142.122568151359,-248.089646044774,-7.5, 5655P 10826
+141.863187372088,-246.213059493336,7.5,141.863187372088, 5655P 10827
+-246.213059493336,-7.5,143.599043329707,-245.454337167255,7.5, 5655P 10828
+143.599043329707,-245.454337167255,-7.5,0.,5.99482047510948, 5655P 10829
+-2.72952782394451,1.15871427848985; 5655P 10830
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,11.1172574856417, 5657P 10831
+11.1172574856417,-0.001,-0.001,0.201,0.201,1.,1.,1.,1., 5657P 10832
+144.591163852312,-250.249215886107,7.51,255.773738708729, 5657P 10833
+-250.249215886107,7.51,144.591163852312,-250.249215886107,5.49, 5657P 10834
+255.773738708729,-250.249215886107,5.49,-0.001,11.1172574856417, 5657P 10835
+-0.001,0.201; 5657P 10836
+128,1,6,1,2,0,0,0,0,0,0.,0.,5.99482047510955,5.99482047510955, 5659P 10837
+-2.72951057213252,-2.72951057213252,-2.72951057213252, 5659P 10838
+-1.43343562192506,-1.43343562192506,-0.1373606717176, 5659P 10839
+-0.1373606717176,1.15871427848986,1.15871427848986, 5659P 10840
+1.15871427848986,1.,1.,0.797269958115333,0.797269958115333,1., 5659P 10841
+1.,0.797269958115333,0.797269958115333,1.,1.,0.797269958115333, 5659P 10842
+0.797269958115333,1.,1.,256.765898784737,-245.454354455992,7.5, 5659P 10843
+256.765898784737,-245.454354455992,-7.5,258.501731281752, 5659P 10844
+-246.213102195359,7.5,258.501731281752,-246.213102195359,-7.5, 5659P 10845
+258.242330469318,-248.089674551596,7.5,258.242330469318, 5659P 10846
+-248.089674551596,-7.5,257.982929656885,-249.966246907834,7.5, 5659P 10847
+257.982929656885,-249.966246907834,-7.5,256.106357292048, 5659P 10848
+-250.225647658055,7.5,256.106357292048,-250.225647658055,-7.5, 5659P 10849
+254.22978492721,-250.485048408276,7.5,254.22978492721, 5659P 10850
+-250.485048408276,-7.5,253.47103724539,-248.749215886107,7.5, 5659P 10851
+253.47103724539,-248.749215886107,-7.5,0.,5.99482047510955, 5659P 10852
+-2.72951057213252,1.15871427848986; 5659P 10853
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,8.22073910193271, 5661P 10854
+8.22073910193271,-0.001,-0.001,0.201,0.201,1.,1.,1.,1., 5661P 10855
+258.265898708398,-247.757055886107,7.51,258.265901434085, 5661P 10856
+-165.53966486678,7.51,258.265898708398,-247.757055886107,5.49, 5661P 10857
+258.265901434085,-165.53966486678,5.49,-0.001,8.22073910193271, 5661P 10858
+-0.001,0.201; 5661P 10859
+128,1,6,1,2,0,0,0,0,0,0.,0.,5.99482047511063,5.99482047511063, 5663P 10860
+-2.72950952283909,-2.72950952283909,-2.72950952283909, 5663P 10861
+-1.43343455052993,-1.43343455052993,-0.137359578220763, 5663P 10862
+-0.137359578220763,1.1587153940884,1.1587153940884, 5663P 10863
+1.1587153940884,1.,1.,0.797269951444786,0.797269951444786,1.,1., 5663P 10864
+0.797269951444786,0.797269951444786,1.,1.,0.797269951444786, 5663P 10865
+0.797269951444786,1.,1.,253.471039970417,-164.547507575232,7.5, 5663P 10866
+253.471039970417,-164.547507575232,-7.5,254.22978766966, 5663P 10867
+-162.811675013205,7.5,254.22978766966,-162.811675013205,-7.5, 5663P 10868
+256.106360071855,-163.071075810858,7.5,256.106360071855, 5663P 10869
+-163.071075810858,-7.5,257.98293247405,-163.330476608511,7.5, 5663P 10870
+257.98293247405,-163.330476608511,-7.5,258.242333209489, 5663P 10871
+-165.207049019306,7.5,258.242333209489,-165.207049019306,-7.5, 5663P 10872
+258.501733944928,-167.083621430101,7.5,258.501733944928, 5663P 10873
+-167.083621430101,-7.5,256.765901357746,-167.842369071796,7.5, 5663P 10874
+256.765901357746,-167.842369071796,-7.5,0.,5.99482047511063, 5663P 10875
+-2.72950952283909,1.1587153940884; 5663P 10876
+128,1,4,1,2,0,0,0,0,0,0.,0.,5.99482047510955,5.99482047510955, 5665P 10877
+-1.54151851752146,-1.54151851752146,-1.54151851752146, 5665P 10878
+-0.191402119515813,-0.191402119515813,1.15871427848983, 5665P 10879
+1.15871427848983,1.15871427848983,1.,1.,0.780670581409592, 5665P 10880
+0.780670581409592,1.,1.,0.780670581409592,0.780670581409592,1., 5665P 10881
+1.,142.100041714311,-165.476420277504,7.5,142.100041714311, 5665P 10882
+-165.476420277504,-7.5,142.158677672821,-163.474248497833,7.5, 5665P 10883
+142.158677672821,-163.474248497833,-7.5,144.125129478152, 5665P 10884
+-163.093200852189,7.5,144.125129478152,-163.093200852189,-7.5, 5665P 10885
+146.091581283483,-162.712153206546,7.5,146.091581283483, 5665P 10886
+-162.712153206546,-7.5,146.893830840843,-164.547507575232,7.5, 5665P 10887
+146.893830840843,-164.547507575232,-7.5,0.,5.99482047510955, 5665P 10888
+-1.54151851752146,1.15871427848983; 5665P 10889
+128,1,1,1,1,0,0,1,0,0,-6.45934487907209,-6.45934487907209, 5667P 10890
+6.45935129953954,6.45935129953954,-5.01108541554375, 5667P 10891
+-5.01108541554375,5.01108541554375,5.01108541554375,1.,1.,1.,1., 5667P 10892
+264.775901433754,-156.537507575232,7.5,135.588939647638, 5667P 10893
+-156.537507575232,7.5,264.775901433754,-256.759215886107,7.5, 5667P 10894
+135.588939647638,-256.759215886107,7.5,-6.45934487907209, 5667P 10895
+6.45935129953954,-5.01108541554375,5.01108541554375; 5667P 10896
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,2.20708325126057, 5669P 10897
+2.20708325126057,-0.001,-0.001,1.911,1.911,1.,1.,1.,1., 5669P 10898
+135.600041714311,-187.481555692063,7.51,135.600041714311, 5669P 10899
+-165.400723179457,7.51,135.600041714311,-187.481555692063, 5669P 10900
+-11.61,135.600041714311,-165.400723179457,-11.61,-0.001, 5669P 10901
+2.20708325126057,-0.001,1.911; 5669P 10902
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,6.02853451978495, 5671P 10903
+6.02853451978495,-0.001,-0.001,1.911,1.911,1.,1.,1.,1., 5671P 10904
+135.59900368146,-247.756900880975,7.51,135.600041886497, 5671P 10905
+-187.461555692064,7.51,135.59900368146,-247.756900880975,-11.61, 5671P 10906
+135.600041886497,-187.461555692064,-11.61,-0.001, 5671P 10907
+6.02853451978495,-0.001,1.911; 5671P 10908
+128,1,4,1,2,0,0,0,0,0,0.,0.,2.12171301109956,2.12171301109956, 5673P 10909
+-1.57081354545471,-1.57081354545471,-1.57081354545471, 5673P 10910
+-0.785406772727353,-0.785406772727353,7.52737518332756D-21, 5673P 10911
+7.52737518332756D-21,7.52737518332756D-21,1.,1., 5673P 10912
+0.923877885178768,0.923877885178768,1.,1.,0.923877885178768, 5673P 10913
+0.923877885178768,1.,1.,144.601163852312,-256.749215886107, 5673P 10914
+-11.6,144.601163852312,-256.749215886107,7.5,140.872301689627, 5673P 10915
+-256.749215886107,-11.6,140.872301689627,-256.749215886107,7.5, 5673P 10916
+138.235620668632,-254.112489464608,-11.6,138.235620668632, 5673P 10917
+-254.112489464608,7.5,135.598939647638,-251.475763043109,-11.6, 5673P 10918
+135.598939647638,-251.475763043109,7.5,135.599003853647, 5673P 10919
+-247.746900880977,-11.6,135.599003853647,-247.746900880977,7.5, 5673P 10920
+0.,2.12171301109956,-1.57081354545471,7.52737518332756D-21; 5673P 10921
+128,1,1,1,1,0,0,1,0,0,-0.001,-0.001,11.1172574856417, 5675P 10922
+11.1172574856417,-0.001,-0.001,1.911,1.911,1.,1.,1.,1., 5675P 10923
+255.773738708729,-256.749215886107,7.51,144.591163852312, 5675P 10924
+-256.749215886107,7.51,255.773738708729,-256.749215886107, 5675P 10925
+-11.61,144.591163852312,-256.749215886107,-11.61,-0.001, 5675P 10926
+11.1172574856417,-0.001,1.911; 5675P 10927
+128,1,2,1,2,0,0,0,0,0,0.,0.,2.12171301109957,2.12171301109957, 5677P 10928
+-1.57079632679491,-1.57079632679491,-1.57079632679491, 5677P 10929
+1.97325624005823D-15,1.97325624005823D-15,1.97325624005823D-15, 5677P 10930
+1.,1.,0.707106781186542,0.707106781186542,1.,1., 5677P 10931
+264.765898708729,-247.747055886107,-11.6,264.765898708729, 5677P 10932
+-247.747055886107,7.5,264.765898708729,-256.749215886107,-11.6, 5677P 10933
+264.765898708729,-256.749215886107,7.5,255.763738708729, 5677P 10934
+-256.749215886107,-11.6,255.763738708729,-256.749215886107,7.5, 5677P 10935
+0.,2.12171301109957,-1.57079632679491,1.97325624005823D-15; 5677P 10936
+128,1,1,1,1,0,0,1,0,0,-0.00100000000000355,-0.00100000000000355, 5679P 10937
+8.22073908038377,8.22073908038377,-0.001,-0.001,1.911,1.911,1., 5679P 10938
+1.,1.,1.,264.765901434085,-165.53966508227,7.51, 5679P 10939
+264.765898708398,-247.757055886107,7.51,264.765901434085, 5679P 10940
+-165.53966508227,-11.61,264.765898708398,-247.757055886107, 5679P 10941
+-11.61,-0.00100000000000355,8.22073908038377,-0.001,1.911; 5679P 10942
+128,1,2,1,2,0,0,0,0,0,0.,0.,2.12171301109993,2.12171301109993, 5681P 10943
+-1.57079604986551,-1.57079604986551,-1.57079604986551, 5681P 10944
+4.70460948958054D-22,4.70460948958054D-22,4.70460948958054D-22, 5681P 10945
+1.,1.,0.707106879095864,0.707106879095864,1.,1., 5681P 10946
+255.763741433756,-156.547507575234,-11.6,255.763741433756, 5681P 10947
+-156.547507575234,7.5,264.765898940792,-156.547507575234,-11.6, 5681P 10948
+264.765898940792,-156.547507575234,7.5,264.765901433754, 5681P 10949
+-165.54966508227,-11.6,264.765901433754,-165.54966508227,7.5,0., 5681P 10950
+2.12171301109993,-1.57079604986551,4.70460948958054D-22; 5681P 10951
+128,1,2,1,2,0,0,0,0,0,0.,0.,2.12171301109957,2.12171301109957, 5683P 10952
+-1.55536115200856,-1.55536115200856,-1.55536115200856, 5683P 10953
+2.95988436008734D-15,2.95988436008734D-15,2.95988436008734D-15, 5683P 10954
+1.,1.,0.712542827450537,0.712542827450537,1.,1., 5683P 10955
+135.600041714311,-165.410723179457,-11.6,135.600041714311, 5683P 10956
+-165.410723179457,7.5,135.73685786174,-156.547507575232,-11.6, 5683P 10957
+135.73685786174,-156.547507575232,7.5,144.601129377503, 5683P 10958
+-156.547507575232,-11.6,144.601129377503,-156.547507575232,7.5, 5683P 10959
+0.,2.12171301109957,-1.55536115200856,2.95988436008734D-15; 5683P 10960
+502,610,139.68226259674,-80.5980231141957,8.73624999999999, 5685P 10961
+136.882006921691,-80.5980231141957,8.73624999999999, 5685P 10962
+136.882006921691,-80.5980231141957,7.11812499999999, 5685P 10963
+139.68226259674,-80.5980231141957,7.11812499999999, 5685P 10964
+139.68226259674,-118.69865621105,8.73624999999999, 5685P 10965
+136.882006921691,-118.69865621105,8.73624999999999, 5685P 10966
+136.882006921691,-118.69865621105,7.11812499999999, 5685P 10967
+139.68226259674,-118.69865621105,7.11812499999999, 5685P 10968
+63.4808744198821,-118.698656211056,8.73625,60.6806188225967, 5685P 10969
+-118.698656211056,8.73625,60.6806188225967,-118.698656211056, 5685P 10970
+7.118125,63.4808744198821,-118.698656211056,7.118125, 5685P 10971
+60.9078068409501,-62.1212017504367,8.73625,58.1075511659012, 5685P 10972
+-62.1212017504367,8.73625,58.1075511659012,-62.1212017504367, 5685P 10973
+7.118125,60.9078068409501,-62.1212017504367,7.118125, 5685P 10974
+140.806868895161,-121.223895544679,8.73624999999999, 5685P 10975
+154.808074294198,-121.223878124069,8.73624999999999, 5685P 10976
+140.806868895161,-121.223895544679,7.11812499999999, 5685P 10977
+154.808074294198,-121.223878124069,7.11812499999999, 5685P 10978
+154.808074294198,-121.821979920061,8.73624999999999, 5685P 10979
+154.808074294198,-121.821979920061,7.11812499999999, 5685P 10980
+155.607349292068,-121.82199734067,8.73624999999999, 5685P 10981
+155.607349292068,-121.82199734067,7.11812499999999, 5685P 10982
+155.607349292068,-134.624194429548,8.73624999999999, 5685P 10983
+155.607349292068,-134.624194429548,7.11812499999999, 5685P 10984
+154.808074294198,-134.624177008938,8.73624999999999, 5685P 10985
+154.808074294198,-134.624177008938,7.11812499999999, 5685P 10986
+154.808074294198,-135.223655033103,8.73624999999999, 5685P 10987
+154.808074294198,-135.223655033103,7.11812499999999, 5685P 10988
+140.806873250314,-135.223655033103,8.73624999999999, 5685P 10989
+140.806873250314,-135.223655033103,7.11812499999999, 5685P 10990
+140.806868895161,-134.624177008938,8.73624999999999, 5685P 10991
+140.806868895161,-134.624177008938,7.11812499999999, 5685P 10992
+140.007650514273,-134.624177008938,8.73624999999999, 5685P 10993
+140.007650514273,-134.624177008938,7.11812499999999, 5685P 10994
+140.007654869426,-121.821979920061,8.73624999999999, 5685P 10995
+140.007654869426,-121.821979920061,7.11812499999999, 5685P 10996
+140.806873250314,-121.82199734067,8.73624999999999, 5685P 10997
+140.806873250314,-121.82199734067,7.11812499999999, 5685P 10998
+121.756696066765,-121.223895544679,8.73624999999999, 5685P 10999
+135.757670642722,-121.223878124069,8.73624999999999, 5685P 11000
+121.756696066765,-121.223895544679,7.118125,135.757670642722, 5685P 11001
+-121.223878124069,7.11812499999999,135.757670642722, 5685P 11002
+-121.821979920061,8.73624999999999,135.757670642722, 5685P 11003
+-121.821979920061,7.11812499999999,136.556989192117, 5685P 11004
+-121.82199734067,8.73624999999999,136.556989192117, 5685P 11005
+-121.82199734067,7.11812499999999,136.556989192117, 5685P 11006
+-134.624194429548,8.73624999999999,136.556989192117, 5685P 11007
+-134.624194429548,7.11812499999999,135.757670642722, 5685P 11008
+-134.624177008938,8.73624999999999,135.757670642722, 5685P 11009
+-134.624177008938,7.11812499999999,135.757670642722, 5685P 11010
+-135.223655033103,8.73624999999999,135.757670642722, 5685P 11011
+-135.223655033103,7.11812499999999,121.756696066765, 5685P 11012
+-135.223655033103,8.73624999999999,121.756696066765, 5685P 11013
+-135.223655033103,7.118125,121.756696066765,-134.624177008938, 5685P 11014
+8.73624999999999,121.756696066765,-134.624177008938,7.118125, 5685P 11015
+120.957281704017,-134.624177008938,8.73624999999999, 5685P 11016
+120.957281704017,-134.624177008938,7.118125,120.957281704017, 5685P 11017
+-121.821979920061,8.73624999999999,120.957281704017, 5685P 11018
+-121.821979920061,7.118125,121.756696066765,-121.82199734067, 5685P 11019
+8.73624999999999,121.756696066765,-121.82199734067,7.118125, 5685P 11020
+102.706327256509,-121.223895544679,8.73624999999999, 5685P 11021
+116.707297477313,-121.223878124069,8.73624999999999, 5685P 11022
+102.706327256509,-121.223895544679,7.118125,116.707297477313, 5685P 11023
+-121.223878124069,7.118125,116.707297477313,-121.821979920061, 5685P 11024
+8.73624999999999,116.707297477313,-121.821979920061,7.118125, 5685P 11025
+117.506711840062,-121.82199734067,8.73624999999999, 5685P 11026
+117.506711840062,-121.82199734067,7.118125,117.506720550367, 5685P 11027
+-134.624194429548,8.73624999999999,117.506720550367, 5685P 11028
+-134.624194429548,7.118125,116.707306187618,-134.624177008938, 5685P 11029
+8.73624999999999,116.707306187618,-134.624177008938,7.118125, 5685P 11030
+116.707297477313,-135.223655033103,8.73624999999999, 5685P 11031
+116.707297477313,-135.223655033103,7.118125,102.706327256509, 5685P 11032
+-135.223655033103,8.73624999999999,102.706327256509, 5685P 11033
+-135.223655033103,7.118125,102.706327256509,-134.624177008938, 5685P 11034
+8.73624999999999,102.706327256509,-134.624177008938,7.118125, 5685P 11035
+101.90691289376,-134.624177008938,8.73624999999999, 5685P 11036
+101.90691289376,-134.624177008938,7.118125,101.90691289376, 5685P 11037
+-121.821979920061,8.73624999999999,101.90691289376, 5685P 11038
+-121.821979920061,7.118125,102.706327256509,-121.82199734067, 5685P 11039
+8.73624999999999,102.706327256509,-121.82199734067,7.118125, 5685P 11040
+83.6559584462526,-121.223895544679,8.73625,97.6569286670568, 5685P 11041
+-121.223878124069,8.73624999999999,83.6559584462526, 5685P 11042
+-121.223895544679,7.118125,97.6569286670568,-121.223878124069, 5685P 11043
+7.118125,97.6569286670568,-121.821979920061,8.73624999999999, 5685P 11044
+97.6569286670568,-121.821979920061,7.118125,98.4563430298053, 5685P 11045
+-121.82199734067,8.73624999999999,98.4563430298053, 5685P 11046
+-121.82199734067,7.118125,98.4563430298053,-134.624194429548, 5685P 11047
+8.73624999999999,98.4563430298053,-134.624194429548,7.118125, 5685P 11048
+97.6569286670568,-134.624177008938,8.73624999999999, 5685P 11049
+97.6569286670568,-134.624177008938,7.118125,97.6569286670568, 5685P 11050
+-135.223655033103,8.73624999999999,97.6569286670568, 5685P 11051
+-135.223655033103,7.118125,83.6559497359477,-135.223655033103, 5685P 11052
+8.73625,83.6559497359477,-135.223655033103,7.118125, 5685P 11053
+83.6559584462526,-134.624177008938,8.73625,83.6559584462526, 5685P 11054
+-134.624177008938,7.118125,82.8565440835042,-134.624177008938, 5685P 11055
+8.73625,82.8565440835042,-134.624177008938,7.118125, 5685P 11056
+82.8565440835042,-121.821979920061,8.73625,82.8565440835042, 5685P 11057
+-121.821979920061,7.118125,83.6559584462526,-121.82199734067, 5685P 11058
+8.73625,83.6559584462526,-121.82199734067,7.118125, 5685P 11059
+64.6055896359963,-121.223895544679,8.73625,78.6065598568005, 5685P 11060
+-121.223878124069,8.73625,64.6055896359963,-121.223895544679, 5685P 11061
+7.118125,78.6065598568005,-121.223878124069,7.118125, 5685P 11062
+78.6065598568005,-121.821979920061,8.73625,78.6065598568005, 5685P 11063
+-121.821979920061,7.118125,79.4059742195489,-121.82199734067, 5685P 11064
+8.73625,79.4059742195489,-121.82199734067,7.118125, 5685P 11065
+79.4059742195489,-134.624194429548,8.73625,79.4059742195489, 5685P 11066
+-134.624194429548,7.118125,78.6065598568005,-134.624177008938, 5685P 11067
+8.73625,78.6065598568005,-134.624177008938,7.118125, 5685P 11068
+78.6065598568005,-135.223655033103,8.73625,78.6065598568005, 5685P 11069
+-135.223655033103,7.118125,64.6055896359963,-135.223655033103, 5685P 11070
+8.73625,64.6055896359963,-135.223655033103,7.118125, 5685P 11071
+64.6055896359963,-134.624177008938,8.73625,64.6055896359963, 5685P 11072
+-134.624177008938,7.118125,63.8061752732478,-134.624177008938, 5685P 11073
+8.73625,63.8061752732478,-134.624177008938,7.118125, 5685P 11074
+63.8061752732478,-121.821979920061,8.73625,63.8061752732478, 5685P 11075
+-121.821979920061,7.118125,64.6055896359963,-121.82199734067, 5685P 11076
+8.73625,64.6055896359963,-121.82199734067,7.118125, 5685P 11077
+45.556222510803,-121.223895544679,8.73625,59.5561910465442, 5685P 11078
+-121.223878124069,8.73625,45.556222510803,-121.223895544679, 5685P 11079
+7.118125,59.5561910465442,-121.223878124069,7.118125, 5685P 11080
+59.5561910465442,-121.821979920061,8.73625,59.5561910465442, 5685P 11081
+-121.821979920061,7.118125,60.3556054092926,-121.82199734067, 5685P 11082
+8.73625,60.3556054092926,-121.82199734067,7.118125, 5685P 11083
+60.3556054092926,-134.624194429548,8.73625,60.3556054092926, 5685P 11084
+-134.624194429548,7.118125,59.5561910465442,-134.624177008938, 5685P 11085
+8.73625,59.5561910465442,-134.624177008938,7.118125, 5685P 11086
+59.5561910465442,-135.223655033103,8.73625,59.5561910465442, 5685P 11087
+-135.223655033103,7.118125,45.556222510803,-135.223655033103, 5685P 11088
+8.73625,45.556222510803,-135.223655033103,7.118125, 5685P 11089
+45.556222510803,-134.624177008938,8.73625,45.556222510803, 5685P 11090
+-134.624177008938,7.118125,44.7561984267118,-134.624177008938, 5685P 11091
+8.73625,44.7561984267118,-134.624177008938,7.118125, 5685P 11092
+44.7561984267118,-121.821979920061,8.73625,44.7561984267118, 5685P 11093
+-121.821979920061,7.118125,45.556222510803,-121.82199734067, 5685P 11094
+8.73625,45.556222510803,-121.82199734067,7.118125, 5685P 11095
+140.806868895161,-102.173622547777,8.73624999999999, 5685P 11096
+154.808074294198,-102.173605127167,8.73624999999999, 5685P 11097
+140.806868895161,-102.173622547777,7.11812499999999, 5685P 11098
+154.808074294198,-102.173605127167,7.11812499999999, 5685P 11099
+154.808074294198,-102.772908945234,8.73624999999999, 5685P 11100
+154.808074294198,-102.772908945234,7.11812499999999, 5685P 11101
+155.607349292068,-102.772926365844,8.73624999999999, 5685P 11102
+155.607349292068,-102.772926365844,7.11812499999999, 5685P 11103
+155.607349292068,-115.573782067767,8.73624999999999, 5685P 11104
+155.607349292068,-115.573782067767,7.11812499999999, 5685P 11105
+154.808074294198,-115.573764647157,8.73624999999999, 5685P 11106
+154.808074294198,-115.573764647157,7.11812499999999, 5685P 11107
+154.808074294198,-116.173277512542,8.73624999999999, 5685P 11108
+154.808074294198,-116.173277512542,7.11812499999999, 5685P 11109
+140.806873250314,-116.173277512542,8.73624999999999, 5685P 11110
+140.806873250314,-116.173277512542,7.11812499999999, 5685P 11111
+140.806868895161,-115.573764647157,8.73624999999999, 5685P 11112
+140.806868895161,-115.573764647157,7.11812499999999, 5685P 11113
+140.007650514273,-115.573764647157,8.73624999999999, 5685P 11114
+140.007650514273,-115.573764647157,7.11812499999999, 5685P 11115
+140.007654869426,-102.772908945234,8.73624999999999, 5685P 11116
+140.007654869426,-102.772908945234,7.11812499999999, 5685P 11117
+140.806873250314,-102.772926365844,8.73624999999999, 5685P 11118
+140.806873250314,-102.772926365844,7.11812499999999, 5685P 11119
+121.756696066765,-102.173622547777,8.73624999999999, 5685P 11120
+135.757670642722,-102.173605127167,8.73624999999999, 5685P 11121
+121.756696066765,-102.173622547777,7.118125,135.757670642722, 5685P 11122
+-102.173605127167,7.11812499999999,135.757670642722, 5685P 11123
+-102.908807122222,8.73624999999999,135.757670642722, 5685P 11124
+-102.908807122222,7.11812499999999,136.556989192117, 5685P 11125
+-102.908807122222,8.73624999999999,136.556989192117, 5685P 11126
+-102.908807122222,7.11812499999999,136.556989192117, 5685P 11127
+-115.709662824145,8.73624999999999,136.556989192117, 5685P 11128
+-115.709662824145,7.11812499999999,135.757670642722, 5685P 11129
+-115.709662824145,8.73624999999999,135.757670642722, 5685P 11130
+-115.709662824145,7.11812499999999,135.757670642722, 5685P 11131
+-116.174810526203,8.73624999999999,135.757670642722, 5685P 11132
+-116.174810526203,7.11812499999999,121.756696066765, 5685P 11133
+-116.174810526203,8.73624999999999,121.756696066765, 5685P 11134
+-116.174810526203,7.118125,121.756696066765,-115.575297660819, 5685P 11135
+8.73624999999999,121.756696066765,-115.575297660819,7.118125, 5685P 11136
+120.957281704017,-115.575297660819,8.73624999999999, 5685P 11137
+120.957281704017,-115.575297660819,7.118125,120.957281704017, 5685P 11138
+-102.772908945234,8.73624999999999,120.957281704017, 5685P 11139
+-102.772908945234,7.118125,121.756696066765,-102.772926365844, 5685P 11140
+8.73624999999999,121.756696066765,-102.772926365844,7.118125, 5685P 11141
+102.706327256509,-102.173622547777,8.73624999999999, 5685P 11142
+116.707297477313,-102.173605127167,8.73624999999999, 5685P 11143
+102.706327256509,-102.173622547777,7.118125,116.707297477313, 5685P 11144
+-102.173605127167,7.118125,116.707297477313,-102.772908945234, 5685P 11145
+8.73624999999999,116.707297477313,-102.772908945234,7.118125, 5685P 11146
+117.506711840062,-102.772926365844,8.73624999999999, 5685P 11147
+117.506711840062,-102.772926365844,7.118125,117.506720550367, 5685P 11148
+-115.573782067767,8.73624999999999,117.506720550367, 5685P 11149
+-115.573782067767,7.118125,116.707306187618,-115.573764647157, 5685P 11150
+8.73624999999999,116.707306187618,-115.573764647157,7.118125, 5685P 11151
+116.707297477313,-116.173277512542,8.73624999999999, 5685P 11152
+116.707297477313,-116.173277512542,7.118125,102.706327256509, 5685P 11153
+-116.173277512542,8.73624999999999,102.706327256509, 5685P 11154
+-116.173277512542,7.118125,102.706327256509,-115.573764647157, 5685P 11155
+8.73624999999999,102.706327256509,-115.573764647157,7.118125, 5685P 11156
+101.90691289376,-115.573764647157,8.73624999999999, 5685P 11157
+101.90691289376,-115.573764647157,7.118125,101.90691289376, 5685P 11158
+-102.772908945234,8.73624999999999,101.90691289376, 5685P 11159
+-102.772908945234,7.118125,102.706327256509,-102.772926365844, 5685P 11160
+8.73624999999999,102.706327256509,-102.772926365844,7.118125, 5685P 11161
+83.6559584462526,-102.173622547777,8.73625,97.6569286670568, 5685P 11162
+-102.173605127167,8.73624999999999,83.6559584462526, 5685P 11163
+-102.173622547777,7.118125,97.6569286670568,-102.173605127167, 5685P 11164
+7.118125,97.6569286670568,-102.772908945234,8.73624999999999, 5685P 11165
+97.6569286670568,-102.772908945234,7.118125,98.4563430298053, 5685P 11166
+-102.772926365844,8.73624999999999,98.4563430298053, 5685P 11167
+-102.772926365844,7.118125,98.4563430298053,-115.573782067767, 5685P 11168
+8.73624999999999,98.4563430298053,-115.573782067767,7.118125, 5685P 11169
+97.6569286670568,-115.573764647157,8.73624999999999, 5685P 11170
+97.6569286670568,-115.573764647157,7.118125,97.6569286670568, 5685P 11171
+-116.173277512542,8.73624999999999,97.6569286670568, 5685P 11172
+-116.173277512542,7.118125,83.6559497359477,-116.173277512542, 5685P 11173
+8.73625,83.6559497359477,-116.173277512542,7.118125, 5685P 11174
+83.6559584462526,-115.573764647157,8.73625,83.6559584462526, 5685P 11175
+-115.573764647157,7.118125,82.8565440835042,-115.573764647157, 5685P 11176
+8.73625,82.8565440835042,-115.573764647157,7.118125, 5685P 11177
+82.8565440835042,-102.772908945234,8.73625,82.8565440835042, 5685P 11178
+-102.772908945234,7.118125,83.6559584462526,-102.772926365844, 5685P 11179
+8.73625,83.6559584462526,-102.772926365844,7.118125, 5685P 11180
+64.6055896359963,-102.173622547777,8.73625,78.6065598568005, 5685P 11181
+-102.173605127167,8.73625,64.6055896359963,-102.173622547777, 5685P 11182
+7.118125,78.6065598568005,-102.173605127167,7.118125, 5685P 11183
+78.6065598568005,-102.772908945234,8.73625,78.6065598568005, 5685P 11184
+-102.772908945234,7.118125,79.4059742195489,-102.772926365844, 5685P 11185
+8.73625,79.4059742195489,-102.772926365844,7.118125, 5685P 11186
+79.4059742195489,-115.573782067767,8.73625,79.4059742195489, 5685P 11187
+-115.573782067767,7.118125,78.6065598568005,-115.573764647157, 5685P 11188
+8.73625,78.6065598568005,-115.573764647157,7.118125, 5685P 11189
+78.6065598568005,-116.173277512542,8.73625,78.6065598568005, 5685P 11190
+-116.173277512542,7.118125,64.6055896359963,-116.173277512542, 5685P 11191
+8.73625,64.6055896359963,-116.173277512542,7.118125, 5685P 11192
+64.6055896359963,-115.573764647157,8.73625,64.6055896359963, 5685P 11193
+-115.573764647157,7.118125,63.8061752732478,-115.573764647157, 5685P 11194
+8.73625,63.8061752732478,-115.573764647157,7.118125, 5685P 11195
+63.8061752732478,-102.772908945234,8.73625,63.8061752732478, 5685P 11196
+-102.772908945234,7.118125,64.6055896359963,-102.772926365844, 5685P 11197
+8.73625,64.6055896359963,-102.772926365844,7.118125, 5685P 11198
+45.556222510803,-102.173622547777,8.73625,59.5561910465442, 5685P 11199
+-102.173605127167,8.73625,45.556222510803,-102.173622547777, 5685P 11200
+7.118125,59.5561910465442,-102.173605127167,7.118125, 5685P 11201
+59.5561910465442,-102.772908945234,8.73625,59.5561910465442, 5685P 11202
+-102.772908945234,7.118125,60.3556054092926,-102.772926365844, 5685P 11203
+8.73625,60.3556054092926,-102.772926365844,7.118125, 5685P 11204
+60.3556054092926,-115.573782067767,8.73625,60.3556054092926, 5685P 11205
+-115.573782067767,7.118125,59.5561910465442,-115.573764647157, 5685P 11206
+8.73625,59.5561910465442,-115.573764647157,7.118125, 5685P 11207
+59.5561910465442,-116.173277512542,8.73625,59.5561910465442, 5685P 11208
+-116.173277512542,7.118125,45.556222510803,-116.173277512542, 5685P 11209
+8.73625,45.556222510803,-116.173277512542,7.118125, 5685P 11210
+45.556222510803,-115.573764647157,8.73625,45.556222510803, 5685P 11211
+-115.573764647157,7.118125,44.7561984267118,-115.573764647157, 5685P 11212
+8.73625,44.7561984267118,-115.573764647157,7.118125, 5685P 11213
+44.7561984267118,-102.772908945234,8.73625,44.7561984267118, 5685P 11214
+-102.772908945234,7.118125,45.556222510803,-102.772926365844, 5685P 11215
+8.73625,45.556222510803,-102.772926365844,7.118125, 5685P 11216
+140.806868895161,-83.1232450272155,8.73624999999999, 5685P 11217
+154.808074294198,-83.1232450272156,8.73624999999999, 5685P 11218
+140.806868895161,-83.1232450272155,7.11812499999999, 5685P 11219
+154.808074294198,-83.1232450272156,7.11812499999999, 5685P 11220
+154.808074294198,-83.7225488452825,8.73624999999999, 5685P 11221
+154.808074294198,-83.7225488452825,7.11812499999999, 5685P 11222
+155.607349292068,-83.7225488452825,8.73624999999999, 5685P 11223
+155.607349292068,-83.7225488452825,7.11812499999999, 5685P 11224
+155.607349292068,-96.5234045472058,8.73624999999999, 5685P 11225
+155.607349292068,-96.5234045472058,7.11812499999999, 5685P 11226
+154.808074294198,-96.5234045472058,8.73624999999999, 5685P 11227
+154.808074294198,-96.5234045472058,7.11812499999999, 5685P 11228
+154.808074294198,-97.1227083652727,8.73624999999999, 5685P 11229
+154.808074294198,-97.1227083652727,7.11812499999999, 5685P 11230
+140.806873250314,-97.1227083652727,8.73624999999999, 5685P 11231
+140.806873250314,-97.1227083652727,7.11812499999999, 5685P 11232
+140.806868895161,-96.5234045472058,8.73624999999999, 5685P 11233
+140.806868895161,-96.5234045472058,7.11812499999999, 5685P 11234
+140.007650514273,-96.5234045472058,8.73624999999999, 5685P 11235
+140.007650514273,-96.5234045472058,7.11812499999999, 5685P 11236
+140.007654869426,-83.7225488452825,8.73624999999999, 5685P 11237
+140.007654869426,-83.7225488452825,7.11812499999999, 5685P 11238
+140.806873250314,-83.7225488452825,8.73624999999999, 5685P 11239
+140.806873250314,-83.7225488452825,7.11812499999999, 5685P 11240
+121.756696066765,-83.1232450272155,8.73624999999999, 5685P 11241
+135.757670642722,-83.1232450272156,8.73624999999999, 5685P 11242
+121.756696066765,-83.1232450272155,7.118125,135.757670642722, 5685P 11243
+-83.1232450272156,7.11812499999999,135.757670642722, 5685P 11244
+-83.7225488452825,8.73624999999999,135.757670642722, 5685P 11245
+-83.7225488452825,7.11812499999999,136.556989192117, 5685P 11246
+-83.7225488452825,8.73624999999999,136.556989192117, 5685P 11247
+-83.7225488452825,7.11812499999999,136.556989192117, 5685P 11248
+-96.5234045472058,8.73624999999999,136.556989192117, 5685P 11249
+-96.5234045472058,7.11812499999999,135.757670642722, 5685P 11250
+-96.5234045472058,8.73624999999999,135.757670642722, 5685P 11251
+-96.5234045472058,7.11812499999999,135.757670642722, 5685P 11252
+-97.1227083652727,8.73624999999999,135.757670642722, 5685P 11253
+-97.1227083652727,7.11812499999999,121.756696066765, 5685P 11254
+-97.1227083652727,8.73624999999999,121.756696066765, 5685P 11255
+-97.1227083652727,7.118125,121.756696066765,-96.5234045472058, 5685P 11256
+8.73624999999999,121.756696066765,-96.5234045472058,7.118125, 5685P 11257
+120.957281704017,-96.5234045472058,8.73624999999999, 5685P 11258
+120.957281704017,-96.5234045472058,7.118125,120.957281704017, 5685P 11259
+-83.7225488452825,8.73624999999999,120.957281704017, 5685P 11260
+-83.7225488452825,7.118125,121.756696066765,-83.7225488452825, 5685P 11261
+8.73624999999999,121.756696066765,-83.7225488452825,7.118125, 5685P 11262
+102.706327256509,-83.1232450272155,8.73624999999999, 5685P 11263
+116.707297477313,-83.1232450272156,8.73624999999999, 5685P 11264
+102.706327256509,-83.1232450272155,7.118125,116.707297477313, 5685P 11265
+-83.1232450272156,7.118125,116.707297477313,-83.7225488452825, 5685P 11266
+8.73624999999999,116.707297477313,-83.7225488452825,7.118125, 5685P 11267
+117.506711840062,-83.7225488452825,8.73624999999999, 5685P 11268
+117.506711840062,-83.7225488452825,7.118125,117.506720550367, 5685P 11269
+-96.5234045472058,8.73624999999999,117.506720550367, 5685P 11270
+-96.5234045472058,7.118125,116.707306187618,-96.5234045472058, 5685P 11271
+8.73624999999999,116.707306187618,-96.5234045472058,7.118125, 5685P 11272
+116.707297477313,-97.1227083652727,8.73624999999999, 5685P 11273
+116.707297477313,-97.1227083652727,7.118125,102.706327256509, 5685P 11274
+-97.1227083652727,8.73624999999999,102.706327256509, 5685P 11275
+-97.1227083652727,7.118125,102.706327256509,-96.5234045472058, 5685P 11276
+8.73624999999999,102.706327256509,-96.5234045472058,7.118125, 5685P 11277
+101.90691289376,-96.5234045472058,8.73624999999999, 5685P 11278
+101.90691289376,-96.5234045472058,7.118125,101.90691289376, 5685P 11279
+-83.7225488452825,8.73624999999999,101.90691289376, 5685P 11280
+-83.7225488452825,7.118125,102.706327256509,-83.7225488452825, 5685P 11281
+8.73624999999999,102.706327256509,-83.7225488452825,7.118125, 5685P 11282
+83.6559584462526,-83.1232450272155,8.73625,97.6569286670568, 5685P 11283
+-83.1232450272156,8.73624999999999,83.6559584462526, 5685P 11284
+-83.1232450272155,7.118125,97.6569286670568,-83.1232450272156, 5685P 11285
+7.118125,97.6569286670568,-83.7225488452825,8.73624999999999, 5685P 11286
+97.6569286670568,-83.7225488452825,7.118125,98.4563430298053, 5685P 11287
+-83.7225488452825,8.73624999999999,98.4563430298053, 5685P 11288
+-83.7225488452825,7.118125,98.4563430298053,-96.5234045472058, 5685P 11289
+8.73624999999999,98.4563430298053,-96.5234045472058,7.118125, 5685P 11290
+97.6569286670568,-96.5234045472058,8.73624999999999, 5685P 11291
+97.6569286670568,-96.5234045472058,7.118125,97.6569286670568, 5685P 11292
+-97.1227083652727,8.73624999999999,97.6569286670568, 5685P 11293
+-97.1227083652727,7.118125,83.6559497359477,-97.1227083652727, 5685P 11294
+8.73625,83.6559497359477,-97.1227083652727,7.118125, 5685P 11295
+83.6559584462526,-96.5234045472058,8.73625,83.6559584462526, 5685P 11296
+-96.5234045472058,7.118125,82.8565440835042,-96.5234045472058, 5685P 11297
+8.73625,82.8565440835042,-96.5234045472058,7.118125, 5685P 11298
+82.8565440835042,-83.7225488452825,8.73625,82.8565440835042, 5685P 11299
+-83.7225488452825,7.118125,83.6559584462526,-83.7225488452825, 5685P 11300
+8.73625,83.6559584462526,-83.7225488452825,7.118125, 5685P 11301
+64.6055896359963,-83.1232450272155,8.73625,78.6065598568005, 5685P 11302
+-83.1232450272156,8.73625,64.6055896359963,-83.1232450272155, 5685P 11303
+7.118125,78.6065598568005,-83.1232450272156,7.118125, 5685P 11304
+78.6065598568005,-83.7225488452825,8.73625,78.6065598568005, 5685P 11305
+-83.7225488452825,7.118125,79.4059742195489,-83.7225488452825, 5685P 11306
+8.73625,79.4059742195489,-83.7225488452825,7.118125, 5685P 11307
+79.4059742195489,-96.5234045472058,8.73625,79.4059742195489, 5685P 11308
+-96.5234045472058,7.118125,78.6065598568005,-96.5234045472058, 5685P 11309
+8.73625,78.6065598568005,-96.5234045472058,7.118125, 5685P 11310
+78.6065598568005,-97.1227083652727,8.73625,78.6065598568005, 5685P 11311
+-97.1227083652727,7.118125,64.6055896359963,-97.1227083652727, 5685P 11312
+8.73625,64.6055896359963,-97.1227083652727,7.118125, 5685P 11313
+64.6055896359963,-96.5234045472058,8.73625,64.6055896359963, 5685P 11314
+-96.5234045472058,7.118125,63.8061752732478,-96.5234045472058, 5685P 11315
+8.73625,63.8061752732478,-96.5234045472058,7.118125, 5685P 11316
+63.8061752732478,-83.7225488452825,8.73625,63.8061752732478, 5685P 11317
+-83.7225488452825,7.118125,64.6055896359963,-83.7225488452825, 5685P 11318
+8.73625,64.6055896359963,-83.7225488452825,7.118125, 5685P 11319
+45.556222510803,-83.1232450272155,8.73625,59.5561910465442, 5685P 11320
+-83.1232450272156,8.73625,45.556222510803,-83.1232450272155, 5685P 11321
+7.118125,59.5561910465442,-83.1232450272156,7.118125, 5685P 11322
+59.5561910465442,-83.7225488452825,8.73625,59.5561910465442, 5685P 11323
+-83.7225488452825,7.118125,60.3556054092926,-83.7225488452825, 5685P 11324
+8.73625,60.3556054092926,-83.7225488452825,7.118125, 5685P 11325
+60.3556054092926,-96.5234045472058,8.73625,60.3556054092926, 5685P 11326
+-96.5234045472058,7.118125,59.5561910465442,-96.5234045472058, 5685P 11327
+8.73625,59.5561910465442,-96.5234045472058,7.118125, 5685P 11328
+59.5561910465442,-97.1227083652727,8.73625,59.5561910465442, 5685P 11329
+-97.1227083652727,7.118125,45.556222510803,-97.1227083652727, 5685P 11330
+8.73625,45.556222510803,-97.1227083652727,7.118125, 5685P 11331
+45.556222510803,-96.5234045472058,8.73625,45.556222510803, 5685P 11332
+-96.5234045472058,7.118125,44.7561984267118,-96.5234045472058, 5685P 11333
+8.73625,44.7561984267118,-96.5234045472058,7.118125, 5685P 11334
+44.7561984267118,-83.7225488452825,8.73625,44.7561984267118, 5685P 11335
+-83.7225488452825,7.118125,45.556222510803,-83.7225488452825, 5685P 11336
+8.73625,45.556222510803,-83.7225488452825,7.118125, 5685P 11337
+140.806868895161,-64.0711428662849,8.73624999999999, 5685P 11338
+154.808074294198,-64.0711428662849,8.73624999999999, 5685P 11339
+140.806868895161,-64.0711428662849,7.11812499999999, 5685P 11340
+154.808074294198,-64.0711428662849,7.11812499999999, 5685P 11341
+154.808074294198,-64.672188745331,8.73624999999999, 5685P 11342
+154.808074294198,-64.672188745331,7.11812499999999, 5685P 11343
+155.607349292068,-64.6721713247213,8.73624999999999, 5685P 11344
+155.607349292068,-64.6721713247213,7.11812499999999, 5685P 11345
+155.607349292068,-77.4716159572515,8.73624999999999, 5685P 11346
+155.607349292068,-77.4716159572515,7.11812499999999, 5685P 11347
+154.808074294198,-77.4716333778613,8.73624999999999, 5685P 11348
+154.808074294198,-77.4716333778613,7.11812499999999, 5685P 11349
+154.808074294198,-78.0723482653214,8.73624999999999, 5685P 11350
+154.808074294198,-78.0723482653214,7.11812499999999, 5685P 11351
+140.806873250314,-78.0723308447116,8.73624999999999, 5685P 11352
+140.806873250314,-78.0723308447116,7.11812499999999, 5685P 11353
+140.806868895161,-77.4716159572515,8.73624999999999, 5685P 11354
+140.806868895161,-77.4716159572515,7.11812499999999, 5685P 11355
+140.007650514273,-77.4716333778613,8.73624999999999, 5685P 11356
+140.007650514273,-77.4716333778613,7.11812499999999, 5685P 11357
+140.007654869426,-64.6719448567939,8.73624999999999, 5685P 11358
+140.007654869426,-64.6719448567939,7.11812499999999, 5685P 11359
+140.806873250314,-64.6719448567939,8.73624999999999, 5685P 11360
+140.806873250314,-64.6719448567939,7.11812499999999, 5685P 11361
+121.756696066765,-64.0711428662849,8.73624999999999, 5685P 11362
+135.757670642722,-64.0711428662849,8.73624999999999, 5685P 11363
+121.756696066765,-64.0711428662849,7.118125,135.757670642722, 5685P 11364
+-64.0711428662849,7.11812499999999,135.757670642722, 5685P 11365
+-64.8090624764674,8.73624999999999,135.757670642722, 5685P 11366
+-64.8090624764674,7.11812499999999,136.556989192117, 5685P 11367
+-64.8090450558576,8.73624999999999,136.556989192117, 5685P 11368
+-64.8090450558576,7.11812499999999,136.556989192117, 5685P 11369
+-77.6084896883878,8.73624999999999,136.556989192117, 5685P 11370
+-77.6084896883878,7.11812499999999,135.757670642722, 5685P 11371
+-77.6085071089976,8.73624999999999,135.757670642722, 5685P 11372
+-77.6085071089976,7.11812499999999,135.757670642722, 5685P 11373
+-78.0723482653213,8.73624999999999,135.757670642722, 5685P 11374
+-78.0723482653213,7.11812499999999,121.756696066765, 5685P 11375
+-78.0723308447116,8.73624999999999,121.756696066765, 5685P 11376
+-78.0723308447116,7.118125,121.756696066765,-77.4716159572515, 5685P 11377
+8.73624999999999,121.756696066765,-77.4716159572515,7.118125, 5685P 11378
+120.957281704017,-77.4716333778613,8.73624999999999, 5685P 11379
+120.957281704017,-77.4716333778613,7.118125,120.957281704017, 5685P 11380
+-64.6719448567939,8.73624999999999,120.957281704017, 5685P 11381
+-64.6719448567939,7.118125,121.756696066765,-64.6719448567939, 5685P 11382
+8.73624999999999,121.756696066765,-64.6719448567939,7.118125, 5685P 11383
+102.706327256509,-64.0713519136024,8.73624999999999, 5685P 11384
+116.707297477313,-64.0713693342122,8.73624999999999, 5685P 11385
+102.706327256509,-64.0713519136024,7.118125,116.707297477313, 5685P 11386
+-64.0713693342122,7.118125,116.707297477313,-64.6721887453311, 5685P 11387
+8.73624999999999,116.707297477313,-64.6721887453311,7.118125, 5685P 11388
+117.506711840062,-64.6721713247213,8.73624999999999, 5685P 11389
+117.506711840062,-64.6721713247213,7.118125,117.506720550367, 5685P 11390
+-77.4716159572515,8.73624999999999,117.506720550367, 5685P 11391
+-77.4716159572515,7.118125,116.707306187618,-77.4716333778613, 5685P 11392
+8.73624999999999,116.707306187618,-77.4716333778613,7.118125, 5685P 11393
+116.707297477313,-78.0723482653214,8.73624999999999, 5685P 11394
+116.707297477313,-78.0723482653214,7.118125,102.706327256509, 5685P 11395
+-78.0723308447116,8.73624999999999,102.706327256509, 5685P 11396
+-78.0723308447116,7.118125,102.706327256509,-77.4716159572515, 5685P 11397
+8.73624999999999,102.706327256509,-77.4716159572515,7.118125, 5685P 11398
+101.90691289376,-77.4716333778613,8.73624999999999, 5685P 11399
+101.90691289376,-77.4716333778613,7.118125,101.90691289376, 5685P 11400
+-64.672188745331,8.73624999999999,101.90691289376, 5685P 11401
+-64.672188745331,7.118125,102.706327256509,-64.6721713247213, 5685P 11402
+8.73624999999999,102.706327256509,-64.6721713247213,7.118125, 5685P 11403
+83.6559584462526,-64.0713519136024,8.73625,97.6569286670568, 5685P 11404
+-64.0713693342122,8.73624999999999,83.6559584462526, 5685P 11405
+-64.0713519136024,7.118125,97.6569286670568,-64.0713693342122, 5685P 11406
+7.118125,97.6569286670568,-64.6721887453311,8.73624999999999, 5685P 11407
+97.6569286670568,-64.6721887453311,7.118125,98.4563430298053, 5685P 11408
+-64.6721713247213,8.73624999999999,98.4563430298053, 5685P 11409
+-64.6721713247213,7.118125,98.4563430298053,-77.4716159572515, 5685P 11410
+8.73624999999999,98.4563430298053,-77.4716159572515,7.118125, 5685P 11411
+97.6569286670568,-77.4716333778613,8.73624999999999, 5685P 11412
+97.6569286670568,-77.4716333778613,7.118125,97.6569286670568, 5685P 11413
+-78.0723482653214,8.73624999999999,97.6569286670568, 5685P 11414
+-78.0723482653214,7.118125,83.6559497359477,-78.0723308447116, 5685P 11415
+8.73625,83.6559497359477,-78.0723308447116,7.118125, 5685P 11416
+83.6559584462526,-77.4716159572515,8.73625,83.6559584462526, 5685P 11417
+-77.4716159572515,7.118125,82.8565440835042,-77.4716333778613, 5685P 11418
+8.73625,82.8565440835042,-77.4716333778613,7.118125, 5685P 11419
+82.8565440835042,-64.672188745331,8.73625,82.8565440835042, 5685P 11420
+-64.672188745331,7.118125,83.6559584462526,-64.6721713247213, 5685P 11421
+8.73625,83.6559584462526,-64.6721713247213,7.118125, 5685P 11422
+64.6055896359963,-64.0713519136024,8.73625,78.6065598568005, 5685P 11423
+-64.0713693342122,8.73625,64.6055896359963,-64.0713519136024, 5685P 11424
+7.118125,78.6065598568005,-64.0713693342122,7.118125, 5685P 11425
+78.6065598568005,-64.6721887453311,8.73625,78.6065598568005, 5685P 11426
+-64.6721887453311,7.118125,79.4059742195489,-64.6721713247213, 5685P 11427
+8.73625,79.4059742195489,-64.6721713247213,7.118125, 5685P 11428
+79.4059742195489,-77.4716159572515,8.73625,79.4059742195489, 5685P 11429
+-77.4716159572515,7.118125,78.6065598568005,-77.4716333778613, 5685P 11430
+8.73625,78.6065598568005,-77.4716333778613,7.118125, 5685P 11431
+78.6065598568005,-78.0723482653214,8.73625,78.6065598568005, 5685P 11432
+-78.0723482653214,7.118125,64.6055896359963,-78.0723308447116, 5685P 11433
+8.73625,64.6055896359963,-78.0723308447116,7.118125, 5685P 11434
+64.6055896359963,-77.4716159572515,8.73625,64.6055896359963, 5685P 11435
+-77.4716159572515,7.118125,63.8061752732478,-77.4716333778613, 5685P 11436
+8.73625,63.8061752732478,-77.4716333778613,7.118125, 5685P 11437
+63.8061752732478,-64.672188745331,8.73625,63.8061752732478, 5685P 11438
+-64.672188745331,7.118125,64.6055896359963,-64.6721713247213, 5685P 11439
+8.73625,64.6055896359963,-64.6721713247213,7.118125, 5685P 11440
+45.5564838199499,-64.0713519136024,8.73625,59.5564610659959, 5685P 11441
+-64.0713693342122,8.73625,45.5564838199499,-64.0713519136024, 5685P 11442
+7.118125,59.5564610659959,-64.0713693342122,7.118125, 5685P 11443
+59.5564610659959,-64.6721887453311,8.73625,59.5564610659959, 5685P 11444
+-64.6721887453311,7.118125,60.3558754287444,-64.6721713247213, 5685P 11445
+8.73625,60.3558754287444,-64.6721713247213,7.118125, 5685P 11446
+60.3558754287444,-77.4716159572515,8.73625,60.3558754287444, 5685P 11447
+-77.4716159572515,7.118125,59.5564610659959,-77.4716333778613, 5685P 11448
+8.73625,59.5564610659959,-77.4716333778613,7.118125, 5685P 11449
+59.5564610659959,-78.0723482653214,8.73625,59.5564610659959, 5685P 11450
+-78.0723482653214,7.118125,45.5564838199499,-78.0723308447116, 5685P 11451
+8.73625,45.5564838199499,-78.0723308447116,7.118125, 5685P 11452
+45.5564838199499,-77.4716159572515,8.73625,45.5564838199499, 5685P 11453
+-77.4716159572515,7.118125,44.7564597358587,-77.4716333778613, 5685P 11454
+8.73625,44.7564597358587,-77.4716333778613,7.118125, 5685P 11455
+44.7564771564685,-64.672188745331,8.73625,44.7564771564685, 5685P 11456
+-64.672188745331,7.118125,45.5565012405597,-64.6721713247213, 5685P 11457
+8.73625,45.5565012405597,-64.6721713247213,7.118125, 5685P 11458
+155.763761628875,-53.5475075752323,8.73624999999999, 5685P 11459
+157.764849292068,-55.4841478849295,8.73624999999999, 5685P 11460
+157.764849292068,-55.4841478849295,7.11812499999999, 5685P 11461
+155.763761628875,-53.5475075752323,7.11812499999999, 5685P 11462
+44.6011495726228,-53.5475075752323,8.73625,44.6011495726228, 5685P 11463
+-53.5475075752323,7.118125,42.5989895726247,-55.5496648502042, 5685P 11464
+8.73625,42.5989895726247,-55.5496648502042,7.118125, 5685P 11465
+42.5989922976492,-137.747055886107,8.73625,42.5989922976492, 5685P 11466
+-137.747055886107,7.118125,44.6011522976492,-139.749215886107, 5685P 11467
+8.73625,44.6011522976492,-139.749215886107,7.118125, 5685P 11468
+155.763727154066,-139.749215886107,8.73624999999999, 5685P 11469
+155.763727154066,-139.749215886107,7.11812499999999, 5685P 11470
+157.76588715377,-137.747021411595,8.73624999999999, 5685P 11471
+157.76588715377,-137.747021411595,7.11812499999999, 5685P 11472
+157.764849292068,-77.4716159572515,8.73624999999999, 5685P 11473
+157.764849292068,-77.4716159572515,7.11812499999999; 5685P 11474
+502,129,83.9631823855374,-224.118941783543,-7.49999999999994, 5687P 11475
+83.9631823855374,-232.561324596043,-7.49999999999994, 5687P 11476
+83.9631823855374,-224.118941783543,-8.49999999999993, 5687P 11477
+83.9631823855374,-232.561324596043,-8.49999999999993, 5687P 11478
+58.8069323855374,-224.118941783543,-7.49999999999996, 5687P 11479
+58.8069323855374,-224.118941783543,-8.49999999999997, 5687P 11480
+58.8069323855374,-182.864058971043,-7.49999999999996, 5687P 11481
+58.8069323855374,-182.864058971043,-8.49999999999997, 5687P 11482
+48.6897448855374,-182.864058971043,-7.49999999999996, 5687P 11483
+48.6897448855374,-182.864058971043,-8.49999999999997, 5687P 11484
+48.6897448855374,-232.561324596043,-7.49999999999996, 5687P 11485
+48.6897448855374,-232.561324596043,-8.49999999999997, 5687P 11486
+18.9406505609936,-172.121201750437,-7.49999999999997, 5687P 11487
+21.7409062360425,-172.121201750437,-7.49999999999997, 5687P 11488
+18.9406505609936,-172.121201750437,-11.6,21.7409062360425, 5687P 11489
+-172.121201750437,-11.6,97.7151063167837,-190.598023114196, 5687P 11490
+-7.49999999999994,100.515361991833,-190.598023114196, 5687P 11491
+-7.49999999999994,97.7151063167837,-190.598023114196, 5687P 11492
+-11.5999999999999,100.515361991833,-190.598023114196, 5687P 11493
+-11.5999999999999,4.43314110940289,-167.842837467805, 5687P 11494
+5.50000000000003,2.93314110940287,-165.622914872961, 5687P 11495
+5.50000000000003,4.43314110940285,-167.842837467805, 5687P 11496
+-7.49999999999997,2.93314110940287,-165.622914872961, 5687P 11497
+-7.49999999999997,114.304136640482,-248.749215886107, 5687P 11498
+5.50000000000007,114.304136640482,-248.749215886107, 5687P 11499
+-7.49999999999994,7.72696471074415,-248.749215886107, 5687P 11500
+-7.49999999999997,7.72696471074415,-248.749215886107, 5687P 11501
+5.50000000000003,4.43214272479956,-245.454337167255, 5687P 11502
+5.50000000000003,4.43214272479953,-245.454337167255, 5687P 11503
+-7.49999999999997,4.43314110940289,-187.471624566822, 5687P 11504
+-7.49999999999997,4.43314110940289,-187.471624566822, 5687P 11505
+5.50000000000003,5.43422877259573,-163.047507575232, 5687P 11506
+5.50000000000003,7.7269302359354,-164.547507575232, 5687P 11507
+5.50000000000003,23.4436836497758,-164.547507575232, 5687P 11508
+5.50000000000003,23.4436836497758,-163.047507575232, 5687P 11509
+5.50000000000003,2.93210324777537,-247.747012802266, 5687P 11510
+5.50000000000003,2.9331411094029,-187.471615957251, 5687P 11511
+5.50000000000003,116.596838103822,-250.249215886107, 5687P 11512
+5.50000000000007,5.43426324740444,-250.249215886107, 5687P 11513
+5.50000000000003,7.7269302359354,-164.547507575232, 5687P 11514
+-7.49999999999997,23.4436836497758,-164.547507575232, 5687P 11515
+-7.49999999999997,114.304139365509,-164.547507575232, 5687P 11516
+-7.49999999999994,114.304139365509,-164.547507575232, 5687P 11517
+5.50000000000007,105.613764146653,-164.547507575232, 5687P 11518
+5.50000000000005,105.613764146653,-164.547507575232, 5687P 11519
+-7.49999999999994,117.59899817983,-245.454354455992, 5687P 11520
+5.50000000000007,119.098998103822,-247.747055886107, 5687P 11521
+5.50000000000007,119.099000828846,-165.54966486678, 5687P 11522
+5.50000000000007,117.599000752838,-167.842369071796, 5687P 11523
+5.50000000000007,116.596840828848,-163.047507575232, 5687P 11524
+5.50000000000007,105.613764146653,-163.047507575232, 5687P 11525
+5.50000000000005,21.4157277366876,-228.698656211065, 5687P 11526
+-7.49999999999997,24.4159835478226,-228.69865621105, 5687P 11527
+-7.49999999999997,21.4157277366876,-228.698656211065,-11.6, 5687P 11528
+24.4159835478226,-228.69865621105,-11.6,97.6171158746639, 5687P 11529
+-228.698656211057,-7.49999999999994,100.617371685799, 5687P 11530
+-228.698656211057,-7.49999999999994,97.6171158746639, 5687P 11531
+-228.698656211057,-11.5999999999999,100.617371685799, 5687P 11532
+-228.698656211057,-11.5999999999999,21.4157277366876, 5687P 11533
+-190.598023114212,-7.49999999999997,24.4159835478226, 5687P 11534
+-190.598023114196,-7.49999999999997,21.4157277366876, 5687P 11535
+-190.598023114212,-11.6,24.4159835478226,-190.598023114196, 5687P 11536
+-11.6,100.190183492478,-172.121201750453,-7.49999999999994, 5687P 11537
+103.190439303613,-172.121201750437,-7.49999999999994, 5687P 11538
+100.190183492478,-172.121201750453,-11.5999999999999, 5687P 11539
+103.190439303613,-172.121201750437,-11.5999999999999, 5687P 11540
+91.5919773314763,-164.547507575232,-7.49999999999994, 5687P 11541
+105.613764146653,-164.547507575232,-11.5999999999999, 5687P 11542
+91.5919773314763,-164.547507575232,-11.5999999999999, 5687P 11543
+105.613764146653,-163.047507575232,1.50000000000007, 5687P 11544
+105.613764146653,-156.547507575232,1.50000000000007, 5687P 11545
+105.613764146653,-156.547507575232,-11.5999999999999, 5687P 11546
+117.599000752838,-167.842369071796,-7.49999999999994, 5687P 11547
+117.59899817983,-245.454354455992,-7.49999999999994, 5687P 11548
+119.099000828848,-165.549667575232,-7.49999999999994, 5687P 11549
+74.4331411094029,-164.547507575232,-7.49999999999996, 5687P 11550
+74.4331411094029,-171.547507575232,-7.49999999999996, 5687P 11551
+54.4331411094029,-171.547507575231,-7.49999999999996, 5687P 11552
+54.4331411094029,-164.547507575232,-7.49999999999996, 5687P 11553
+40.4453194054918,-164.547507575232,-7.49999999999997, 5687P 11554
+2.93314110940287,-165.476420277504,-7.49999999999997, 5687P 11555
+40.4453194054918,-164.547507575232,-11.6,23.4436836497758, 5687P 11556
+-164.547507575232,-11.6,40.4453194054918,-164.547507575232, 5687P 11557
+5.50000000000003,40.4453194054918,-163.047507575232, 5687P 11558
+5.50000000000003,40.4453194054918,-163.047507575232, 5687P 11559
+1.50000000000003,40.4453194054918,-156.547507575232, 5687P 11560
+1.50000000000003,40.4453194054918,-156.547507575232,-11.6, 5687P 11561
+23.4436836497758,-156.547507575232,1.50000000000003, 5687P 11562
+23.4436836497758,-163.047507575232,1.50000000000003, 5687P 11563
+91.5919773314763,-156.547507575232,1.50000000000007, 5687P 11564
+91.5919773314763,-163.047507575232,1.50000000000007, 5687P 11565
+91.5919773314763,-163.047507575232,5.50000000000004, 5687P 11566
+116.596840828848,-163.047507575232,7.50000000000006, 5687P 11567
+5.43422877259573,-163.047507575232,7.50000000000003, 5687P 11568
+23.4436836497758,-156.547507575232,-11.6,91.5919773314763, 5687P 11569
+-156.547507575232,-11.5999999999999,91.5919773314763, 5687P 11570
+-164.547507575232,5.50000000000004,54.4331411094029, 5687P 11571
+-164.547507575232,5.50000000000004,54.4331411094029, 5687P 11572
+-171.547507575231,5.50000000000004,74.4331411094029, 5687P 11573
+-171.547507575232,5.50000000000004,74.4331411094029, 5687P 11574
+-164.547507575232,5.50000000000004,2.9331411094029, 5687P 11575
+-187.471615957251,7.50000000000003,2.93314110940287, 5687P 11576
+-165.476420277504,7.50000000000003,2.93210324777537, 5687P 11577
+-247.747012802266,7.50000000000003,5.43426324740444, 5687P 11578
+-250.249215886107,7.50000000000003,116.596838103822, 5687P 11579
+-250.249215886107,7.50000000000006,119.098998103822, 5687P 11580
+-247.747055886107,7.50000000000006,119.099000828846, 5687P 11581
+-165.54966486678,7.50000000000006,5.43422877259573, 5687P 11582
+-156.547507575232,7.50000000000003,-3.56685889059712, 5687P 11583
+-165.410723179457,7.50000000000003,-3.56685889059712, 5687P 11584
+-187.471555692063,7.50000000000003,-3.56789675126109, 5687P 11585
+-247.746900880977,7.50000000000003,5.43426324740444, 5687P 11586
+-256.749215886107,7.50000000000003,116.596838103822, 5687P 11587
+-256.749215886107,7.50000000000006,125.598998103822, 5687P 11588
+-247.747055886107,7.50000000000006,125.599000828846, 5687P 11589
+-165.54966508227,7.50000000000006,116.596840828848, 5687P 11590
+-156.547507575232,7.50000000000006,-3.56685889059712, 5687P 11591
+-165.410723179457,-11.6,-3.56685889059712,-187.471555692063, 5687P 11592
+-11.6,-3.56789675126109,-247.746900880977,-11.6, 5687P 11593
+5.43426324740444,-256.749215886107,-11.6,116.596838103822, 5687P 11594
+-256.749215886107,-11.5999999999999,125.598998103822, 5687P 11595
+-247.747055886107,-11.5999999999999,125.599000828846, 5687P 11596
+-165.54966508227,-11.5999999999999,116.596840828848, 5687P 11597
+-156.547507575232,-11.5999999999999,5.43422877259573, 5687P 11598
+-156.547507575232,-11.6; 5687P 11599
+502,171,220.752682252201,-164.547507575232,-7.5, 5689P 11600
+220.752682252201,-164.547507575232,5.5,213.600041714311, 5689P 11601
+-164.547507575232,5.5,213.600041714311,-164.547507575232,-7.5, 5689P 11602
+220.752682252201,-163.047507575232,5.5,169.612220010399, 5689P 11603
+-163.047507575232,5.5,169.612220010399,-164.547507575232,5.5, 5689P 11604
+193.600041714311,-164.547507575232,5.5,193.600041714311, 5689P 11605
+-171.547507575231,5.5,213.600041714311,-171.547507575232,5.5, 5689P 11606
+220.752682252201,-163.047507575232,1.5,237.780664751561, 5689P 11607
+-163.047507575232,1.5,237.780664751561,-163.047507575232,5.5, 5689P 11608
+255.763741433756,-163.047507575232,5.5,255.763741433756, 5689P 11609
+-163.047507575232,7.5,144.601129377503,-163.047507575232,7.5, 5689P 11610
+144.601129377503,-163.047507575232,5.5,155.584237511039, 5689P 11611
+-163.047507575232,5.5,155.584237511039,-163.047507575232,1.5, 5689P 11612
+169.612220010399,-163.047507575232,1.5,155.584237511039, 5689P 11613
+-156.547507575232,-11.6,155.584237511039,-164.547507575232, 5689P 11614
+-11.6,155.584237511039,-156.547507575232,1.49999999999999, 5689P 11615
+155.584237511039,-164.547507575232,5.5,155.584237511039, 5689P 11616
+-164.547507575232,-7.5,220.752682252201,-156.547507575232,-11.6, 5689P 11617
+220.752682252201,-164.547507575232,-11.6,220.752682252201, 5689P 11618
+-156.547507575232,1.5,146.893830840843,-164.547507575232,5.5, 5689P 11619
+146.893830840843,-164.547507575232,-7.5,169.612220010399, 5689P 11620
+-156.547507575232,1.5,144.601129377503,-156.547507575232,-11.6, 5689P 11621
+144.601129377503,-156.547507575232,7.5,255.763741433756, 5689P 11622
+-156.547507575232,7.5,255.763741433756,-156.547507575232,-11.6, 5689P 11623
+237.780664751561,-156.547507575232,-11.6,237.780664751561, 5689P 11624
+-156.547507575232,1.5,169.612220010399,-156.547507575232,-11.6, 5689P 11625
+169.612220010399,-164.547507575232,-11.6,237.780664751561, 5689P 11626
+-164.547507575232,-11.6,264.765901433754,-165.54966508227,-11.6, 5689P 11627
+264.765898708729,-247.747055886107,-11.6,255.763738708729, 5689P 11628
+-256.749215886107,-11.6,144.601163852312,-256.749215886107, 5689P 11629
+-11.6,135.599003853647,-247.746900880977,-11.6,135.600041714311, 5689P 11630
+-187.471555692063,-11.6,135.600041714311,-165.410723179457, 5689P 11631
+-11.6,239.357084097385,-172.121201750453,-11.6,242.35733990852, 5689P 11632
+-172.121201750437,-11.6,160.582628341595,-190.598023114212, 5689P 11633
+-11.6,163.58288415273,-190.598023114196,-11.6,236.784016479572, 5689P 11634
+-228.698656211057,-11.6,239.784272290707,-228.698656211057, 5689P 11635
+-11.6,160.582628341595,-228.698656211065,-11.6,163.58288415273, 5689P 11636
+-228.69865621105,-11.6,236.882006921691,-190.598023114196,-11.6, 5689P 11637
+239.68226259674,-190.598023114196,-11.6,158.107551165901, 5689P 11638
+-172.121201750437,-11.6,160.90780684095,-172.121201750437,-11.6, 5689P 11639
+198.356008409196,-187.660756010089,-7.5,189.332570909196, 5689P 11640
+-187.660756010089,-7.5,198.356008409196,-187.660756010089,-8.5, 5689P 11641
+189.332570909196,-187.660756010089,-8.5,206.793508409196, 5689P 11642
+-187.856068510089,-7.5,206.793508409196,-187.856068510089,-8.5, 5689P 11643
+211.148977159196,-190.102162260089,-7.5,211.148977159196, 5689P 11644
+-190.102162260089,-8.5,212.691945909196,-194.770131010089,-7.5, 5689P 11645
+212.691945909196,-194.770131010089,-8.5,211.520070909196, 5689P 11646
+-199.067006010089,-7.5,211.520070909196,-199.067006010089,-8.5, 5689P 11647
+208.277883409196,-201.488881010089,-7.5,208.277883409196, 5689P 11648
+-201.488881010089,-8.5,197.887258409196,-202.192006010089,-7.5, 5689P 11649
+197.887258409196,-202.192006010089,-8.5,189.332570909196, 5689P 11650
+-202.192006010089,-7.5,189.332570909196,-202.192006010089,-8.5, 5689P 11651
+189.332570909196,-211.332631010089,-7.5,189.332570909196, 5689P 11652
+-235.238881010089,-7.5,189.332570909196,-211.332631010089,-8.5, 5689P 11653
+189.332570909196,-235.238881010089,-8.5,191.676320909196, 5689P 11654
+-211.332631010089,-7.5,191.676320909196,-211.332631010089,-8.5, 5689P 11655
+197.496633409196,-211.977162260089,-7.5,197.496633409196, 5689P 11656
+-211.977162260089,-8.5,200.973195909196,-214.359974760089,-7.5, 5689P 11657
+200.973195909196,-214.359974760089,-8.5,207.066945909196, 5689P 11658
+-222.777943510089,-7.5,207.066945909196,-222.777943510089,-8.5, 5689P 11659
+215.426320909196,-235.238881010089,-7.5,215.426320909196, 5689P 11660
+-235.238881010089,-8.5,229.254445909196,-235.238881010089,-7.5, 5689P 11661
+229.254445909196,-235.238881010089,-8.5,222.262258409196, 5689P 11662
+-224.067006010089,-7.5,222.262258409196,-224.067006010089,-8.5, 5689P 11663
+215.680227159196,-214.770131010089,-7.5,215.680227159196, 5689P 11664
+-214.770131010089,-8.5,209.488820909196,-209.965443510089,-7.5, 5689P 11665
+209.488820909196,-209.965443510089,-8.5,220.816945909196, 5689P 11666
+-204.672474760089,-7.5,220.816945909196,-204.672474760089,-8.5, 5689P 11667
+224.606008409196,-194.027943510089,-7.5,224.606008409196, 5689P 11668
+-194.027943510089,-8.5,222.106008409196,-185.004506010089,-7.5, 5689P 11669
+222.106008409196,-185.004506010089,-8.5,215.445852159196, 5689P 11670
+-179.516224760089,-7.5,215.445852159196,-179.516224760089,-8.5, 5689P 11671
+202.106008409196,-177.973256010089,-7.5,202.106008409196, 5689P 11672
+-177.973256010089,-8.5,177.770070909196,-177.973256010089,-7.5, 5689P 11673
+177.770070909196,-177.973256010089,-8.5,177.770070909196, 5689P 11674
+-235.238881010089,-7.5,177.770070909196,-235.238881010089,-8.5, 5689P 11675
+256.765901357746,-167.842369071796,-7.5,256.765898784737, 5689P 11676
+-245.454354455992,-7.5,258.265901433755,-165.549667575232,-7.5, 5689P 11677
+253.471039970417,-164.547507575232,-7.5,237.780664751561, 5689P 11678
+-164.547507575232,-7.5,213.600041714311,-171.547507575232,-7.5, 5689P 11679
+193.600041714311,-171.547507575231,-7.5,193.600041714311, 5689P 11680
+-164.547507575232,-7.5,169.612220010399,-164.547507575232,-7.5, 5689P 11681
+142.100041714311,-165.476420277504,-7.5,142.100041714311, 5689P 11682
+-165.622914872961,-7.5,143.600041714311,-167.842837467805,-7.5, 5689P 11683
+143.600041714311,-187.471624566822,-7.5,143.599043329707, 5689P 11684
+-245.454337167255,-7.5,146.893865315652,-248.749215886107,-7.5, 5689P 11685
+253.47103724539,-248.749215886107,-7.5,242.35733990852, 5689P 11686
+-172.121201750437,-7.5,239.357084097385,-172.121201750453,-7.5, 5689P 11687
+163.58288415273,-190.598023114196,-7.5,160.582628341595, 5689P 11688
+-190.598023114212,-7.5,239.784272290707,-228.698656211057,-7.5, 5689P 11689
+236.784016479572,-228.698656211057,-7.5,163.58288415273, 5689P 11690
+-228.69865621105,-7.5,160.582628341595,-228.698656211065,-7.5, 5689P 11691
+239.68226259674,-190.598023114196,-7.5,236.882006921691, 5689P 11692
+-190.598023114196,-7.5,160.90780684095,-172.121201750437,-7.5, 5689P 11693
+158.107551165901,-172.121201750437,-7.5,143.600041714311, 5689P 11694
+-167.842837467805,5.5,142.100041714311,-165.622914872961,5.5, 5689P 11695
+253.47103724539,-248.749215886107,5.5,146.893865315652, 5689P 11696
+-248.749215886107,5.5,143.599043329707,-245.454337167255,5.5, 5689P 11697
+143.600041714311,-187.471624566822,5.5,142.099003852683, 5689P 11698
+-247.747012802266,5.5,142.100041714311,-187.471615957251,5.5, 5689P 11699
+255.763738708729,-250.249215886107,5.5,144.601163852312, 5689P 11700
+-250.249215886107,5.5,253.471039970417,-164.547507575232,5.5, 5689P 11701
+237.780664751561,-164.547507575232,5.5,256.765898784737, 5689P 11702
+-245.454354455992,5.5,258.265898708729,-247.747055886107,5.5, 5689P 11703
+258.265901433754,-165.54966486678,5.5,256.765901357746, 5689P 11704
+-167.842369071796,5.5,142.100041714311,-187.471615957251,7.5, 5689P 11705
+142.100041714311,-165.476420277504,7.5,142.099003852683, 5689P 11706
+-247.747012802266,7.5,144.601163852312,-250.249215886107,7.5, 5689P 11707
+255.763738708729,-250.249215886107,7.5,258.265898708729, 5689P 11708
+-247.747055886107,7.5,258.265901433754,-165.54966486678,7.5, 5689P 11709
+135.600041714311,-165.410723179457,7.5,135.600041714311, 5689P 11710
+-187.471555692063,7.5,135.599003853647,-247.746900880977,7.5, 5689P 11711
+144.601163852312,-256.749215886107,7.5,255.763738708729, 5689P 11712
+-256.749215886107,7.5,264.765898708729,-247.747055886107,7.5, 5689P 11713
+264.765901433754,-165.54966508227,7.5; 5689P 11714
+504,915,2027,5685,1,5685,2,2029,5685,2,5685,3,2031,5685,4,5685, 5691P 11715
+3,2033,5685,1,5685,4,2035,5685,2,5685,1,2037,5685,3,5685,4,2039, 5691P 11716
+5685,5,5685,6,2041,5685,6,5685,7,2043,5685,8,5685,7,2045,5685,5, 5691P 11717
+5685,8,2047,5685,6,5685,5,2049,5685,7,5685,8,2051,5685,9,5685, 5691P 11718
+10,2053,5685,10,5685,11,2055,5685,12,5685,11,2057,5685,9,5685, 5691P 11719
+12,2059,5685,10,5685,9,2061,5685,11,5685,12,2063,5685,13,5685, 5691P 11720
+14,2065,5685,14,5685,15,2067,5685,16,5685,15,2069,5685,13,5685, 5691P 11721
+16,2071,5685,14,5685,13,2073,5685,15,5685,16,2075,5685,17,5685, 5691P 11722
+18,2077,5685,17,5685,19,2079,5685,20,5685,19,2081,5685,18,5685, 5691P 11723
+20,2083,5685,18,5685,21,2085,5685,22,5685,20,2087,5685,21,5685, 5691P 11724
+22,2089,5685,21,5685,23,2091,5685,24,5685,22,2093,5685,23,5685, 5691P 11725
+24,2095,5685,23,5685,25,2097,5685,26,5685,24,2099,5685,25,5685, 5691P 11726
+26,2101,5685,25,5685,27,2103,5685,28,5685,26,2105,5685,27,5685, 5691P 11727
+28,2107,5685,27,5685,29,2109,5685,30,5685,28,2111,5685,29,5685, 5691P 11728
+30,2113,5685,29,5685,31,2115,5685,32,5685,30,2117,5685,31,5685, 5691P 11729
+32,2119,5685,31,5685,33,2121,5685,34,5685,32,2123,5685,33,5685, 5691P 11730
+34,2125,5685,33,5685,35,2127,5685,36,5685,34,2129,5685,35,5685, 5691P 11731
+36,2131,5685,35,5685,37,2133,5685,38,5685,36,2135,5685,37,5685, 5691P 11732
+38,2137,5685,37,5685,39,2139,5685,40,5685,38,2141,5685,39,5685, 5691P 11733
+40,2143,5685,39,5685,17,2145,5685,19,5685,40,2147,5685,41,5685, 5691P 11734
+42,2149,5685,41,5685,43,2151,5685,44,5685,43,2153,5685,42,5685, 5691P 11735
+44,2155,5685,42,5685,45,2157,5685,46,5685,44,2159,5685,45,5685, 5691P 11736
+46,2161,5685,45,5685,47,2163,5685,48,5685,46,2165,5685,47,5685, 5691P 11737
+48,2167,5685,47,5685,49,2169,5685,50,5685,48,2171,5685,49,5685, 5691P 11738
+50,2173,5685,49,5685,51,2175,5685,52,5685,50,2177,5685,51,5685, 5691P 11739
+52,2179,5685,51,5685,53,2181,5685,54,5685,52,2183,5685,53,5685, 5691P 11740
+54,2185,5685,53,5685,55,2187,5685,56,5685,54,2189,5685,55,5685, 5691P 11741
+56,2191,5685,55,5685,57,2193,5685,58,5685,56,2195,5685,57,5685, 5691P 11742
+58,2197,5685,57,5685,59,2199,5685,60,5685,58,2201,5685,59,5685, 5691P 11743
+60,2203,5685,59,5685,61,2205,5685,62,5685,60,2207,5685,61,5685, 5691P 11744
+62,2209,5685,61,5685,63,2211,5685,64,5685,62,2213,5685,63,5685, 5691P 11745
+64,2215,5685,63,5685,41,2217,5685,43,5685,64,2219,5685,65,5685, 5691P 11746
+66,2221,5685,65,5685,67,2223,5685,68,5685,67,2225,5685,66,5685, 5691P 11747
+68,2227,5685,66,5685,69,2229,5685,70,5685,68,2231,5685,69,5685, 5691P 11748
+70,2233,5685,69,5685,71,2235,5685,72,5685,70,2237,5685,71,5685, 5691P 11749
+72,2239,5685,71,5685,73,2241,5685,74,5685,72,2243,5685,73,5685, 5691P 11750
+74,2245,5685,73,5685,75,2247,5685,76,5685,74,2249,5685,75,5685, 5691P 11751
+76,2251,5685,75,5685,77,2253,5685,78,5685,76,2255,5685,77,5685, 5691P 11752
+78,2257,5685,77,5685,79,2259,5685,80,5685,78,2261,5685,79,5685, 5691P 11753
+80,2263,5685,79,5685,81,2265,5685,82,5685,80,2267,5685,81,5685, 5691P 11754
+82,2269,5685,81,5685,83,2271,5685,84,5685,82,2273,5685,83,5685, 5691P 11755
+84,2275,5685,83,5685,85,2277,5685,86,5685,84,2279,5685,85,5685, 5691P 11756
+86,2281,5685,85,5685,87,2283,5685,88,5685,86,2285,5685,87,5685, 5691P 11757
+88,2287,5685,87,5685,65,2289,5685,67,5685,88,2291,5685,89,5685, 5691P 11758
+90,2293,5685,89,5685,91,2295,5685,92,5685,91,2297,5685,90,5685, 5691P 11759
+92,2299,5685,90,5685,93,2301,5685,94,5685,92,2303,5685,93,5685, 5691P 11760
+94,2305,5685,93,5685,95,2307,5685,96,5685,94,2309,5685,95,5685, 5691P 11761
+96,2311,5685,95,5685,97,2313,5685,98,5685,96,2315,5685,97,5685, 5691P 11762
+98,2317,5685,97,5685,99,2319,5685,100,5685,98,2321,5685,99,5685, 5691P 11763
+100,2323,5685,99,5685,101,2325,5685,102,5685,100,2327,5685,101, 5691P 11764
+5685,102,2329,5685,101,5685,103,2331,5685,104,5685,102,2333, 5691P 11765
+5685,103,5685,104,2335,5685,103,5685,105,2337,5685,106,5685,104, 5691P 11766
+2339,5685,105,5685,106,2341,5685,105,5685,107,2343,5685,108, 5691P 11767
+5685,106,2345,5685,107,5685,108,2347,5685,107,5685,109,2349, 5691P 11768
+5685,110,5685,108,2351,5685,109,5685,110,2353,5685,109,5685,111, 5691P 11769
+2355,5685,112,5685,110,2357,5685,111,5685,112,2359,5685,111, 5691P 11770
+5685,89,2361,5685,91,5685,112,2363,5685,113,5685,114,2365,5685, 5691P 11771
+113,5685,115,2367,5685,116,5685,115,2369,5685,114,5685,116,2371, 5691P 11772
+5685,114,5685,117,2373,5685,118,5685,116,2375,5685,117,5685,118, 5691P 11773
+2377,5685,117,5685,119,2379,5685,120,5685,118,2381,5685,119, 5691P 11774
+5685,120,2383,5685,119,5685,121,2385,5685,122,5685,120,2387, 5691P 11775
+5685,121,5685,122,2389,5685,121,5685,123,2391,5685,124,5685,122, 5691P 11776
+2393,5685,123,5685,124,2395,5685,123,5685,125,2397,5685,126, 5691P 11777
+5685,124,2399,5685,125,5685,126,2401,5685,125,5685,127,2403, 5691P 11778
+5685,128,5685,126,2405,5685,127,5685,128,2407,5685,127,5685,129, 5691P 11779
+2409,5685,130,5685,128,2411,5685,129,5685,130,2413,5685,129, 5691P 11780
+5685,131,2415,5685,132,5685,130,2417,5685,131,5685,132,2419, 5691P 11781
+5685,131,5685,133,2421,5685,134,5685,132,2423,5685,133,5685,134, 5691P 11782
+2425,5685,133,5685,135,2427,5685,136,5685,134,2429,5685,135, 5691P 11783
+5685,136,2431,5685,135,5685,113,2433,5685,115,5685,136,2435, 5691P 11784
+5685,137,5685,138,2437,5685,137,5685,139,2439,5685,140,5685,139, 5691P 11785
+2441,5685,138,5685,140,2443,5685,138,5685,141,2445,5685,142, 5691P 11786
+5685,140,2447,5685,141,5685,142,2449,5685,141,5685,143,2451, 5691P 11787
+5685,144,5685,142,2453,5685,143,5685,144,2455,5685,143,5685,145, 5691P 11788
+2457,5685,146,5685,144,2459,5685,145,5685,146,2461,5685,145, 5691P 11789
+5685,147,2463,5685,148,5685,146,2465,5685,147,5685,148,2467, 5691P 11790
+5685,147,5685,149,2469,5685,150,5685,148,2471,5685,149,5685,150, 5691P 11791
+2473,5685,149,5685,151,2475,5685,152,5685,150,2477,5685,151, 5691P 11792
+5685,152,2479,5685,151,5685,153,2481,5685,154,5685,152,2483, 5691P 11793
+5685,153,5685,154,2485,5685,153,5685,155,2487,5685,156,5685,154, 5691P 11794
+2489,5685,155,5685,156,2491,5685,155,5685,157,2493,5685,158, 5691P 11795
+5685,156,2495,5685,157,5685,158,2497,5685,157,5685,159,2499, 5691P 11796
+5685,160,5685,158,2501,5685,159,5685,160,2503,5685,159,5685,137, 5691P 11797
+2505,5685,139,5685,160,2507,5685,161,5685,162,2509,5685,161, 5691P 11798
+5685,163,2511,5685,164,5685,163,2513,5685,162,5685,164,2515, 5691P 11799
+5685,162,5685,165,2517,5685,166,5685,164,2519,5685,165,5685,166, 5691P 11800
+2521,5685,165,5685,167,2523,5685,168,5685,166,2525,5685,167, 5691P 11801
+5685,168,2527,5685,167,5685,169,2529,5685,170,5685,168,2531, 5691P 11802
+5685,169,5685,170,2533,5685,169,5685,171,2535,5685,172,5685,170, 5691P 11803
+2537,5685,171,5685,172,2539,5685,171,5685,173,2541,5685,174, 5691P 11804
+5685,172,2543,5685,173,5685,174,2545,5685,173,5685,175,2547, 5691P 11805
+5685,176,5685,174,2549,5685,175,5685,176,2551,5685,175,5685,177, 5691P 11806
+2553,5685,178,5685,176,2555,5685,177,5685,178,2557,5685,177, 5691P 11807
+5685,179,2559,5685,180,5685,178,2561,5685,179,5685,180,2563, 5691P 11808
+5685,179,5685,181,2565,5685,182,5685,180,2567,5685,181,5685,182, 5691P 11809
+2569,5685,181,5685,183,2571,5685,184,5685,182,2573,5685,183, 5691P 11810
+5685,184,2575,5685,183,5685,161,2577,5685,163,5685,184,2579, 5691P 11811
+5685,185,5685,186,2581,5685,185,5685,187,2583,5685,188,5685,187, 5691P 11812
+2585,5685,186,5685,188,2587,5685,186,5685,189,2589,5685,190, 5691P 11813
+5685,188,2591,5685,189,5685,190,2593,5685,189,5685,191,2595, 5691P 11814
+5685,192,5685,190,2597,5685,191,5685,192,2599,5685,191,5685,193, 5691P 11815
+2601,5685,194,5685,192,2603,5685,193,5685,194,2605,5685,193, 5691P 11816
+5685,195,2607,5685,196,5685,194,2609,5685,195,5685,196,2611, 5691P 11817
+5685,195,5685,197,2613,5685,198,5685,196,2615,5685,197,5685,198, 5691P 11818
+2617,5685,197,5685,199,2619,5685,200,5685,198,2621,5685,199, 5691P 11819
+5685,200,2623,5685,199,5685,201,2625,5685,202,5685,200,2627, 5691P 11820
+5685,201,5685,202,2629,5685,201,5685,203,2631,5685,204,5685,202, 5691P 11821
+2633,5685,203,5685,204,2635,5685,203,5685,205,2637,5685,206, 5691P 11822
+5685,204,2639,5685,205,5685,206,2641,5685,205,5685,207,2643, 5691P 11823
+5685,208,5685,206,2645,5685,207,5685,208,2647,5685,207,5685,185, 5691P 11824
+2649,5685,187,5685,208,2651,5685,209,5685,210,2653,5685,209, 5691P 11825
+5685,211,2655,5685,212,5685,211,2657,5685,210,5685,212,2659, 5691P 11826
+5685,210,5685,213,2661,5685,214,5685,212,2663,5685,213,5685,214, 5691P 11827
+2665,5685,213,5685,215,2667,5685,216,5685,214,2669,5685,215, 5691P 11828
+5685,216,2671,5685,215,5685,217,2673,5685,218,5685,216,2675, 5691P 11829
+5685,217,5685,218,2677,5685,217,5685,219,2679,5685,220,5685,218, 5691P 11830
+2681,5685,219,5685,220,2683,5685,219,5685,221,2685,5685,222, 5691P 11831
+5685,220,2687,5685,221,5685,222,2689,5685,221,5685,223,2691, 5691P 11832
+5685,224,5685,222,2693,5685,223,5685,224,2695,5685,223,5685,225, 5691P 11833
+2697,5685,226,5685,224,2699,5685,225,5685,226,2701,5685,225, 5691P 11834
+5685,227,2703,5685,228,5685,226,2705,5685,227,5685,228,2707, 5691P 11835
+5685,227,5685,229,2709,5685,230,5685,228,2711,5685,229,5685,230, 5691P 11836
+2713,5685,229,5685,231,2715,5685,232,5685,230,2717,5685,231, 5691P 11837
+5685,232,2719,5685,231,5685,209,2721,5685,211,5685,232,2723, 5691P 11838
+5685,233,5685,234,2725,5685,233,5685,235,2727,5685,236,5685,235, 5691P 11839
+2729,5685,234,5685,236,2731,5685,234,5685,237,2733,5685,238, 5691P 11840
+5685,236,2735,5685,237,5685,238,2737,5685,237,5685,239,2739, 5691P 11841
+5685,240,5685,238,2741,5685,239,5685,240,2743,5685,239,5685,241, 5691P 11842
+2745,5685,242,5685,240,2747,5685,241,5685,242,2749,5685,241, 5691P 11843
+5685,243,2751,5685,244,5685,242,2753,5685,243,5685,244,2755, 5691P 11844
+5685,243,5685,245,2757,5685,246,5685,244,2759,5685,245,5685,246, 5691P 11845
+2761,5685,245,5685,247,2763,5685,248,5685,246,2765,5685,247, 5691P 11846
+5685,248,2767,5685,247,5685,249,2769,5685,250,5685,248,2771, 5691P 11847
+5685,249,5685,250,2773,5685,249,5685,251,2775,5685,252,5685,250, 5691P 11848
+2777,5685,251,5685,252,2779,5685,251,5685,253,2781,5685,254, 5691P 11849
+5685,252,2783,5685,253,5685,254,2785,5685,253,5685,255,2787, 5691P 11850
+5685,256,5685,254,2789,5685,255,5685,256,2791,5685,255,5685,233, 5691P 11851
+2793,5685,235,5685,256,2795,5685,257,5685,258,2797,5685,257, 5691P 11852
+5685,259,2799,5685,260,5685,259,2801,5685,258,5685,260,2803, 5691P 11853
+5685,258,5685,261,2805,5685,262,5685,260,2807,5685,261,5685,262, 5691P 11854
+2809,5685,261,5685,263,2811,5685,264,5685,262,2813,5685,263, 5691P 11855
+5685,264,2815,5685,263,5685,265,2817,5685,266,5685,264,2819, 5691P 11856
+5685,265,5685,266,2821,5685,265,5685,267,2823,5685,268,5685,266, 5691P 11857
+2825,5685,267,5685,268,2827,5685,267,5685,269,2829,5685,270, 5691P 11858
+5685,268,2831,5685,269,5685,270,2833,5685,269,5685,271,2835, 5691P 11859
+5685,272,5685,270,2837,5685,271,5685,272,2839,5685,271,5685,273, 5691P 11860
+2841,5685,274,5685,272,2843,5685,273,5685,274,2845,5685,273, 5691P 11861
+5685,275,2847,5685,276,5685,274,2849,5685,275,5685,276,2851, 5691P 11862
+5685,275,5685,277,2853,5685,278,5685,276,2855,5685,277,5685,278, 5691P 11863
+2857,5685,277,5685,279,2859,5685,280,5685,278,2861,5685,279, 5691P 11864
+5685,280,2863,5685,279,5685,257,2865,5685,259,5685,280,2867, 5691P 11865
+5685,281,5685,282,2869,5685,281,5685,283,2871,5685,284,5685,283, 5691P 11866
+2873,5685,282,5685,284,2875,5685,282,5685,285,2877,5685,286, 5691P 11867
+5685,284,2879,5685,285,5685,286,2881,5685,285,5685,287,2883, 5691P 11868
+5685,288,5685,286,2885,5685,287,5685,288,2887,5685,287,5685,289, 5691P 11869
+2889,5685,290,5685,288,2891,5685,289,5685,290,2893,5685,289, 5691P 11870
+5685,291,2895,5685,292,5685,290,2897,5685,291,5685,292,2899, 5691P 11871
+5685,291,5685,293,2901,5685,294,5685,292,2903,5685,293,5685,294, 5691P 11872
+2905,5685,293,5685,295,2907,5685,296,5685,294,2909,5685,295, 5691P 11873
+5685,296,2911,5685,295,5685,297,2913,5685,298,5685,296,2915, 5691P 11874
+5685,297,5685,298,2917,5685,297,5685,299,2919,5685,300,5685,298, 5691P 11875
+2921,5685,299,5685,300,2923,5685,299,5685,301,2925,5685,302, 5691P 11876
+5685,300,2927,5685,301,5685,302,2929,5685,301,5685,303,2931, 5691P 11877
+5685,304,5685,302,2933,5685,303,5685,304,2935,5685,303,5685,281, 5691P 11878
+2937,5685,283,5685,304,2939,5685,305,5685,306,2941,5685,305, 5691P 11879
+5685,307,2943,5685,308,5685,307,2945,5685,306,5685,308,2947, 5691P 11880
+5685,306,5685,309,2949,5685,310,5685,308,2951,5685,309,5685,310, 5691P 11881
+2953,5685,309,5685,311,2955,5685,312,5685,310,2957,5685,311, 5691P 11882
+5685,312,2959,5685,311,5685,313,2961,5685,314,5685,312,2963, 5691P 11883
+5685,313,5685,314,2965,5685,313,5685,315,2967,5685,316,5685,314, 5691P 11884
+2969,5685,315,5685,316,2971,5685,315,5685,317,2973,5685,318, 5691P 11885
+5685,316,2975,5685,317,5685,318,2977,5685,317,5685,319,2979, 5691P 11886
+5685,320,5685,318,2981,5685,319,5685,320,2983,5685,319,5685,321, 5691P 11887
+2985,5685,322,5685,320,2987,5685,321,5685,322,2989,5685,321, 5691P 11888
+5685,323,2991,5685,324,5685,322,2993,5685,323,5685,324,2995, 5691P 11889
+5685,323,5685,325,2997,5685,326,5685,324,2999,5685,325,5685,326, 5691P 11890
+3001,5685,325,5685,327,3003,5685,328,5685,326,3005,5685,327, 5691P 11891
+5685,328,3007,5685,327,5685,305,3009,5685,307,5685,328,3011, 5691P 11892
+5685,329,5685,330,3013,5685,329,5685,331,3015,5685,332,5685,331, 5691P 11893
+3017,5685,330,5685,332,3019,5685,330,5685,333,3021,5685,334, 5691P 11894
+5685,332,3023,5685,333,5685,334,3025,5685,333,5685,335,3027, 5691P 11895
+5685,336,5685,334,3029,5685,335,5685,336,3031,5685,335,5685,337, 5691P 11896
+3033,5685,338,5685,336,3035,5685,337,5685,338,3037,5685,337, 5691P 11897
+5685,339,3039,5685,340,5685,338,3041,5685,339,5685,340,3043, 5691P 11898
+5685,339,5685,341,3045,5685,342,5685,340,3047,5685,341,5685,342, 5691P 11899
+3049,5685,341,5685,343,3051,5685,344,5685,342,3053,5685,343, 5691P 11900
+5685,344,3055,5685,343,5685,345,3057,5685,346,5685,344,3059, 5691P 11901
+5685,345,5685,346,3061,5685,345,5685,347,3063,5685,348,5685,346, 5691P 11902
+3065,5685,347,5685,348,3067,5685,347,5685,349,3069,5685,350, 5691P 11903
+5685,348,3071,5685,349,5685,350,3073,5685,349,5685,351,3075, 5691P 11904
+5685,352,5685,350,3077,5685,351,5685,352,3079,5685,351,5685,329, 5691P 11905
+3081,5685,331,5685,352,3083,5685,353,5685,354,3085,5685,353, 5691P 11906
+5685,355,3087,5685,356,5685,355,3089,5685,354,5685,356,3091, 5691P 11907
+5685,354,5685,357,3093,5685,358,5685,356,3095,5685,357,5685,358, 5691P 11908
+3097,5685,357,5685,359,3099,5685,360,5685,358,3101,5685,359, 5691P 11909
+5685,360,3103,5685,359,5685,361,3105,5685,362,5685,360,3107, 5691P 11910
+5685,361,5685,362,3109,5685,361,5685,363,3111,5685,364,5685,362, 5691P 11911
+3113,5685,363,5685,364,3115,5685,363,5685,365,3117,5685,366, 5691P 11912
+5685,364,3119,5685,365,5685,366,3121,5685,365,5685,367,3123, 5691P 11913
+5685,368,5685,366,3125,5685,367,5685,368,3127,5685,367,5685,369, 5691P 11914
+3129,5685,370,5685,368,3131,5685,369,5685,370,3133,5685,369, 5691P 11915
+5685,371,3135,5685,372,5685,370,3137,5685,371,5685,372,3139, 5691P 11916
+5685,371,5685,373,3141,5685,374,5685,372,3143,5685,373,5685,374, 5691P 11917
+3145,5685,373,5685,375,3147,5685,376,5685,374,3149,5685,375, 5691P 11918
+5685,376,3151,5685,375,5685,353,3153,5685,355,5685,376,3155, 5691P 11919
+5685,377,5685,378,3157,5685,377,5685,379,3159,5685,380,5685,379, 5691P 11920
+3161,5685,378,5685,380,3163,5685,378,5685,381,3165,5685,382, 5691P 11921
+5685,380,3167,5685,381,5685,382,3169,5685,381,5685,383,3171, 5691P 11922
+5685,384,5685,382,3173,5685,383,5685,384,3175,5685,383,5685,385, 5691P 11923
+3177,5685,386,5685,384,3179,5685,385,5685,386,3181,5685,385, 5691P 11924
+5685,387,3183,5685,388,5685,386,3185,5685,387,5685,388,3187, 5691P 11925
+5685,387,5685,389,3189,5685,390,5685,388,3191,5685,389,5685,390, 5691P 11926
+3193,5685,389,5685,391,3195,5685,392,5685,390,3197,5685,391, 5691P 11927
+5685,392,3199,5685,391,5685,393,3201,5685,394,5685,392,3203, 5691P 11928
+5685,393,5685,394,3205,5685,393,5685,395,3207,5685,396,5685,394, 5691P 11929
+3209,5685,395,5685,396,3211,5685,395,5685,397,3213,5685,398, 5691P 11930
+5685,396,3215,5685,397,5685,398,3217,5685,397,5685,399,3219, 5691P 11931
+5685,400,5685,398,3221,5685,399,5685,400,3223,5685,399,5685,377, 5691P 11932
+3225,5685,379,5685,400,3227,5685,401,5685,402,3229,5685,401, 5691P 11933
+5685,403,3231,5685,404,5685,403,3233,5685,402,5685,404,3235, 5691P 11934
+5685,402,5685,405,3237,5685,406,5685,404,3239,5685,405,5685,406, 5691P 11935
+3241,5685,405,5685,407,3243,5685,408,5685,406,3245,5685,407, 5691P 11936
+5685,408,3247,5685,407,5685,409,3249,5685,410,5685,408,3251, 5691P 11937
+5685,409,5685,410,3253,5685,409,5685,411,3255,5685,412,5685,410, 5691P 11938
+3257,5685,411,5685,412,3259,5685,411,5685,413,3261,5685,414, 5691P 11939
+5685,412,3263,5685,413,5685,414,3265,5685,413,5685,415,3267, 5691P 11940
+5685,416,5685,414,3269,5685,415,5685,416,3271,5685,415,5685,417, 5691P 11941
+3273,5685,418,5685,416,3275,5685,417,5685,418,3277,5685,417, 5691P 11942
+5685,419,3279,5685,420,5685,418,3281,5685,419,5685,420,3283, 5691P 11943
+5685,419,5685,421,3285,5685,422,5685,420,3287,5685,421,5685,422, 5691P 11944
+3289,5685,421,5685,423,3291,5685,424,5685,422,3293,5685,423, 5691P 11945
+5685,424,3295,5685,423,5685,401,3297,5685,403,5685,424,3299, 5691P 11946
+5685,425,5685,426,3301,5685,425,5685,427,3303,5685,428,5685,427, 5691P 11947
+3305,5685,426,5685,428,3307,5685,426,5685,429,3309,5685,430, 5691P 11948
+5685,428,3311,5685,429,5685,430,3313,5685,429,5685,431,3315, 5691P 11949
+5685,432,5685,430,3317,5685,431,5685,432,3319,5685,431,5685,433, 5691P 11950
+3321,5685,434,5685,432,3323,5685,433,5685,434,3325,5685,433, 5691P 11951
+5685,435,3327,5685,436,5685,434,3329,5685,435,5685,436,3331, 5691P 11952
+5685,435,5685,437,3333,5685,438,5685,436,3335,5685,437,5685,438, 5691P 11953
+3337,5685,437,5685,439,3339,5685,440,5685,438,3341,5685,439, 5691P 11954
+5685,440,3343,5685,439,5685,441,3345,5685,442,5685,440,3347, 5691P 11955
+5685,441,5685,442,3349,5685,441,5685,443,3351,5685,444,5685,442, 5691P 11956
+3353,5685,443,5685,444,3355,5685,443,5685,445,3357,5685,446, 5691P 11957
+5685,444,3359,5685,445,5685,446,3361,5685,445,5685,447,3363, 5691P 11958
+5685,448,5685,446,3365,5685,447,5685,448,3367,5685,447,5685,425, 5691P 11959
+3369,5685,427,5685,448,3371,5685,449,5685,450,3373,5685,449, 5691P 11960
+5685,451,3375,5685,452,5685,451,3377,5685,450,5685,452,3379, 5691P 11961
+5685,450,5685,453,3381,5685,454,5685,452,3383,5685,453,5685,454, 5691P 11962
+3385,5685,453,5685,455,3387,5685,456,5685,454,3389,5685,455, 5691P 11963
+5685,456,3391,5685,455,5685,457,3393,5685,458,5685,456,3395, 5691P 11964
+5685,457,5685,458,3397,5685,457,5685,459,3399,5685,460,5685,458, 5691P 11965
+3401,5685,459,5685,460,3403,5685,459,5685,461,3405,5685,462, 5691P 11966
+5685,460,3407,5685,461,5685,462,3409,5685,461,5685,463,3411, 5691P 11967
+5685,464,5685,462,3413,5685,463,5685,464,3415,5685,463,5685,465, 5691P 11968
+3417,5685,466,5685,464,3419,5685,465,5685,466,3421,5685,465, 5691P 11969
+5685,467,3423,5685,468,5685,466,3425,5685,467,5685,468,3427, 5691P 11970
+5685,467,5685,469,3429,5685,470,5685,468,3431,5685,469,5685,470, 5691P 11971
+3433,5685,469,5685,471,3435,5685,472,5685,470,3437,5685,471, 5691P 11972
+5685,472,3439,5685,471,5685,449,3441,5685,451,5685,472,3443, 5691P 11973
+5685,473,5685,474,3445,5685,473,5685,475,3447,5685,476,5685,475, 5691P 11974
+3449,5685,474,5685,476,3451,5685,474,5685,477,3453,5685,478, 5691P 11975
+5685,476,3455,5685,477,5685,478,3457,5685,477,5685,479,3459, 5691P 11976
+5685,480,5685,478,3461,5685,479,5685,480,3463,5685,479,5685,481, 5691P 11977
+3465,5685,482,5685,480,3467,5685,481,5685,482,3469,5685,481, 5691P 11978
+5685,483,3471,5685,484,5685,482,3473,5685,483,5685,484,3475, 5691P 11979
+5685,483,5685,485,3477,5685,486,5685,484,3479,5685,485,5685,486, 5691P 11980
+3481,5685,485,5685,487,3483,5685,488,5685,486,3485,5685,487, 5691P 11981
+5685,488,3487,5685,487,5685,489,3489,5685,490,5685,488,3491, 5691P 11982
+5685,489,5685,490,3493,5685,489,5685,491,3495,5685,492,5685,490, 5691P 11983
+3497,5685,491,5685,492,3499,5685,491,5685,493,3501,5685,494, 5691P 11984
+5685,492,3503,5685,493,5685,494,3505,5685,493,5685,495,3507, 5691P 11985
+5685,496,5685,494,3509,5685,495,5685,496,3511,5685,495,5685,473, 5691P 11986
+3513,5685,475,5685,496,3515,5685,497,5685,498,3517,5685,497, 5691P 11987
+5685,499,3519,5685,500,5685,499,3521,5685,498,5685,500,3523, 5691P 11988
+5685,498,5685,501,3525,5685,502,5685,500,3527,5685,501,5685,502, 5691P 11989
+3529,5685,501,5685,503,3531,5685,504,5685,502,3533,5685,503, 5691P 11990
+5685,504,3535,5685,503,5685,505,3537,5685,506,5685,504,3539, 5691P 11991
+5685,505,5685,506,3541,5685,505,5685,507,3543,5685,508,5685,506, 5691P 11992
+3545,5685,507,5685,508,3547,5685,507,5685,509,3549,5685,510, 5691P 11993
+5685,508,3551,5685,509,5685,510,3553,5685,509,5685,511,3555, 5691P 11994
+5685,512,5685,510,3557,5685,511,5685,512,3559,5685,511,5685,513, 5691P 11995
+3561,5685,514,5685,512,3563,5685,513,5685,514,3565,5685,513, 5691P 11996
+5685,515,3567,5685,516,5685,514,3569,5685,515,5685,516,3571, 5691P 11997
+5685,515,5685,517,3573,5685,518,5685,516,3575,5685,517,5685,518, 5691P 11998
+3577,5685,517,5685,519,3579,5685,520,5685,518,3581,5685,519, 5691P 11999
+5685,520,3583,5685,519,5685,497,3585,5685,499,5685,520,3587, 5691P 12000
+5685,521,5685,522,3589,5685,521,5685,523,3591,5685,524,5685,523, 5691P 12001
+3593,5685,522,5685,524,3595,5685,522,5685,525,3597,5685,526, 5691P 12002
+5685,524,3599,5685,525,5685,526,3601,5685,525,5685,527,3603, 5691P 12003
+5685,528,5685,526,3605,5685,527,5685,528,3607,5685,527,5685,529, 5691P 12004
+3609,5685,530,5685,528,3611,5685,529,5685,530,3613,5685,529, 5691P 12005
+5685,531,3615,5685,532,5685,530,3617,5685,531,5685,532,3619, 5691P 12006
+5685,531,5685,533,3621,5685,534,5685,532,3623,5685,533,5685,534, 5691P 12007
+3625,5685,533,5685,535,3627,5685,536,5685,534,3629,5685,535, 5691P 12008
+5685,536,3631,5685,535,5685,537,3633,5685,538,5685,536,3635, 5691P 12009
+5685,537,5685,538,3637,5685,537,5685,539,3639,5685,540,5685,538, 5691P 12010
+3641,5685,539,5685,540,3643,5685,539,5685,541,3645,5685,542, 5691P 12011
+5685,540,3647,5685,541,5685,542,3649,5685,541,5685,543,3651, 5691P 12012
+5685,544,5685,542,3653,5685,543,5685,544,3655,5685,543,5685,521, 5691P 12013
+3657,5685,523,5685,544,3659,5685,545,5685,546,3661,5685,545, 5691P 12014
+5685,547,3663,5685,548,5685,547,3665,5685,546,5685,548,3667, 5691P 12015
+5685,546,5685,549,3669,5685,550,5685,548,3671,5685,549,5685,550, 5691P 12016
+3673,5685,549,5685,551,3675,5685,552,5685,550,3677,5685,551, 5691P 12017
+5685,552,3679,5685,551,5685,553,3681,5685,554,5685,552,3683, 5691P 12018
+5685,553,5685,554,3685,5685,553,5685,555,3687,5685,556,5685,554, 5691P 12019
+3689,5685,555,5685,556,3691,5685,555,5685,557,3693,5685,558, 5691P 12020
+5685,556,3695,5685,557,5685,558,3697,5685,557,5685,559,3699, 5691P 12021
+5685,560,5685,558,3701,5685,559,5685,560,3703,5685,559,5685,561, 5691P 12022
+3705,5685,562,5685,560,3707,5685,561,5685,562,3709,5685,561, 5691P 12023
+5685,563,3711,5685,564,5685,562,3713,5685,563,5685,564,3715, 5691P 12024
+5685,563,5685,565,3717,5685,566,5685,564,3719,5685,565,5685,566, 5691P 12025
+3721,5685,565,5685,567,3723,5685,568,5685,566,3725,5685,567, 5691P 12026
+5685,568,3727,5685,567,5685,545,3729,5685,547,5685,568,3731, 5691P 12027
+5685,569,5685,570,3733,5685,569,5685,571,3735,5685,572,5685,571, 5691P 12028
+3737,5685,570,5685,572,3739,5685,570,5685,573,3741,5685,574, 5691P 12029
+5685,572,3743,5685,573,5685,574,3745,5685,573,5685,575,3747, 5691P 12030
+5685,576,5685,574,3749,5685,575,5685,576,3751,5685,575,5685,577, 5691P 12031
+3753,5685,578,5685,576,3755,5685,577,5685,578,3757,5685,577, 5691P 12032
+5685,579,3759,5685,580,5685,578,3761,5685,579,5685,580,3763, 5691P 12033
+5685,579,5685,581,3765,5685,582,5685,580,3767,5685,581,5685,582, 5691P 12034
+3769,5685,581,5685,583,3771,5685,584,5685,582,3773,5685,583, 5691P 12035
+5685,584,3775,5685,583,5685,585,3777,5685,586,5685,584,3779, 5691P 12036
+5685,585,5685,586,3781,5685,585,5685,587,3783,5685,588,5685,586, 5691P 12037
+3785,5685,587,5685,588,3787,5685,587,5685,589,3789,5685,590, 5691P 12038
+5685,588,3791,5685,589,5685,590,3793,5685,589,5685,591,3795, 5691P 12039
+5685,592,5685,590,3797,5685,591,5685,592,3799,5685,591,5685,569, 5691P 12040
+3801,5685,571,5685,592,3803,5685,593,5685,594,3805,5685,594, 5691P 12041
+5685,595,3807,5685,596,5685,595,3809,5685,593,5685,596,3811, 5691P 12042
+5685,597,5685,593,3813,5685,598,5685,596,3815,5685,597,5685,598, 5691P 12043
+3817,5685,599,5685,597,3819,5685,600,5685,598,3821,5685,599, 5691P 12044
+5685,600,3823,5685,601,5685,599,3825,5685,602,5685,600,3827, 5691P 12045
+5685,601,5685,602,3829,5685,603,5685,601,3831,5685,604,5685,602, 5691P 12046
+3833,5685,603,5685,604,3835,5685,605,5685,603,3837,5685,606, 5691P 12047
+5685,604,3839,5685,605,5685,606,3841,5685,607,5685,605,3843, 5691P 12048
+5685,608,5685,606,3845,5685,607,5685,608,3847,5685,609,5685,607, 5691P 12049
+3849,5685,610,5685,608,3851,5685,609,5685,610,3853,5685,594, 5691P 12050
+5685,609,3855,5685,595,5685,610; 5691P 12051
+504,195,3857,5687,1,5687,2,3859,5687,1,5687,3,3861,5687,3,5687, 5693P 12052
+4,3863,5687,2,5687,4,3865,5687,5,5687,1,3867,5687,5,5687,6,3869, 5693P 12053
+5687,6,5687,3,3871,5687,7,5687,5,3873,5687,7,5687,8,3875,5687,8, 5693P 12054
+5687,6,3877,5687,9,5687,7,3879,5687,9,5687,10,3881,5687,10,5687, 5693P 12055
+8,3883,5687,11,5687,9,3885,5687,11,5687,12,3887,5687,12,5687,10, 5693P 12056
+3889,5687,2,5687,11,3891,5687,4,5687,12,3893,5687,13,5687,14, 5693P 12057
+3895,5687,13,5687,15,3897,5687,16,5687,15,3899,5687,14,5687,16, 5693P 12058
+3901,5687,14,5687,13,3903,5687,15,5687,16,3905,5687,17,5687,18, 5693P 12059
+3907,5687,17,5687,19,3909,5687,20,5687,19,3911,5687,18,5687,20, 5693P 12060
+3913,5687,18,5687,17,3915,5687,19,5687,20,3917,5687,21,5687,22, 5693P 12061
+3919,5687,23,5687,21,3921,5687,23,5687,24,3923,5687,22,5687,24, 5693P 12062
+3925,5687,25,5687,26,3927,5687,26,5687,27,3929,5687,27,5687,28, 5693P 12063
+3931,5687,28,5687,25,3933,5687,29,5687,30,3935,5687,30,5687,31, 5693P 12064
+3937,5687,32,5687,31,3939,5687,32,5687,29,3941,5687,33,5687,34, 5693P 12065
+3943,5687,35,5687,34,3945,5687,35,5687,36,3947,5687,33,5687,36, 5693P 12066
+3949,5687,37,5687,29,3951,5687,21,5687,32,3953,5687,38,5687,22, 5693P 12067
+3955,5687,37,5687,38,3957,5687,39,5687,25,3959,5687,28,5687,40, 5693P 12068
+3961,5687,39,5687,40,3963,5687,34,5687,41,3965,5687,41,5687,42, 5693P 12069
+3967,5687,42,5687,35,3969,5687,43,5687,44,3971,5687,44,5687,45, 5693P 12070
+3973,5687,45,5687,46,3975,5687,46,5687,43,3977,5687,47,5687,48, 5693P 12071
+3979,5687,49,5687,48,3981,5687,49,5687,50,3983,5687,47,5687,50, 5693P 12072
+3985,5687,44,5687,51,3987,5687,52,5687,51,3989,5687,52,5687,45, 5693P 12073
+3991,5687,53,5687,54,3993,5687,53,5687,55,3995,5687,56,5687,55, 5693P 12074
+3997,5687,54,5687,56,3999,5687,54,5687,53,4001,5687,55,5687,56, 5693P 12075
+4003,5687,57,5687,58,4005,5687,57,5687,59,4007,5687,60,5687,59, 5693P 12076
+4009,5687,58,5687,60,4011,5687,58,5687,57,4013,5687,59,5687,60, 5693P 12077
+4015,5687,61,5687,62,4017,5687,61,5687,63,4019,5687,64,5687,63, 5693P 12078
+4021,5687,62,5687,64,4023,5687,62,5687,61,4025,5687,63,5687,64, 5693P 12079
+4027,5687,65,5687,66,4029,5687,65,5687,67,4031,5687,68,5687,67, 5693P 12080
+4033,5687,66,5687,68,4035,5687,66,5687,65,4037,5687,67,5687,68, 5693P 12081
+4039,5687,46,5687,69,4041,5687,46,5687,70,4043,5687,71,5687,70, 5693P 12082
+4045,5687,69,5687,71,4047,5687,52,5687,72,4049,5687,72,5687,73, 5693P 12083
+4051,5687,74,5687,73,4053,5687,70,5687,74,4055,5687,75,5687,76, 5693P 12084
+4057,5687,77,5687,75,4059,5687,43,5687,77,4061,5687,78,5687,69, 5693P 12085
+4063,5687,78,5687,79,4065,5687,79,5687,80,4067,5687,80,5687,81, 5693P 12086
+4069,5687,82,5687,81,4071,5687,82,5687,42,4073,5687,83,5687,41, 5693P 12087
+4075,5687,24,5687,83,4077,5687,31,5687,23,4079,5687,27,5687,30, 5693P 12088
+4081,5687,76,5687,26,4083,5687,82,5687,84,4085,5687,85,5687,84, 5693P 12089
+4087,5687,42,5687,85,4089,5687,86,5687,82,4091,5687,87,5687,86, 5693P 12090
+4093,5687,87,5687,88,4095,5687,88,5687,89,4097,5687,90,5687,89, 5693P 12091
+4099,5687,84,5687,90,4101,5687,89,5687,91,4103,5687,92,5687,88, 5693P 12092
+4105,5687,92,5687,91,4107,5687,73,5687,93,4109,5687,94,5687,72, 5693P 12093
+4111,5687,94,5687,93,4113,5687,87,5687,95,4115,5687,94,5687,95, 5693P 12094
+4117,5687,96,5687,51,4119,5687,97,5687,96,4121,5687,97,5687,33, 5693P 12095
+4123,5687,92,5687,36,4125,5687,98,5687,85,4127,5687,91,5687,98, 5693P 12096
+4129,5687,99,5687,71,4131,5687,93,5687,99,4133,5687,100,5687,95, 5693P 12097
+4135,5687,69,5687,100,4137,5687,81,5687,101,4139,5687,101,5687, 5693P 12098
+86,4141,5687,101,5687,102,4143,5687,102,5687,103,4145,5687,103, 5693P 12099
+5687,104,4147,5687,100,5687,104,4149,5687,104,5687,78,4151,5687, 5693P 12100
+79,5687,103,4153,5687,80,5687,102,4155,5687,76,5687,47,4157, 5693P 12101
+5687,50,5687,75,4159,5687,105,5687,106,4161,5687,105,5687,38, 5693P 12102
+4163,5687,106,5687,83,4165,5687,107,5687,105,4167,5687,107,5687, 5693P 12103
+37,4169,5687,108,5687,107,4171,5687,108,5687,40,4173,5687,109, 5693P 12104
+5687,108,4175,5687,109,5687,39,4177,5687,110,5687,109,4179,5687, 5693P 12105
+110,5687,48,4181,5687,111,5687,110,4183,5687,111,5687,49,4185, 5693P 12106
+5687,96,5687,111,4187,5687,106,5687,97,4189,5687,112,5687,113, 5693P 12107
+4191,5687,113,5687,114,4193,5687,114,5687,115,4195,5687,115, 5693P 12108
+5687,116,4197,5687,116,5687,117,4199,5687,117,5687,118,4201, 5693P 12109
+5687,118,5687,119,4203,5687,119,5687,120,4205,5687,120,5687,112, 5693P 12110
+4207,5687,113,5687,121,4209,5687,122,5687,121,4211,5687,114, 5693P 12111
+5687,122,4213,5687,123,5687,122,4215,5687,115,5687,123,4217, 5693P 12112
+5687,124,5687,123,4219,5687,116,5687,124,4221,5687,125,5687,124, 5693P 12113
+4223,5687,117,5687,125,4225,5687,126,5687,125,4227,5687,118, 5693P 12114
+5687,126,4229,5687,127,5687,126,4231,5687,119,5687,127,4233, 5693P 12115
+5687,128,5687,127,4235,5687,120,5687,128,4237,5687,90,5687,99, 5693P 12116
+4239,5687,129,5687,98,4241,5687,112,5687,129,4243,5687,74,5687, 5693P 12117
+128,4245,5687,121,5687,129; 5693P 12118
+504,258,4247,5689,1,5689,2,4249,5689,2,5689,3,4251,5689,3,5689, 5695P 12119
+4,4253,5689,4,5689,1,4255,5689,2,5689,5,4257,5689,6,5689,5,4259, 5695P 12120
+5689,6,5689,7,4261,5689,8,5689,7,4263,5689,8,5689,9,4265,5689,9, 5695P 12121
+5689,10,4267,5689,10,5689,3,4269,5689,11,5689,12,4271,5689,13, 5695P 12122
+5689,12,4273,5689,13,5689,14,4275,5689,15,5689,14,4277,5689,16, 5695P 12123
+5689,15,4279,5689,16,5689,17,4281,5689,17,5689,18,4283,5689,19, 5695P 12124
+5689,18,4285,5689,19,5689,20,4287,5689,6,5689,20,4289,5689,11, 5695P 12125
+5689,5,4291,5689,21,5689,22,4293,5689,23,5689,21,4295,5689,23, 5695P 12126
+5689,19,4297,5689,24,5689,18,4299,5689,25,5689,24,4301,5689,22, 5695P 12127
+5689,25,4303,5689,26,5689,27,4305,5689,28,5689,26,4307,5689,28, 5695P 12128
+5689,11,4309,5689,27,5689,1,4311,5689,24,5689,29,4313,5689,29, 5695P 12129
+5689,30,4315,5689,30,5689,25,4317,5689,31,5689,23,4319,5689,32, 5695P 12130
+5689,21,4321,5689,33,5689,32,4323,5689,34,5689,33,4325,5689,34, 5695P 12131
+5689,35,4327,5689,36,5689,35,4329,5689,36,5689,37,4331,5689,37, 5695P 12132
+5689,28,4333,5689,38,5689,26,4335,5689,38,5689,31,4337,5689,22, 5695P 12133
+5689,39,4339,5689,39,5689,38,4341,5689,27,5689,40,4343,5689,40, 5695P 12134
+5689,36,4345,5689,35,5689,41,4347,5689,41,5689,42,4349,5689,42, 5695P 12135
+5689,43,4351,5689,43,5689,44,4353,5689,44,5689,45,4355,5689,45, 5695P 12136
+5689,46,4357,5689,46,5689,47,4359,5689,47,5689,32,4361,5689,48, 5695P 12137
+5689,49,4363,5689,49,5689,48,4365,5689,50,5689,51,4367,5689,51, 5695P 12138
+5689,50,4369,5689,52,5689,53,4371,5689,53,5689,52,4373,5689,54, 5695P 12139
+5689,55,4375,5689,55,5689,54,4377,5689,56,5689,57,4379,5689,57, 5695P 12140
+5689,56,4381,5689,58,5689,59,4383,5689,59,5689,58,4385,5689,60, 5695P 12141
+5689,61,4387,5689,60,5689,62,4389,5689,62,5689,63,4391,5689,61, 5695P 12142
+5689,63,4393,5689,64,5689,60,4395,5689,64,5689,65,4397,5689,65, 5695P 12143
+5689,62,4399,5689,66,5689,64,4401,5689,66,5689,67,4403,5689,67, 5695P 12144
+5689,65,4405,5689,68,5689,66,4407,5689,68,5689,69,4409,5689,69, 5695P 12145
+5689,67,4411,5689,70,5689,68,4413,5689,70,5689,71,4415,5689,71, 5695P 12146
+5689,69,4417,5689,72,5689,70,4419,5689,72,5689,73,4421,5689,73, 5695P 12147
+5689,71,4423,5689,74,5689,72,4425,5689,74,5689,75,4427,5689,75, 5695P 12148
+5689,73,4429,5689,76,5689,74,4431,5689,76,5689,77,4433,5689,77, 5695P 12149
+5689,75,4435,5689,61,5689,76,4437,5689,63,5689,77,4439,5689,78, 5695P 12150
+5689,79,4441,5689,78,5689,80,4443,5689,80,5689,81,4445,5689,79, 5695P 12151
+5689,81,4447,5689,82,5689,78,4449,5689,82,5689,83,4451,5689,83, 5695P 12152
+5689,80,4453,5689,84,5689,82,4455,5689,84,5689,85,4457,5689,85, 5695P 12153
+5689,83,4459,5689,86,5689,84,4461,5689,86,5689,87,4463,5689,87, 5695P 12154
+5689,85,4465,5689,88,5689,86,4467,5689,88,5689,89,4469,5689,89, 5695P 12155
+5689,87,4471,5689,90,5689,88,4473,5689,90,5689,91,4475,5689,91, 5695P 12156
+5689,89,4477,5689,92,5689,90,4479,5689,92,5689,93,4481,5689,93, 5695P 12157
+5689,91,4483,5689,94,5689,92,4485,5689,94,5689,95,4487,5689,95, 5695P 12158
+5689,93,4489,5689,96,5689,94,4491,5689,96,5689,97,4493,5689,97, 5695P 12159
+5689,95,4495,5689,98,5689,96,4497,5689,98,5689,99,4499,5689,99, 5695P 12160
+5689,97,4501,5689,100,5689,98,4503,5689,100,5689,101,4505,5689, 5695P 12161
+101,5689,99,4507,5689,102,5689,100,4509,5689,102,5689,103,4511, 5695P 12162
+5689,103,5689,101,4513,5689,104,5689,102,4515,5689,104,5689,105, 5695P 12163
+4517,5689,105,5689,103,4519,5689,106,5689,104,4521,5689,106, 5695P 12164
+5689,107,4523,5689,107,5689,105,4525,5689,108,5689,106,4527, 5695P 12165
+5689,108,5689,109,4529,5689,109,5689,107,4531,5689,110,5689,108, 5695P 12166
+4533,5689,110,5689,111,4535,5689,111,5689,109,4537,5689,112, 5695P 12167
+5689,110,4539,5689,112,5689,113,4541,5689,113,5689,111,4543, 5695P 12168
+5689,79,5689,112,4545,5689,81,5689,113,4547,5689,114,5689,115, 5695P 12169
+4549,5689,116,5689,114,4551,5689,117,5689,116,4553,5689,118, 5695P 12170
+5689,117,4555,5689,118,5689,1,4557,5689,4,5689,119,4559,5689, 5695P 12171
+119,5689,120,4561,5689,120,5689,121,4563,5689,122,5689,121,4565, 5695P 12172
+5689,122,5689,25,4567,5689,123,5689,30,4569,5689,124,5689,123, 5695P 12173
+4571,5689,125,5689,124,4573,5689,126,5689,125,4575,5689,127, 5695P 12174
+5689,126,4577,5689,128,5689,127,4579,5689,129,5689,128,4581, 5695P 12175
+5689,115,5689,129,4583,5689,130,5689,131,4585,5689,131,5689,130, 5695P 12176
+4587,5689,132,5689,133,4589,5689,133,5689,132,4591,5689,134, 5695P 12177
+5689,135,4593,5689,135,5689,134,4595,5689,136,5689,137,4597, 5695P 12178
+5689,137,5689,136,4599,5689,138,5689,139,4601,5689,139,5689,138, 5695P 12179
+4603,5689,140,5689,141,4605,5689,141,5689,140,4607,5689,141, 5695P 12180
+5689,58,4609,5689,140,5689,59,4611,5689,139,5689,56,4613,5689, 5695P 12181
+138,5689,57,4615,5689,142,5689,143,4617,5689,125,5689,142,4619, 5695P 12182
+5689,143,5689,124,4621,5689,144,5689,129,4623,5689,128,5689,145, 5695P 12183
+4625,5689,145,5689,144,4627,5689,146,5689,127,4629,5689,147, 5695P 12184
+5689,126,4631,5689,147,5689,146,4633,5689,17,5689,29,4635,5689, 5695P 12185
+148,5689,146,4637,5689,142,5689,147,4639,5689,149,5689,143,4641, 5695P 12186
+5689,148,5689,149,4643,5689,150,5689,144,4645,5689,145,5689,151, 5695P 12187
+4647,5689,150,5689,151,4649,5689,117,5689,152,4651,5689,152, 5695P 12188
+5689,153,4653,5689,153,5689,118,4655,5689,154,5689,155,4657, 5695P 12189
+5689,156,5689,155,4659,5689,156,5689,157,4661,5689,154,5689,157, 5695P 12190
+4663,5689,152,5689,14,4665,5689,13,5689,153,4667,5689,137,5689, 5695P 12191
+54,4669,5689,136,5689,55,4671,5689,135,5689,52,4673,5689,134, 5695P 12192
+5689,53,4675,5689,133,5689,50,4677,5689,132,5689,51,4679,5689, 5695P 12193
+131,5689,48,4681,5689,130,5689,49,4683,5689,118,5689,40,4685, 5695P 12194
+5689,12,5689,37,4687,5689,122,5689,39,4689,5689,7,5689,122,4691, 5695P 12195
+5689,20,5689,31,4693,5689,121,5689,8,4695,5689,119,5689,10,4697, 5695P 12196
+5689,120,5689,9,4699,5689,115,5689,154,4701,5689,157,5689,114, 5695P 12197
+4703,5689,158,5689,159,4705,5689,158,5689,149,4707,5689,159, 5695P 12198
+5689,123,4709,5689,160,5689,158,4711,5689,160,5689,148,4713, 5695P 12199
+5689,161,5689,160,4715,5689,161,5689,151,4717,5689,162,5689,161, 5695P 12200
+4719,5689,162,5689,150,4721,5689,163,5689,162,4723,5689,163, 5695P 12201
+5689,155,4725,5689,164,5689,163,4727,5689,164,5689,156,4729, 5695P 12202
+5689,15,5689,164,4731,5689,159,5689,16,4733,5689,33,5689,165, 5695P 12203
+4735,5689,165,5689,166,4737,5689,166,5689,167,4739,5689,167, 5695P 12204
+5689,168,4741,5689,168,5689,169,4743,5689,169,5689,170,4745, 5695P 12205
+5689,170,5689,171,4747,5689,171,5689,34,4749,5689,165,5689,47, 5695P 12206
+4751,5689,166,5689,46,4753,5689,167,5689,45,4755,5689,168,5689, 5695P 12207
+44,4757,5689,169,5689,43,4759,5689,170,5689,42,4761,5689,171, 5695P 12208
+5689,41; 5695P 12209
+406,1,5Hplate; 5697P 12210
+406,1,4Hleft; 5699P 12211
+406,1,5Hright; 5701P 12212
+314,96.078431372549,96.078431372549,96.4705882352941,25HAluminum 5703P 12213
+ - Brushed Linear; 5703P 12214
+314,85.8823529411765,74.5098039215686,60.3921568627451,18H3D Oak 5705P 12215
+ - Semigloss; 5705P 12216
+314,62.7450980392157,62.7450980392157,62.7450980392157,13HSteel 5707P 12217
+- Satin; 5707P 12218
+S 1G 3D 5708P 12218 T 1
diff --git a/keyboards/lets_split/imgs/letssplitv2.svg b/keyboards/lets_split/imgs/letssplitv2.svg
new file mode 100644
index 0000000000..d33706dfc4
--- /dev/null
+++ b/keyboards/lets_split/imgs/letssplitv2.svg
@@ -0,0 +1,4077 @@
+
+
+
+image/svg+xml
\ No newline at end of file
diff --git a/keyboards/lets_split/imgs/plate.stl b/keyboards/lets_split/imgs/plate.stl
new file mode 100644
index 0000000000..c8e36adc70
Binary files /dev/null and b/keyboards/lets_split/imgs/plate.stl differ
diff --git a/keyboards/lets_split/imgs/right.stl b/keyboards/lets_split/imgs/right.stl
new file mode 100644
index 0000000000..31c7aeb6b2
Binary files /dev/null and b/keyboards/lets_split/imgs/right.stl differ
diff --git a/keyboards/lets_split/keymaps/default/keymap.c b/keyboards/lets_split/keymaps/default/keymap.c
index 0d2d94b672..6f1f71f5f8 100644
--- a/keyboards/lets_split/keymaps/default/keymap.c
+++ b/keyboards/lets_split/keymaps/default/keymap.c
@@ -42,10 +42,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = KEYMAP( \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
- ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+ KC_LCTL, ADJUST, KC_LALT, KC_LGUI, LOWER, KC_SPC, MT(MOD_LSFT, KC_SPC), RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
/* Colemak
@@ -83,41 +83,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = KEYMAP( \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
+[3] = KEYMAP( \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+ _______, _______, _______, _______, _______, KC_BSPC, MT(MOD_LSFT, KC_BSPC), _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = KEYMAP( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+[4] = KEYMAP( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+ _______, _______, _______, _______, _______, KC_ENT, MT(MOD_LSFT, KC_ENT), _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
),
/* Adjust (Lower + Raise)
@@ -134,11 +110,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = KEYMAP( \
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
)
-
-
};
#ifdef AUDIO_ENABLE
diff --git a/keyboards/lets_split/keymaps/i2c/config.h b/keyboards/lets_split/keymaps/i2c/config.h
index 2671fabf6d..72e5ae66ba 100644
--- a/keyboards/lets_split/keymaps/i2c/config.h
+++ b/keyboards/lets_split/keymaps/i2c/config.h
@@ -75,7 +75,7 @@ along with this program. If not, see .
/* ws2812 RGB LED */
#define RGB_DI_PIN D4
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/lets_split/keymaps/serial/config.h b/keyboards/lets_split/keymaps/serial/config.h
index f4d900accb..b0ad522fcb 100644
--- a/keyboards/lets_split/keymaps/serial/config.h
+++ b/keyboards/lets_split/keymaps/serial/config.h
@@ -75,7 +75,7 @@ along with this program. If not, see .
/* ws2812 RGB LED */
#define RGB_DI_PIN D4
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/lets_split/lets_split.c b/keyboards/lets_split/lets_split.c
index c505d3a6e3..117b727a85 100644
--- a/keyboards/lets_split/lets_split.c
+++ b/keyboards/lets_split/lets_split.c
@@ -1,32 +1 @@
-#include "lets_split.h"
-
-#ifdef AUDIO_ENABLE
- float tone_startup[][2] = SONG(STARTUP_SOUND);
- float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
-#endif
-
-void matrix_init_kb(void) {
-
- #ifdef AUDIO_ENABLE
- _delay_ms(20); // gets rid of tick
- PLAY_NOTE_ARRAY(tone_startup, false, 0);
- #endif
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
-void shutdown_user(void) {
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
- _delay_ms(150);
- stop_all_notes();
- #endif
-}
+#include "lets_split.h"
\ No newline at end of file
diff --git a/keyboards/lets_split/lets_split.h b/keyboards/lets_split/lets_split.h
index fe7ae07679..2cdfb061f2 100644
--- a/keyboards/lets_split/lets_split.h
+++ b/keyboards/lets_split/lets_split.h
@@ -1,25 +1,13 @@
#ifndef LETS_SPLIT_H
#define LETS_SPLIT_H
+#ifdef SUBPROJECT_rev1
+ #include "rev1.h"
+#endif
+#ifdef SUBPROJECT_rev2
+ #include "rev2.h"
+#endif
+
#include "quantum.h"
-void promicro_bootloader_jmp(bool program);
-
-#define KEYMAP( \
- k00, k01, k02, k03, k04, k05, k40, k41, k42, k43, k44, k45, \
- k10, k11, k12, k13, k14, k15, k50, k51, k52, k53, k54, k55, \
- k20, k21, k22, k23, k24, k25, k60, k61, k62, k63, k64, k65, \
- k30, k31, k32, k33, k34, k35, k70, k71, k72, k73, k74, k75 \
- ) \
- { \
- { k00, k01, k02, k03, k04, k05 }, \
- { k10, k11, k12, k13, k14, k15 }, \
- { k20, k21, k22, k23, k24, k25 }, \
- { k30, k31, k32, k33, k34, k35 }, \
- { k40, k41, k42, k43, k44, k45 }, \
- { k50, k51, k52, k53, k54, k55 }, \
- { k60, k61, k62, k63, k64, k65 }, \
- { k70, k71, k72, k73, k74, k75 } \
- }
-
#endif
\ No newline at end of file
diff --git a/keyboards/lets_split/readme.md b/keyboards/lets_split/readme.md
index 73fdb0f789..6e296737a2 100644
--- a/keyboards/lets_split/readme.md
+++ b/keyboards/lets_split/readme.md
@@ -100,3 +100,16 @@ half to a computer by USB the keyboard will use QWERTY and Colemak when the
right half is connected.
+Notes on Using Pro Micro 3.3V
+-----------------------------
+
+Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
+the frequency on the 3.3V board.
+
+Also, if the slave board is producing weird characters in certain columns,
+update the following line in `matrix.c` to the following:
+
+```
+// _delay_us(30); // without this wait read unstable value.
+_delay_us(300); // without this wait read unstable value.
+```
diff --git a/keyboards/lets_split/rev1/Makefile b/keyboards/lets_split/rev1/Makefile
new file mode 100644
index 0000000000..4e2a6f00fd
--- /dev/null
+++ b/keyboards/lets_split/rev1/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h
new file mode 100644
index 0000000000..825e5ec245
--- /dev/null
+++ b/keyboards/lets_split/rev1/config.h
@@ -0,0 +1,94 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x3060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Wootpatoot
+#define PRODUCT Lets Split
+#define PRODUCT Lets Split v1
+#define DESCRIPTION A split keyboard for the cheap makers
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { B5, B4, E6, D7 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
+
+#define CATERINA_BOOTLOADER
+
+// #define USE_I2C
+// Use serial if not using I2C
+#ifndef USE_I2C
+# define USE_SERIAL
+#endif
+
+// #define EE_HANDS
+
+#define I2C_MASTER_LEFT
+// #define I2C_MASTER_RIGHT
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboards/lets_split/rev1/rev1.c b/keyboards/lets_split/rev1/rev1.c
new file mode 100644
index 0000000000..c505d3a6e3
--- /dev/null
+++ b/keyboards/lets_split/rev1/rev1.c
@@ -0,0 +1,32 @@
+#include "lets_split.h"
+
+#ifdef AUDIO_ENABLE
+ float tone_startup[][2] = SONG(STARTUP_SOUND);
+ float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+void matrix_init_kb(void) {
+
+ #ifdef AUDIO_ENABLE
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+ #endif
+
+ // // green led on
+ // DDRD |= (1<<5);
+ // PORTD &= ~(1<<5);
+
+ // // orange led on
+ // DDRB |= (1<<0);
+ // PORTB &= ~(1<<0);
+
+ matrix_init_user();
+};
+
+void shutdown_user(void) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+ #endif
+}
diff --git a/keyboards/lets_split/rev1/rev1.h b/keyboards/lets_split/rev1/rev1.h
new file mode 100644
index 0000000000..4667c9fb09
--- /dev/null
+++ b/keyboards/lets_split/rev1/rev1.h
@@ -0,0 +1,28 @@
+#ifndef REV1_H
+#define REV1_H
+
+#include "../lets_split.h"
+
+//void promicro_bootloader_jmp(bool program);
+#include "quantum.h"
+
+//void promicro_bootloader_jmp(bool program);
+
+#define KEYMAP( \
+ k00, k01, k02, k03, k04, k05, k40, k41, k42, k43, k44, k45, \
+ k10, k11, k12, k13, k14, k15, k50, k51, k52, k53, k54, k55, \
+ k20, k21, k22, k23, k24, k25, k60, k61, k62, k63, k64, k65, \
+ k30, k31, k32, k33, k34, k35, k70, k71, k72, k73, k74, k75 \
+ ) \
+ { \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { k30, k31, k32, k33, k34, k35 }, \
+ { k40, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { k70, k71, k72, k73, k74, k75 } \
+ }
+
+#endif
\ No newline at end of file
diff --git a/keyboards/lets_split/rev1/rules.mk b/keyboards/lets_split/rev1/rules.mk
new file mode 100644
index 0000000000..a0825b4ef6
--- /dev/null
+++ b/keyboards/lets_split/rev1/rules.mk
@@ -0,0 +1,5 @@
+BACKLIGHT_ENABLE = no
+
+ifndef QUANTUM_DIR
+ include ../../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/lets_split/rev2/Makefile b/keyboards/lets_split/rev2/Makefile
new file mode 100644
index 0000000000..4e2a6f00fd
--- /dev/null
+++ b/keyboards/lets_split/rev2/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h
new file mode 100644
index 0000000000..e9689d773d
--- /dev/null
+++ b/keyboards/lets_split/rev2/config.h
@@ -0,0 +1,102 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x3060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Wootpatoot
+#define PRODUCT Lets Split v2
+#define DESCRIPTION A split keyboard for the cheap makers
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
+#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
+
+#define CATERINA_BOOTLOADER
+
+// #define USE_I2C
+
+// Use serial if not using I2C
+#ifndef USE_I2C
+# define USE_SERIAL
+#endif
+
+// #define EE_HANDS
+
+#define I2C_MASTER_LEFT
+// #define I2C_MASTER_RIGHT
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#define RGBLIGHT_TIMER
+#define RGBLED_NUM 12 // Number of LEDs
+#define ws2812_PORTREG PORTD
+#define ws2812_DDRREG DDRD
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+
+#endif
\ No newline at end of file
diff --git a/keyboards/lets_split/rev2/rev2.c b/keyboards/lets_split/rev2/rev2.c
new file mode 100644
index 0000000000..c505d3a6e3
--- /dev/null
+++ b/keyboards/lets_split/rev2/rev2.c
@@ -0,0 +1,32 @@
+#include "lets_split.h"
+
+#ifdef AUDIO_ENABLE
+ float tone_startup[][2] = SONG(STARTUP_SOUND);
+ float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+void matrix_init_kb(void) {
+
+ #ifdef AUDIO_ENABLE
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+ #endif
+
+ // // green led on
+ // DDRD |= (1<<5);
+ // PORTD &= ~(1<<5);
+
+ // // orange led on
+ // DDRB |= (1<<0);
+ // PORTB &= ~(1<<0);
+
+ matrix_init_user();
+};
+
+void shutdown_user(void) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+ #endif
+}
diff --git a/keyboards/lets_split/rev2/rev2.h b/keyboards/lets_split/rev2/rev2.h
new file mode 100644
index 0000000000..990976de2b
--- /dev/null
+++ b/keyboards/lets_split/rev2/rev2.h
@@ -0,0 +1,28 @@
+#ifndef REV2_H
+#define REV2_H
+
+#include "../lets_split.h"
+
+//void promicro_bootloader_jmp(bool program);
+#include "quantum.h"
+
+//void promicro_bootloader_jmp(bool program);
+
+#define KEYMAP( \
+ k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
+ k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
+ k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
+ k30, k31, k32, k33, k34, k35, k75, k74, k73, k72, k71, k70 \
+ ) \
+ { \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { k30, k31, k32, k33, k34, k35 }, \
+ { k40, k41, k42, k43, k44, k45 }, \
+ { k50, k51, k52, k53, k54, k55 }, \
+ { k60, k61, k62, k63, k64, k65 }, \
+ { k70, k71, k72, k73, k74, k75 } \
+ }
+
+#endif
\ No newline at end of file
diff --git a/keyboards/lets_split/rev2/rules.mk b/keyboards/lets_split/rev2/rules.mk
new file mode 100644
index 0000000000..80a942d06f
--- /dev/null
+++ b/keyboards/lets_split/rev2/rules.mk
@@ -0,0 +1,5 @@
+BACKLIGHT_ENABLE = no
+
+ifndef QUANTUM_DIR
+ include ../../../Makefile
+endif
diff --git a/keyboards/lets_split/rules.mk b/keyboards/lets_split/rules.mk
index 6fde8a444c..1aee5313c1 100644
--- a/keyboards/lets_split/rules.mk
+++ b/keyboards/lets_split/rules.mk
@@ -63,11 +63,12 @@ COMMAND_ENABLE ?= yes # Commands for debug and configuration
NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
MIDI_ENABLE ?= no # MIDI controls
-AUDIO_ENABLE ?= yes # Audio output on port C6
+AUDIO_ENABLE ?= no # Audio output on port C6
UNICODE_ENABLE ?= no # Unicode
BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
-
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+SUBPROJECT_rev1 ?= yes
+USE_I2C ?= yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
diff --git a/keyboards/maxipad/Makefile b/keyboards/maxipad/Makefile
new file mode 100644
index 0000000000..4e2a6f00fd
--- /dev/null
+++ b/keyboards/maxipad/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif
\ No newline at end of file
diff --git a/keyboards/maxipad/config.h b/keyboards/maxipad/config.h
new file mode 100644
index 0000000000..d7a5ef5646
--- /dev/null
+++ b/keyboards/maxipad/config.h
@@ -0,0 +1,95 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER wootpatoot
+#define PRODUCT maxipad
+#define DESCRIPTION A custom keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 6
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+//Pro micro pinout
+ #define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
+ #define MATRIX_COL_PINS { F4, C6, D7, F5, B4, B5 }
+ #define UNUSED_PINS
+//Teensy 2 pinout
+ //#define MATRIX_ROW_PINS { B6, F7, B2, B3, B1 }
+ //#define MATRIX_COL_PINS { F6, C6, D7, F5, B4, B5 }
+ //#define UNUSED_PINS
+
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboards/maxipad/keymaps/default/keymap.c b/keyboards/maxipad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..227cef7d86
--- /dev/null
+++ b/keyboards/maxipad/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+#include "maxipad.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = KEYMAP( /* Base */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \
+ KC_LCTL, KC_LALT, MO(1), KC_ENT,KC_GRV,KC_SPC \
+),
+[1] = KEYMAP(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, \
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC \
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // MACRODOWN only works in this function
+{
+ return MACRO_NONE;
+};
\ No newline at end of file
diff --git a/keyboards/maxipad/maxipad.c b/keyboards/maxipad/maxipad.c
new file mode 100644
index 0000000000..a193b112b9
--- /dev/null
+++ b/keyboards/maxipad/maxipad.c
@@ -0,0 +1 @@
+#include "maxipad.h"
\ No newline at end of file
diff --git a/keyboards/maxipad/maxipad.h b/keyboards/maxipad/maxipad.h
new file mode 100644
index 0000000000..4d8c6428d2
--- /dev/null
+++ b/keyboards/maxipad/maxipad.h
@@ -0,0 +1,25 @@
+#ifndef MAXIPAD_H
+#define MAXIPAD_H
+
+#include "quantum.h"
+
+// This a shortcut to help you visually see your layout.
+// The following is an example using the Planck MIT layout
+// The first section contains all of the arguements
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+ k00, k01, k02, k03, k04, k05, \
+ k10, k11, k12, k13, k14, k15, \
+ k20, k21, k22, k23, k24, k25, \
+ k30, k31, k32, k33, k34, k35, \
+ k40, k41, k42, k43, k44, k45 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { k30, k31, k32, k33, k34, k35 }, \
+ { k40, k41, k42, k43, k44, k45 } \
+}
+
+#endif
diff --git a/keyboards/maxipad/readme.md b/keyboards/maxipad/readme.md
new file mode 100644
index 0000000000..861ea2b078
--- /dev/null
+++ b/keyboards/maxipad/readme.md
@@ -0,0 +1,29 @@
+Maxipad keyboard firmware
+
+## Quantum MK Firmware
+
+For the full Quantum feature list, see [the parent readme.md](/readme.md).
+
+If you are using a pro micro then make sure to enable USE_PRO_MICRO in the makefile
+Change the config.h pinout to match your mcu!!
+
+Download or clone the whole firmware and navigate to the keyboards/maxipad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
+
+Depending on which keymap you would like to use, you will have to compile slightly differently.
+
+### Default
+
+To build with the default keymap, simply run `make`.
+
+
+### Other Keymaps
+Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top readme.md) and existent keymap files.
+
+
+To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
+
+```
+$ make [default|jack|]
+```
+
+Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/maxipad/rules.mk b/keyboards/maxipad/rules.mk
new file mode 100644
index 0000000000..a5c7391523
--- /dev/null
+++ b/keyboards/maxipad/rules.mk
@@ -0,0 +1,76 @@
+
+
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=512
+
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
+# NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
+# MIDI_ENABLE ?= YES # MIDI controls
+# UNICODE_ENABLE ?= YES # Unicode
+# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
+USE_PRO_MICRO ?= yes
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE ?= no # USB Nkey Rollover
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE ?= no # MIDI controls
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/keyboards/pegasushoof/Makefile b/keyboards/pegasushoof/Makefile
new file mode 100644
index 0000000000..57b2ef62e5
--- /dev/null
+++ b/keyboards/pegasushoof/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif
diff --git a/keyboards/pegasushoof/README.md b/keyboards/pegasushoof/README.md
new file mode 100644
index 0000000000..074222c714
--- /dev/null
+++ b/keyboards/pegasushoof/README.md
@@ -0,0 +1,24 @@
+pegasushoof keyboard firmware
+=============================
+
+## Quantum MK Firmware
+
+For the full Quantum feature list, see [the parent README.md](/README.md).
+
+## Building
+
+Download or clone the whole firmware and navigate to the `keyboard/pegasushoof` folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your `.hex` file.
+
+Depending on which keymap you would like to use, you will have to compile slightly differently.
+
+### Default
+To build all keymaps, simply run `make`, the `.hex` files will end up in the top directory.
+
+### Specific Keymap
+Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `/keymap.c` in the `keymaps` folder, and see keymap document (you can find in top README.md) and existent keymap files.
+
+To build the firmware binary hex file with a keymap just enter the keymap directory and type `make`:
+```
+$ cd keymaps/default
+$ make
+```
diff --git a/keyboards/pegasushoof/config.h b/keyboards/pegasushoof/config.h
new file mode 100644
index 0000000000..0dbec26e46
--- /dev/null
+++ b/keyboards/pegasushoof/config.h
@@ -0,0 +1,46 @@
+/*
+Copyright 2016 Daniel Svensson
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6050
+#define DEVICE_VER 0x0104
+#define MANUFACTURER Filco
+#define PRODUCT Majestouch TKL \\w The Pegasus Hoof
+#define DESCRIPTION QMK firmware for Majestouch TKL
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 18
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+#endif
diff --git a/keyboards/pegasushoof/keymaps/blowrak/Makefile b/keyboards/pegasushoof/keymaps/blowrak/Makefile
new file mode 100644
index 0000000000..fec0d2d977
--- /dev/null
+++ b/keyboards/pegasushoof/keymaps/blowrak/Makefile
@@ -0,0 +1,22 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+CUSTOM_MATRIX ?= yes # Custom matrix file for the Pegasus Hoof due to the 2x74HC42
+NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no # MIDI controls
+AUDIO_ENABLE ?= no # Audio output on port C6
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/pegasushoof/keymaps/blowrak/keymap.c
new file mode 100644
index 0000000000..6faf4db6fa
--- /dev/null
+++ b/keyboards/pegasushoof/keymaps/blowrak/keymap.c
@@ -0,0 +1,112 @@
+/*
+Copyright 2016 Daniel Svensson
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include "pegasushoof.h"
+
+#define _______ KC_TRNS
+
+/* Swedish keys */
+#define SE_HALF KC_GRV
+#define SE_PLUS KC_MINS
+#define SE_ACUT KC_EQL
+#define SE_AO KC_LBRC
+#define SE_CIRC KC_RBRC
+#define SE_QUOT KC_BSLS
+#define SE_OE KC_SCLN
+#define SE_AE KC_QUOT
+#define SE_MINS KC_SLSH
+#define SE_LTGT KC_NUBS
+#define SE_LCBR RALT(KC_7)
+#define SE_LBRC RALT(KC_8)
+#define SE_RBRC RALT(KC_9)
+#define SE_RCBR RALT(KC_0)
+#define SE_PIPE RALT(SE_LTGT)
+#define SE_BSLS RALT(SE_PLUS)
+
+#define KM_BLOWRAK 0
+#define KM_QWERTY 1
+#define KM_MEDIA 2
+#define KM_HAXHAX 3
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0: Blowrak ISO layer, a Swedish take on Dvorak */
+ [KM_BLOWRAK] = KEYMAP( \
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK,KC_PAUS, \
+ SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, \
+ KC_TAB, SE_AO, SE_AE, SE_OE, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
+ KC_LCTRL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_H, KC_D, KC_T, KC_N, KC_S, SE_MINS, KC_ENT, \
+ KC_LSFT, SE_LTGT,KC_DOT, KC_Q, KC_J, KC_K, KC_B, KC_X, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \
+ KC_FN0, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT),
+ /* Layer 1: Standard ISO layer */
+ [KM_QWERTY] = KEYMAP( \
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK,KC_PAUS, \
+ SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AO, SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
+ KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OE, SE_AE, KC_ENT, \
+ KC_LSFT, SE_LTGT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, SE_MINS, KC_RSFT, KC_UP, \
+ KC_FN0, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT),
+ /* Layer 2: Media layer */
+ [KM_MEDIA] = KEYMAP( \
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_WAKE,KC_PWR, KC_SLEP, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,KC_VOLU, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_MUTE,_______,KC_VOLD, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_MPLY, \
+ _______,_______,_______, _______, _______,_______,RESET ,_______, KC_MPRV,KC_MSTP,KC_MNXT),
+ /* Layer 3: Programming layer */
+ [KM_HAXHAX] = KEYMAP( \
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
+ _______,SE_LCBR,SE_PIPE,SE_RCBR,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
+ _______,SE_LBRC,SE_BSLS,SE_RBRC,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, \
+ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(KM_MEDIA),
+ [1] = ACTION_LAYER_TOGGLE(KM_QWERTY)
+};
+
+void matrix_scan_user(void)
+{
+ uint8_t layer = biton32(layer_state);
+ switch (layer) {
+ case KM_BLOWRAK:
+ ph_caps_led_on();
+ ph_sclk_led_off();
+ break;
+ case KM_QWERTY:
+ ph_sclk_led_on();
+ ph_caps_led_off();
+ break;
+ }
+}
+
+/* Mixes in KM_HAXHAX via RALT modifier without shadowing the RALT key combinations. */
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint8_t modifiers = get_mods();
+ if (modifiers & MOD_BIT(KC_RALT) && record->event.pressed) {
+ uint16_t kc = keymap_key_to_keycode(KM_HAXHAX, record->event.key);
+ if (kc != KC_TRNS) {
+ register_code(kc);
+ unregister_code(kc);
+ return false;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/pegasushoof/keymaps/default/Makefile b/keyboards/pegasushoof/keymaps/default/Makefile
new file mode 100644
index 0000000000..fec0d2d977
--- /dev/null
+++ b/keyboards/pegasushoof/keymaps/default/Makefile
@@ -0,0 +1,22 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+CUSTOM_MATRIX ?= yes # Custom matrix file for the Pegasus Hoof due to the 2x74HC42
+NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no # MIDI controls
+AUDIO_ENABLE ?= no # Audio output on port C6
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/pegasushoof/keymaps/default/keymap.c b/keyboards/pegasushoof/keymaps/default/keymap.c
new file mode 100644
index 0000000000..aa006b23a4
--- /dev/null
+++ b/keyboards/pegasushoof/keymaps/default/keymap.c
@@ -0,0 +1,60 @@
+/*
+Copyright 2016 Daniel Svensson
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include "pegasushoof.h"
+
+#define _______ KC_TRNS
+
+#define KM_QWERTY 0
+#define KM_MEDIA 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0: Standard ISO layer */
+ [KM_QWERTY] = KEYMAP( \
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK,KC_PAUS, \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_INS, KC_HOME,KC_PGUP, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
+ KC_CLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
+ KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN0, KC_LEFT,KC_DOWN,KC_RGHT),
+ /* Layer 1: Function layer */
+ [KM_MEDIA] = KEYMAP( \
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_WAKE,KC_PWR, KC_SLEP, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,KC_VOLU, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,KC_VOLD, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_MPLY, \
+ _______,_______,_______, _______, _______,_______,RESET ,_______, KC_MPRV,KC_MSTP,KC_MNXT)
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(KM_MEDIA)
+};
+
+void led_set_user(uint8_t usb_led) {
+ if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+ ph_caps_led_on();
+ } else {
+ ph_caps_led_off();
+ }
+
+ if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
+ ph_sclk_led_on();
+ } else {
+ ph_sclk_led_off();
+ }
+}
diff --git a/keyboards/pegasushoof/matrix.c b/keyboards/pegasushoof/matrix.c
new file mode 100644
index 0000000000..d2a74b8d72
--- /dev/null
+++ b/keyboards/pegasushoof/matrix.c
@@ -0,0 +1,204 @@
+/*
+Copyright 2014 Ralf Schmitt
+Copyright 2016 Daniel Svensson
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include
+#include
+#include
+#include
+#include "wait.h"
+#include "print.h"
+#include "debug.h"
+#include "util.h"
+#include "matrix.h"
+
+static uint8_t debouncing = DEBOUNCING_DELAY;
+static matrix_row_t matrix[MATRIX_ROWS];
+static matrix_row_t matrix_debouncing[MATRIX_ROWS];
+
+static matrix_row_t read_cols(void);
+static void select_row(uint8_t col);
+
+inline uint8_t matrix_rows(void)
+{
+ return MATRIX_ROWS;
+}
+
+inline uint8_t matrix_cols(void)
+{
+ return MATRIX_COLS;
+}
+
+void matrix_init(void)
+{
+ /* Column output pins */
+ DDRD |= 0b01111011;
+ /* Row input pins */
+ DDRC &= ~0b10000000;
+ DDRB &= ~0b01111111;
+ PORTC |= 0b10000000;
+ PORTB |= 0b01111111;
+
+ for (uint8_t i=0; i < MATRIX_ROWS; i++) {
+ matrix[i] = 0;
+ matrix_debouncing[i] = 0;
+ }
+
+ matrix_init_quantum();
+}
+
+uint8_t matrix_scan(void)
+{
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ select_row(col);
+ wait_us(30);
+ matrix_row_t rows = read_cols();
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ bool prev_bit = matrix_debouncing[row] & ((matrix_row_t)1<
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include "pegasushoof.h"
+
+__attribute__ ((weak))
+void matrix_init_user(void) {
+};
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {
+}
+
+__attribute__ ((weak))
+bool process_action_user(keyrecord_t *record) {
+ return true;
+}
+
+__attribute__ ((weak))
+void led_set_user(uint8_t usb_led) {
+}
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+ matrix_scan_user();
+}
+
+bool process_action_kb(keyrecord_t *record) {
+ return process_action_user(record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ led_set_user(usb_led);
+}
diff --git a/keyboards/pegasushoof/pegasushoof.h b/keyboards/pegasushoof/pegasushoof.h
new file mode 100644
index 0000000000..d031e3ed25
--- /dev/null
+++ b/keyboards/pegasushoof/pegasushoof.h
@@ -0,0 +1,51 @@
+/*
+Copyright 2016 Daniel Svensson
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef PEGASUSHOOF_H
+#define PEGASUSHOOF_H
+
+#include "matrix.h"
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define KEYMAP( \
+ KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \
+ KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2, KR4, KC4, KE4, \
+ KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3, KQ4, KC5, KE5, \
+ KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \
+ KB2, KH6, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \
+ KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \
+ ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \
+ /* 0 */ { ___ , ___ , KC0 , ___ , ___ , KF0 , ___ , ___ , ___ , KJ0 , KK0 , ___ , KM0 , KN0 , KO0 , ___ , KQ0 , KR0 }, \
+ /* 1 */ { ___ , ___ , ___ , ___ , ___ , ___ , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , ___ , KO1 , KP1 , ___ , ___ }, \
+ /* 2 */ { ___ , KB2 , ___ , KD2 , ___ , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , ___ , KO2 , ___ , ___ , ___ }, \
+ /* 3 */ { KA3 , KB3 , ___ , ___ , ___ , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , ___ , KO3 , ___ , ___ , ___ }, \
+ /* 4 */ { ___ , ___ , KC4 , ___ , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , ___ , KO4 , KP4 , KQ4 , KR4 }, \
+ /* 5 */ { ___ , ___ , KC5 , ___ , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , ___ , ___ }, \
+ /* 6 */ { ___ , ___ , KC6 , ___ , ___ , KF6 , KG6 , KH6 , KI6 , KJ6 , KK6 , KL6 , ___ , KN6 , KO6 , ___ , KQ6 , ___ }, \
+ /* 7 */ { ___ , ___ , ___ , ___ , ___ , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , ___ , KP7 , ___ , ___ }, \
+ }
+
+inline void ph_caps_led_on(void) { DDRC |= (1<<6); PORTC &= ~(1<<6); }
+inline void ph_caps_led_off(void) { DDRC &= ~(1<<6); PORTC &= ~(1<<6); }
+
+inline void ph_sclk_led_on(void) { DDRC |= (1<<5); PORTC &= ~(1<<5); }
+inline void ph_sclk_led_off(void) { DDRC &= ~(1<<5); PORTC &= ~(1<<5); }
+
+
+#endif
diff --git a/keyboards/pegasushoof/rules.mk b/keyboards/pegasushoof/rules.mk
new file mode 100644
index 0000000000..b3eeebfdbf
--- /dev/null
+++ b/keyboards/pegasushoof/rules.mk
@@ -0,0 +1,67 @@
+# MCU name
+MCU = atmega32u2
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no # MIDI controls
+AUDIO_ENABLE ?= no # Audio output on port C6
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+
+
+CUSTOM_MATRIX ?= yes
+SRC = matrix.c
diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h
index 983a1d73f2..71a33498b4 100644
--- a/keyboards/phantom/config.h
+++ b/keyboards/phantom/config.h
@@ -63,7 +63,7 @@ along with this program. If not, see .
/* Underlight configuration
*/
#define RGB_DI_PIN E2
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 20 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h
index 4dd1d22a95..5cf96bb88c 100644
--- a/keyboards/planck/config.h
+++ b/keyboards/planck/config.h
@@ -36,6 +36,8 @@ along with this program. If not, see .
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
#define UNUSED_PINS
+#define AUDIO_VOICES
+
#define BACKLIGHT_PIN B7
/* COL2ROW or ROW2COL */
diff --git a/keyboards/planck/keymaps/bone2planck/Makefile b/keyboards/planck/keymaps/bone2planck/Makefile
index 581e08cd02..cf2c31f0fb 100644
--- a/keyboards/planck/keymaps/bone2planck/Makefile
+++ b/keyboards/planck/keymaps/bone2planck/Makefile
@@ -1,4 +1,6 @@
-
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/planck/keymaps/brandon/Makefile b/keyboards/planck/keymaps/brandon/Makefile
index 581e08cd02..cf2c31f0fb 100644
--- a/keyboards/planck/keymaps/brandon/Makefile
+++ b/keyboards/planck/keymaps/brandon/Makefile
@@ -1,4 +1,6 @@
-
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index c89b485a41..4d0151710e 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -109,15 +109,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | Vol- |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F21 | F22 | F23 | F24 | | | Lock | | | | |
+ * | | F21 | F22 | F23 | F24 | | | Power| | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | Prev | Mute | Play | Next | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FUNC] = {
- {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, S(LALT(KC_VOLU))},
- {XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, S(LALT(KC_VOLD))},
- {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, S(LCTL(KC_POWER)), XXXXXXX, XXXXXXX, XXXXXXX, _______},
+ {RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLU},
+ {XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_VOLD},
+ {_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_POWER, XXXXXXX, XXXXXXX, XXXXXXX, _______},
{_______, _______, _______, _______, KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT, _______, _______, _______, _______}
}
diff --git a/keyboards/planck/keymaps/cbbrowne/Makefile b/keyboards/planck/keymaps/cbbrowne/Makefile
index 581e08cd02..b1c70ace70 100644
--- a/keyboards/planck/keymaps/cbbrowne/Makefile
+++ b/keyboards/planck/keymaps/cbbrowne/Makefile
@@ -5,8 +5,8 @@
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
@@ -16,10 +16,11 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+API_SYSEX_ENABLE = yes # Enable SYSEX API (+5390)
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/cbbrowne/config.h b/keyboards/planck/keymaps/cbbrowne/config.h
index 1e04ba61d7..bd15fd5a22 100644
--- a/keyboards/planck/keymaps/cbbrowne/config.h
+++ b/keyboards/planck/keymaps/cbbrowne/config.h
@@ -1,6 +1,9 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
+#define NO_DEBUG
+#define NO_PRINT
+
#include "../../config.h"
#define LEADER_TIMEOUT 300
diff --git a/keyboards/planck/keymaps/cbbrowne/keymap.c b/keyboards/planck/keymaps/cbbrowne/keymap.c
index 7f1601af75..2be4dab4b1 100644
--- a/keyboards/planck/keymaps/cbbrowne/keymap.c
+++ b/keyboards/planck/keymaps/cbbrowne/keymap.c
@@ -62,6 +62,7 @@
- How about Alt-F1 thru Alt-F8?
- What's the keystroke to get from X to console these days?
- A layer for doing console switching would not be a bad idea
+ - I haven't got page-up/page-down, let's have that...
*/
enum layers {
@@ -94,6 +95,7 @@ enum macro_id {
#define SHIFTQUOTE MT(MOD_RSFT, KC_QUOT)
#define ALTRIGHT MT(MOD_LALT, KC_RGHT)
#define MVERSION M(M_VERSION)
+#define ALTSLASH LALT(KC_SLSH)
/* Note that Planck has dimensions 4 rows x 12 columns */
@@ -109,14 +111,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = { /* RAISE */
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
{_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, RESET, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, ALTSLASH,_______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_PGUP}
},
[_LOWER] = { /* LOWER */
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
{_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, RESET, _______},
- {_______, KEYPAD, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QWERTY, KEYPAD, KEYPAD, ALTSLASH, _______},
+ {_______, KEYPAD, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_PGUP}
},
[_KEYPAD] = { /* Key Pad */
{KC_ESC, USERNAME, MVERSION, KC_F10, KC_F11, KC_F12, KC_PGUP, KC_KP_ENTER, KC_7, KC_8, KC_9, KC_BSPC},
diff --git a/keyboards/planck/keymaps/default/Makefile b/keyboards/planck/keymaps/default/Makefile
index 0f4953888d..457a3d01d4 100644
--- a/keyboards/planck/keymaps/default/Makefile
+++ b/keyboards/planck/keymaps/default/Makefile
@@ -1,25 +1,3 @@
-
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = yes # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
ifndef QUANTUM_DIR
include ../../../../Makefile
endif
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index 5f71ae7d19..ddbe4d7b27 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = {
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______},
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
@@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = {
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______},
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
diff --git a/keyboards/planck/keymaps/experimental/config.h b/keyboards/planck/keymaps/experimental/config.h
index 52acd1905e..cc093bee49 100644
--- a/keyboards/planck/keymaps/experimental/config.h
+++ b/keyboards/planck/keymaps/experimental/config.h
@@ -9,7 +9,7 @@
/* ws2812 RGB LED */
#define RGB_DI_PIN B1
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/planck/keymaps/impossible/Makefile b/keyboards/planck/keymaps/impossible/Makefile
index 581e08cd02..cf2c31f0fb 100644
--- a/keyboards/planck/keymaps/impossible/Makefile
+++ b/keyboards/planck/keymaps/impossible/Makefile
@@ -1,4 +1,6 @@
-
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/planck/keymaps/jeebak/Makefile b/keyboards/planck/keymaps/jeebak/Makefile
index 581e08cd02..cf2c31f0fb 100644
--- a/keyboards/planck/keymaps/jeebak/Makefile
+++ b/keyboards/planck/keymaps/jeebak/Makefile
@@ -1,4 +1,6 @@
-
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/planck/keymaps/jeremy-dev/keymap.c b/keyboards/planck/keymaps/jeremy-dev/keymap.c
new file mode 100644
index 0000000000..e7ed09b122
--- /dev/null
+++ b/keyboards/planck/keymaps/jeremy-dev/keymap.c
@@ -0,0 +1,180 @@
+// This is the personal keymap of Jeremy Cowgar (@jcowgar). It is written for the programmer.
+
+// Configuration options
+#define PREVENT_STUCK_MODIFIERS
+
+#include "planck.h"
+#include "action_layer.h"
+#include "eeconfig.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+enum my_layers {
+ ALPH = 0,
+ NUMS,
+ CURS,
+ SYMB,
+ FKEY
+};
+
+// Each macro gets a name for readability.
+enum my_keycodes {
+ MY_ABVE = SAFE_RANGE,
+ MY_BELW,
+ MY_TERM,
+ MY_DEQL, // /=
+ MY_MEQL, // *=
+ MY_SEQL, // -=
+ MY_PEQL, // +=
+ MY_NEQL, // !=
+ MY_LTGT, // <>
+ MY_DPIP, // ||
+ MY_DAMP, // &&
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [ALPH] = {
+ {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P},
+ {KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN},
+ {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH)},
+ {CTL_T(KC_TAB), OSL(FKEY), OSL(NUMS), OSL(SYMB), KC_SPC, ALT_T(KC_BSPC), GUI_T(KC_DELT), KC_ENT, OSL(SYMB), OSL(CURS), TG(CURS), CTL_T(KC_ESC)}
+ },
+ [NUMS] = {
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_COMM, KC_7, KC_8, KC_9, KC_SLSH},
+ {KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, KC_NO, KC_TRNS, KC_TRNS, KC_LPRN, KC_4, KC_5, KC_6, KC_ASTR},
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_RPRN, KC_1, KC_2, KC_3, KC_MINS},
+ {KC_NO, KC_NO, KC_TRNS, TG(NUMS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL, KC_PLUS}
+ },
+ [CURS] = {
+ {KC_MPLY, KC_BSPC, KC_UP, KC_DELT, KC_PGUP, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
+ {KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_NO, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT},
+ {KC_VOLD, KC_NO, MY_ABVE, MY_TERM, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT},
+ {KC_MUTE, KC_NO, MY_BELW, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_NO}
+ },
+ [SYMB] = {
+ {MY_DEQL, MY_MEQL, MY_SEQL, MY_PEQL, MY_NEQL, KC_NO, KC_NO, MY_LTGT, KC_LABK, KC_RABK, KC_COLN, KC_DLR},
+ {KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL, KC_NO, KC_PIPE, MY_DPIP, KC_GRV, KC_QUOT, KC_DQUO, KC_HASH},
+ {KC_BSLS, KC_CIRC, KC_PERC, KC_UNDS, KC_NO, KC_NO, KC_AMPR, MY_DAMP, KC_TILD, KC_AT, KC_EXLM, KC_QUES},
+ {KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO}
+ },
+ [FKEY] = {
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12},
+ {KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8},
+ {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4},
+ {KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO}
+ }
+};
+
+void press_key(uint16_t key) {
+ register_code(key);
+ unregister_code(key);
+}
+
+void press_two_keys(uint16_t key1, uint16_t key2) {
+ register_code(key1);
+ register_code(key2);
+ unregister_code(key2);
+ unregister_code(key1);
+}
+
+void press_three_keys(uint16_t key1, uint16_t key2, uint16_t key3) {
+ register_code(key1);
+ register_code(key2);
+ register_code(key3);
+ unregister_code(key3);
+ unregister_code(key2);
+ unregister_code(key1);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case MY_BELW:
+ if (record->event.pressed) {
+ press_two_keys(KC_LGUI, KC_RGHT);
+ press_key(KC_ENT);
+ }
+
+ return false;
+
+ case MY_ABVE:
+ if (record->event.pressed) {
+ press_two_keys(KC_LGUI, KC_LEFT);
+ press_key(KC_ENT);
+ press_key(KC_UP);
+ }
+
+ return false;
+
+ case MY_TERM:
+ if (record->event.pressed) {
+ press_three_keys(KC_LGUI, KC_LSFT, KC_ENT);
+ }
+
+ return false;
+
+ case MY_DEQL: // /=
+ if (record->event.pressed) {
+ press_key(KC_SLSH);
+ press_key(KC_EQL);
+ }
+
+ return false;
+
+ case MY_MEQL: // *=
+ if (record->event.pressed) {
+ press_two_keys(KC_LSFT, KC_ASTR);
+ press_key(KC_EQL);
+ }
+
+ return false;
+
+ case MY_SEQL: // -=
+ if (record->event.pressed) {
+ press_key(KC_MINS);
+ press_key(KC_EQL);
+ }
+
+ return false;
+
+ case MY_PEQL: // +=
+ if (record->event.pressed) {
+ press_two_keys(KC_LSFT, KC_PLUS);
+ press_key(KC_EQL);
+ }
+
+ return false;
+
+ case MY_NEQL: // !=
+ if (record->event.pressed) {
+ press_two_keys(KC_LSFT, KC_EXLM);
+ press_key(KC_EQL);
+ }
+
+ return false;
+
+ case MY_LTGT: // <>
+ if (record->event.pressed) {
+ press_two_keys(KC_LSFT, KC_LABK);
+ press_two_keys(KC_LSFT, KC_RABK);
+ }
+
+ return false;
+
+ case MY_DPIP: // ||
+ if (record->event.pressed) {
+ press_two_keys(KC_LSFT, KC_PIPE);
+ press_two_keys(KC_LSFT, KC_PIPE);
+ }
+
+ return false;
+
+ case MY_DAMP: // &&
+ if (record->event.pressed) {
+ press_two_keys(KC_LSFT, KC_AMPR);
+ press_two_keys(KC_LSFT, KC_AMPR);
+ }
+
+ return false;
+ }
+
+ return true;
+}
diff --git a/keyboards/planck/keymaps/jeremy-dev/readme.md b/keyboards/planck/keymaps/jeremy-dev/readme.md
new file mode 100644
index 0000000000..b6a402d698
--- /dev/null
+++ b/keyboards/planck/keymaps/jeremy-dev/readme.md
@@ -0,0 +1,85 @@
+Jeremy Cowgar's Planck Keymap
+=============================
+
+I am a programmer by trade and suffer from the beginning stages of RSI. As a programmer, I use letters, symbols and cursor navigation most often. To prevent strange finger gymnastics, I wrote a script to rank which non-letter characters occurred in my primary source projects most often and then placed these characters in the easiest to reach locations, within reason and for me. I made heavy use of momentary layer toggling.
+
+Layers
+------
+
+The key mapping is made up of 5 layers: Letters, Symbols, Navigation, Numbers, and Function Keys.
+
+The layout can be viewed visually at:
+
+http://www.keyboard-layout-editor.com/#/gists/319474e5e2d199e583371ed1d2aec316
+
+* Purple buttons are dual function keys.
+* Green buttons are layer momentary toggle keys.
+* Red buttons are layer persistent toggle keys.
+
+The keys have multiple symbols:
+
+* Upper left: standard layer, the letter layer
+* Upper right: function layer
+* Lower left: navigation layer
+* Lower right: symbol layer
+
+The symbols in the layout editor are not entirely clear.
+
+The Z and ? keys double as shift keys. Hold for a shift, tap for a Z or ?
+
+The bottom row from left to right:
+
+* Tab when pressed, Control when held. It also is the volume mute key when in the "Navigation" layer
+* Function layer momentary toggle
+* Number layer momentary toggle
+* Symbol layer momentary toggle. When in the "Number" layer, this key also makes the "Number" layer sticky for using the 10 key for quite a bit of entry
+* Space
+* Backspace when tapped, Option when held
+* Delete when tapped, Command when held
+* Return
+* Symbol layer momentary toggle. When in the "Number" layer, key also is the zero key.
+* Navigation layer momentary toggle
+* Navigation layer toggle. This was included for when you are browsing a website, document or otherwise wish to stay in navigation mode. When in the "Number" layer, the key is the = symbol
+* Escape when pressed, Control when held. When in the "Number" layer, the key is the + symbol
+
+General Notes
+-------------
+
+The letter layer is separated by 2 center rows of keys. This spreads the hands out a little further which helps not twist the wrists as much. The 2 center rows are [], (), [], and Ctrl and Alt keys.
+
+The symbol layer keys are accessed by the thumbs. They are the closest to the thumbs, instead of the number toggle, because in my code I found I used symbols much more often than numbers. There are two symbol layer keys because the symbols spread across the right and left half of the keyboard. Thus, some symbols are easier hit with the left hand modifier or right hand modifier.
+
+The number layer key is only accessible by the left thumb because all of the number keys are on the right side of the keyboard. When in the number layer, you can press the key to the right to make that layer sticky when you are going to do a lot of number entry.
+
+The function layer key is only accessible by the left thumb because all of the function keys are on the right side of the keyboard.
+
+The navigation layer key is only accessible by the right thumb because all of the navigation keys are on the left side of the keyboard. You can press the key to the right of the navigation layer to make the navigation layer sticky when you are doing a lot of navigation, reading a web page for example.
+
+When using the number or navigation layers, the same hand that accesses the momentary layer toggle key also has the 4 primary modifiers under their home row.
+
+* Pointer finger is control
+* Middle finger is option
+* Ring finger is command
+* Pinky finger is shift
+
+This is so you can easily press Cmd+Shift+F4 or when navigating, select text or words of text by pressing Shift+Control, for example.
+
+Some keys are duplicated. For example, () are available in easy to reach locations while in the Number layer because they are often used in math.
+
+The symbol layer has additional helpers for programming including a single keys that enter /=, \*=, -=, +=, !=, <>, ||, and &&. It also includes three special Return keys on the left:
+
+* Up CR which moves the cursor up, to the end of the line and then presses CR
+* Down CR which moves the cursor to the end of the line and then presses CR
+* Right ; which moves the cursor to the end of the line and presses ; for C styled languages, such as JavaScript which is a primary language I use
+
+Word of Warning
+---------------
+
+I have been using the keymap for some time now and believe it to be a good keymap. There are a few things through the week that I wonder if it would have been better if this key were moved to that location.
+
+This keymap may change for further optimization.
+
+Please Give Feedback!
+---------------------
+
+I am very interested in your feedback. Send me a message here on GitHub, r/jcowgar or @jcowgar.
diff --git a/keyboards/planck/keymaps/jhenahan/Makefile b/keyboards/planck/keymaps/jhenahan/Makefile
index de01ad2404..83da2a7f89 100644
--- a/keyboards/planck/keymaps/jhenahan/Makefile
+++ b/keyboards/planck/keymaps/jhenahan/Makefile
@@ -1,4 +1,6 @@
-
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/planck/keymaps/joe/Makefile b/keyboards/planck/keymaps/joe/Makefile
index 581e08cd02..b2ca419445 100644
--- a/keyboards/planck/keymaps/joe/Makefile
+++ b/keyboards/planck/keymaps/joe/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -22,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/leo/Makefile b/keyboards/planck/keymaps/leo/Makefile
index 581e08cd02..b2ca419445 100644
--- a/keyboards/planck/keymaps/leo/Makefile
+++ b/keyboards/planck/keymaps/leo/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -22,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/lucas/Makefile b/keyboards/planck/keymaps/lucas/Makefile
index 581e08cd02..b2ca419445 100644
--- a/keyboards/planck/keymaps/lucas/Makefile
+++ b/keyboards/planck/keymaps/lucas/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -22,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/mollat/Makefile b/keyboards/planck/keymaps/mollat/Makefile
index 581e08cd02..b2ca419445 100644
--- a/keyboards/planck/keymaps/mollat/Makefile
+++ b/keyboards/planck/keymaps/mollat/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -22,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/nico/Makefile b/keyboards/planck/keymaps/nico/Makefile
index 581e08cd02..b2ca419445 100644
--- a/keyboards/planck/keymaps/nico/Makefile
+++ b/keyboards/planck/keymaps/nico/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -22,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/premek/Makefile b/keyboards/planck/keymaps/premek/Makefile
index 0f4953888d..b2ca419445 100644
--- a/keyboards/planck/keymaps/premek/Makefile
+++ b/keyboards/planck/keymaps/premek/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
diff --git a/keyboards/planck/keymaps/priyadi/Makefile b/keyboards/planck/keymaps/priyadi/Makefile
new file mode 100644
index 0000000000..d9d4f3d1d7
--- /dev/null
+++ b/keyboards/planck/keymaps/priyadi/Makefile
@@ -0,0 +1,25 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+UNICODEMAP_ENABLE = yes # Unicode map
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+API_SYSEX_ENABLE = no
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/planck/keymaps/priyadi/keymap.c b/keyboards/planck/keymaps/priyadi/keymap.c
new file mode 100644
index 0000000000..f0dafebf3f
--- /dev/null
+++ b/keyboards/planck/keymaps/priyadi/keymap.c
@@ -0,0 +1,492 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "planck.h"
+#include "action_layer.h"
+#ifdef AUDIO_ENABLE
+ #include "audio.h"
+ #include "musical_notes.h"
+#endif
+#include "eeconfig.h"
+#include "process_unicode.h"
+#include "quantum.h"
+
+extern keymap_config_t keymap_config;
+
+enum layers {
+ _QWERTY,
+ _COLEMAK,
+ _WORKMAN,
+ _PUNC,
+ _NUM,
+ _FUNC,
+ _EMOJI,
+ _GUI,
+};
+
+enum planck_keycodes {
+ // layouts
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ WORKMAN,
+
+ // layer switchers
+ PUNC,
+ NUM,
+ FUNC,
+ EMOJI,
+ GUI,
+
+ // os switchers
+ LINUX,
+ WIN,
+ OSX,
+};
+
+// Fillers to make layering clearer
+
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+// unicode map
+
+enum unicode_name {
+ GRIN, // grinning face 😊
+ TJOY, // tears of joy 😂
+ SMILE, // grining face with smiling eyes 😁
+ HEART, // heart ❤
+ EYERT, // smiling face with heart shaped eyes 😍
+ CRY, // crying face 😭
+ SMEYE, // smiling face with smiling eyes 😊
+ UNAMU, // unamused 😒
+ KISS, // kiss 😘
+ HART2, // two hearts 💕
+ WEARY, // weary 😩
+ OKHND, // ok hand sign 👌
+ PENSV, // pensive 😔
+ SMIRK, // smirk 😏
+ RECYC, // recycle ♻
+ WINK, // wink 😉
+ THMUP, // thumb up 👍
+ THMDN, // thumb down 👎
+ PRAY, // pray 🙏
+ PHEW, // relieved 😌
+ MUSIC, // musical notes
+ FLUSH, // flushed 😳
+ CELEB, // celebration 🙌
+ CRY2, // crying face 😢
+ COOL, // smile with sunglasses 😎
+ NOEVS, // see no evil
+ NOEVH, // hear no evil
+ NOEVK, // speak no evil
+ POO, // pile of poo
+ EYES, // eyes
+ VIC, // victory hand
+ BHART, // broken heart
+ SLEEP, // sleeping face
+ SMIL2, // smiling face with open mouth & sweat
+ HUNRD, // 100
+ CONFU, // confused
+ TONGU, // face with tongue & winking eye
+ DISAP, // disappointed
+ YUMMY, // face savoring delicious food
+ CLAP, // hand clapping
+ FEAR, // face screaming in fear
+ HORNS, // smiling face with horns
+ HALO, // smiling face with halo
+ BYE, // waving hand
+ SUN, // sun
+ MOON, // moon
+ SKULL, // skull
+};
+
+const uint32_t PROGMEM unicode_map[] = {
+ [GRIN] = 0x1F600,
+ [TJOY] = 0x1F602,
+ [SMILE] = 0x1F601,
+ [HEART] = 0x2764,
+ [EYERT] = 0x1f60d,
+ [CRY] = 0x1f62d,
+ [SMEYE] = 0x1F60A,
+ [UNAMU] = 0x1F612,
+ [KISS] = 0x1F618,
+ [HART2] = 0x1F495,
+ [WEARY] = 0x1F629,
+ [OKHND] = 0x1F44C,
+ [PENSV] = 0x1F614,
+ [SMIRK] = 0x1F60F,
+ [RECYC] = 0x267B,
+ [WINK] = 0x1F609,
+ [THMUP] = 0x1F44D,
+ [THMDN] = 0x1F44E,
+ [PRAY] = 0x1F64F,
+ [PHEW] = 0x1F60C,
+ [MUSIC] = 0x1F3B6,
+ [FLUSH] = 0x1F633,
+ [CELEB] = 0x1F64C,
+ [CRY2] = 0x1F622,
+ [COOL] = 0x1F60E,
+ [NOEVS] = 0x1F648,
+ [NOEVH] = 0x1F649,
+ [NOEVK] = 0x1F64A,
+ [POO] = 0x1F4A9,
+ [EYES] = 0x1F440,
+ [VIC] = 0x270C,
+ [BHART] = 0x1F494,
+ [SLEEP] = 0x1F634,
+ [SMIL2] = 0x1F605,
+ [HUNRD] = 0x1F4AF,
+ [CONFU] = 0x1F615,
+ [TONGU] = 0x1F61C,
+ [DISAP] = 0x1F61E,
+ [YUMMY] = 0x1F60B,
+ [CLAP] = 0x1F44F,
+ [FEAR] = 0x1F631,
+ [HORNS] = 0x1F608,
+ [HALO] = 0x1F607,
+ [BYE] = 0x1F44B,
+ [SUN] = 0x2600,
+ [MOON] = 0x1F314,
+ [SKULL] = 0x1F480,
+};
+
+
+// hybrid shift - =
+// #undef KC_LSFT
+// #define KC_LSFT MT(MOD_LSFT, KC_MINS)
+// #undef KC_RSFT
+// #define KC_RSFT MT(MOD_LSFT, KC_EQL)
+
+
+// hybrid right-gui & scroll lock (mapped to Compose in OS)
+#undef KC_RCTL
+#define KC_RCTL MT(MOD_LCTL, KC_SLCK)
+
+// keymaps
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; |Enter |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = {
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT },
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
+ {KC_LCTL, KC_LGUI, KC_LALT, PUNC, NUM, KC_SPC, KC_SPC, FUNC, EMOJI, KC_RALT, KC_RGUI, KC_RCTL}
+},
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O |Enter |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = {
+ {_______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______},
+ {_______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, _______},
+ {_______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+},
+
+/* Workman
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_WORKMAN] = {
+ {_______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______},
+ {_______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______},
+ {_______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+},
+
+/* Punc
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ` |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | \ | - | = | < | > | ( | ) | ' | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | _ | + | { | } | [ | ] | " | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_PUNC] = {
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_GRV },
+ {XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_QUOT, XXXXXXX, XXXXXXX},
+ {XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_DQUO, XXXXXXX, XXXXXXX},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+},
+
+/* Num
+ * ,-----------------------------------------------------------------------------------.
+ * | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | @ | A | B | C | ( | ) | 4 | 5 | 6 | : |Enter |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | & | # | D | E | F | [ | ] | 1 | 2 | 3 | / | * |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | x | | | 0 | , | . | + | - |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_NUM] = {
+ {KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ { KC_ESC, KC_AT, S(KC_A), S(KC_B), S(KC_C), KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_COLN, KC_ENT},
+ {KC_AMPR, KC_HASH, S(KC_D), S(KC_E), S(KC_F), KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, KC_SLSH, KC_ASTR},
+ {_______, _______, _______, KC_X, _______, KC_SPC, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_PLUS, KC_MINS}
+},
+
+/* Func
+ * ,-----------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | | | PgUp | Up | PgDn | PgUp | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | Ins |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F9 | F10 | F11 | F12 | | | | Home | End | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FUNC] = {
+ {XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL},
+ {XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8,KC_PSCREEN,XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_INS},
+ {_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+},
+
+/* Emoji
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_EMOJI] = {
+ {X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW)},
+ {X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS)},
+ {X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH)},
+ { X(POO), X(EYES),X(HUNRD), _______,X(SKULL),X(HORNS), X(HALO), X(FEAR), _______,X(YUMMY),X(DISAP),X(NOEVK)}
+},
+
+/* GUI
+ * ,-----------------------------------------------------------------------------------.
+ * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |Linux | | Vol- | Mute | Vol+ | | | D- | | D+ | |Qwerty|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Win | | Prev | Play | Next | | | | | | |Colmak|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | OSX | | | | | BL- | BL+ | | | | |Workmn|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_GUI] = {
+ {_______, LGUI(KC_1),LGUI(KC_2),LGUI(KC_3),LGUI(KC_4),LGUI(KC_5),LGUI(KC_6),LGUI(KC_7),LGUI(KC_8),LGUI(KC_9),LGUI(KC_0), _______},
+ { LINUX, _______, KC_VOLD, KC_MUTE, KC_VOLU,_______,_______,KC_WWW_BACK,_______,KC_WWW_FORWARD,_______, QWERTY},
+ { WIN, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, COLEMAK},
+ { OSX, _______, _______, _______, _______, BL_DEC, BL_INC, _______, _______, _______, _______, WORKMAN}
+},
+
+};
+
+#ifdef AUDIO_ENABLE
+float tone_startup[][2] = SONG(STARTUP_SOUND);
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
+float tone_workman[][2] = SONG(DVORAK_SOUND);
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+float tone_linux[][2] = SONG(CAPS_LOCK_ON_SOUND);
+float tone_windows[][2] = SONG(SCROLL_LOCK_ON_SOUND);
+float tone_osx[][2] = SONG(NUM_LOCK_ON_SOUND);
+float tone_click[][2] = SONG(MUSICAL_NOTE(_F3, 2));
+float tone_release[][2] = SONG(MUSICAL_NOTE(_A3, 2));
+#endif
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // faux clicky
+ // if (record->event.pressed) PLAY_NOTE_ARRAY(tone_click, false, 0);
+ #ifdef AUDIO_ENABLE
+ if (record->event.pressed) {
+ PLAY_NOTE_ARRAY(tone_click, false, 0);
+ } else {
+ PLAY_NOTE_ARRAY(tone_release, false, 0);
+ }
+ #endif
+
+ switch (keycode) {
+ // QWERTZ style comma and dot: semicolon and colon when shifted
+ case KC_COMM:
+ if (record->event.pressed) {
+ bool lshifted = keyboard_report->mods & MOD_BIT(KC_LSFT);
+ bool rshifted = keyboard_report->mods & MOD_BIT(KC_RSFT);
+ if (lshifted || rshifted) {
+ if (lshifted) unregister_code(KC_LSFT);
+ if (rshifted) unregister_code(KC_RSFT);
+ register_code(KC_SCLN);
+ unregister_code(KC_SCLN);
+ if (lshifted) register_code(KC_LSFT);
+ if (rshifted) register_code(KC_RSFT);
+ } else {
+ register_code(KC_COMM);
+ unregister_code(KC_COMM);
+ }
+ }
+ return false;
+ break;
+ case KC_DOT:
+ if (record->event.pressed) {
+ if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT))) {
+ register_code(KC_SCLN);
+ unregister_code(KC_SCLN);
+ } else {
+ register_code(KC_DOT);
+ unregister_code(KC_DOT);
+ }
+ }
+ return false;
+ break;
+
+ // layout switcher
+ case QWERTY:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_colemak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case WORKMAN:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_workman, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_WORKMAN);
+ }
+ return false;
+ break;
+
+ // layer switchers
+ case PUNC:
+ if (record->event.pressed) {
+ layer_on(_PUNC);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ } else {
+ layer_off(_PUNC);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ }
+ return false;
+ break;
+ case EMOJI:
+ if (record->event.pressed) {
+ layer_on(_EMOJI);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ } else {
+ layer_off(_EMOJI);
+ update_tri_layer(_PUNC, _EMOJI, _GUI);
+ }
+ return false;
+ break;
+ case NUM:
+ if (record->event.pressed) {
+ layer_on(_NUM);
+ } else {
+ layer_off(_NUM);
+ }
+ return false;
+ break;
+ case FUNC:
+ if (record->event.pressed) {
+ layer_on(_FUNC);
+ } else {
+ layer_off(_FUNC);
+ }
+ return false;
+ break;
+
+ // OS switchers
+ case LINUX:
+ set_unicode_input_mode(UC_LNX);
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_linux, false, 0);
+ #endif
+ return false;
+ break;
+ case WIN:
+ set_unicode_input_mode(UC_WINC);
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_windows, false, 0);
+ #endif
+ return false;
+ break;
+ case OSX:
+ set_unicode_input_mode(UC_OSX);
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_osx, false, 0);
+ #endif
+ return false;
+ break;
+ }
+ return true;
+}
+
+void matrix_init_user(void) {
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
+ set_unicode_input_mode(UC_LNX);
+}
+
+#ifdef AUDIO_ENABLE
+
+void startup_user()
+{
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+}
+
+void shutdown_user()
+{
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+#endif
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/priyadi/readme.md b/keyboards/planck/keymaps/priyadi/readme.md
new file mode 100644
index 0000000000..99bdd9d9b6
--- /dev/null
+++ b/keyboards/planck/keymaps/priyadi/readme.md
@@ -0,0 +1,11 @@
+# Priyadi's Planck Layout
+
+Features:
+
+- Supports QWERTY, Colemak and Workman layouts.
+- Cursor and nav cluster on home row.
+- Hybrid number row and numpad, located on home row.
+- Number layer supports hexadecimal input.
+- Left and right side modifiers.
+- Emoji layer. An entire layer filled with common emojis.
+- Faux-clickey (poor man's replacement for Cherry blue switches)
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/pvc/Makefile b/keyboards/planck/keymaps/pvc/Makefile
index b2ff961fa5..c92ca1bffa 100644
--- a/keyboards/planck/keymaps/pvc/Makefile
+++ b/keyboards/planck/keymaps/pvc/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
@@ -21,4 +24,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/sgoodwin/Makefile b/keyboards/planck/keymaps/sgoodwin/Makefile
index 581e08cd02..9081c6d3ec 100644
--- a/keyboards/planck/keymaps/sgoodwin/Makefile
+++ b/keyboards/planck/keymaps/sgoodwin/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -16,10 +19,11 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+API_SYSEX_ENABLE = no # Disable extra stuff for ergodoxen
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/tak3over/Makefile b/keyboards/planck/keymaps/tak3over/Makefile
index 581e08cd02..b2ca419445 100644
--- a/keyboards/planck/keymaps/tak3over/Makefile
+++ b/keyboards/planck/keymaps/tak3over/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
@@ -22,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/planck/keymaps/thermal_printer/Makefile b/keyboards/planck/keymaps/thermal_printer/Makefile
new file mode 100644
index 0000000000..9477d1179a
--- /dev/null
+++ b/keyboards/planck/keymaps/thermal_printer/Makefile
@@ -0,0 +1,29 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
+
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+PRINTING_ENABLE = yes
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/planck/keymaps/thermal_printer/config.h b/keyboards/planck/keymaps/thermal_printer/config.h
new file mode 100644
index 0000000000..430b6493cf
--- /dev/null
+++ b/keyboards/planck/keymaps/thermal_printer/config.h
@@ -0,0 +1,23 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+# define SERIAL_UART_BAUD 19200
+# define SERIAL_UART_DATA UDR1
+# define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
+# define SERIAL_UART_RXD_VECT USART1_RX_vect
+# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
+# define SERIAL_UART_INIT() do { \
+ /* baud rate */ \
+ UBRR1L = SERIAL_UART_UBRR; \
+ /* baud rate */ \
+ UBRR1H = SERIAL_UART_UBRR >> 8; \
+ /* enable TX */ \
+ UCSR1B = _BV(TXEN1); \
+ /* 8-bit data */ \
+ UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
+ sei(); \
+ } while(0)
+
+ #endif
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/thermal_printer/keymap.c b/keyboards/planck/keymaps/thermal_printer/keymap.c
new file mode 100644
index 0000000000..e880597319
--- /dev/null
+++ b/keyboards/planck/keymaps/thermal_printer/keymap.c
@@ -0,0 +1,314 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "planck.h"
+#include "action_layer.h"
+#ifdef AUDIO_ENABLE
+ #include "audio.h"
+#endif
+#include "eeconfig.h"
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QWERTY 0
+#define _COLEMAK 1
+#define _DVORAK 2
+#define _LOWER 3
+#define _RAISE 4
+#define _PLOVER 5
+#define _ADJUST 16
+
+enum planck_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+ PLOVER,
+ LOWER,
+ RAISE,
+ BACKLIT,
+ EXT_PLV
+};
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = {
+ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
+ {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = {
+ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
+ {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
+ {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
+ {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | O | E | U | I | D | H | T | N | S | / |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = {
+ {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
+ {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
+ {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
+ {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = {
+ {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+ {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = {
+ {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
+ {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
+ {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Plover layer (http://opensteno.org)
+ * ,-----------------------------------------------------------------------------------.
+ * | # | # | # | # | # | # | # | # | # | # | # | # |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | S | T | P | H | * | * | F | P | L | T | D |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |TogOut| S | K | W | R | * | * | R | B | G | S | Z |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Exit | | | A | O | | E | U | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_PLOVER] = {
+ {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
+ {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC},
+ {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
+ {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
+},
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| | Print|no prnt | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = {
+ {_______, RESET, _______, PRINT_ON, PRINT_OFF, _______, _______, _______, _______, _______, _______, KC_DEL},
+ {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______},
+ {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+}
+
+
+};
+
+#ifdef AUDIO_ENABLE
+
+float tone_startup[][2] = SONG(STARTUP_SOUND);
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_dvorak[][2] = SONG(DVORAK_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
+float tone_plover[][2] = SONG(PLOVER_SOUND);
+float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_colemak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_DVORAK);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case BACKLIT:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ return false;
+ break;
+ case PLOVER:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ stop_all_notes();
+ PLAY_NOTE_ARRAY(tone_plover, false, 0);
+ #endif
+ layer_off(_RAISE);
+ layer_off(_LOWER);
+ layer_off(_ADJUST);
+ layer_on(_PLOVER);
+ if (!eeconfig_is_enabled()) {
+ eeconfig_init();
+ }
+ keymap_config.raw = eeconfig_read_keymap();
+ keymap_config.nkro = 1;
+ eeconfig_update_keymap(keymap_config.raw);
+ }
+ return false;
+ break;
+ case EXT_PLV:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_plover_gb, false, 0);
+ #endif
+ layer_off(_PLOVER);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+void matrix_init_user(void) {
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
+}
+
+#ifdef AUDIO_ENABLE
+
+void startup_user()
+{
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+}
+
+void shutdown_user()
+{
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+void music_on_user(void)
+{
+ music_scale_user();
+}
+
+void music_scale_user(void)
+{
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
+}
+
+#endif
diff --git a/keyboards/planck/keymaps/thermal_printer/readme.md b/keyboards/planck/keymaps/thermal_printer/readme.md
new file mode 100644
index 0000000000..de9680b498
--- /dev/null
+++ b/keyboards/planck/keymaps/thermal_printer/readme.md
@@ -0,0 +1,2 @@
+# The Default Planck Layout
+
diff --git a/keyboards/planck/keymaps/vifon/Makefile b/keyboards/planck/keymaps/vifon/Makefile
index 838cb4e885..53660a2e76 100644
--- a/keyboards/planck/keymaps/vifon/Makefile
+++ b/keyboards/planck/keymaps/vifon/Makefile
@@ -1,3 +1,6 @@
+# Please remove if no longer applicable
+$(warning THIS FILE MAY BE TOO LARGE FOR YOUR KEYBOARD)
+$(warning Please disable some options in the Makefile to resolve)
# Build Options
diff --git a/keyboards/planck/keymaps/yang/config.h b/keyboards/planck/keymaps/yang/config.h
index feb5a11901..4ed19d76f9 100644
--- a/keyboards/planck/keymaps/yang/config.h
+++ b/keyboards/planck/keymaps/yang/config.h
@@ -5,7 +5,7 @@
/* ws2812 RGB LED */
#define RGB_DI_PIN D1
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 28 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/planck/out.txt b/keyboards/planck/out.txt
deleted file mode 100644
index 644a6a7774..0000000000
--- a/keyboards/planck/out.txt
+++ /dev/null
@@ -1,66 +0,0 @@
--------- begin --------
-avr-gcc.exe (AVR_8_bit_GNU_Toolchain_3.5.0_1662) 4.9.2
-Copyright (C) 2014 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-Compiling: ../../keyboards/planck/planck.c [32;01m[OK][0m
-Compiling: ../../keyboards/planck/keymaps/experimental/keymap.c [33;01m[WARNINGS][0m
- |
- | ../../keyboards/planck/keymaps/experimental/keymap.c: In function 'action_get_macro':
- | ../../keyboards/planck/keymaps/experimental/keymap.c:227:17: warning: implicit declaration of function 'breathing_speed_set' [-Wimplicit-function-declaration]
- | breathing_speed_set(2);
- | ^
- | ../../keyboards/planck/keymaps/experimental/keymap.c:228:17: warning: implicit declaration of function 'breathing_pulse' [-Wimplicit-function-declaration]
- | breathing_pulse();
- | ^
- |
-Compiling: ../../quantum/quantum.c [32;01m[OK][0m
-Compiling: ../../quantum/keymap.c [32;01m[OK][0m
-Compiling: ../../quantum/keycode_config.c [32;01m[OK][0m
-Compiling: ../../quantum/matrix.c [32;01m[OK][0m
-Compiling: ../../quantum/audio/audio.c [32;01m[OK][0m
-Compiling: ../../quantum/audio/voices.c [32;01m[OK][0m
-Compiling: ../../quantum/audio/luts.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/lufa.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/descriptor.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Class/Common/HIDParser.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Device_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/EndpointStream_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Endpoint_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/PipeStream_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/ConfigDescriptors.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/DeviceStandardReq.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/Events.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/HostStandardReq.c [32;01m[OK][0m
-Compiling: ../../tmk_core/protocol/lufa/LUFA-git/LUFA/Drivers/USB/Core/USBTask.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/host.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/keyboard.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/action.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/action_tapping.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/action_macro.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/action_layer.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/action_util.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/print.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/debug.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/util.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/avr/suspend.c [32;01m[OK][0m
-Assembling: ../../tmk_core/common/avr/xprintf.S [32;01m[OK][0m
-Compiling: ../../tmk_core/common/avr/timer.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/avr/bootloader.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/magic.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/avr/eeconfig.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/mousekey.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/command.c [32;01m[OK][0m
-Compiling: ../../tmk_core/common/backlight.c [32;01m[OK][0m
-Linking: .build/planck_experimental.elf [31;01m[ERRORS][0m
- |
- | .build/obj_planck_experimental/keyboards/planck/keymaps/experimental/keymap.o: In function `action_get_macro':
- | C:\Users\Fred Wales\Documents\Programming\qmk_firmware\keyboards\planck/../../keyboards/planck/keymaps/experimental/keymap.c:240: undefined reference to `breathing_speed_set'
- | C:\Users\Fred Wales\Documents\Programming\qmk_firmware\keyboards\planck/../../keyboards/planck/keymaps/experimental/keymap.c:241: undefined reference to `breathing_pulse'
- | collect2.exe: error: ld returned 1 exit status
- |
diff --git a/keyboards/planck/planck.c b/keyboards/planck/planck.c
index 645b450d1d..3980b02f50 100644
--- a/keyboards/planck/planck.c
+++ b/keyboards/planck/planck.c
@@ -16,4 +16,4 @@ void matrix_init_kb(void) {
PORTE |= (1<<6);
matrix_init_user();
-}
\ No newline at end of file
+}
diff --git a/keyboards/planck/rules.mk b/keyboards/planck/rules.mk
index 25db53a315..4423d422f6 100644
--- a/keyboards/planck/rules.mk
+++ b/keyboards/planck/rules.mk
@@ -51,17 +51,18 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
CONSOLE_ENABLE ?= no # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
+COMMAND_ENABLE ?= no # Commands for debug and configuration
NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
-MIDI_ENABLE ?= no # MIDI controls
-AUDIO_ENABLE ?= no # Audio output on port C6
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+MIDI_ENABLE ?= yes # MIDI controls
+AUDIO_ENABLE ?= yes # Audio output on port C6
UNICODE_ENABLE ?= no # Unicode
BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
\ No newline at end of file
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
diff --git a/keyboards/preonic/config.h b/keyboards/preonic/config.h
index 3fb978c2f6..239c29ebf9 100644
--- a/keyboards/preonic/config.h
+++ b/keyboards/preonic/config.h
@@ -37,6 +37,8 @@ along with this program. If not, see .
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
#define UNUSED_PINS
+#define AUDIO_VOICES
+
#define BACKLIGHT_PIN B7
/* COL2ROW or ROW2COL */
@@ -63,7 +65,7 @@ along with this program. If not, see .
/* ws2812 RGB LED */
#define RGB_DI_PIN D1
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 28 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/preonic/keymaps/default/Makefile b/keyboards/preonic/keymaps/default/Makefile
index 581e08cd02..3d4659ceb9 100644
--- a/keyboards/preonic/keymaps/default/Makefile
+++ b/keyboards/preonic/keymaps/default/Makefile
@@ -1,25 +1,3 @@
-
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = yes # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
ifndef QUANTUM_DIR
include ../../../../Makefile
endif
\ No newline at end of file
diff --git a/keyboards/preonic/keymaps/jacwib/config.h b/keyboards/preonic/keymaps/jacwib/config.h
index 23e9e0ed28..b988831207 100644
--- a/keyboards/preonic/keymaps/jacwib/config.h
+++ b/keyboards/preonic/keymaps/jacwib/config.h
@@ -4,5 +4,6 @@
#include "../../config.h"
#define FORCE_NKRO 1
+#define PREVENT_STUCK_MODIFIERS
#endif
diff --git a/keyboards/preonic/keymaps/jacwib/keymap.c b/keyboards/preonic/keymaps/jacwib/keymap.c
index cf441bf309..72ccc86cd2 100644
--- a/keyboards/preonic/keymaps/jacwib/keymap.c
+++ b/keyboards/preonic/keymaps/jacwib/keymap.c
@@ -13,13 +13,18 @@
#define _QWERTY 0
#define _LOWER 3
#define _RAISE 4
+#define _MQWERTY 5
+#define _MLOWER 8
+#define _MRAISE 9
#define _ADJUST 16
enum preonic_keycodes {
QWERTY = SAFE_RANGE,
LOWER,
RAISE,
- BACKLIT
+ MQWERTY,
+ MLOWER,
+ MRAISE
};
// Fillers to make layering more clear
@@ -38,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| < | Z | X | C | V | B | N | M | . | , | - |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt |AltGr |Lower | Space| Enter|Raise | Left | Down | Up |Right |
+ * | Ctrl | Alt | GUI |AltGr |Lower | Space| Enter|Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = {
@@ -46,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AM },
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_AE, NO_OSLH},
{KC_LSFT, NO_LESS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, NO_MINS},
- {KC_LCTL, KC_LGUI, KC_LALT, NO_ALGR, LOWER, KC_SPC, KC_ENT, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+ {KC_LCTL, KC_LALT, KC_LGUI, NO_ALGR, LOWER, KC_SPC, KC_ENT, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
/* Lower
@@ -59,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | |VolDwn| | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | |Bspc | | | | | |
+ * | | | | | | |Bspc | | |PgDn |PgUp | |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = {
@@ -67,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, NO_TILD},
{_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, LSFT(KC_BSLS)},
{_______, NO_PIPE, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, KC_BSPC, _______, _______, _______, _______, _______}
+ {_______, _______, _______, _______, _______, _______, KC_BSPC, _______, _______, KC_PGDN, KC_PGUP, _______}
},
/* Raise
@@ -76,11 +81,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | |Mouse^| | | | |ScrlUp| | | ^ |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | |Mouse<|MouseV|Mouse>| | |MLC |MMC |MRC | ' | " |
+ * | | |Mouse<|MouseV|Mouse>| | |MLC |MMC |MRC | ' | ¨ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | > | | | | | | |ScrlDown| : | ; | _ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | |Bspc | | | | | | |
+ * | | | | | |Bspc | | | | PgDn | PgUp | |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = {
@@ -88,7 +93,70 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{_______, _______, _______, KC_MS_U, _______, _______, _______, _______, KC_WH_U, _______, _______, NO_CIRC},
{_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, NO_APOS, NO_QUOT},
{_______, NO_GRTR, _______, _______, _______, _______, _______, _______, KC_WH_D, NO_COLN, NO_SCLN, NO_UNDS},
- {_______, _______, _______, _______, _______, KC_BSPC, _______, _______, _______, _______, _______, _______}
+ {_______, _______, _______, _______, _______, KC_BSPC, _______, _______, _______, KC_PGDN, KC_PGUP, _______}
+},
+
+/* Mac Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | Å |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | H | J | K | L | Ö | Ä |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| < | Z | X | C | V | B | N | M | . | , | - |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt | GUI |AltGr |Lower | Space| Enter|Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_MQWERTY] = {
+ {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS, KC_BSPC},
+ {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AM },
+ {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_AE, NO_OSLH},
+ {KC_LSFT, NO_LESS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, NO_MINS},
+ {KC_LCTL, KC_LALT, KC_LGUI, NO_ALGR, MLOWER, KC_SPC, KC_ENT, MRAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
+},
+
+/* Mac Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | | @ | £ | $ | | | { | [ | ] | } | \ | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | |VolUp | | | ~ |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | |LastS |PauseP|NextS | | * |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | |VolDwn| | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | |Bspc | | |PgDn |PgUp | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_MLOWER] = {
+ {_______, NO_AT, NO_PND, NO_DLR, _______, _______, LSFT(LALT(KC_8)), NO_LBRC, NO_RBRC, LSFT(LALT(KC_9)), LSFT(LALT(KC_7)), KC_DEL},
+ {_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, NO_TILD},
+ {_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, LSFT(KC_BSLS)},
+ {_______, NO_LBRC, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______},
+ {_______, _______, _______, _______, _______, _______, KC_BSPC, _______, _______, KC_PGDN, KC_PGUP, _______}
+},
+
+/* Mac Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ! | " | # | ¤ | % | & | / | ( | ) | = | ? | Ins |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | |Mouse^| | | | |ScrlUp| | | ^ |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | |Mouse<|MouseV|Mouse>| | |MLC |MMC |MRC | ' | ¨ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | > | | | | | | |ScrlDown| : | ; | _ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | |Bspc | | | | PgDn | PgUp | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_MRAISE] = {
+ {LSFT(KC_1),NO_QUO2,LSFT(KC_3), NO_BULT,LSFT(KC_5), NO_AMPR, NO_SLSH, NO_LPRN, NO_RPRN, NO_EQL, NO_QUES, KC_INS},
+ {_______, _______, _______, KC_MS_U, _______, _______, _______, _______, KC_WH_U, _______, _______, NO_CIRC},
+ {_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, NO_APOS, NO_QUOT},
+ {_______, NO_GRTR, _______, _______, _______, _______, _______, _______, KC_WH_D, NO_COLN, NO_SCLN, NO_UNDS},
+ {_______, _______, _______, _______, _______, KC_BSPC, _______, _______, _______, KC_PGDN, KC_PGUP, _______}
},
/* Adjust (Lower + Raise)
@@ -97,18 +165,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | Reset| | | | | | | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | |Rsft |
+ * | | | | | | | | | | | |Rshift|
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |MusOn |MusOff| | | | | | | | | Reset|
+ * | |MusOn |MusOff| | | | |NrmMode|MacMode| | | Reset|
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
+ * | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = {
{KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
{_______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT},
- {_______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, RESET },
+ {_______, MU_ON, MU_OFF, _______, _______, _______, _______, TO(0), TO(5), _______, _______, RESET },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
}
@@ -117,14 +185,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef AUDIO_ENABLE
float tone_startup[][2] = {
- {NOTE_B5, 20},
- {NOTE_B6, 8},
- {NOTE_DS6, 20},
- {NOTE_B6, 8}
+ {NOTE_D5, 8},
+ {NOTE_E6, 8},
+ {NOTE_D6, 8},
+ {NOTE_E5, 8}
};
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-
float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
@@ -139,9 +205,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
- #endif
persistant_default_layer_set(1UL<<_QWERTY);
}
return false;
@@ -166,14 +229,29 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
- case BACKLIT:
+ case MQWERTY:
if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
+ persistant_default_layer_set(1UL<<_MQWERTY);
+ }
+ return false;
+ break;
+ case MLOWER:
+ if (record->event.pressed) {
+ layer_on(_MLOWER);
+ update_tri_layer(_MLOWER, _MRAISE, _ADJUST);
} else {
- unregister_code(KC_RSFT);
+ layer_off(_MLOWER);
+ update_tri_layer(_MLOWER, _MRAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case MRAISE:
+ if (record->event.pressed) {
+ layer_on(_MRAISE);
+ update_tri_layer(_MLOWER, _MRAISE, _ADJUST);
+ } else {
+ layer_off(_MRAISE);
+ update_tri_layer(_MLOWER, _MRAISE, _ADJUST);
}
return false;
break;
diff --git a/keyboards/preonic/keymaps/jacwib/readme.md b/keyboards/preonic/keymaps/jacwib/readme.md
index 0660312353..8658d6cdd7 100644
--- a/keyboards/preonic/keymaps/jacwib/readme.md
+++ b/keyboards/preonic/keymaps/jacwib/readme.md
@@ -1,3 +1,15 @@
# Jacwib's preonic keymap.
Designed for use with a swedish language.
+
+Version 1.1:
+
+Added PgUp and PgDn keys.
+
+Also added "Mac mode". Unsure if it even works. Might however be able to test soon.
+
+Version 1.2:
+
+Changed around alt and super keys.
+
+Made "Mac mode" function, and tested it! (It works)
diff --git a/keyboards/preonic/keymaps/kinesis/config.h b/keyboards/preonic/keymaps/kinesis/config.h
index 086baa84ff..e6099ceb82 100644
--- a/keyboards/preonic/keymaps/kinesis/config.h
+++ b/keyboards/preonic/keymaps/kinesis/config.h
@@ -63,7 +63,7 @@ along with this program. If not, see .
/* ws2812 RGB LED */
#define RGB_DI_PIN D1
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 28 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/preonic/rules.mk b/keyboards/preonic/rules.mk
index d0f3a3a1c0..62473e3564 100644
--- a/keyboards/preonic/rules.mk
+++ b/keyboards/preonic/rules.mk
@@ -53,17 +53,18 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
CONSOLE_ENABLE ?= no # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
+COMMAND_ENABLE ?= no # Commands for debug and configuration
NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
-MIDI_ENABLE ?= no # MIDI controls
-AUDIO_ENABLE ?= no # Audio output on port C6
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
+MIDI_ENABLE ?= yes # MIDI controls
+AUDIO_ENABLE ?= yes # Audio output on port C6
UNICODE_ENABLE ?= no # Unicode
BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight.
+API_SYSEX_ENABLE ?= yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
\ No newline at end of file
diff --git a/keyboards/satan/config.h b/keyboards/satan/config.h
index 7e9f91cc82..eb357b39e0 100644
--- a/keyboards/satan/config.h
+++ b/keyboards/satan/config.h
@@ -67,7 +67,7 @@ along with this program. If not, see .
*/
#define RGB_DI_PIN E2
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/satan/keymaps/dbroqua/keymap.c b/keyboards/satan/keymaps/dbroqua/keymap.c
new file mode 100644
index 0000000000..5b921e0210
--- /dev/null
+++ b/keyboards/satan/keymaps/dbroqua/keymap.c
@@ -0,0 +1,152 @@
+#include "satan.h"
+#include "action_layer.h"
+#include "rgblight.h"
+
+#define _DEFAULT 0
+#define _FN 1
+#define _SFX 2
+
+enum planck_keycodes {
+ DEFAULT = SAFE_RANGE
+};
+
+// Fillers to make layering more clear
+#define ______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty gui/alt/space/alt/gui
+ * ,-----------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ * |-----------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
+ * |-----------------------------------------------------------------------------------------+
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |-----------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
+ * |-----------------------------------------------------------------------------------------+
+ * |LGUI | LAlt | Space | RAlt |RGUI |
+ * `-----------------------------------------------------------------'
+ */
+ [_DEFAULT] = KEYMAP_HHKB( /* Basic QWERTY */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC, \
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
+ ______, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, ______, ______ \
+ ),
+
+/* FN Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ * |-----------------------------------------------------------------------------------------+
+ * | CAPS | BL- | BL+ | BL | | | | | Psc | Slck| Paus| Up | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | Stop | |
+ * `-----------------------------------------------------------------'
+ */
+ [_FN] = KEYMAP_HHKB( /* Layer 1 */
+ TG(_SFX), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
+ KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \
+ ______, KC_VOLD,KC_VOLU,KC_MUTE,______, ______, KC_PAST,KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, \
+ ______, KC_MPRV,KC_MPLY,KC_MNXT,______, ______, KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______, ______, \
+ ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \
+ ),
+
+/* SFX Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | BL- | BL+ | BL | | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | RGBT| RGBM| | | | | | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | | |
+ * `-----------------------------------------------------------------'
+ */
+ [_SFX] = KEYMAP_HHKB(
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, BL_DEC, BL_INC, BL_TOGG,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \
+ ______, ______, ______, ______, ______, ______, ______, ______ \
+ )
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ return MACRO_NONE;
+};
+
+enum function_id {
+ RGBLED_TOGGLE,
+ RGBLED_STEP_MODE,
+ RGBLED_INCREASE_HUE,
+ RGBLED_DECREASE_HUE,
+ RGBLED_INCREASE_SAT,
+ RGBLED_DECREASE_SAT,
+ RGBLED_INCREASE_VAL,
+ RGBLED_DECREASE_VAL
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(RGBLED_TOGGLE),
+ [1] = ACTION_FUNCTION(RGBLED_STEP_MODE),
+ [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+ [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+ [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+ [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+ [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+ [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL)
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ switch (id) {
+ case RGBLED_TOGGLE:
+ if (record->event.pressed) {
+ rgblight_toggle();
+ }
+ break;
+ case RGBLED_INCREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_increase_hue();
+ }
+ break;
+ case RGBLED_DECREASE_HUE:
+ if (record->event.pressed) {
+ rgblight_decrease_hue();
+ }
+ break;
+ case RGBLED_INCREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_increase_sat();
+ }
+ break;
+ case RGBLED_DECREASE_SAT:
+ if (record->event.pressed) {
+ rgblight_decrease_sat();
+ }
+ break;
+ case RGBLED_INCREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_increase_val();
+ }
+ break;
+ case RGBLED_DECREASE_VAL:
+ if (record->event.pressed) {
+ rgblight_decrease_val();
+ }
+ break;
+ case RGBLED_STEP_MODE:
+ if (record->event.pressed) {
+ rgblight_step();
+ }
+ break;
+ }
+}
\ No newline at end of file
diff --git a/keyboards/satan/keymaps/dbroqua/readme.md b/keyboards/satan/keymaps/dbroqua/readme.md
new file mode 100644
index 0000000000..39e71beedd
--- /dev/null
+++ b/keyboards/satan/keymaps/dbroqua/readme.md
@@ -0,0 +1,9 @@
+# Dbroqua HHKB like Layout
+
+Like the HHKB but with a Satan GH60 PCB :D.
+
+# Programming Instructions:
+Enter into programming mode and run the following command.
+```
+$ sudo KEYMAP=dbroqua_hhkb make dfu
+```
\ No newline at end of file
diff --git a/keyboards/satan/keymaps/sethbc/keymap.c b/keyboards/satan/keymaps/sethbc/keymap.c
index 82c779081a..93610258b3 100644
--- a/keyboards/satan/keymaps/sethbc/keymap.c
+++ b/keyboards/satan/keymaps/sethbc/keymap.c
@@ -32,21 +32,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), \
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MENU, KC_RCTL),
[_FL] = KEYMAP_HHKB(
#ifdef RGBLIGHT_ENABLE
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RESET, \
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL, \
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______),
- #else
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RESET, \
KC_CAPS, _______, RGB_TOG,RGB_MOD,RGB_HUI, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL, \
_______, KC_VOLD, RGB_HUD,RGB_SAI,RGB_SAD, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
_______, RGB_VAI,RGB_VAD,_______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______),
+ #else
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RESET, \
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_DEL, \
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
+ _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______),
#endif
};
diff --git a/keyboards/subatomic/keymaps/default/keymap.c b/keyboards/subatomic/keymaps/default/keymap.c
new file mode 100644
index 0000000000..628ade9b61
--- /dev/null
+++ b/keyboards/subatomic/keymaps/default/keymap.c
@@ -0,0 +1,280 @@
+#include "subatomic.h"
+#include "action_layer.h"
+#include "eeconfig.h"
+#ifdef AUDIO_ENABLE
+ #include "audio.h"
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QWERTY 0
+#define _COLEMAK 1
+#define _DVORAK 2
+#define _LOWER 3
+#define _RAISE 4
+#define _ADJUST 16
+
+enum subatomic_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+ LOWER,
+ RAISE,
+ BACKLIT
+};
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-------------------------------------------------------------------------------------------------.
+ * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | = | Esc | A | S | D | F | G | H | J | K | L | ; | " |Enter |
+ * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
+ * | Pg Up| Shift| Z | X | C | V | B | N | M | , | . | / | Home | End |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_QWERTY] = {
+ {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS},
+ {KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_TRNS},
+ {KC_TRNS, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS},
+ {KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_TRNS},
+ {KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS}
+},
+
+/* Colemak
+ * ,-------------------------------------------------------------------------------------------------.
+ * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | - | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | = | Esc | A | R | S | T | D | H | N | E | I | O | " |Enter |
+ * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
+ * | Pg Up| Shift| Z | X | C | V | B | K | M | , | . | / | Home | End |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = {
+ {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS},
+ {KC_TRNS, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_TRNS},
+ {KC_TRNS, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_TRNS},
+ {KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_TRNS},
+ {KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS}
+},
+
+/* Dvorak
+ * ,-------------------------------------------------------------------------------------------------.
+ * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | [ | Tab | " | , | . | P | Y | F | G | C | R | L | / | = |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | ] | Esc | A | O | E | U | I | D | H | T | N | S | - |Enter |
+ * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
+ * | Pg Up| Shift| ; | Q | J | K | X | B | M | W | V | Z | Home | End |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_DVORAK] = {
+ {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS},
+ {KC_TRNS, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, KC_TRNS},
+ {KC_TRNS, KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_TRNS},
+ {KC_TRNS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, KC_TRNS},
+ {KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS}
+},
+
+/* Lower
+ * ,-------------------------------------------------------------------------------------------------.
+ * | | ~ | F1 | F3 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | _ | Tab | ! | @ | # | $ | % | ^ | & | * | ( | ) | { | } |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
+ * | | Shift| F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | Next | Vol- | Vol+ | Play | |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_LOWER] = {
+ {KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TRNS},
+ {KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS},
+ {KC_TRNS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS},
+ {KC_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,KC_TRNS},
+ {KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS}
+},
+
+/* Raise
+ * ,-------------------------------------------------------------------------------------------------.
+ * | | ~ | F1 | F3 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | _ | Tab | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | { | } |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | |
+ * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
+ * | | Shift| F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | Next | Vol- | Vol+ | | Play |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_RAISE] = {
+ {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS},
+ {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS},
+ {KC_TRNS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS},
+ {KC_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, KC_TRNS},
+ {KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS}
+},
+
+/* Adjust (Lower + Raise)
+ * ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | Reset| | | | | | | | | | | |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | |
+ * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
+ * | | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_ADJUST] = {
+ {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS},
+ {KC_TRNS, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_TRNS},
+ {KC_TRNS, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, KC_TRNS},
+ {KC_TRNS, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_TRNS},
+ {KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS}
+}
+
+
+};
+
+#ifdef AUDIO_ENABLE
+float tone_startup[][2] = {
+ {NOTE_B5, 20},
+ {NOTE_B6, 8},
+ {NOTE_DS6, 20},
+ {NOTE_B6, 8}
+};
+
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_dvorak[][2] = SONG(DVORAK_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
+
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+#endif
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_colemak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_DVORAK);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case BACKLIT:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ return false;
+ break;
+ }
+ return true;
+};
+
+void matrix_init_user(void) {
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
+}
+
+#ifdef AUDIO_ENABLE
+
+void startup_user()
+{
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(tone_startup, false, 0);
+}
+
+void shutdown_user()
+{
+ PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+void music_on_user(void)
+{
+ music_scale_user();
+}
+
+void music_scale_user(void)
+{
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
+}
+
+#endif
diff --git a/keyboards/tada68/config.h b/keyboards/tada68/config.h
index 5d8757936d..19cf9c9b39 100644
--- a/keyboards/tada68/config.h
+++ b/keyboards/tada68/config.h
@@ -67,7 +67,7 @@ along with this program. If not, see .
*/
/*#define RGB_DI_PIN E2
-#define RGBLIGHT_TIMER
+#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 2 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/vision_division/config.h b/keyboards/vision_division/config.h
index 1f8466a546..5798d91adf 100644
--- a/keyboards/vision_division/config.h
+++ b/keyboards/vision_division/config.h
@@ -31,7 +31,9 @@ along with this program. If not, see .
#define BACKLIGHT_LEVELS 3
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
+#define DEBOUNCING_DELAY 0
+
+#define MATRIX_MASKED
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
diff --git a/keyboards/vision_division/keymaps/default/Makefile b/keyboards/vision_division/keymaps/default/Makefile
index 5a930e85ed..28060947af 100644
--- a/keyboards/vision_division/keymaps/default/Makefile
+++ b/keyboards/vision_division/keymaps/default/Makefile
@@ -2,7 +2,7 @@
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = yes # Console for debug(+400)
@@ -18,4 +18,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
-endif
\ No newline at end of file
+endif
diff --git a/keyboards/vision_division/keymaps/default/keymap.c b/keyboards/vision_division/keymaps/default/keymap.c
index 64118abdce..3282761c0f 100644
--- a/keyboards/vision_division/keymaps/default/keymap.c
+++ b/keyboards/vision_division/keymaps/default/keymap.c
@@ -121,6 +121,7 @@ enum keyboard_macros {
#define M_CP_CT M(MACRO_COPY_CUT)
+#define M_COPY KC_FN1
#define SC_UNDO LCTL(KC_Z)
#define SC_REDO LCTL(KC_Y)
@@ -141,35 +142,46 @@ enum keyboard_macros {
#define ________________ _______, _______
#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX
+const matrix_row_t matrix_mask[MATRIX_ROWS] =
+{
+// 1098765432109876543210987654321
+ 0b0000000001111111101111011111111,
+ 0b0000000001111111111111111111111,
+ 0b0000000001111111111111111111111,
+ 0b0000000001111111111111111111111,
+ 0b0000000001010111111111111111111,
+ 0b0000000001111101111111101011111,
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
{
/* LAYER = LAYER_QWERTY
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | FN | PRINT | SCR LK | PAUSE | | F1 | F2 | F3 | F4 | XXXXXX | F5 | F6 | F7 | F8 | XXXXXX | F9 | F10 | F11 | F12 | | VOL DN | MUTE | VOL UP | BACKLT |
+ | VOL DN | MUTE | VOL UP | BACKLT | | F1 | F2 | F3 | F4 | XXXXXX | F5 | F6 | F7 | F8 | XXXXXX | F9 | F10 | F11 | F12 | | PRINT | SCR LK | PAUSE | FN |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | M1 | INS | HOME | PG UP | | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | BACKSP | | NUM LK | KP / | KP * | KP - |
+ | NUM LK | KP / | KP * | KP - | | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | BACKSP | | INS | HOME | PG UP | M1 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | M2 | DEL | END | PG DN | | TAB | TAB | Q | W | E | R | T | Y | U | I | O | P | - | \ | | KP 7 | KP 8 | KP 9 | KP + |
+ | KP 7 | KP 8 | KP 9 | KP + | | TAB | TAB | Q | W | E | R | T | Y | U | I | O | P | - | \ | | DEL | END | PG DN | M2 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | M3 | UL | UP | UR | | CAP LK | BACKSP | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | o | KP 4 | KP 5 | KP 6 | KP + |
+ | KP 4 | KP 5 | KP 6 | KP + | | CAP LK | BACKSP | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | o | CP/CT | UNDO | PASTE | M3 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | M4 | LEFT | CP/CT | RIGHT | | LSHIFT | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | RSHIFT | | KP 1 | KP 2 | KP 3 | KP Ent |
+ | KP 1 | KP 2 | KP 3 | KP Ent | | LSHIFT | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | RSHIFT | | XXXXXX | UP | XXXXXX | M4 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | M5 | DL | DOWN | DR | | LCTRL | XXXXXX | XXXXXX | LWIN | LALT | LOWER | SPACE . SPACE | UPPER | OSHIFT | RALT | APP | XXXXXX | RCTRL | | KP 0 | KP , | KP . | KP Ent |
+ | KP 0 | KP , | KP . | KP Ent | | LCTRL | XXXXXX | LWIN | XXXXXX | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | XXXXXX | RCTRL | | LEFT | DOWN | RIGHT | M5 |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
*/
KEYMAP(LAYER_QWERTY, \
- M_HELP , KC_PSCR, KC_SLCK, KC_PAUS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , XXXXXXX, KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_VOLD, KC_MUTE, KC_VOLU, M_BACKL, \
- M_M1 , KC_INS , KC_HOME, KC_PGUP, KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
- M_M2 , KC_DEL , KC_END , KC_PGDN, KC_TAB , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, KC_BSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, \
- M_M3 , M_UL , KC_UP , M_UR , KC_CAPS, KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, \
- M_M4 , KC_LEFT, M_CP_CT, KC_RGHT, KC_LSFT, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, \
- M_M5 , M_DL , KC_DOWN, M_DR , KC_LCTL, XXXXXXX, XXXXXXX, KC_LGUI, KC_LALT, M_LOWER, KC_SPC , KC_SPC , M_UPPER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL, KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT \
+ KC_VOLD, KC_MUTE, KC_VOLU, M_BACKL, KC_F1 , KC_F2 , KC_F3 , KC_F4 , XXXXXXX, KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, KC_PAUS, M_HELP , \
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP, M_M1 , \
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TAB , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, KC_BSLS, KC_DEL , KC_END , KC_PGDN, M_M2 , \
+ KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_CAPS, KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , M_CP_CT, SC_UNDO, SC_PSTE, M_M3 , \
+ KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, KC_LSFT, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT, XXXXXXX, KC_UP , XXXXXXX, M_M4 , \
+ KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT, KC_LCTL, XXXXXXX, KC_LGUI, XXXXXXX, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, M_M5 \
),
/* LAYER = LAYER_LOWER
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | MUTE A | ______ | ______ |
+ | ______ | MUTE A | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | ______ | ______ | ______ |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
| ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
@@ -180,20 +192,20 @@ KEYMAP(LAYER_QWERTY, \
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
| ______ | ______ | ______ | ______ | | ______ | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ | ______ | | ______ | ______ | ______ | ______ |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | XXXXXX | XXXXXX | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
*/
KEYMAP(LAYER_LOWER, \
- _______, _______, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, M_MUTEA, _______, _______, \
+ _______, M_MUTEA, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ \
),
/* LAYER = LAYER_UPPER
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | MUTE A | ______ | ______ |
+ | ______ | MUTE A | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | ______ | ______ | ______ |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
| ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
@@ -204,44 +216,44 @@ KEYMAP(LAYER_LOWER, \
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
| ______ | ______ | ______ | ______ | | ______ | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP Ent | ______ | ______ | | ______ | ______ | ______ | ______ |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | XXXXXX | XXXXXX | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP Ent | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP Ent | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
*/
KEYMAP(LAYER_UPPER, \
- _______, _______, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, M_MUTEA, _______, _______, \
+ _______, M_MUTEA, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______, _______, _______, _______, _______ \
),
/* LAYER = LAYER_MOUSE
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
| ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | MS BT1 | MS AC0 | MS WHU | MS AC2 | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS AC0 | MS WHU | MS AC2 | MS BT1 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | MS BT2 | MS WHL | MS WHD | MS WHU | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS WHL | MS WHD | MS WHU | MS BT2 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | MS BT3 | MS UL | MS U | MS UR | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | o | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | o | MS BT1 | MS BT2 | MS BT3 | MS BT3 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | MS BT4 | MS L | MS BT1 | MS R | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | XXXXXX | MS U | XXXXXX | MS BT4 |
|--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | MS BT5 | MS DL | MS D | MS DR | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
+ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS L | MS D | MS R | MS BT5 |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
*/
KEYMAP(LAYER_MOUSE, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_BTN1, KC_ACL0, KC_WH_U, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_BTN3, M_MS_UL, KC_MS_U, M_MS_UR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_BTN4, KC_MS_L, KC_BTN1, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_BTN5, M_MS_DL, KC_MS_D, M_MS_DR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_WH_U, KC_ACL2, KC_BTN1, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_BTN2, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN3, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_MS_U, XXXXXXX, KC_BTN4, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5 \
),
/* LAYER = LAYER_ADJUST
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | HELP 1 | HELP 2 | HELP 3 | HELP 4 | XXXXXX | HELP 5 | HELP 6 | HELP 7 | HELP 8 | XXXXXX | HELP 9 | HELP 0 | XXXXXX | XXXXXX | | VOICE- | AUDIO | VOICE+ | MUSIC |
+ | VOICE- | AUDIO | VOICE+ | MUSIC | | HELP 1 | HELP 2 | HELP 3 | HELP 4 | XXXXXX | HELP 5 | HELP 6 | HELP 7 | HELP 8 | XXXXXX | HELP 9 | HELP 0 | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
.-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
| XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
@@ -256,14 +268,13 @@ KEYMAP(LAYER_MOUSE, \
'-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
*/
KEYMAP(LAYER_ADJUST, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, XXXXXXX, M_HELP5, M_HELP6, M_HELP7, M_HELP8, XXXXXXX, M_HELP9, M_HELP0, XXXXXXX, XXXXXXX, MUV_DE , AU_TOG , MUV_IN , MU_TOG , \
+ MUV_DE , AU_TOG , MUV_IN , MU_TOG , M_HELP1, M_HELP2, M_HELP3, M_HELP4, XXXXXXX, M_HELP5, M_HELP6, M_HELP7, M_HELP8, XXXXXXX, M_HELP9, M_HELP0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
),
-
};
#ifdef AUDIO_ENABLE
@@ -296,6 +307,7 @@ void persistant_default_layer_set(uint16_t default_layer)
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_MODS_ONESHOT(MOD_LSFT),
+ [1] = ACTION_MACRO_TAP(MACRO_COPY_CUT),
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@@ -305,68 +317,84 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
switch(id)
{
- case MACRO_HELP_1:
- if (record->event.pressed)
- {
- uprint("H1");
- }
- break;
+ case MACRO_COPY_CUT:
+ if (record->event.pressed) {
+ register_code(KC_LCTL);
+ if (record->tap.count == 1) {
+ register_code(KC_C);
+ unregister_code(KC_C);
+ }
+ else if (record->tap.count == 2) {
+ register_code(KC_X);
+ unregister_code(KC_X);
+ }
+ unregister_code(KC_LCTL);
+ }
+ break;
- case MACRO_HELP_2:
- if (record->event.pressed)
- {
- uprint("H2");
- }
- break;
- case MACRO_HELP_3:
- if (record->event.pressed)
- {
- uprint("H3");
- }
- break;
+ // case MACRO_HELP_1:
+ // if (record->event.pressed)
+ // {
+ // uprint("H1");
+ // }
+ // break;
- case MACRO_HELP_4:
- if (record->event.pressed)
- {
- uprint("H4");
- }
- break;
+ // case MACRO_HELP_2:
+ // if (record->event.pressed)
+ // {
+ // uprint("H2");
+ // }
+ // break;
- case MACRO_HELP_5:
- if (record->event.pressed)
- {
- uprint("H5");
- }
- break;
+ // case MACRO_HELP_3:
+ // if (record->event.pressed)
+ // {
+ // uprint("H3");
+ // }
+ // break;
- case MACRO_HELP_6:
- if (record->event.pressed)
- {
- uprint("H6");
- }
- break;
+ // case MACRO_HELP_4:
+ // if (record->event.pressed)
+ // {
+ // uprint("H4");
+ // }
+ // break;
- case MACRO_HELP_7:
- if (record->event.pressed)
- {
- uprint("H7");
- }
- break;
+ // case MACRO_HELP_5:
+ // if (record->event.pressed)
+ // {
+ // uprint("H5");
+ // }
+ // break;
- case MACRO_HELP_8:
- if (record->event.pressed)
- {
- uprint("H8");
- }
- break;
+ // case MACRO_HELP_6:
+ // if (record->event.pressed)
+ // {
+ // uprint("H6");
+ // }
+ // break;
- case MACRO_HELP_9:
- if (record->event.pressed)
- {
- uprint("H9");
- }
- break;
+ // case MACRO_HELP_7:
+ // if (record->event.pressed)
+ // {
+ // uprint("H7");
+ // }
+ // break;
+
+ // case MACRO_HELP_8:
+ // if (record->event.pressed)
+ // {
+ // uprint("H8");
+ // }
+ // break;
+
+ // case MACRO_HELP_9:
+ // if (record->event.pressed)
+ // {
+ // uprint("H9");
+ // }
+ // break;
case MACRO_BREATH_TOGGLE:
if (record->event.pressed)
@@ -566,12 +594,12 @@ void led_set_user(uint8_t usb_led)
void startup_user()
{
_delay_ms(10); // gets rid of tick
- PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
+ // PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
}
void shutdown_user()
{
- PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
+ // PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
_delay_ms(2000);
stop_all_notes();
}
diff --git a/keyboards/xd60/Makefile b/keyboards/xd60/Makefile
new file mode 100644
index 0000000000..57b2ef62e5
--- /dev/null
+++ b/keyboards/xd60/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif
diff --git a/keyboards/xd60/arrow-cluster.JPG b/keyboards/xd60/arrow-cluster.JPG
new file mode 100644
index 0000000000..aa03dc08ed
Binary files /dev/null and b/keyboards/xd60/arrow-cluster.JPG differ
diff --git a/keyboards/xd60/config.h b/keyboards/xd60/config.h
new file mode 100644
index 0000000000..13ae29063e
--- /dev/null
+++ b/keyboards/xd60/config.h
@@ -0,0 +1,68 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER XIUDI
+#define PRODUCT XD60
+#define DESCRIPTION XD60 Keyboard by XIUDI
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
+#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+#endif
diff --git a/keyboards/xd60/keymaps/default/keymap.c b/keyboards/xd60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ea85c02a39
--- /dev/null
+++ b/keyboards/xd60/keymaps/default/keymap.c
@@ -0,0 +1,64 @@
+#include "xd60.h"
+#include "action_layer.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // 0: Base Layer
+ KEYMAP(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, \
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ // 1: Function Layer
+ KEYMAP(
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
+ KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \
+ KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_NO, KC_APP, BL_TOGG,BL_DEC, BL_INC, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_NO, \
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, F(0), KC_HOME, KC_PGDOWN,KC_END),
+
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ // MACRODOWN only works in this function
+
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+};
+
+void matrix_scan_user(void) {
+
+ // Layer LED indicators
+ uint32_t layer = layer_state;
+
+ if (layer & (1<<1)) {
+ xd60_esc_led_on();
+ } else {
+ xd60_esc_led_off();
+ }
+
+ /*
+ if (layer & (1<<2)) {
+ xd60_poker_leds_on();
+ xd60_esc_led_on();
+ } else {
+ xd60_poker_leds_off();
+ xd60_esc_led_off();
+ }
+ */
+};
diff --git a/keyboards/xd60/keymaps/default/readme.md b/keyboards/xd60/keymaps/default/readme.md
new file mode 100644
index 0000000000..d2a87bd722
--- /dev/null
+++ b/keyboards/xd60/keymaps/default/readme.md
@@ -0,0 +1,9 @@
+# Default Keymap for XIUDI's 60% XD60 PCB
+
+![Default Keymap for XD60](https://img.alicdn.com/imgextra/i1/1713761720/TB2K0gTalPxQeBjy1XcXXXHzVXa_!!1713761720.png)
+
+## Additional Notes
+Default Keymap for XD60 as indicated on the original sale page.
+
+## Build
+To build the default keymap, simply run `make xd60-default`.
diff --git a/keyboards/xd60/keymaps/stanleylai/keymap.c b/keyboards/xd60/keymaps/stanleylai/keymap.c
new file mode 100644
index 0000000000..a84ee0f898
--- /dev/null
+++ b/keyboards/xd60/keymaps/stanleylai/keymap.c
@@ -0,0 +1,60 @@
+#include "xd60.h"
+#include "action_layer.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // 0: Base Layer
+ KEYMAP(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ F(0), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, \
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ // 1: Function Layer
+ KEYMAP(
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
+ KC_CAPS, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP, BL_TOGG, KC_DEL, \
+ F(0), KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, \
+ KC_LSFT, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_PGUP, KC_INS, \
+ KC_LCTL, KC_LALT, KC_LGUI, KC_MPLY, KC_RGUI, KC_RALT, KC_HOME, KC_PGDOWN,KC_END),
+
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ // MACRODOWN only works in this function
+
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+};
+
+void matrix_scan_user(void) {
+
+ // Layer LED indicators
+ uint32_t layer = layer_state;
+
+ if (layer & (1<<1)) {
+ xd60_wasd_leds_on();
+ xd60_fn_led_on();
+ xd60_esc_led_on();
+ xd60_poker_leds_on();
+ } else {
+ xd60_wasd_leds_off();
+ xd60_fn_led_off();
+ xd60_esc_led_off();
+ xd60_poker_leds_off();
+ }
+};
diff --git a/keyboards/xd60/readme.md b/keyboards/xd60/readme.md
new file mode 100644
index 0000000000..393ea5d683
--- /dev/null
+++ b/keyboards/xd60/readme.md
@@ -0,0 +1,13 @@
+# QMK Firmware for XIUDI's 60% XD60 PCB
+
+![Top View of XD60 Keyboard, with DSA Dolch keycaps](./top-view.JPG)
+![Angled View of XD60 Keyboard Arrow Cluster, with DSA Dolch keycaps](./arrow-cluster.JPG)
+
+## Quantum MK Firmware
+For the full Quantum feature list, see [the parent readme.md](/readme.md).
+
+## Additional Notes
+The XD60 is essentially a GH60 rev. C, with support for a right-hand arrow cluster. Includes full compatibility with GH60 expansion boards. Board also supports in-switch LEDs (two-pin, single colour), as well as WS2182 LED strips for underglow lighting. Default keymap included, matching configuration on sale page.
+
+## Build
+To build the default keymap, simply run `make xd60-default`.
diff --git a/keyboards/xd60/rules.mk b/keyboards/xd60/rules.mk
new file mode 100644
index 0000000000..e0b92121d2
--- /dev/null
+++ b/keyboards/xd60/rules.mk
@@ -0,0 +1,65 @@
+# MCU name
+# MCU = at90usb1287
+MCU = atmega32u4
+
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+# LUFA specific
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/xd60/top-view.JPG b/keyboards/xd60/top-view.JPG
new file mode 100644
index 0000000000..613759b4d2
Binary files /dev/null and b/keyboards/xd60/top-view.JPG differ
diff --git a/keyboards/xd60/xd60.c b/keyboards/xd60/xd60.c
new file mode 100644
index 0000000000..4307f5f593
--- /dev/null
+++ b/keyboards/xd60/xd60.c
@@ -0,0 +1,25 @@
+#include "xd60.h"
+
+void led_set_kb(uint8_t usb_led) {
+ // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+
+ if (usb_led & (1<> 24) & 0xFF;
+ bytes[1] = (dword >> 16) & 0xFF;
+ bytes[2] = (dword >> 8) & 0xFF;
+ bytes[3] = (dword >> 0) & 0xFF;
+}
+
+uint32_t bytes_to_dword(uint8_t * bytes, uint8_t index) {
+ return ((uint32_t)bytes[index + 0] << 24) | ((uint32_t)bytes[index + 1] << 16) | ((uint32_t)bytes[index + 2] << 8) | (uint32_t)bytes[index + 3];
+}
+
+__attribute__ ((weak))
+bool process_api_quantum(uint8_t length, uint8_t * data) {
+ return process_api_keyboard(length, data);
+}
+
+__attribute__ ((weak))
+bool process_api_keyboard(uint8_t length, uint8_t * data) {
+ return process_api_user(length, data);
+}
+
+__attribute__ ((weak))
+bool process_api_user(uint8_t length, uint8_t * data) {
+ return true;
+}
+
+void process_api(uint16_t length, uint8_t * data) {
+ // SEND_STRING("\nRX: ");
+ // for (uint8_t i = 0; i < length; i++) {
+ // send_byte(data[i]);
+ // SEND_STRING(" ");
+ // }
+ if (!process_api_quantum(length, data))
+ return;
+
+ switch (data[0]) {
+ case MT_SET_DATA:
+ switch (data[1]) {
+ case DT_DEFAULT_LAYER: {
+ eeconfig_update_default_layer(data[2]);
+ default_layer_set((uint32_t)(data[2]));
+ break;
+ }
+ case DT_KEYMAP_OPTIONS: {
+ eeconfig_update_keymap(data[2]);
+ break;
+ }
+ case DT_RGBLIGHT: {
+ #ifdef RGBLIGHT_ENABLE
+ uint32_t rgblight = bytes_to_dword(data, 2);
+ rgblight_update_dword(rgblight);
+ #endif
+ break;
+ }
+ }
+ case MT_GET_DATA:
+ switch (data[1]) {
+ case DT_HANDSHAKE: {
+ MT_GET_DATA_ACK(DT_HANDSHAKE, NULL, 0);
+ break;
+ }
+ case DT_DEBUG: {
+ uint8_t debug_bytes[1] = { eeprom_read_byte(EECONFIG_DEBUG) };
+ MT_GET_DATA_ACK(DT_DEBUG, debug_bytes, 1);
+ break;
+ }
+ case DT_DEFAULT_LAYER: {
+ uint8_t default_bytes[1] = { eeprom_read_byte(EECONFIG_DEFAULT_LAYER) };
+ MT_GET_DATA_ACK(DT_DEFAULT_LAYER, default_bytes, 1);
+ break;
+ }
+ case DT_CURRENT_LAYER: {
+ uint8_t layer_state_bytes[4];
+ dword_to_bytes(layer_state, layer_state_bytes);
+ MT_GET_DATA_ACK(DT_CURRENT_LAYER, layer_state_bytes, 4);
+ break;
+ }
+ case DT_AUDIO: {
+ #ifdef AUDIO_ENABLE
+ uint8_t audio_bytes[1] = { eeprom_read_byte(EECONFIG_AUDIO) };
+ MT_GET_DATA_ACK(DT_AUDIO, audio_bytes, 1);
+ #else
+ MT_GET_DATA_ACK(DT_AUDIO, NULL, 0);
+ #endif
+ break;
+ }
+ case DT_BACKLIGHT: {
+ #ifdef BACKLIGHT_ENABLE
+ uint8_t backlight_bytes[1] = { eeprom_read_byte(EECONFIG_BACKLIGHT) };
+ MT_GET_DATA_ACK(DT_BACKLIGHT, backlight_bytes, 1);
+ #else
+ MT_GET_DATA_ACK(DT_BACKLIGHT, NULL, 0);
+ #endif
+ break;
+ }
+ case DT_RGBLIGHT: {
+ #ifdef RGBLIGHT_ENABLE
+ uint8_t rgblight_bytes[4];
+ dword_to_bytes(eeconfig_read_rgblight(), rgblight_bytes);
+ MT_GET_DATA_ACK(DT_RGBLIGHT, rgblight_bytes, 4);
+ #else
+ MT_GET_DATA_ACK(DT_RGBLIGHT, NULL, 0);
+ #endif
+ break;
+ }
+ case DT_KEYMAP_OPTIONS: {
+ uint8_t keymap_bytes[1] = { eeconfig_read_keymap() };
+ MT_GET_DATA_ACK(DT_KEYMAP_OPTIONS, keymap_bytes, 1);
+ break;
+ }
+ case DT_KEYMAP_SIZE: {
+ uint8_t keymap_size[2] = {MATRIX_ROWS, MATRIX_COLS};
+ MT_GET_DATA_ACK(DT_KEYMAP_SIZE, keymap_size, 2);
+ break;
+ }
+ // This may be too much
+ // case DT_KEYMAP: {
+ // uint8_t keymap_data[MATRIX_ROWS * MATRIX_COLS * 4 + 3];
+ // keymap_data[0] = data[2];
+ // keymap_data[1] = MATRIX_ROWS;
+ // keymap_data[2] = MATRIX_COLS;
+ // for (int i = 0; i < MATRIX_ROWS; i++) {
+ // for (int j = 0; j < MATRIX_COLS; j++) {
+ // keymap_data[3 + (i*MATRIX_COLS*2) + (j*2)] = pgm_read_word(&keymaps[data[2]][i][j]) >> 8;
+ // keymap_data[3 + (i*MATRIX_COLS*2) + (j*2) + 1] = pgm_read_word(&keymaps[data[2]][i][j]) & 0xFF;
+ // }
+ // }
+ // MT_GET_DATA_ACK(DT_KEYMAP, keymap_data, MATRIX_ROWS * MATRIX_COLS * 4 + 3);
+ // // uint8_t keymap_data[5];
+ // // keymap_data[0] = data[2];
+ // // keymap_data[1] = data[3];
+ // // keymap_data[2] = data[4];
+ // // keymap_data[3] = pgm_read_word(&keymaps[data[2]][data[3]][data[4]]) >> 8;
+ // // keymap_data[4] = pgm_read_word(&keymaps[data[2]][data[3]][data[4]]) & 0xFF;
+
+ // // MT_GET_DATA_ACK(DT_KEYMAP, keymap_data, 5);
+ // break;
+ // }
+ default:
+ break;
+ }
+ break;
+ case MT_SET_DATA_ACK:
+ case MT_GET_DATA_ACK:
+ break;
+ case MT_SEND_DATA:
+ break;
+ case MT_SEND_DATA_ACK:
+ break;
+ case MT_EXE_ACTION:
+ break;
+ case MT_EXE_ACTION_ACK:
+ break;
+ case MT_TYPE_ERROR:
+ break;
+ default: ; // command not recognised
+ SEND_BYTES(MT_TYPE_ERROR, DT_NONE, data, length);
+ break;
+
+ // #ifdef RGBLIGHT_ENABLE
+ // case 0x27: ; // RGB LED functions
+ // switch (*data++) {
+ // case 0x00: ; // Update HSV
+ // rgblight_sethsv((data[0] << 8 | data[1]) % 360, data[2], data[3]);
+ // break;
+ // case 0x01: ; // Update RGB
+ // break;
+ // case 0x02: ; // Update mode
+ // rgblight_mode(data[0]);
+ // break;
+ // }
+ // break;
+ // #endif
+ }
+
+}
\ No newline at end of file
diff --git a/quantum/api.h b/quantum/api.h
new file mode 100644
index 0000000000..00dcdb8954
--- /dev/null
+++ b/quantum/api.h
@@ -0,0 +1,59 @@
+#ifndef _API_H_
+#define _API_H_
+
+#include "lufa.h"
+
+enum MESSAGE_TYPE {
+ MT_GET_DATA = 0x10, // Get data from keyboard
+ MT_GET_DATA_ACK = 0x11, // returned data to process (ACK)
+ MT_SET_DATA = 0x20, // Set data on keyboard
+ MT_SET_DATA_ACK = 0x21, // returned data to confirm (ACK)
+ MT_SEND_DATA = 0x30, // Sending data/action from keyboard
+ MT_SEND_DATA_ACK = 0x31, // returned data/action confirmation (ACK)
+ MT_EXE_ACTION = 0x40, // executing actions on keyboard
+ MT_EXE_ACTION_ACK =0x41, // return confirmation/value (ACK)
+ MT_TYPE_ERROR = 0x80 // type not recofgnised (ACK)
+};
+
+enum DATA_TYPE {
+ DT_NONE = 0x00,
+ DT_HANDSHAKE,
+ DT_DEFAULT_LAYER,
+ DT_CURRENT_LAYER,
+ DT_KEYMAP_OPTIONS,
+ DT_BACKLIGHT,
+ DT_RGBLIGHT,
+ DT_UNICODE,
+ DT_DEBUG,
+ DT_AUDIO,
+ DT_QUANTUM_ACTION,
+ DT_KEYBOARD_ACTION,
+ DT_USER_ACTION,
+ DT_KEYMAP_SIZE,
+ DT_KEYMAP
+};
+
+void dword_to_bytes(uint32_t dword, uint8_t * bytes);
+uint32_t bytes_to_dword(uint8_t * bytes, uint8_t index);
+
+#define MT_GET_DATA(data_type, data, length) SEND_BYTES(MT_GET_DATA, data_type, data, length)
+#define MT_GET_DATA_ACK(data_type, data, length) SEND_BYTES(MT_GET_DATA_ACK, data_type, data, length)
+#define MT_SET_DATA(data_type, data, length) SEND_BYTES(MT_SET_DATA, data_type, data, length)
+#define MT_SET_DATA_ACK(data_type, data, length) SEND_BYTES(MT_SET_DATA_ACK, data_type, data, length)
+#define MT_SEND_DATA(data_type, data, length) SEND_BYTES(MT_SEND_DATA, data_type, data, length)
+#define MT_SEND_DATA_ACK(data_type, data, length) SEND_BYTES(MT_SEND_DATA_ACK, data_type, data, length)
+#define MT_EXE_ACTION(data_type, data, length) SEND_BYTES(MT_EXE_ACTION, data_type, data, length)
+#define MT_EXE_ACTION_ACK(data_type, data, length) SEND_BYTES(MT_EXE_ACTION_ACK, data_type, data, length)
+
+void process_api(uint16_t length, uint8_t * data);
+
+__attribute__ ((weak))
+bool process_api_quantum(uint8_t length, uint8_t * data);
+
+__attribute__ ((weak))
+bool process_api_keyboard(uint8_t length, uint8_t * data);
+
+__attribute__ ((weak))
+bool process_api_user(uint8_t length, uint8_t * data);
+
+#endif
\ No newline at end of file
diff --git a/quantum/api/api_sysex.c b/quantum/api/api_sysex.c
new file mode 100644
index 0000000000..868f854b92
--- /dev/null
+++ b/quantum/api/api_sysex.c
@@ -0,0 +1,57 @@
+#include "api_sysex.h"
+#include "sysex_tools.h"
+#include "print.h"
+
+void send_bytes_sysex(uint8_t message_type, uint8_t data_type, uint8_t * bytes, uint16_t length) {
+ // SEND_STRING("\nTX: ");
+ // for (uint8_t i = 0; i < length; i++) {
+ // send_byte(bytes[i]);
+ // SEND_STRING(" ");
+ // }
+ if (length > API_SYSEX_MAX_SIZE) {
+ xprintf("Sysex msg too big %d %d %d", message_type, data_type, length);
+ return;
+ }
+
+
+ // The buffer size required is calculated as the following
+ // API_SYSEX_MAX_SIZE is the maximum length
+ // In addition to that we have a two byte message header consisting of the message_type and data_type
+ // This has to be encoded with an additional overhead of one byte for every starting 7 bytes
+ // We just add one extra byte in case it's not divisible by 7
+ // Then we have an unencoded header consisting of 4 bytes
+ // Plus a one byte terminator
+ const unsigned message_header = 2;
+ const unsigned unencoded_message = API_SYSEX_MAX_SIZE + message_header;
+ const unsigned encoding_overhead = unencoded_message / 7 + 1;
+ const unsigned encoded_size = unencoded_message + encoding_overhead;
+ const unsigned unencoded_header = 4;
+ const unsigned terminator = 1;
+ const unsigned buffer_size = encoded_size + unencoded_header + terminator;
+ uint8_t buffer[encoded_size + unencoded_header + terminator];
+ // The unencoded header
+ buffer[0] = 0xF0;
+ buffer[1] = 0x00;
+ buffer[2] = 0x00;
+ buffer[3] = 0x00;
+
+ // We copy the message to the end of the array, this way we can do an inplace encoding, using the same
+ // buffer for both input and output
+ const unsigned message_size = length + message_header;
+ uint8_t* unencoded_start = buffer + buffer_size - message_size;
+ uint8_t* ptr = unencoded_start;
+ *(ptr++) = message_type;
+ *(ptr++) = data_type;
+ memcpy(ptr, bytes, length);
+
+ unsigned encoded_length = sysex_encode(buffer + unencoded_header, unencoded_start, message_size);
+ unsigned final_size = unencoded_header + encoded_length + terminator;
+ buffer[final_size - 1] = 0xF7;
+ midi_send_array(&midi_device, final_size, buffer);
+
+ // SEND_STRING("\nTD: ");
+ // for (uint8_t i = 0; i < encoded_length + 5; i++) {
+ // send_byte(buffer[i]);
+ // SEND_STRING(" ");
+ // }
+}
diff --git a/quantum/api/api_sysex.h b/quantum/api/api_sysex.h
new file mode 100644
index 0000000000..b947b60e54
--- /dev/null
+++ b/quantum/api/api_sysex.h
@@ -0,0 +1,10 @@
+#ifndef _API_SYSEX_H_
+#define _API_SYSEX_H_
+
+#include "api.h"
+
+void send_bytes_sysex(uint8_t message_type, uint8_t data_type, uint8_t * bytes, uint16_t length);
+
+#define SEND_BYTES(mt, dt, b, l) send_bytes_sysex(mt, dt, b, l)
+
+#endif
\ No newline at end of file
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index ead5fbf3e9..2a315fd168 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -77,6 +77,7 @@ static bool audio_initialized = false;
audio_config_t audio_config;
uint16_t envelope_index = 0;
+bool glissando = true;
void audio_init()
{
@@ -205,13 +206,17 @@ ISR(TIMER3_COMPA_vect)
freq = frequencies[voice_place];
#endif
} else {
- if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) {
- frequency = frequency * pow(2, 440/frequency/12/2);
- } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) {
- frequency = frequency * pow(2, -440/frequency/12/2);
+ if (glissando) {
+ if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) {
+ frequency = frequency * pow(2, 440/frequency/12/2);
+ } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) {
+ frequency = frequency * pow(2, -440/frequency/12/2);
+ } else {
+ frequency = frequencies[voices - 1];
+ }
} else {
frequency = frequencies[voices - 1];
- }
+ }
#ifdef VIBRATO_ENABLE
if (vibrato_strength > 0) {
diff --git a/quantum/audio/voices.c b/quantum/audio/voices.c
index 6d4172a06c..8326e91eaa 100644
--- a/quantum/audio/voices.c
+++ b/quantum/audio/voices.c
@@ -6,6 +6,7 @@
extern uint16_t envelope_index;
extern float note_timbre;
extern float polyphony_rate;
+extern bool glissando;
voice_type voice = default_voice;
@@ -18,7 +19,7 @@ void voice_iterate() {
}
void voice_deiterate() {
- voice = (voice - 1) % number_of_voices;
+ voice = (voice - 1 + number_of_voices) % number_of_voices;
}
float voice_envelope(float frequency) {
@@ -27,11 +28,122 @@ float voice_envelope(float frequency) {
switch (voice) {
case default_voice:
+ glissando = true;
note_timbre = TIMBRE_50;
polyphony_rate = 0;
break;
+ #ifdef AUDIO_VOICES
+
+ case something:
+ glissando = false;
+ polyphony_rate = 0;
+ switch (compensated_index) {
+ case 0 ... 9:
+ note_timbre = TIMBRE_12;
+ break;
+
+ case 10 ... 19:
+ note_timbre = TIMBRE_25;
+ break;
+
+ case 20 ... 200:
+ note_timbre = .125 + .125;
+ break;
+
+ default:
+ note_timbre = .125;
+ break;
+ }
+ break;
+
+ case drums:
+ glissando = false;
+ polyphony_rate = 0;
+ // switch (compensated_index) {
+ // case 0 ... 10:
+ // note_timbre = 0.5;
+ // break;
+ // case 11 ... 20:
+ // note_timbre = 0.5 * (21 - compensated_index) / 10;
+ // break;
+ // default:
+ // note_timbre = 0;
+ // break;
+ // }
+ // frequency = (rand() % (int)(frequency * 1.2 - frequency)) + (frequency * 0.8);
+
+ if (frequency < 80.0) {
+
+ } else if (frequency < 160.0) {
+
+ // Bass drum: 60 - 100 Hz
+ frequency = (rand() % (int)(40)) + 60;
+ switch (envelope_index) {
+ case 0 ... 10:
+ note_timbre = 0.5;
+ break;
+ case 11 ... 20:
+ note_timbre = 0.5 * (21 - envelope_index) / 10;
+ break;
+ default:
+ note_timbre = 0;
+ break;
+ }
+
+ } else if (frequency < 320.0) {
+
+
+ // Snare drum: 1 - 2 KHz
+ frequency = (rand() % (int)(1000)) + 1000;
+ switch (envelope_index) {
+ case 0 ... 5:
+ note_timbre = 0.5;
+ break;
+ case 6 ... 20:
+ note_timbre = 0.5 * (21 - envelope_index) / 15;
+ break;
+ default:
+ note_timbre = 0;
+ break;
+ }
+
+ } else if (frequency < 640.0) {
+
+ // Closed Hi-hat: 3 - 5 KHz
+ frequency = (rand() % (int)(2000)) + 3000;
+ switch (envelope_index) {
+ case 0 ... 15:
+ note_timbre = 0.5;
+ break;
+ case 16 ... 20:
+ note_timbre = 0.5 * (21 - envelope_index) / 5;
+ break;
+ default:
+ note_timbre = 0;
+ break;
+ }
+
+ } else if (frequency < 1280.0) {
+
+ // Open Hi-hat: 3 - 5 KHz
+ frequency = (rand() % (int)(2000)) + 3000;
+ switch (envelope_index) {
+ case 0 ... 35:
+ note_timbre = 0.5;
+ break;
+ case 36 ... 50:
+ note_timbre = 0.5 * (51 - envelope_index) / 15;
+ break;
+ default:
+ note_timbre = 0;
+ break;
+ }
+
+ }
+ break;
case butts_fader:
+ glissando = true;
polyphony_rate = 0;
switch (compensated_index) {
case 0 ... 9:
@@ -79,6 +191,7 @@ float voice_envelope(float frequency) {
case duty_osc:
// This slows the loop down a substantial amount, so higher notes may freeze
+ glissando = true;
polyphony_rate = 0;
switch (compensated_index) {
default:
@@ -93,6 +206,7 @@ float voice_envelope(float frequency) {
break;
case duty_octave_down:
+ glissando = true;
polyphony_rate = 0;
note_timbre = (envelope_index % 2) * .125 + .375 * 2;
if ((envelope_index % 4) == 0)
@@ -101,6 +215,7 @@ float voice_envelope(float frequency) {
note_timbre = 0;
break;
case delayed_vibrato:
+ glissando = true;
polyphony_rate = 0;
note_timbre = TIMBRE_50;
#define VOICE_VIBRATO_DELAY 150
@@ -155,11 +270,11 @@ float voice_envelope(float frequency) {
// note_timbre = 0.25;
// break;
+ #endif
+
default:
break;
}
return frequency;
}
-
-
diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h
index b2495b23b5..52f7e006d6 100644
--- a/quantum/audio/voices.h
+++ b/quantum/audio/voices.h
@@ -11,6 +11,9 @@ float voice_envelope(float frequency);
typedef enum {
default_voice,
+ #ifdef AUDIO_VOICES
+ something,
+ drums,
butts_fader,
octave_crunch,
duty_osc,
@@ -21,6 +24,7 @@ typedef enum {
// duty_fourth_down,
// duty_third_down,
// duty_fifth_third_down,
+ #endif
number_of_voices // important that this is last
} voice_type;
diff --git a/quantum/config_common.h b/quantum/config_common.h
index 8ed5f4a106..4bdb2065d9 100644
--- a/quantum/config_common.h
+++ b/quantum/config_common.h
@@ -5,55 +5,56 @@
#define COL2ROW 0
#define ROW2COL 1
/* I/O pins */
-#define B0 0x30
-#define B1 0x31
-#define B2 0x32
-#define B3 0x33
-#define B4 0x34
-#define B5 0x35
-#define B6 0x36
-#define B7 0x37
-#define C0 0x60
-#define C1 0x61
-#define C2 0x62
-#define C3 0x63
-#define C4 0x64
-#define C5 0x65
-#define C6 0x66
-#define C7 0x67
-#define D0 0x90
-#define D1 0x91
-#define D2 0x92
-#define D3 0x93
-#define D4 0x94
-#define D5 0x95
-#define D6 0x96
-#define D7 0x97
-#define E0 0xC0
-#define E1 0xC1
-#define E2 0xC2
-#define E3 0xC3
-#define E4 0xC4
-#define E5 0xC5
-#define E6 0xC6
-#define E7 0xC7
-#define F0 0xF0
-#define F1 0xF1
-#define F2 0xF2
-#define F3 0xF3
-#define F4 0xF4
-#define F5 0xF5
-#define F6 0xF6
-#define F7 0xF7
-#define A0 0x00
-#define A1 0x01
-#define A2 0x02
-#define A3 0x03
-#define A4 0x04
-#define A5 0x05
-#define A6 0x06
-#define A7 0x07
-
+#ifndef F0
+ #define B0 0x30
+ #define B1 0x31
+ #define B2 0x32
+ #define B3 0x33
+ #define B4 0x34
+ #define B5 0x35
+ #define B6 0x36
+ #define B7 0x37
+ #define C0 0x60
+ #define C1 0x61
+ #define C2 0x62
+ #define C3 0x63
+ #define C4 0x64
+ #define C5 0x65
+ #define C6 0x66
+ #define C7 0x67
+ #define D0 0x90
+ #define D1 0x91
+ #define D2 0x92
+ #define D3 0x93
+ #define D4 0x94
+ #define D5 0x95
+ #define D6 0x96
+ #define D7 0x97
+ #define E0 0xC0
+ #define E1 0xC1
+ #define E2 0xC2
+ #define E3 0xC3
+ #define E4 0xC4
+ #define E5 0xC5
+ #define E6 0xC6
+ #define E7 0xC7
+ #define F0 0xF0
+ #define F1 0xF1
+ #define F2 0xF2
+ #define F3 0xF3
+ #define F4 0xF4
+ #define F5 0xF5
+ #define F6 0xF6
+ #define F7 0xF7
+ #define A0 0x00
+ #define A1 0x01
+ #define A2 0x02
+ #define A3 0x03
+ #define A4 0x04
+ #define A5 0x05
+ #define A6 0x06
+ #define A7 0x07
+#endif
/* USART configuration */
#ifdef BLUETOOTH_ENABLE
@@ -76,53 +77,9 @@
} while(0)
# else
# error "USART configuration is needed."
+# endif
#endif
-// I'm fairly sure these aren't needed, but oh well - Jack
-
-/*
- * PS/2 Interrupt configuration
- */
-#ifdef PS2_USE_INT
-/* uses INT1 for clock line(ATMega32U4) */
-#define PS2_CLOCK_PORT PORTD
-#define PS2_CLOCK_PIN PIND
-#define PS2_CLOCK_DDR DDRD
-#define PS2_CLOCK_BIT 1
-
-#define PS2_DATA_PORT PORTD
-#define PS2_DATA_PIN PIND
-#define PS2_DATA_DDR DDRD
-#define PS2_DATA_BIT 0
-
-#define PS2_INT_INIT() do { \
- EICRA |= ((1< .
#define RESET QK_RESET
#endif
-/* translates key to keycode */
+#include "quantum_keycodes.h"
+
+// translates key to keycode
uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key);
+// translates function id to action
+uint16_t keymap_function_id_to_action( uint16_t function_id );
+
extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
extern const uint16_t fn_actions[];
-enum quantum_keycodes {
- // Ranges used in shortucuts - not to be used directly
- QK_TMK = 0x0000,
- QK_TMK_MAX = 0x00FF,
- QK_MODS = 0x0100,
- QK_LCTL = 0x0100,
- QK_LSFT = 0x0200,
- QK_LALT = 0x0400,
- QK_LGUI = 0x0800,
- QK_RCTL = 0x1100,
- QK_RSFT = 0x1200,
- QK_RALT = 0x1400,
- QK_RGUI = 0x1800,
- QK_MODS_MAX = 0x1FFF,
- QK_FUNCTION = 0x2000,
- QK_FUNCTION_MAX = 0x2FFF,
- QK_MACRO = 0x3000,
- QK_MACRO_MAX = 0x3FFF,
- QK_LAYER_TAP = 0x4000,
- QK_LAYER_TAP_MAX = 0x4FFF,
- QK_TO = 0x5000,
- QK_TO_MAX = 0x50FF,
- QK_MOMENTARY = 0x5100,
- QK_MOMENTARY_MAX = 0x51FF,
- QK_DEF_LAYER = 0x5200,
- QK_DEF_LAYER_MAX = 0x52FF,
- QK_TOGGLE_LAYER = 0x5300,
- QK_TOGGLE_LAYER_MAX = 0x53FF,
- QK_ONE_SHOT_LAYER = 0x5400,
- QK_ONE_SHOT_LAYER_MAX = 0x54FF,
- QK_ONE_SHOT_MOD = 0x5500,
- QK_ONE_SHOT_MOD_MAX = 0x55FF,
-#ifndef DISABLE_CHORDING
- QK_CHORDING = 0x5600,
- QK_CHORDING_MAX = 0x56FF,
-#endif
- QK_MOD_TAP = 0x6000,
- QK_MOD_TAP_MAX = 0x6FFF,
- QK_TAP_DANCE = 0x7100,
- QK_TAP_DANCE_MAX = 0x71FF,
-#ifdef UNICODE_ENABLE
- QK_UNICODE = 0x8000,
- QK_UNICODE_MAX = 0xFFFF,
-#endif
-
- // Loose keycodes - to be used directly
-
- RESET = 0x7000,
- DEBUG,
- MAGIC_SWAP_CONTROL_CAPSLOCK,
- MAGIC_CAPSLOCK_TO_CONTROL,
- MAGIC_SWAP_LALT_LGUI,
- MAGIC_SWAP_RALT_RGUI,
- MAGIC_NO_GUI,
- MAGIC_SWAP_GRAVE_ESC,
- MAGIC_SWAP_BACKSLASH_BACKSPACE,
- MAGIC_HOST_NKRO,
- MAGIC_SWAP_ALT_GUI,
- MAGIC_UNSWAP_CONTROL_CAPSLOCK,
- MAGIC_UNCAPSLOCK_TO_CONTROL,
- MAGIC_UNSWAP_LALT_LGUI,
- MAGIC_UNSWAP_RALT_RGUI,
- MAGIC_UNNO_GUI,
- MAGIC_UNSWAP_GRAVE_ESC,
- MAGIC_UNSWAP_BACKSLASH_BACKSPACE,
- MAGIC_UNHOST_NKRO,
- MAGIC_UNSWAP_ALT_GUI,
- MAGIC_TOGGLE_NKRO,
-
- // Leader key
-#ifndef DISABLE_LEADER
- KC_LEAD,
-#endif
-
- // Audio on/off/toggle
- AU_ON,
- AU_OFF,
- AU_TOG,
-
- // Music mode on/off/toggle
- MU_ON,
- MU_OFF,
- MU_TOG,
-
- // Music voice iterate
- MUV_IN,
- MUV_DE,
-
- // Midi mode on/off
- MIDI_ON,
- MIDI_OFF,
-
- // Backlight functionality
- BL_0,
- BL_1,
- BL_2,
- BL_3,
- BL_4,
- BL_5,
- BL_6,
- BL_7,
- BL_8,
- BL_9,
- BL_10,
- BL_11,
- BL_12,
- BL_13,
- BL_14,
- BL_15,
- BL_DEC,
- BL_INC,
- BL_TOGG,
- BL_STEP,
-
- // RGB functionality
- RGB_TOG,
- RGB_MOD,
- RGB_HUI,
- RGB_HUD,
- RGB_SAI,
- RGB_SAD,
- RGB_VAI,
- RGB_VAD,
-
- // Left shift, open paren
- KC_LSPO,
-
- // Right shift, close paren
- KC_RSPC,
-
- // always leave at the end
- SAFE_RANGE
-};
-
-// Ability to use mods in layouts
-#define LCTL(kc) (kc | QK_LCTL)
-#define LSFT(kc) (kc | QK_LSFT)
-#define LALT(kc) (kc | QK_LALT)
-#define LGUI(kc) (kc | QK_LGUI)
-#define RCTL(kc) (kc | QK_RCTL)
-#define RSFT(kc) (kc | QK_RSFT)
-#define RALT(kc) (kc | QK_RALT)
-#define RGUI(kc) (kc | QK_RGUI)
-
-#define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)
-#define MEH(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT)
-#define LCAG(kc) (kc | QK_LCTL | QK_LALT | QK_LGUI)
-#define ALTG(kc) (kc | QK_RCTL | QK_RALT)
-
-#define MOD_HYPR 0xf
-#define MOD_MEH 0x7
-
-
-// Aliases for shifted symbols
-// Each key has a 4-letter code, and some have longer aliases too.
-// While the long aliases are descriptive, the 4-letter codes
-// make for nicer grid layouts (everything lines up), and are
-// the preferred style for Quantum.
-#define KC_TILD LSFT(KC_GRV) // ~
-#define KC_TILDE KC_TILD
-
-#define KC_EXLM LSFT(KC_1) // !
-#define KC_EXCLAIM KC_EXLM
-
-#define KC_AT LSFT(KC_2) // @
-
-#define KC_HASH LSFT(KC_3) // #
-
-#define KC_DLR LSFT(KC_4) // $
-#define KC_DOLLAR KC_DLR
-
-#define KC_PERC LSFT(KC_5) // %
-#define KC_PERCENT KC_PERC
-
-#define KC_CIRC LSFT(KC_6) // ^
-#define KC_CIRCUMFLEX KC_CIRC
-
-#define KC_AMPR LSFT(KC_7) // &
-#define KC_AMPERSAND KC_AMPR
-
-#define KC_ASTR LSFT(KC_8) // *
-#define KC_ASTERISK KC_ASTR
-
-#define KC_LPRN LSFT(KC_9) // (
-#define KC_LEFT_PAREN KC_LPRN
-
-#define KC_RPRN LSFT(KC_0) // )
-#define KC_RIGHT_PAREN KC_RPRN
-
-#define KC_UNDS LSFT(KC_MINS) // _
-#define KC_UNDERSCORE KC_UNDS
-
-#define KC_PLUS LSFT(KC_EQL) // +
-
-#define KC_LCBR LSFT(KC_LBRC) // {
-#define KC_LEFT_CURLY_BRACE KC_LCBR
-
-#define KC_RCBR LSFT(KC_RBRC) // }
-#define KC_RIGHT_CURLY_BRACE KC_RCBR
-
-#define KC_LABK LSFT(KC_COMM) // <
-#define KC_LEFT_ANGLE_BRACKET KC_LABK
-
-#define KC_RABK LSFT(KC_DOT) // >
-#define KC_RIGHT_ANGLE_BRACKET KC_RABK
-
-#define KC_COLN LSFT(KC_SCLN) // :
-#define KC_COLON KC_COLN
-
-#define KC_PIPE LSFT(KC_BSLS) // |
-
-#define KC_LT LSFT(KC_COMM) // <
-
-#define KC_GT LSFT(KC_DOT) // >
-
-#define KC_QUES LSFT(KC_SLSH) // ?
-#define KC_QUESTION KC_QUES
-
-#define KC_DQT LSFT(KC_QUOT) // "
-#define KC_DOUBLE_QUOTE KC_DQT
-#define KC_DQUO KC_DQT
-
-#define KC_DELT KC_DELETE // Del key (four letter code)
-
-// Alias for function layers than expand past FN31
-#define FUNC(kc) (kc | QK_FUNCTION)
-
-// Aliases
-#define S(kc) LSFT(kc)
-#define F(kc) FUNC(kc)
-
-#define M(kc) (kc | QK_MACRO)
-
-#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE)
-
-// L-ayer, T-ap - 256 keycode max, 16 layer max
-#define LT(layer, kc) (kc | QK_LAYER_TAP | ((layer & 0xF) << 8))
-
-#define AG_SWAP MAGIC_SWAP_ALT_GUI
-#define AG_NORM MAGIC_UNSWAP_ALT_GUI
-
-#define BL_ON BL_9
-#define BL_OFF BL_0
-
-#define MI_ON MIDI_ON
-#define MI_OFF MIDI_OFF
-
-// GOTO layer - 16 layers max
-// when:
-// ON_PRESS = 1
-// ON_RELEASE = 2
-// Unless you have a good reason not to do so, prefer ON_PRESS (1) as your default.
-// In fact, we changed it to assume ON_PRESS for sanity/simplicity. If needed, you can add your own
-// keycode modeled after the old version, kept below for this.
-/* #define TO(layer, when) (layer | QK_TO | (when << 0x4)) */
-#define TO(layer) (layer | QK_TO | (ON_PRESS << 0x4))
-
-// Momentary switch layer - 256 layer max
-#define MO(layer) (layer | QK_MOMENTARY)
-
-// Set default layer - 256 layer max
-#define DF(layer) (layer | QK_DEF_LAYER)
-
-// Toggle to layer - 256 layer max
-#define TG(layer) (layer | QK_TOGGLE_LAYER)
-
-// One-shot layer - 256 layer max
-#define OSL(layer) (layer | QK_ONE_SHOT_LAYER)
-
-// One-shot mod
-#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
-
-// M-od, T-ap - 256 keycode max
-#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8))
-#define CTL_T(kc) MT(MOD_LCTL, kc)
-#define SFT_T(kc) MT(MOD_LSFT, kc)
-#define ALT_T(kc) MT(MOD_LALT, kc)
-#define GUI_T(kc) MT(MOD_LGUI, kc)
-#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
-#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
-#define LCAG_T(kc) MT((MOD_LCTL | MOD_LALT | MOD_LGUI), kc) // Left control alt and gui
-#define ALL_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI), kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
-
-// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
-#define KC_HYPR HYPR(KC_NO)
-#define KC_MEH MEH(KC_NO)
-
-#ifdef UNICODE_ENABLE
- // For sending unicode codes.
- // You may not send codes over 7FFF -- this supports most of UTF8.
- // To have a key that sends out Œ, go UC(0x0152)
- #define UNICODE(n) (n | QK_UNICODE)
- #define UC(n) UNICODE(n)
-#endif
-
#endif
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index 833e5a8f8d..eced3d2bba 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -48,12 +48,10 @@ action_t action_for_key(uint8_t layer, keypos_t key)
action_t action;
uint8_t action_layer, when, mod;
- // The arm-none-eabi compiler generates out of bounds warnings when using the fn_actions directly for some reason
- const uint16_t* actions = fn_actions;
switch (keycode) {
case KC_FN0 ... KC_FN31:
- action.code = pgm_read_word(&actions[FN_INDEX(keycode)]);
+ action.code = keymap_function_id_to_action(FN_INDEX(keycode));
break;
case KC_A ... KC_EXSEL:
case KC_LCTRL ... KC_RGUI:
@@ -79,7 +77,7 @@ action_t action_for_key(uint8_t layer, keypos_t key)
case QK_FUNCTION ... QK_FUNCTION_MAX: ;
// Is a shortcut for function action_layer, pull last 12bits
// This means we have 4,096 FN macros at our disposal
- action.code = pgm_read_word(&actions[(int)keycode & 0xFFF]);
+ action.code = keymap_function_id_to_action( (int)keycode & 0xFFF );
break;
case QK_MACRO ... QK_MACRO_MAX:
action.code = ACTION_MACRO(keycode & 0xFF);
@@ -163,9 +161,17 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
{
}
-/* translates key to keycode */
+// translates key to keycode
+__attribute__ ((weak))
uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
{
// Read entire word (16bits)
return pgm_read_word(&keymaps[(layer)][(key.row)][(key.col)]);
}
+
+// translates function id to action
+__attribute__ ((weak))
+uint16_t keymap_function_id_to_action( uint16_t function_id )
+{
+ return pgm_read_word(&fn_actions[function_id]);
+}
diff --git a/quantum/keymap_extras/keymap_br_abnt2.h b/quantum/keymap_extras/keymap_br_abnt2.h
new file mode 100644
index 0000000000..0df177721d
--- /dev/null
+++ b/quantum/keymap_extras/keymap_br_abnt2.h
@@ -0,0 +1,58 @@
+#ifndef KEYMAP_BR_ABNT2_H
+#define KEYMAP_BR_ABNT2_H
+
+#include "keymap_common.h"
+
+/* Scan codes for the Brazilian ABNT2 keyboard layout */
+
+#define BR_CCDL KC_SCLN // Ç same scancode as ;: on US layout
+#define BR_SCLN KC_SLSH // ;: same scancode as /? on US layout
+#define BR_QUOT KC_GRV // '" same scancode as `~ on US layout
+#define BR_TILD KC_QUOT // ~^ dead keys, same scancode as '" on US layout
+#define BR_ACUT KC_LBRC // ´` dead keys, same scancode as [{ on US layout
+#define BR_LBRC KC_RBRC // [{ same scancode as ]} on US layout
+#define BR_RBRC KC_BSLS // ]} same scancode as \| on US layout
+#define BR_BSLS KC_NUBS // \| uses the non-US hash scancode (#~, sometimes §±)
+#define BR_SLSH KC_INT1 // /? uses the INTL1 scancode
+
+#define BR_COLN LSFT(BR_SCLN) // shifted :
+#define BR_DQT LSFT(BR_QUOT) // shifted "
+#define BR_CIRC LSFT(BR_TILD) // shifted ^ (dead key)
+#define BR_GRAV LSFT(BR_ACUT) // shifted ` (dead key)
+#define BR_LCBR LSFT(BR_LBRC) // shifted {
+#define BR_RCBR LSFT(BR_RBRC) // shifted }
+#define BR_PIPE LSFT(BR_BSLS) // shifted |
+#define BR_QUES LSFT(BR_SLSH) // shifted ?
+#define BR_TRMA LSFT(KC_6) // shifted ¨ (dead key - trema accent)
+
+// On the ABNT2 the keypad comma and the keypad dot scancodes are switched
+// (presumably because in Brazil comma is used as the decimal separator)
+#define BR_KPDT KC_KP_COMMA // keypad .
+#define BR_KPCM KC_KP_DOT // keypad ,
+
+#define BR_1UP LALT(KC_1) // 1 superscript ¹ alt+1
+#define BR_2UP LALT(KC_2) // 2 superscript ² alt+2
+#define BR_3UP LALT(KC_3) // 3 superscript ³ alt+3
+#define BR_PND LALT(KC_4) // Pound sign £ alt+4
+#define BR_CENT LALT(KC_5) // Cent sign ¢ alt+5
+#define BR_NOT LALT(KC_6) // Not sign ¬ alt+6
+#define BR_SECT LALT(KC_EQL) // Section sign § alt+=
+#define BR_FORD LALT(BR_LBRC) // Feminine Ordinal Sign ª alt+[
+#define BR_MORD LALT(BR_RBRC) // Masculine Ordinal Sign º alt+]
+#define BR_DGRE LALT(BR_SLSH) // Degree sign ° alt+/
+
+#define BR_EURO LALT(KC_E) // Euro sign € alt+e
+#define BR_NDTD LALT(BR_TILD) // Non-dead key tilde ~ alt+~
+#define BR_NDAC LALT(BR_ACUT) // Non-dead key acute accent ´ alt+´
+#define BR_NDGV LALT(BR_QUOT) // Non-dead key grave accent ` alt+'
+#define BR_NDCR LALT(BR_CIRC) // Non-dead key circumflex accent ^ alt+^ (alt+shift+~)
+#define BR_NDTR LALT(BR_TRMA) // Non-dead key trema accent ¨ alt+¨ (alt+shift+6)
+
+// For 101-key keyboard layouts, the ABNT2 layout allows
+// the slash and question mark to be typed using alt+q and alt+w.
+// The shortcuts are provided here for completeness' sake,
+// but it's recommended to use BR_SLSH and BR_QUES instead
+#define BR_ASLS LALT(KC_Q)
+#define BR_AQST LALT(KC_W)
+
+#endif
diff --git a/quantum/keymap_extras/keymap_dvp.h b/quantum/keymap_extras/keymap_dvp.h
new file mode 100644
index 0000000000..83f49a52b5
--- /dev/null
+++ b/quantum/keymap_extras/keymap_dvp.h
@@ -0,0 +1,82 @@
+#ifndef KEYMAP_DVP_H
+#define KEYMAP_DVP_H
+
+#include "keymap.h"
+
+// Normal characters
+#define DP_DLR KC_GRV
+#define DP_AMPR KC_1
+#define DP_LBRC KC_2
+#define DP_LCBR KC_3
+#define DP_RCBR KC_4
+#define DP_LPRN KC_5
+#define DP_EQL KC_6
+#define DP_ASTR KC_7
+#define DP_RPRN KC_8
+#define DP_PLUS KC_9
+#define DP_RBRC KC_0
+#define DP_EXLM KC_MINS
+#define DP_HASH KC_EQL
+
+#define DP_SCLN KC_Q
+#define DP_COMM KC_W
+#define DP_DOT KC_E
+#define DP_P KC_R
+#define DP_Y KC_T
+#define DP_F KC_Y
+#define DP_G KC_U
+#define DP_C KC_I
+#define DP_R KC_O
+#define DP_L KC_P
+#define DP_SLSH KC_LBRC
+#define DP_AT KC_RBRC
+#define DP_BSLS KC_BSLS
+
+#define DP_A KC_A
+#define DP_O KC_S
+#define DP_E KC_D
+#define DP_U KC_F
+#define DP_I KC_G
+#define DP_D KC_H
+#define DP_H KC_J
+#define DP_T KC_K
+#define DP_N KC_L
+#define DP_S KC_SCLN
+#define DP_MINS KC_QUOT
+
+#define DP_QUOT KC_Z
+#define DP_Q KC_X
+#define DP_J KC_C
+#define DP_K KC_V
+#define DP_X KC_B
+#define DP_B KC_N
+#define DP_M KC_M
+#define DP_W KC_COMM
+#define DP_V KC_DOT
+#define DP_Z KC_SLSH
+
+// Shifted characters
+#define DP_TILD LSFT(DP_DLR)
+#define DP_PERC LSFT(DP_AMPR)
+#define DP_7 LSFT(DP_LBRC)
+#define DP_5 LSFT(DP_LCBR)
+#define DP_3 LSFT(DP_RCBR)
+#define DP_1 LSFT(DP_LPRN)
+#define DP_9 LSFT(DP_EQL)
+#define DP_0 LSFT(DP_ASTR)
+#define DP_2 LSFT(DP_RPRN)
+#define DP_4 LSFT(DP_PLUS)
+#define DP_6 LSFT(DP_RBRC)
+#define DP_8 LSFT(DP_EXLM)
+#define DP_GRV LSFT(DP_HASH)
+
+#define DP_COLN LSFT(DP_SCLN)
+#define DP_LABK LSFT(DP_COMM)
+#define DP_RABK LSFT(DP_DOT)
+#define DP_QUES LSFT(DP_SLSH)
+#define DP_CIRC LSFT(DP_AT)
+#define DP_PIPE LSFT(DP_BSLS)
+#define DP_UNDS LSFT(DP_MINS)
+#define DP_DQUO LSFT(DP_QUOT)
+
+#endif
diff --git a/quantum/keymap_extras/keymap_jp.h b/quantum/keymap_extras/keymap_jp.h
new file mode 100644
index 0000000000..e81b5952e0
--- /dev/null
+++ b/quantum/keymap_extras/keymap_jp.h
@@ -0,0 +1,62 @@
+/* JP106-layout (Japanese Standard)
+ *
+ * For more information, see
+ * http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html
+ * note: This website is written in Japanese.
+ */
+
+
+#ifndef KEYMAP_JP_H
+#define KEYMAP_JP_H
+
+
+#include "keymap.h"
+
+
+#define JP_ZHTG KC_GRV // hankaku/zenkaku|kanzi
+#define JP_YEN KC_INT3 // yen, |
+#define JP_CIRC KC_EQL // ^, ~
+#define JP_AT KC_LBRC // @, `
+#define JP_LBRC KC_RBRC // [, {
+#define JP_COLN KC_QUOT // :, *
+#define JP_RBRC KC_NUHS // ], }
+#define JP_BSLS KC_INT1 // \, _
+#define JP_MHEN KC_INT5 // muhenkan
+#define JP_HENK KC_INT4 // henkan
+#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi
+
+
+//Aliases for shifted symbols
+#define JP_DQT LSFT(KC_2) // "
+#define JP_AMPR LSFT(KC_6) // &
+#define JP_QUOT LSFT(KC_7) // '
+#define JP_LPRN LSFT(KC_8) // (
+#define JP_RPRN LSFT(KC_9) // )
+#define JP_EQL LSFT(KC_MINS) // =
+#define JP_TILD LSFT(JP_CIRC) // ~
+#define JP_PIPE LSFT(JP_YEN) // |
+#define JP_GRV LSFT(JP_AT) // `
+#define JP_LCBR LSFT(JP_LBRC) // {
+#define JP_PLUS LSFT(KC_SCLN) // +
+#define JP_ASTR LSFT(JP_COLN) // *
+#define JP_RCBR LSFT(JP_RBRC) // }
+#define JP_UNDS LSFT(JP_BSLS) // _
+
+
+// These symbols are correspond to US101-layout.
+#define JP_MINS KC_MINS // -
+#define JP_SCLN KC_SCLN // ;
+#define JP_COMM KC_COMM // ,
+#define JP_DOT KC_DOT // .
+#define JP_SLSH KC_SLSH // /
+// shifted
+#define JP_EXLM KC_EXLM // !
+#define JP_HASH KC_HASH // #
+#define JP_DLR KC_DLR // $
+#define JP_PERC KC_PERC // %
+#define JP_LT KC_LT // <
+#define JP_GT KC_GT // >
+#define JP_QUES KC_QUES // ?
+
+
+#endif
diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h
index da5c829757..9b0ef35ca9 100644
--- a/quantum/keymap_extras/keymap_nordic.h
+++ b/quantum/keymap_extras/keymap_nordic.h
@@ -13,7 +13,7 @@
#define NO_ACUT KC_EQL
#define NO_AM KC_LBRC
-#define NO_QUOT KC_RBRC
+#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
#define NO_AE KC_SCLN
#define NO_OSLH KC_QUOT
#define NO_APOS KC_NUHS
diff --git a/quantum/light_ws2812.c b/quantum/light_ws2812.c
index 401845e855..a883b13884 100755
--- a/quantum/light_ws2812.c
+++ b/quantum/light_ws2812.c
@@ -16,14 +16,128 @@
#include
#include "debug.h"
+#ifdef RGBW_BB_TWI
+
+// Port for the I2C
+#define I2C_DDR DDRD
+#define I2C_PIN PIND
+#define I2C_PORT PORTD
+
+// Pins to be used in the bit banging
+#define I2C_CLK 0
+#define I2C_DAT 1
+
+#define I2C_DATA_HI()\
+I2C_DDR &= ~ (1 << I2C_DAT);\
+I2C_PORT |= (1 << I2C_DAT);
+#define I2C_DATA_LO()\
+I2C_DDR |= (1 << I2C_DAT);\
+I2C_PORT &= ~ (1 << I2C_DAT);
+
+#define I2C_CLOCK_HI()\
+I2C_DDR &= ~ (1 << I2C_CLK);\
+I2C_PORT |= (1 << I2C_CLK);
+#define I2C_CLOCK_LO()\
+I2C_DDR |= (1 << I2C_CLK);\
+I2C_PORT &= ~ (1 << I2C_CLK);
+
+#define I2C_DELAY 1
+
+void I2C_WriteBit(unsigned char c)
+{
+ if (c > 0)
+ {
+ I2C_DATA_HI();
+ }
+ else
+ {
+ I2C_DATA_LO();
+ }
+
+ I2C_CLOCK_HI();
+ _delay_us(I2C_DELAY);
+
+ I2C_CLOCK_LO();
+ _delay_us(I2C_DELAY);
+
+ if (c > 0)
+ {
+ I2C_DATA_LO();
+ }
+
+ _delay_us(I2C_DELAY);
+}
+
+// Inits bitbanging port, must be called before using the functions below
+//
+void I2C_Init()
+{
+ I2C_PORT &= ~ ((1 << I2C_DAT) | (1 << I2C_CLK));
+
+ I2C_CLOCK_HI();
+ I2C_DATA_HI();
+
+ _delay_us(I2C_DELAY);
+}
+
+// Send a START Condition
+//
+void I2C_Start()
+{
+ // set both to high at the same time
+ I2C_DDR &= ~ ((1 << I2C_DAT) | (1 << I2C_CLK));
+ _delay_us(I2C_DELAY);
+
+ I2C_DATA_LO();
+ _delay_us(I2C_DELAY);
+
+ I2C_CLOCK_LO();
+ _delay_us(I2C_DELAY);
+}
+
+// Send a STOP Condition
+//
+void I2C_Stop()
+{
+ I2C_CLOCK_HI();
+ _delay_us(I2C_DELAY);
+
+ I2C_DATA_HI();
+ _delay_us(I2C_DELAY);
+}
+
+// write a byte to the I2C slave device
+//
+unsigned char I2C_Write(unsigned char c)
+{
+ for (char i = 0; i < 8; i++)
+ {
+ I2C_WriteBit(c & 128);
+
+ c <<= 1;
+ }
+
+
+ I2C_WriteBit(0);
+ _delay_us(I2C_DELAY);
+ _delay_us(I2C_DELAY);
+
+ // _delay_us(I2C_DELAY);
+ //return I2C_ReadBit();
+ return 0;
+}
+
+
+#endif
+
// Setleds for standard RGB
-void inline ws2812_setleds(struct cRGB *ledarray, uint16_t leds)
+void inline ws2812_setleds(LED_TYPE *ledarray, uint16_t leds)
{
// ws2812_setleds_pin(ledarray,leds, _BV(ws2812_pin));
ws2812_setleds_pin(ledarray,leds, _BV(RGB_DI_PIN & 0xF));
}
-void inline ws2812_setleds_pin(struct cRGB *ledarray, uint16_t leds, uint8_t pinmask)
+void inline ws2812_setleds_pin(LED_TYPE *ledarray, uint16_t leds, uint8_t pinmask)
{
// ws2812_DDRREG |= pinmask; // Enable DDR
// new universal format (DDR)
@@ -34,14 +148,41 @@ void inline ws2812_setleds_pin(struct cRGB *ledarray, uint16_t leds, uint8_t pin
}
// Setleds for SK6812RGBW
-void inline ws2812_setleds_rgbw(struct cRGBW *ledarray, uint16_t leds)
+void inline ws2812_setleds_rgbw(LED_TYPE *ledarray, uint16_t leds)
{
+
+ #ifdef RGBW_BB_TWI
+ uint8_t sreg_prev, twcr_prev;
+ sreg_prev=SREG;
+ twcr_prev=TWCR;
+ cli();
+ TWCR &= ~(1<> 4) + 1) |= _BV(RGB_DI_PIN & 0xF);
ws2812_sendarray_mask((uint8_t*)ledarray,leds<<2,_BV(RGB_DI_PIN & 0xF));
- _delay_us(80);
+
+
+ #ifndef RGBW_BB_TWI
+ _delay_us(80);
+ #endif
}
void ws2812_sendarray(uint8_t *data,uint16_t datlen)
@@ -123,7 +264,7 @@ void inline ws2812_sendarray_mask(uint8_t *data,uint16_t datlen,uint8_t maskhi)
cli();
while (datlen--) {
- curbyte=*data++;
+ curbyte=(*data++);
asm volatile(
" ldi %0,8 \n\t"
diff --git a/quantum/light_ws2812.h b/quantum/light_ws2812.h
index 54eef22d9e..2f78c20fc1 100755
--- a/quantum/light_ws2812.h
+++ b/quantum/light_ws2812.h
@@ -16,6 +16,14 @@
#include
#include
//#include "ws2812_config.h"
+//#include "i2cmaster.h"
+
+#ifdef RGBW
+ #define LED_TYPE struct cRGBW
+#else
+ #define LED_TYPE struct cRGB
+#endif
+
/*
* Structure of the LED array
@@ -42,9 +50,9 @@ struct cRGBW { uint8_t g; uint8_t r; uint8_t b; uint8_t w;};
* - Wait 50�s to reset the LEDs
*/
-void ws2812_setleds (struct cRGB *ledarray, uint16_t number_of_leds);
-void ws2812_setleds_pin (struct cRGB *ledarray, uint16_t number_of_leds,uint8_t pinmask);
-void ws2812_setleds_rgbw(struct cRGBW *ledarray, uint16_t number_of_leds);
+void ws2812_setleds (LED_TYPE *ledarray, uint16_t number_of_leds);
+void ws2812_setleds_pin (LED_TYPE *ledarray, uint16_t number_of_leds,uint8_t pinmask);
+void ws2812_setleds_rgbw(LED_TYPE *ledarray, uint16_t number_of_leds);
/*
* Old interface / Internal functions
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 3174e07390..07eb87bc36 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -25,37 +25,65 @@ along with this program. If not, see .
#include "debug.h"
#include "util.h"
#include "matrix.h"
+#include "timer.h"
+
/* Set 0 if debouncing isn't needed */
#ifndef DEBOUNCING_DELAY
# define DEBOUNCING_DELAY 5
#endif
-static uint8_t debouncing = DEBOUNCING_DELAY;
+
+#if (DEBOUNCING_DELAY > 0)
+ static uint16_t debouncing_time;
+ static bool debouncing = false;
+#endif
+
+#if (MATRIX_COLS <= 8)
+# define print_matrix_header() print("\nr/c 01234567\n")
+# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
+# define matrix_bitpop(i) bitpop(matrix[i])
+# define ROW_SHIFTER ((uint8_t)1)
+#elif (MATRIX_COLS <= 16)
+# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
+# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
+# define matrix_bitpop(i) bitpop16(matrix[i])
+# define ROW_SHIFTER ((uint16_t)1)
+#elif (MATRIX_COLS <= 32)
+# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
+# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
+# define matrix_bitpop(i) bitpop32(matrix[i])
+# define ROW_SHIFTER ((uint32_t)1)
+#endif
+
+#ifdef MATRIX_MASKED
+ extern const matrix_row_t matrix_mask[];
+#endif
static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
/* matrix state(1:on, 0:off) */
static matrix_row_t matrix[MATRIX_ROWS];
+
+static matrix_row_t matrix_raw[MATRIX_ROWS];
static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-#if DIODE_DIRECTION == ROW2COL
- static matrix_row_t matrix_reversed[MATRIX_COLS];
- static matrix_row_t matrix_reversed_debouncing[MATRIX_COLS];
-#endif
-#if MATRIX_COLS > 16
- #define SHIFTER 1UL
-#else
- #define SHIFTER 1
+#if (DIODE_DIRECTION == COL2ROW)
+ static void init_cols(void);
+ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row);
+ static void unselect_rows(void);
+ static void select_row(uint8_t row);
+ static void unselect_row(uint8_t row);
+#else // ROW2COL
+ static void init_rows(void);
+ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col);
+ static void unselect_cols(void);
+ static void unselect_col(uint8_t col);
+ static void select_col(uint8_t col);
#endif
-static matrix_row_t read_cols(void);
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-
__attribute__ ((weak))
void matrix_init_quantum(void) {
matrix_init_kb();
@@ -95,7 +123,7 @@ uint8_t matrix_cols(void) {
}
// void matrix_power_up(void) {
-// #if DIODE_DIRECTION == COL2ROW
+// #if (DIODE_DIRECTION == COL2ROW)
// for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
// /* DDRxn */
// _SFR_IO8((row_pins[r] >> 4) + 1) |= _BV(row_pins[r] & 0xF);
@@ -119,19 +147,26 @@ uint8_t matrix_cols(void) {
// }
void matrix_init(void) {
+
// To use PORTF disable JTAG with writing JTD bit twice within four cycles.
- #ifdef __AVR_ATmega32U4__
+ #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__))
MCUCR |= _BV(JTD);
MCUCR |= _BV(JTD);
#endif
// initialize row and col
+#if (DIODE_DIRECTION == COL2ROW)
unselect_rows();
init_cols();
+#else // ROW2COL
+ unselect_cols();
+ init_rows();
+#endif
// initialize matrix state: all keys off
for (uint8_t i=0; i < MATRIX_ROWS; i++) {
matrix[i] = 0;
+ matrix_raw[i] = 0;
matrix_debouncing[i] = 0;
}
@@ -141,71 +176,60 @@ void matrix_init(void) {
uint8_t matrix_scan(void)
{
-#if DIODE_DIRECTION == COL2ROW
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- select_row(i);
- wait_us(30); // without this wait read unstable value.
- matrix_row_t cols = read_cols();
- if (matrix_debouncing[i] != cols) {
- matrix_debouncing[i] = cols;
- if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
+#if (DIODE_DIRECTION == COL2ROW)
+
+ // Set row, read cols
+ for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
+# if (DEBOUNCING_DELAY > 0)
+ bool matrix_changed = read_cols_on_row(matrix_debouncing, current_row);
+
+ if (matrix_changed) {
+ debouncing = true;
+ debouncing_time = timer_read();
}
- debouncing = DEBOUNCING_DELAY;
- }
- unselect_rows();
+
+# else
+ read_cols_on_row(matrix, current_row);
+# endif
+
}
- if (debouncing) {
- if (--debouncing) {
- wait_ms(1);
- } else {
+#else // ROW2COL
+
+ // Set col, read rows
+ for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) {
+# if (DEBOUNCING_DELAY > 0)
+ bool matrix_changed = read_rows_on_col(matrix_debouncing, current_col);
+ if (matrix_changed) {
+ debouncing = true;
+ debouncing_time = timer_read();
+ }
+# else
+ read_rows_on_col(matrix, current_col);
+# endif
+
+ }
+
+#endif
+
+# if (DEBOUNCING_DELAY > 0)
+ if (debouncing && (timer_elapsed(debouncing_time) > DEBOUNCING_DELAY)) {
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
matrix[i] = matrix_debouncing[i];
}
+ debouncing = false;
}
- }
-#else
- for (uint8_t i = 0; i < MATRIX_COLS; i++) {
- select_row(i);
- wait_us(30); // without this wait read unstable value.
- matrix_row_t rows = read_cols();
- if (matrix_reversed_debouncing[i] != rows) {
- matrix_reversed_debouncing[i] = rows;
- if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
- }
- debouncing = DEBOUNCING_DELAY;
- }
- unselect_rows();
- }
-
- if (debouncing) {
- if (--debouncing) {
- wait_ms(1);
- } else {
- for (uint8_t i = 0; i < MATRIX_COLS; i++) {
- matrix_reversed[i] = matrix_reversed_debouncing[i];
- }
- }
- }
- for (uint8_t y = 0; y < MATRIX_ROWS; y++) {
- matrix_row_t row = 0;
- for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- row |= ((matrix_reversed[x] & (1<> y) << x;
- }
- matrix[y] = row;
- }
-#endif
+# endif
matrix_scan_quantum();
-
return 1;
}
bool matrix_is_modified(void)
{
+#if (DEBOUNCING_DELAY > 0)
if (debouncing) return false;
+#endif
return true;
}
@@ -218,15 +242,22 @@ bool matrix_is_on(uint8_t row, uint8_t col)
inline
matrix_row_t matrix_get_row(uint8_t row)
{
+ // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a
+ // switch blocker installed and the switch is always pressed.
+#ifdef MATRIX_MASKED
+ return matrix[row] & matrix_mask[row];
+#else
return matrix[row];
+#endif
}
void matrix_print(void)
{
- print("\nr/c 0123456789ABCDEF\n");
+ print_matrix_header();
+
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
+ print_matrix_row(row);
print("\n");
}
}
@@ -235,63 +266,148 @@ uint8_t matrix_key_count(void)
{
uint8_t count = 0;
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop16(matrix[i]);
+ count += matrix_bitpop(i);
}
return count;
}
+
+
+#if (DIODE_DIRECTION == COL2ROW)
+
static void init_cols(void)
{
-#if DIODE_DIRECTION == COL2ROW
- for(int x = 0; x < MATRIX_COLS; x++) {
- int pin = col_pins[x];
-#else
- for(int x = 0; x < MATRIX_ROWS; x++) {
- int pin = row_pins[x];
-#endif
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF);
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF);
+ for(uint8_t x = 0; x < MATRIX_COLS; x++) {
+ uint8_t pin = col_pins[x];
+ _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
+ _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
}
}
-static matrix_row_t read_cols(void)
+static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
{
- matrix_row_t result = 0;
+ // Store last value of row prior to reading
+ matrix_row_t last_row_value = current_matrix[current_row];
-#if DIODE_DIRECTION == COL2ROW
- for(int x = 0; x < MATRIX_COLS; x++) {
- int pin = col_pins[x];
-#else
- for(int x = 0; x < MATRIX_ROWS; x++) {
- int pin = row_pins[x];
-#endif
- result |= (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)) ? 0 : (SHIFTER << x);
- }
- return result;
-}
+ // Clear data in matrix row
+ current_matrix[current_row] = 0;
-static void unselect_rows(void)
-{
-#if DIODE_DIRECTION == COL2ROW
- for(int x = 0; x < MATRIX_ROWS; x++) {
- int pin = row_pins[x];
-#else
- for(int x = 0; x < MATRIX_COLS; x++) {
- int pin = col_pins[x];
-#endif
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF);
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF);
+ // Select row and wait for row selecton to stabilize
+ select_row(current_row);
+ wait_us(30);
+
+ // For each col...
+ for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
+
+ // Select the col pin to read (active low)
+ uint8_t pin = col_pins[col_index];
+ uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF));
+
+ // Populate the matrix row with the state of the col pin
+ current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index);
}
+
+ // Unselect row
+ unselect_row(current_row);
+
+ return (last_row_value != current_matrix[current_row]);
}
static void select_row(uint8_t row)
{
-
-#if DIODE_DIRECTION == COL2ROW
- int pin = row_pins[row];
-#else
- int pin = col_pins[row];
-#endif
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF);
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF);
+ uint8_t pin = row_pins[row];
+ _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
+ _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
}
+
+static void unselect_row(uint8_t row)
+{
+ uint8_t pin = row_pins[row];
+ _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
+ _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
+}
+
+static void unselect_rows(void)
+{
+ for(uint8_t x = 0; x < MATRIX_ROWS; x++) {
+ uint8_t pin = row_pins[x];
+ _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
+ _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
+ }
+}
+
+#else // ROW2COL
+
+static void init_rows(void)
+{
+ for(uint8_t x = 0; x < MATRIX_ROWS; x++) {
+ uint8_t pin = row_pins[x];
+ _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
+ _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
+ }
+}
+
+static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
+{
+ bool matrix_changed = false;
+
+ // Select col and wait for col selecton to stabilize
+ select_col(current_col);
+ wait_us(30);
+
+ // For each row...
+ for(uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++)
+ {
+
+ // Store last value of row prior to reading
+ matrix_row_t last_row_value = current_matrix[row_index];
+
+ // Check row pin state
+ if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0)
+ {
+ // Pin LO, set col bit
+ current_matrix[row_index] |= (ROW_SHIFTER << current_col);
+ }
+ else
+ {
+ // Pin HI, clear col bit
+ current_matrix[row_index] &= ~(ROW_SHIFTER << current_col);
+ }
+
+ // Determine if the matrix changed state
+ if ((last_row_value != current_matrix[row_index]) && !(matrix_changed))
+ {
+ matrix_changed = true;
+ }
+ }
+
+ // Unselect col
+ unselect_col(current_col);
+
+ return matrix_changed;
+}
+
+static void select_col(uint8_t col)
+{
+ uint8_t pin = col_pins[col];
+ _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
+ _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
+}
+
+static void unselect_col(uint8_t col)
+{
+ uint8_t pin = col_pins[col];
+ _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
+ _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
+}
+
+static void unselect_cols(void)
+{
+ for(uint8_t x = 0; x < MATRIX_COLS; x++) {
+ uint8_t pin = col_pins[x];
+ _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
+ _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
+ }
+}
+
+#endif
diff --git a/quantum/pincontrol.h b/quantum/pincontrol.h
new file mode 100644
index 0000000000..36ce29ef22
--- /dev/null
+++ b/quantum/pincontrol.h
@@ -0,0 +1,37 @@
+#pragma once
+// Some helpers for controlling gpio pins
+#include
+
+enum {
+ PinDirectionInput = 0,
+ PinDirectionOutput = 1,
+ PinLevelHigh = 1,
+ PinLevelLow = 0,
+};
+
+// ex: pinMode(B0, PinDirectionOutput);
+static inline void pinMode(uint8_t pin, int mode) {
+ uint8_t bv = _BV(pin & 0xf);
+ if (mode == PinDirectionOutput) {
+ _SFR_IO8((pin >> 4) + 1) |= bv;
+ } else {
+ _SFR_IO8((pin >> 4) + 1) &= ~bv;
+ _SFR_IO8((pin >> 4) + 2) &= ~bv;
+ }
+}
+
+// ex: digitalWrite(B0, PinLevelHigh);
+static inline void digitalWrite(uint8_t pin, int mode) {
+ uint8_t bv = _BV(pin & 0xf);
+ if (mode == PinLevelHigh) {
+ _SFR_IO8((pin >> 4) + 2) |= bv;
+ } else {
+ _SFR_IO8((pin >> 4) + 2) &= ~bv;
+ }
+}
+
+// Return true if the pin is HIGH
+// digitalRead(B0)
+static inline bool digitalRead(uint8_t pin) {
+ return _SFR_IO8(pin >> 4) & _BV(pin & 0xf);
+}
diff --git a/quantum/process_keycode/process_music.c b/quantum/process_keycode/process_music.c
index 2d52e47a72..ca68bef6c8 100644
--- a/quantum/process_keycode/process_music.c
+++ b/quantum/process_keycode/process_music.c
@@ -1,8 +1,8 @@
#include "process_music.h"
bool music_activated = false;
-uint8_t starting_note = 0x0C;
-int offset = 7;
+uint8_t music_starting_note = 0x0C;
+int music_offset = 7;
// music sequencer
static bool music_sequence_recording = false;
@@ -115,7 +115,16 @@ bool process_music(uint16_t keycode, keyrecord_t *record) {
return false;
}
- float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row));
+ #ifdef MUSIC_MODE_CHROMATIC
+ float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + record->event.key.col + music_offset)/12.0+(MATRIX_ROWS - record->event.key.row));
+ #elif defined(MUSIC_MODE_GUITAR)
+ float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + record->event.key.col + music_offset)/12.0+(float)(MATRIX_ROWS - record->event.key.row + 7)*5.0/12);
+ #elif defined(MUSIC_MODE_VIOLIN)
+ float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + record->event.key.col + music_offset)/12.0+(float)(MATRIX_ROWS - record->event.key.row + 5)*7.0/12);
+ #else
+ float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + SCALE[record->event.key.col + music_offset])/12.0+(MATRIX_ROWS - record->event.key.row));
+ #endif
+
if (record->event.pressed) {
play_note(freq, 0xF);
if (music_sequence_recording) {
diff --git a/quantum/process_keycode/process_printer.c b/quantum/process_keycode/process_printer.c
new file mode 100644
index 0000000000..2e11dd366c
--- /dev/null
+++ b/quantum/process_keycode/process_printer.c
@@ -0,0 +1,254 @@
+#include "process_printer.h"
+#include "action_util.h"
+
+bool printing_enabled = false;
+uint8_t character_shift = 0;
+
+void enabled_printing() {
+ printing_enabled = true;
+ serial_init();
+}
+
+void disable_printing() {
+ printing_enabled = false;
+}
+
+uint8_t shifted_numbers[10] = {0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0x28, 0x29};
+
+// uint8_t keycode_to_ascii[0xFF][2];
+
+// keycode_to_ascii[KC_MINS] = {0x2D, 0x5F};
+
+void print_char(char c) {
+ USB_Disable();
+ serial_send(c);
+ USB_Init();
+}
+
+void print_box_string(uint8_t text[]) {
+ uint8_t len = strlen(text);
+ uint8_t out[len * 3 + 8];
+ out[0] = 0xDA;
+ for (uint8_t i = 0; i < len; i++) {
+ out[i+1] = 0xC4;
+ }
+ out[len + 1] = 0xBF;
+ out[len + 2] = '\n';
+
+ out[len + 3] = 0xB3;
+ for (uint8_t i = 0; i < len; i++) {
+ out[len + 4 + i] = text[i];
+ }
+ out[len * 2 + 4] = 0xB3;
+ out[len * 2 + 5] = '\n';
+
+
+ out[len * 2 + 6] = 0xC0;
+ for (uint8_t i = 0; i < len; i++) {
+ out[len * 2 + 7 + i] = 0xC4;
+ }
+ out[len * 3 + 7] = 0xD9;
+ out[len * 3 + 8] = '\n';
+
+ print_string(out);
+}
+
+void print_string(char c[]) {
+ for(uint8_t i = 0; i < strlen(c); i++)
+ print_char(c[i]);
+}
+
+bool process_printer(uint16_t keycode, keyrecord_t *record) {
+ if (keycode == PRINT_ON) {
+ enabled_printing();
+ return false;
+ }
+ if (keycode == PRINT_OFF) {
+ disable_printing();
+ return false;
+ }
+
+ if (printing_enabled) {
+ switch(keycode) {
+ case KC_EXLM ... KC_RPRN:
+ case KC_UNDS:
+ case KC_PLUS:
+ case KC_LCBR:
+ case KC_RCBR:
+ case KC_PIPE:
+ case KC_TILD:
+ keycode &= 0xFF;
+ case KC_LSFT:
+ case KC_RSFT:
+ if (record->event.pressed) {
+ character_shift++;
+ } else {
+ character_shift--;
+ }
+ return false;
+ break;
+ }
+
+ switch(keycode) {
+ case KC_F1:
+ if (record->event.pressed) {
+ print_box_string("This is a line of text!");
+ }
+ return false;
+ case KC_ESC:
+ if (record->event.pressed) {
+ print_char(0x1B);
+ }
+ return false;
+ break;
+ case KC_SPC:
+ if (record->event.pressed) {
+ print_char(0x20);
+ }
+ return false;
+ break;
+ case KC_A ... KC_Z:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x41 + (keycode - KC_A));
+ } else {
+ print_char(0x61 + (keycode - KC_A));
+ }
+ }
+ return false;
+ break;
+ case KC_1 ... KC_0:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(shifted_numbers[keycode - KC_1]);
+ } else {
+ print_char(0x30 + ((keycode - KC_1 + 1) % 10));
+ }
+ }
+ return false;
+ break;
+ case KC_ENT:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x0C);
+ } else {
+ print_char(0x0A);
+ }
+ }
+ return false;
+ break;
+ case KC_BSPC:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x18);
+ } else {
+ print_char(0x1A);
+ }
+ }
+ return false;
+ break;
+ case KC_DOT:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x3E);
+ } else {
+ print_char(0x2E);
+ }
+ }
+ return false;
+ break;
+ case KC_COMM:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x3C);
+ } else {
+ print_char(0x2C);
+ }
+ }
+ return false;
+ break;
+ case KC_SLSH:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x3F);
+ } else {
+ print_char(0x2F);
+ }
+ }
+ return false;
+ break;
+ case KC_QUOT:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x22);
+ } else {
+ print_char(0x27);
+ }
+ }
+ return false;
+ break;
+ case KC_GRV:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7E);
+ } else {
+ print_char(0x60);
+ }
+ }
+ return false;
+ break;
+ case KC_MINS:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x5F);
+ } else {
+ print_char(0x2D);
+ }
+ }
+ return false;
+ break;
+ case KC_EQL:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x2B);
+ } else {
+ print_char(0x3D);
+ }
+ }
+ return false;
+ break;
+ case KC_LBRC:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7B);
+ } else {
+ print_char(0x5B);
+ }
+ }
+ return false;
+ break;
+ case KC_RBRC:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7D);
+ } else {
+ print_char(0x5D);
+ }
+ }
+ return false;
+ break;
+ case KC_BSLS:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7C);
+ } else {
+ print_char(0x5C);
+ }
+ }
+ return false;
+ break;
+ }
+ }
+ return true;
+
+}
\ No newline at end of file
diff --git a/quantum/process_keycode/process_printer.h b/quantum/process_keycode/process_printer.h
new file mode 100644
index 0000000000..fdd36d75a8
--- /dev/null
+++ b/quantum/process_keycode/process_printer.h
@@ -0,0 +1,8 @@
+#ifndef PROCESS_PRINTER_H
+#define PROCESS_PRINTER_H
+
+#include "quantum.h"
+
+#include "protocol/serial.h"
+
+#endif
\ No newline at end of file
diff --git a/quantum/process_keycode/process_printer_bb.c b/quantum/process_keycode/process_printer_bb.c
new file mode 100644
index 0000000000..1924d03774
--- /dev/null
+++ b/quantum/process_keycode/process_printer_bb.c
@@ -0,0 +1,260 @@
+#include "process_printer.h"
+#include "action_util.h"
+
+bool printing_enabled = false;
+uint8_t character_shift = 0;
+
+#define SERIAL_PIN_DDR DDRD
+#define SERIAL_PIN_PORT PORTD
+#define SERIAL_PIN_MASK _BV(PD3)
+#define SERIAL_DELAY 52
+
+inline static
+void serial_delay(void) {
+ _delay_us(SERIAL_DELAY);
+}
+
+inline static
+void serial_high(void) {
+ SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
+}
+
+inline static
+void serial_low(void) {
+ SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK;
+}
+
+inline static
+void serial_output(void) {
+ SERIAL_PIN_DDR |= SERIAL_PIN_MASK;
+}
+
+
+void enabled_printing() {
+ printing_enabled = true;
+ serial_output();
+ serial_high();
+}
+
+void disable_printing() {
+ printing_enabled = false;
+}
+
+uint8_t shifted_numbers[10] = {0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0x28, 0x29};
+
+// uint8_t keycode_to_ascii[0xFF][2];
+
+// keycode_to_ascii[KC_MINS] = {0x2D, 0x5F};
+
+void print_char(char c) {
+ uint8_t b = 8;
+ serial_output();
+ while( b-- ) {
+ if(c & (1 << b)) {
+ serial_high();
+ } else {
+ serial_low();
+ }
+ serial_delay();
+ }
+}
+
+void print_string(char c[]) {
+ for(uint8_t i = 0; i < strlen(c); i++)
+ print_char(c[i]);
+}
+
+bool process_printer(uint16_t keycode, keyrecord_t *record) {
+ if (keycode == PRINT_ON) {
+ enabled_printing();
+ return false;
+ }
+ if (keycode == PRINT_OFF) {
+ disable_printing();
+ return false;
+ }
+
+ if (printing_enabled) {
+ switch(keycode) {
+ case KC_EXLM ... KC_RPRN:
+ case KC_UNDS:
+ case KC_PLUS:
+ case KC_LCBR:
+ case KC_RCBR:
+ case KC_PIPE:
+ case KC_TILD:
+ keycode &= 0xFF;
+ case KC_LSFT:
+ case KC_RSFT:
+ if (record->event.pressed) {
+ character_shift++;
+ } else {
+ character_shift--;
+ }
+ return false;
+ break;
+ }
+
+ switch(keycode) {
+ case KC_F1:
+ if (record->event.pressed) {
+ print_string("This is a line of text!\n\n\n");
+ }
+ return false;
+ case KC_ESC:
+ if (record->event.pressed) {
+ print_char(0x1B);
+ }
+ return false;
+ break;
+ case KC_SPC:
+ if (record->event.pressed) {
+ print_char(0x20);
+ }
+ return false;
+ break;
+ case KC_A ... KC_Z:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x41 + (keycode - KC_A));
+ } else {
+ print_char(0x61 + (keycode - KC_A));
+ }
+ }
+ return false;
+ break;
+ case KC_1 ... KC_0:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(shifted_numbers[keycode - KC_1]);
+ } else {
+ print_char(0x30 + ((keycode - KC_1 + 1) % 10));
+ }
+ }
+ return false;
+ break;
+ case KC_ENT:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x0C);
+ } else {
+ print_char(0x0A);
+ }
+ }
+ return false;
+ break;
+ case KC_BSPC:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x18);
+ } else {
+ print_char(0x1A);
+ }
+ }
+ return false;
+ break;
+ case KC_DOT:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x3E);
+ } else {
+ print_char(0x2E);
+ }
+ }
+ return false;
+ break;
+ case KC_COMM:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x3C);
+ } else {
+ print_char(0x2C);
+ }
+ }
+ return false;
+ break;
+ case KC_SLSH:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x3F);
+ } else {
+ print_char(0x2F);
+ }
+ }
+ return false;
+ break;
+ case KC_QUOT:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x22);
+ } else {
+ print_char(0x27);
+ }
+ }
+ return false;
+ break;
+ case KC_GRV:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7E);
+ } else {
+ print_char(0x60);
+ }
+ }
+ return false;
+ break;
+ case KC_MINS:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x5F);
+ } else {
+ print_char(0x2D);
+ }
+ }
+ return false;
+ break;
+ case KC_EQL:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x2B);
+ } else {
+ print_char(0x3D);
+ }
+ }
+ return false;
+ break;
+ case KC_LBRC:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7B);
+ } else {
+ print_char(0x5B);
+ }
+ }
+ return false;
+ break;
+ case KC_RBRC:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7D);
+ } else {
+ print_char(0x5D);
+ }
+ }
+ return false;
+ break;
+ case KC_BSLS:
+ if (record->event.pressed) {
+ if (character_shift) {
+ print_char(0x7C);
+ } else {
+ print_char(0x5C);
+ }
+ }
+ return false;
+ break;
+ }
+ }
+ return true;
+
+}
\ No newline at end of file
diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c
index 6a30afe293..cd3a610b4d 100644
--- a/quantum/process_keycode/process_unicode.c
+++ b/quantum/process_keycode/process_unicode.c
@@ -42,6 +42,11 @@ void unicode_input_start (void) {
register_code(KC_PPLS);
unregister_code(KC_PPLS);
break;
+ case UC_WINC:
+ register_code(KC_RALT);
+ unregister_code(KC_RALT);
+ register_code(KC_U);
+ unregister_code(KC_U);
}
wait_ms(UNICODE_TYPE_DELAY);
}
@@ -78,6 +83,52 @@ bool process_unicode(uint16_t keycode, keyrecord_t *record) {
return true;
}
+#ifdef UNICODEMAP_ENABLE
+__attribute__((weak))
+const uint32_t PROGMEM unicode_map[] = {
+};
+
+void register_hex32(uint32_t hex) {
+ uint8_t onzerostart = 1;
+ for(int i = 7; i >= 0; i--) {
+ if (i <= 3) {
+ onzerostart = 0;
+ }
+ uint8_t digit = ((hex >> (i*4)) & 0xF);
+ if (digit == 0) {
+ if (onzerostart == 0) {
+ register_code(hex_to_keycode(digit));
+ unregister_code(hex_to_keycode(digit));
+ }
+ } else {
+ register_code(hex_to_keycode(digit));
+ unregister_code(hex_to_keycode(digit));
+ onzerostart = 0;
+ }
+ }
+}
+
+__attribute__((weak))
+void unicode_map_input_error() {}
+
+bool process_unicode_map(uint16_t keycode, keyrecord_t *record) {
+ if ((keycode & QK_UNICODE_MAP) == QK_UNICODE_MAP && record->event.pressed) {
+ const uint32_t* map = unicode_map;
+ uint16_t index = keycode & 0x7FF;
+ uint32_t code = pgm_read_dword_far(&map[index]);
+ if ((code > 0xFFFF && input_mode == UC_OSX) || (code > 0xFFFFF && input_mode == UC_LNX)) {
+ // when character is out of range supported by the OS
+ unicode_map_input_error();
+ } else {
+ unicode_input_start();
+ register_hex32(code);
+ unicode_input_finish();
+ }
+ }
+ return true;
+}
+#endif
+
#ifdef UCIS_ENABLE
qk_ucis_state_t qk_ucis_state;
diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h
index 27f8072ee6..f17cfa6cf2 100644
--- a/quantum/process_keycode/process_unicode.h
+++ b/quantum/process_keycode/process_unicode.h
@@ -3,10 +3,11 @@
#include "quantum.h"
-#define UC_OSX 0
-#define UC_LNX 1
-#define UC_WIN 2
-#define UC_BSD 3
+#define UC_OSX 0 // Mac OS X
+#define UC_LNX 1 // Linux
+#define UC_WIN 2 // Windows 'HexNumpad'
+#define UC_BSD 3 // BSD (not implemented)
+#define UC_WINC 4 // WinCompose https://github.com/samhocevar/wincompose
#ifndef UNICODE_TYPE_DELAY
#define UNICODE_TYPE_DELAY 10
@@ -20,6 +21,11 @@ void register_hex(uint16_t hex);
bool process_unicode(uint16_t keycode, keyrecord_t *record);
+#ifdef UNICODEMAP_ENABLE
+void unicode_map_input_error(void);
+bool process_unicode_map(uint16_t keycode, keyrecord_t *record);
+#endif
+
#ifdef UCIS_ENABLE
#ifndef UCIS_MAX_SYMBOL_LENGTH
#define UCIS_MAX_SYMBOL_LENGTH 32
diff --git a/quantum/quantum.c b/quantum/quantum.c
index a16bd5443c..63ffe2074e 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -1,5 +1,9 @@
#include "quantum.h"
+#ifndef TAPPING_TERM
+#define TAPPING_TERM 200
+#endif
+
static void do_code16 (uint16_t code, void (*f) (uint8_t)) {
switch (code) {
case QK_MODS ... QK_MODS_MAX:
@@ -17,6 +21,8 @@ static void do_code16 (uint16_t code, void (*f) (uint8_t)) {
if (code & QK_LGUI)
f(KC_LGUI);
+ if (code < QK_RMODS_MIN) return;
+
if (code & QK_RCTL)
f(KC_RCTL);
if (code & QK_RSFT)
@@ -75,6 +81,7 @@ void reset_keyboard(void) {
#endif
static bool shift_interrupted[2] = {0, 0};
+static uint16_t scs_timer = 0;
bool process_record_quantum(keyrecord_t *record) {
@@ -128,6 +135,12 @@ bool process_record_quantum(keyrecord_t *record) {
#endif
#ifdef UCIS_ENABLE
process_ucis(keycode, record) &&
+ #endif
+ #ifdef PRINTING_ENABLE
+ process_printer(keycode, record) &&
+ #endif
+ #ifdef UNICODEMAP_ENABLE
+ process_unicode_map(keycode, record) &&
#endif
true)) {
return false;
@@ -280,6 +293,7 @@ bool process_record_quantum(keyrecord_t *record) {
case KC_LSPO: {
if (record->event.pressed) {
shift_interrupted[0] = false;
+ scs_timer = timer_read ();
register_mods(MOD_BIT(KC_LSFT));
}
else {
@@ -289,7 +303,7 @@ bool process_record_quantum(keyrecord_t *record) {
shift_interrupted[1] = true;
}
#endif
- if (!shift_interrupted[0]) {
+ if (!shift_interrupted[0] && timer_elapsed(scs_timer) < TAPPING_TERM) {
register_code(LSPO_KEY);
unregister_code(LSPO_KEY);
}
@@ -302,6 +316,7 @@ bool process_record_quantum(keyrecord_t *record) {
case KC_RSPC: {
if (record->event.pressed) {
shift_interrupted[1] = false;
+ scs_timer = timer_read ();
register_mods(MOD_BIT(KC_RSFT));
}
else {
@@ -311,7 +326,7 @@ bool process_record_quantum(keyrecord_t *record) {
shift_interrupted[1] = true;
}
#endif
- if (!shift_interrupted[1]) {
+ if (!shift_interrupted[1] && timer_elapsed(scs_timer) < TAPPING_TERM) {
register_code(RSPC_KEY);
unregister_code(RSPC_KEY);
}
@@ -796,6 +811,51 @@ void backlight_set(uint8_t level)
#endif // backlight
+// Functions for spitting out values
+//
+
+void send_dword(uint32_t number) { // this might not actually work
+ uint16_t word = (number >> 16);
+ send_word(word);
+ send_word(number & 0xFFFFUL);
+}
+
+void send_word(uint16_t number) {
+ uint8_t byte = number >> 8;
+ send_byte(byte);
+ send_byte(number & 0xFF);
+}
+
+void send_byte(uint8_t number) {
+ uint8_t nibble = number >> 4;
+ send_nibble(nibble);
+ send_nibble(number & 0xF);
+}
+
+void send_nibble(uint8_t number) {
+ switch (number) {
+ case 0:
+ register_code(KC_0);
+ unregister_code(KC_0);
+ break;
+ case 1 ... 9:
+ register_code(KC_1 + (number - 1));
+ unregister_code(KC_1 + (number - 1));
+ break;
+ case 0xA ... 0xF:
+ register_code(KC_A + (number - 0xA));
+ unregister_code(KC_A + (number - 0xA));
+ break;
+ }
+}
+
+void api_send_unicode(uint32_t unicode) {
+#ifdef API_ENABLE
+ uint8_t chunk[4];
+ dword_to_bytes(unicode, chunk);
+ MT_SEND_DATA(DT_UNICODE, chunk, 5);
+#endif
+}
__attribute__ ((weak))
void led_set_user(uint8_t usb_led) {
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 0c60466495..e6adf974ab 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -59,6 +59,10 @@ extern uint32_t default_layer_state;
#include "process_tap_dance.h"
+#ifdef PRINTING_ENABLE
+ #include "process_printer.h"
+#endif
+
#define SEND_STRING(str) send_string(PSTR(str))
void send_string(const char *str);
@@ -106,8 +110,15 @@ void breathing_speed_dec(uint8_t value);
#endif
#endif
+void send_dword(uint32_t number);
+void send_word(uint16_t number);
+void send_byte(uint8_t number);
+void send_nibble(uint8_t number);
+
void led_set_user(uint8_t usb_led);
void led_set_kb(uint8_t usb_led);
+void api_send_unicode(uint32_t unicode);
+
#endif
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
new file mode 100644
index 0000000000..5cd3c8e780
--- /dev/null
+++ b/quantum/quantum_keycodes.h
@@ -0,0 +1,313 @@
+
+#ifndef QUANTUM_KEYCODES_H
+#define QUANTUM_KEYCODES_H
+
+enum quantum_keycodes {
+ // Ranges used in shortucuts - not to be used directly
+ QK_TMK = 0x0000,
+ QK_TMK_MAX = 0x00FF,
+ QK_MODS = 0x0100,
+ QK_LCTL = 0x0100,
+ QK_LSFT = 0x0200,
+ QK_LALT = 0x0400,
+ QK_LGUI = 0x0800,
+ QK_RMODS_MIN = 0x1000,
+ QK_RCTL = 0x1100,
+ QK_RSFT = 0x1200,
+ QK_RALT = 0x1400,
+ QK_RGUI = 0x1800,
+ QK_MODS_MAX = 0x1FFF,
+ QK_FUNCTION = 0x2000,
+ QK_FUNCTION_MAX = 0x2FFF,
+ QK_MACRO = 0x3000,
+ QK_MACRO_MAX = 0x3FFF,
+ QK_LAYER_TAP = 0x4000,
+ QK_LAYER_TAP_MAX = 0x4FFF,
+ QK_TO = 0x5000,
+ QK_TO_MAX = 0x50FF,
+ QK_MOMENTARY = 0x5100,
+ QK_MOMENTARY_MAX = 0x51FF,
+ QK_DEF_LAYER = 0x5200,
+ QK_DEF_LAYER_MAX = 0x52FF,
+ QK_TOGGLE_LAYER = 0x5300,
+ QK_TOGGLE_LAYER_MAX = 0x53FF,
+ QK_ONE_SHOT_LAYER = 0x5400,
+ QK_ONE_SHOT_LAYER_MAX = 0x54FF,
+ QK_ONE_SHOT_MOD = 0x5500,
+ QK_ONE_SHOT_MOD_MAX = 0x55FF,
+#ifndef DISABLE_CHORDING
+ QK_CHORDING = 0x5600,
+ QK_CHORDING_MAX = 0x56FF,
+#endif
+ QK_MOD_TAP = 0x6000,
+ QK_MOD_TAP_MAX = 0x6FFF,
+ QK_TAP_DANCE = 0x7100,
+ QK_TAP_DANCE_MAX = 0x71FF,
+#ifdef UNICODEMAP_ENABLE
+ QK_UNICODE_MAP = 0x7800,
+ QK_UNICODE_MAP_MAX = 0x7FFF,
+#endif
+#ifdef UNICODE_ENABLE
+ QK_UNICODE = 0x8000,
+ QK_UNICODE_MAX = 0xFFFF,
+#endif
+
+ // Loose keycodes - to be used directly
+
+ RESET = 0x7000,
+ DEBUG,
+ MAGIC_SWAP_CONTROL_CAPSLOCK,
+ MAGIC_CAPSLOCK_TO_CONTROL,
+ MAGIC_SWAP_LALT_LGUI,
+ MAGIC_SWAP_RALT_RGUI,
+ MAGIC_NO_GUI,
+ MAGIC_SWAP_GRAVE_ESC,
+ MAGIC_SWAP_BACKSLASH_BACKSPACE,
+ MAGIC_HOST_NKRO,
+ MAGIC_SWAP_ALT_GUI,
+ MAGIC_UNSWAP_CONTROL_CAPSLOCK,
+ MAGIC_UNCAPSLOCK_TO_CONTROL,
+ MAGIC_UNSWAP_LALT_LGUI,
+ MAGIC_UNSWAP_RALT_RGUI,
+ MAGIC_UNNO_GUI,
+ MAGIC_UNSWAP_GRAVE_ESC,
+ MAGIC_UNSWAP_BACKSLASH_BACKSPACE,
+ MAGIC_UNHOST_NKRO,
+ MAGIC_UNSWAP_ALT_GUI,
+ MAGIC_TOGGLE_NKRO,
+
+ // Leader key
+#ifndef DISABLE_LEADER
+ KC_LEAD,
+#endif
+
+ // Audio on/off/toggle
+ AU_ON,
+ AU_OFF,
+ AU_TOG,
+
+ // Music mode on/off/toggle
+ MU_ON,
+ MU_OFF,
+ MU_TOG,
+
+ // Music voice iterate
+ MUV_IN,
+ MUV_DE,
+
+ // Midi mode on/off
+ MIDI_ON,
+ MIDI_OFF,
+
+ // Backlight functionality
+ BL_0,
+ BL_1,
+ BL_2,
+ BL_3,
+ BL_4,
+ BL_5,
+ BL_6,
+ BL_7,
+ BL_8,
+ BL_9,
+ BL_10,
+ BL_11,
+ BL_12,
+ BL_13,
+ BL_14,
+ BL_15,
+ BL_DEC,
+ BL_INC,
+ BL_TOGG,
+ BL_STEP,
+
+ // RGB functionality
+ RGB_TOG,
+ RGB_MOD,
+ RGB_HUI,
+ RGB_HUD,
+ RGB_SAI,
+ RGB_SAD,
+ RGB_VAI,
+ RGB_VAD,
+
+ // Left shift, open paren
+ KC_LSPO,
+
+ // Right shift, close paren
+ KC_RSPC,
+
+ // Printing
+ PRINT_ON,
+ PRINT_OFF,
+
+ // always leave at the end
+ SAFE_RANGE
+};
+
+// Ability to use mods in layouts
+#define LCTL(kc) (kc | QK_LCTL)
+#define LSFT(kc) (kc | QK_LSFT)
+#define LALT(kc) (kc | QK_LALT)
+#define LGUI(kc) (kc | QK_LGUI)
+#define RCTL(kc) (kc | QK_RCTL)
+#define RSFT(kc) (kc | QK_RSFT)
+#define RALT(kc) (kc | QK_RALT)
+#define RGUI(kc) (kc | QK_RGUI)
+
+#define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)
+#define MEH(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT)
+#define LCAG(kc) (kc | QK_LCTL | QK_LALT | QK_LGUI)
+#define ALTG(kc) (kc | QK_RCTL | QK_RALT)
+
+#define MOD_HYPR 0xf
+#define MOD_MEH 0x7
+
+
+// Aliases for shifted symbols
+// Each key has a 4-letter code, and some have longer aliases too.
+// While the long aliases are descriptive, the 4-letter codes
+// make for nicer grid layouts (everything lines up), and are
+// the preferred style for Quantum.
+#define KC_TILD LSFT(KC_GRV) // ~
+#define KC_TILDE KC_TILD
+
+#define KC_EXLM LSFT(KC_1) // !
+#define KC_EXCLAIM KC_EXLM
+
+#define KC_AT LSFT(KC_2) // @
+
+#define KC_HASH LSFT(KC_3) // #
+
+#define KC_DLR LSFT(KC_4) // $
+#define KC_DOLLAR KC_DLR
+
+#define KC_PERC LSFT(KC_5) // %
+#define KC_PERCENT KC_PERC
+
+#define KC_CIRC LSFT(KC_6) // ^
+#define KC_CIRCUMFLEX KC_CIRC
+
+#define KC_AMPR LSFT(KC_7) // &
+#define KC_AMPERSAND KC_AMPR
+
+#define KC_ASTR LSFT(KC_8) // *
+#define KC_ASTERISK KC_ASTR
+
+#define KC_LPRN LSFT(KC_9) // (
+#define KC_LEFT_PAREN KC_LPRN
+
+#define KC_RPRN LSFT(KC_0) // )
+#define KC_RIGHT_PAREN KC_RPRN
+
+#define KC_UNDS LSFT(KC_MINS) // _
+#define KC_UNDERSCORE KC_UNDS
+
+#define KC_PLUS LSFT(KC_EQL) // +
+
+#define KC_LCBR LSFT(KC_LBRC) // {
+#define KC_LEFT_CURLY_BRACE KC_LCBR
+
+#define KC_RCBR LSFT(KC_RBRC) // }
+#define KC_RIGHT_CURLY_BRACE KC_RCBR
+
+#define KC_LABK LSFT(KC_COMM) // <
+#define KC_LEFT_ANGLE_BRACKET KC_LABK
+
+#define KC_RABK LSFT(KC_DOT) // >
+#define KC_RIGHT_ANGLE_BRACKET KC_RABK
+
+#define KC_COLN LSFT(KC_SCLN) // :
+#define KC_COLON KC_COLN
+
+#define KC_PIPE LSFT(KC_BSLS) // |
+
+#define KC_LT LSFT(KC_COMM) // <
+
+#define KC_GT LSFT(KC_DOT) // >
+
+#define KC_QUES LSFT(KC_SLSH) // ?
+#define KC_QUESTION KC_QUES
+
+#define KC_DQT LSFT(KC_QUOT) // "
+#define KC_DOUBLE_QUOTE KC_DQT
+#define KC_DQUO KC_DQT
+
+#define KC_DELT KC_DELETE // Del key (four letter code)
+
+// Alias for function layers than expand past FN31
+#define FUNC(kc) (kc | QK_FUNCTION)
+
+// Aliases
+#define S(kc) LSFT(kc)
+#define F(kc) FUNC(kc)
+
+#define M(kc) (kc | QK_MACRO)
+
+#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE)
+
+// L-ayer, T-ap - 256 keycode max, 16 layer max
+#define LT(layer, kc) (kc | QK_LAYER_TAP | ((layer & 0xF) << 8))
+
+#define AG_SWAP MAGIC_SWAP_ALT_GUI
+#define AG_NORM MAGIC_UNSWAP_ALT_GUI
+
+#define BL_ON BL_9
+#define BL_OFF BL_0
+
+#define MI_ON MIDI_ON
+#define MI_OFF MIDI_OFF
+
+// GOTO layer - 16 layers max
+// when:
+// ON_PRESS = 1
+// ON_RELEASE = 2
+// Unless you have a good reason not to do so, prefer ON_PRESS (1) as your default.
+// In fact, we changed it to assume ON_PRESS for sanity/simplicity. If needed, you can add your own
+// keycode modeled after the old version, kept below for this.
+/* #define TO(layer, when) (layer | QK_TO | (when << 0x4)) */
+#define TO(layer) (layer | QK_TO | (ON_PRESS << 0x4))
+
+// Momentary switch layer - 256 layer max
+#define MO(layer) (layer | QK_MOMENTARY)
+
+// Set default layer - 256 layer max
+#define DF(layer) (layer | QK_DEF_LAYER)
+
+// Toggle to layer - 256 layer max
+#define TG(layer) (layer | QK_TOGGLE_LAYER)
+
+// One-shot layer - 256 layer max
+#define OSL(layer) (layer | QK_ONE_SHOT_LAYER)
+
+// One-shot mod
+#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
+
+// M-od, T-ap - 256 keycode max
+#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8))
+#define CTL_T(kc) MT(MOD_LCTL, kc)
+#define SFT_T(kc) MT(MOD_LSFT, kc)
+#define ALT_T(kc) MT(MOD_LALT, kc)
+#define GUI_T(kc) MT(MOD_LGUI, kc)
+#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
+#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
+#define LCAG_T(kc) MT((MOD_LCTL | MOD_LALT | MOD_LGUI), kc) // Left control alt and gui
+#define ALL_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI), kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
+
+// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
+#define KC_HYPR HYPR(KC_NO)
+#define KC_MEH MEH(KC_NO)
+
+#ifdef UNICODE_ENABLE
+ // For sending unicode codes.
+ // You may not send codes over 7FFF -- this supports most of UTF8.
+ // To have a key that sends out Œ, go UC(0x0152)
+ #define UNICODE(n) (n | QK_UNICODE)
+ #define UC(n) UNICODE(n)
+#endif
+
+#ifdef UNICODEMAP_ENABLE
+ #define X(n) (n | QK_UNICODE_MAP)
+#endif
+
+#endif // QUANTUM_KEYCODES_H
diff --git a/quantum/rgblight.c b/quantum/rgblight.c
index d550c58660..52a09817a1 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -69,11 +69,12 @@ const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {100, 50, 20};
rgblight_config_t rgblight_config;
rgblight_config_t inmem_config;
-struct cRGB led[RGBLED_NUM];
+
+LED_TYPE led[RGBLED_NUM];
uint8_t rgblight_inited = 0;
+bool rgblight_timer_enabled = false;
-
-void sethsv(uint16_t hue, uint8_t sat, uint8_t val, struct cRGB *led1) {
+void sethsv(uint16_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) {
uint8_t r = 0, g = 0, b = 0, base, color;
if (sat == 0) { // Acromatic color (gray). Hue doesn't mind.
@@ -124,7 +125,7 @@ void sethsv(uint16_t hue, uint8_t sat, uint8_t val, struct cRGB *led1) {
setrgb(r, g, b, led1);
}
-void setrgb(uint8_t r, uint8_t g, uint8_t b, struct cRGB *led1) {
+void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1) {
(*led1).r = r;
(*led1).g = g;
(*led1).b = b;
@@ -141,9 +142,9 @@ void eeconfig_update_rgblight_default(void) {
dprintf("eeconfig_update_rgblight_default\n");
rgblight_config.enable = 1;
rgblight_config.mode = 1;
- rgblight_config.hue = 200;
- rgblight_config.sat = 204;
- rgblight_config.val = 204;
+ rgblight_config.hue = 0;
+ rgblight_config.sat = 255;
+ rgblight_config.val = 255;
eeconfig_update_rgblight(rgblight_config.raw);
}
void eeconfig_debug_rgblight(void) {
@@ -173,7 +174,7 @@ void rgblight_init(void) {
}
eeconfig_debug_rgblight(); // display current eeprom values
- #if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
+ #ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_init(); // setup the timer
#endif
@@ -182,6 +183,19 @@ void rgblight_init(void) {
}
}
+void rgblight_update_dword(uint32_t dword) {
+ rgblight_config.raw = dword;
+ eeconfig_update_rgblight(rgblight_config.raw);
+ if (rgblight_config.enable)
+ rgblight_mode(rgblight_config.mode);
+ else {
+ #ifdef RGBLIGHT_ANIMATIONS
+ rgblight_timer_disable();
+ #endif
+ rgblight_set();
+ }
+}
+
void rgblight_increase(void) {
uint8_t mode = 0;
if (rgblight_config.mode < RGBLIGHT_MODES) {
@@ -220,7 +234,7 @@ void rgblight_mode(uint8_t mode) {
eeconfig_update_rgblight(rgblight_config.raw);
xprintf("rgblight mode: %u\n", rgblight_config.mode);
if (rgblight_config.mode == 1) {
- #if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
+ #ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_disable();
#endif
} else if (rgblight_config.mode >= 2 && rgblight_config.mode <= 23) {
@@ -230,7 +244,7 @@ void rgblight_mode(uint8_t mode) {
// MODE 15-20, snake
// MODE 21-23, knight
- #if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
+ #ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_enable();
#endif
}
@@ -244,7 +258,7 @@ void rgblight_toggle(void) {
if (rgblight_config.enable) {
rgblight_mode(rgblight_config.mode);
} else {
- #if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
+ #ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_disable();
#endif
_delay_ms(50);
@@ -252,6 +266,13 @@ void rgblight_toggle(void) {
}
}
+void rgblight_enable(void) {
+ rgblight_config.enable = 1;
+ eeconfig_update_rgblight(rgblight_config.raw);
+ xprintf("rgblight enable: rgblight_config.enable = %u\n", rgblight_config.enable);
+ rgblight_mode(rgblight_config.mode);
+}
+
void rgblight_increase_hue(void) {
uint16_t hue;
@@ -307,7 +328,7 @@ void rgblight_decrease_val(void) {
void rgblight_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) {
inmem_config.raw = rgblight_config.raw;
if (rgblight_config.enable) {
- struct cRGB tmp_led;
+ LED_TYPE tmp_led;
sethsv(hue, sat, val, &tmp_led);
inmem_config.hue = hue;
inmem_config.sat = sat;
@@ -349,68 +370,90 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) {
rgblight_set();
}
+__attribute__ ((weak))
void rgblight_set(void) {
if (rgblight_config.enable) {
- ws2812_setleds(led, RGBLED_NUM);
+ #ifdef RGBW
+ ws2812_setleds_rgbw(led, RGBLED_NUM);
+ #else
+ ws2812_setleds(led, RGBLED_NUM);
+ #endif
} else {
for (uint8_t i = 0; i < RGBLED_NUM; i++) {
led[i].r = 0;
led[i].g = 0;
led[i].b = 0;
}
- ws2812_setleds(led, RGBLED_NUM);
+ #ifdef RGBW
+ ws2812_setleds_rgbw(led, RGBLED_NUM);
+ #else
+ ws2812_setleds(led, RGBLED_NUM);
+ #endif
}
}
-#if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
+#ifdef RGBLIGHT_ANIMATIONS
// Animation timer -- AVR Timer3
void rgblight_timer_init(void) {
- static uint8_t rgblight_timer_is_init = 0;
- if (rgblight_timer_is_init) {
- return;
- }
- rgblight_timer_is_init = 1;
- /* Timer 3 setup */
- TCCR3B = _BV(WGM32) //CTC mode OCR3A as TOP
- | _BV(CS30); //Clock selelct: clk/1
- /* Set TOP value */
- uint8_t sreg = SREG;
- cli();
- OCR3AH = (RGBLED_TIMER_TOP >> 8) & 0xff;
- OCR3AL = RGBLED_TIMER_TOP & 0xff;
- SREG = sreg;
+ // static uint8_t rgblight_timer_is_init = 0;
+ // if (rgblight_timer_is_init) {
+ // return;
+ // }
+ // rgblight_timer_is_init = 1;
+ // /* Timer 3 setup */
+ // TCCR3B = _BV(WGM32) // CTC mode OCR3A as TOP
+ // | _BV(CS30); // Clock selelct: clk/1
+ // /* Set TOP value */
+ // uint8_t sreg = SREG;
+ // cli();
+ // OCR3AH = (RGBLED_TIMER_TOP >> 8) & 0xff;
+ // OCR3AL = RGBLED_TIMER_TOP & 0xff;
+ // SREG = sreg;
+
+ rgblight_timer_enabled = true;
}
void rgblight_timer_enable(void) {
- TIMSK3 |= _BV(OCIE3A);
+ rgblight_timer_enabled = true;
dprintf("TIMER3 enabled.\n");
}
void rgblight_timer_disable(void) {
- TIMSK3 &= ~_BV(OCIE3A);
+ rgblight_timer_enabled = false;
dprintf("TIMER3 disabled.\n");
}
void rgblight_timer_toggle(void) {
- TIMSK3 ^= _BV(OCIE3A);
+ rgblight_timer_enabled ^= rgblight_timer_enabled;
dprintf("TIMER3 toggled.\n");
}
-ISR(TIMER3_COMPA_vect) {
- // mode = 1, static light, do nothing here
- if (rgblight_config.mode >= 2 && rgblight_config.mode <= 5) {
- // mode = 2 to 5, breathing mode
- rgblight_effect_breathing(rgblight_config.mode - 2);
- } else if (rgblight_config.mode >= 6 && rgblight_config.mode <= 8) {
- // mode = 6 to 8, rainbow mood mod
- rgblight_effect_rainbow_mood(rgblight_config.mode - 6);
- } else if (rgblight_config.mode >= 9 && rgblight_config.mode <= 14) {
- // mode = 9 to 14, rainbow swirl mode
- rgblight_effect_rainbow_swirl(rgblight_config.mode - 9);
- } else if (rgblight_config.mode >= 15 && rgblight_config.mode <= 20) {
- // mode = 15 to 20, snake mode
- rgblight_effect_snake(rgblight_config.mode - 15);
- } else if (rgblight_config.mode >= 21 && rgblight_config.mode <= 23) {
- // mode = 21 to 23, knight mode
- rgblight_effect_knight(rgblight_config.mode - 21);
+void rgblight_show_solid_color(uint8_t r, uint8_t g, uint8_t b) {
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_setrgb(r, g, b);
+}
+
+void rgblight_task(void) {
+ if (rgblight_timer_enabled) {
+ // mode = 1, static light, do nothing here
+ if (rgblight_config.mode >= 2 && rgblight_config.mode <= 5) {
+ // mode = 2 to 5, breathing mode
+ rgblight_effect_breathing(rgblight_config.mode - 2);
+ } else if (rgblight_config.mode >= 6 && rgblight_config.mode <= 8) {
+ // mode = 6 to 8, rainbow mood mod
+ rgblight_effect_rainbow_mood(rgblight_config.mode - 6);
+ } else if (rgblight_config.mode >= 9 && rgblight_config.mode <= 14) {
+ // mode = 9 to 14, rainbow swirl mode
+ rgblight_effect_rainbow_swirl(rgblight_config.mode - 9);
+ } else if (rgblight_config.mode >= 15 && rgblight_config.mode <= 20) {
+ // mode = 15 to 20, snake mode
+ rgblight_effect_snake(rgblight_config.mode - 15);
+ } else if (rgblight_config.mode >= 21 && rgblight_config.mode <= 23) {
+ // mode = 21 to 23, knight mode
+ rgblight_effect_knight(rgblight_config.mode - 21);
+ } else {
+ // mode = 24, christmas mode
+ rgblight_effect_christmas();
+ }
}
}
@@ -449,7 +492,7 @@ void rgblight_effect_rainbow_swirl(uint8_t interval) {
last_timer = timer_read();
for (i = 0; i < RGBLED_NUM; i++) {
hue = (360 / RGBLED_NUM * i + current_hue) % 360;
- sethsv(hue, rgblight_config.sat, rgblight_config.val, &led[i]);
+ sethsv(hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i]);
}
rgblight_set();
@@ -486,7 +529,7 @@ void rgblight_effect_snake(uint8_t interval) {
k = k + RGBLED_NUM;
}
if (i == k) {
- sethsv(rgblight_config.hue, rgblight_config.sat, (uint8_t)(rgblight_config.val*(RGBLIGHT_EFFECT_SNAKE_LENGTH-j)/RGBLIGHT_EFFECT_SNAKE_LENGTH), &led[i]);
+ sethsv(rgblight_config.hue, rgblight_config.sat, (uint8_t)(rgblight_config.val*(RGBLIGHT_EFFECT_SNAKE_LENGTH-j)/RGBLIGHT_EFFECT_SNAKE_LENGTH), (LED_TYPE *)&led[i]);
}
}
}
@@ -506,7 +549,7 @@ void rgblight_effect_knight(uint8_t interval) {
static uint16_t last_timer = 0;
uint8_t i, j, cur;
int8_t k;
- struct cRGB preled[RGBLED_NUM];
+ LED_TYPE preled[RGBLED_NUM];
static int8_t increment = -1;
if (timer_elapsed(last_timer) < pgm_read_byte(&RGBLED_KNIGHT_INTERVALS[interval])) {
return;
@@ -525,7 +568,7 @@ void rgblight_effect_knight(uint8_t interval) {
k = RGBLED_NUM - 1;
}
if (i == k) {
- sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, &preled[i]);
+ sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&preled[i]);
}
}
}
@@ -555,4 +598,22 @@ void rgblight_effect_knight(uint8_t interval) {
}
}
+
+void rgblight_effect_christmas(void) {
+ static uint16_t current_offset = 0;
+ static uint16_t last_timer = 0;
+ uint16_t hue;
+ uint8_t i;
+ if (timer_elapsed(last_timer) < 1000) {
+ return;
+ }
+ last_timer = timer_read();
+ current_offset = (current_offset + 1) % 2;
+ for (i = 0; i < RGBLED_NUM; i++) {
+ hue = 0 + ((RGBLED_NUM * (i + current_offset)) % 2) * 80;
+ sethsv(hue, rgblight_config.sat, rgblight_config.val, (LED_TYPE *)&led[i]);
+ }
+ rgblight_set();
+}
+
#endif
diff --git a/quantum/rgblight.h b/quantum/rgblight.h
index 17f04ffcf2..726b8de72e 100644
--- a/quantum/rgblight.h
+++ b/quantum/rgblight.h
@@ -1,9 +1,8 @@
#ifndef RGBLIGHT_H
#define RGBLIGHT_H
-
-#if !defined(AUDIO_ENABLE) && defined(RGBLIGHT_TIMER)
- #define RGBLIGHT_MODES 23
+#ifdef RGBLIGHT_ANIMATIONS
+ #define RGBLIGHT_MODES 24
#else
#define RGBLIGHT_MODES 1
#endif
@@ -34,12 +33,15 @@
#endif
#define RGBLED_TIMER_TOP F_CPU/(256*64)
+// #define RGBLED_TIMER_TOP 0xFF10
#include
#include
#include "eeconfig.h"
#include "light_ws2812.h"
+extern LED_TYPE led[RGBLED_NUM];
+
extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM;
extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM;
extern const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[3] PROGMEM;
@@ -61,9 +63,11 @@ void rgblight_init(void);
void rgblight_increase(void);
void rgblight_decrease(void);
void rgblight_toggle(void);
+void rgblight_enable(void);
void rgblight_step(void);
void rgblight_mode(uint8_t mode);
void rgblight_set(void);
+void rgblight_update_dword(uint32_t dword);
void rgblight_increase_hue(void);
void rgblight_decrease_hue(void);
void rgblight_increase_sat(void);
@@ -78,10 +82,15 @@ void eeconfig_update_rgblight(uint32_t val);
void eeconfig_update_rgblight_default(void);
void eeconfig_debug_rgblight(void);
-void sethsv(uint16_t hue, uint8_t sat, uint8_t val, struct cRGB *led1);
-void setrgb(uint8_t r, uint8_t g, uint8_t b, struct cRGB *led1);
+void sethsv(uint16_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1);
+void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1);
void rgblight_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val);
+#define EZ_RGB(val) rgblight_show_solid_color((val >> 16) & 0xFF, (val >> 8) & 0xFF, val & 0xFF)
+void rgblight_show_solid_color(uint8_t r, uint8_t g, uint8_t b);
+
+void rgblight_task(void);
+
void rgblight_timer_init(void);
void rgblight_timer_enable(void);
void rgblight_timer_disable(void);
@@ -91,5 +100,6 @@ void rgblight_effect_rainbow_mood(uint8_t interval);
void rgblight_effect_rainbow_swirl(uint8_t interval);
void rgblight_effect_snake(uint8_t interval);
void rgblight_effect_knight(uint8_t interval);
+void rgblight_effect_christmas(void);
#endif
diff --git a/quantum/variable_trace.c b/quantum/variable_trace.c
new file mode 100644
index 0000000000..de580244c3
--- /dev/null
+++ b/quantum/variable_trace.c
@@ -0,0 +1,110 @@
+#include "variable_trace.h"
+#include
+#include
+
+#ifdef NO_PRINT
+#error "You need undef NO_PRINT to use the variable trace feature"
+#endif
+
+#ifndef CONSOLE_ENABLE
+#error "The console needs to be enabled in the makefile to use the variable trace feature"
+#endif
+
+
+#define NUM_TRACED_VARIABLES 1
+#ifndef MAX_VARIABLE_TRACE_SIZE
+ #define MAX_VARIABLE_TRACE_SIZE 4
+#endif
+
+typedef struct {
+ const char* name;
+ void* addr;
+ unsigned size;
+ const char* func;
+ int line;
+ uint8_t last_value[MAX_VARIABLE_TRACE_SIZE];
+
+} traced_variable_t;
+
+static traced_variable_t traced_variables[NUM_TRACED_VARIABLES];
+
+void add_traced_variable(const char* name, void* addr, unsigned size, const char* func, int line) {
+ verify_traced_variables(func, line);
+ if (size > MAX_VARIABLE_TRACE_SIZE) {
+#if defined(__AVR__)
+ xprintf("Traced variable \"%S\" exceeds the maximum size %d\n", name, size);
+#else
+ xprintf("Traced variable \"%s\" exceeds the maximum size %d\n", name, size);
+#endif
+ size = MAX_VARIABLE_TRACE_SIZE;
+ }
+ int index = -1;
+ for (int i = 0; i < NUM_TRACED_VARIABLES; i++) {
+ if (index == -1 && traced_variables[i].addr == NULL){
+ index = i;
+ }
+ else if (strcmp_P(name, traced_variables[i].name)==0) {
+ index = i;
+ break;
+ }
+ }
+
+ if (index == -1) {
+ xprintf("You can only trace %d variables at the same time\n", NUM_TRACED_VARIABLES);
+ return;
+ }
+
+ traced_variable_t* t = &traced_variables[index];
+ t->name = name;
+ t->addr = addr;
+ t->size = size;
+ t->func = func;
+ t->line = line;
+ memcpy(&t->last_value[0], addr, size);
+
+}
+
+void remove_traced_variable(const char* name, const char* func, int line) {
+ verify_traced_variables(func, line);
+ for (int i = 0; i < NUM_TRACED_VARIABLES; i++) {
+ if (strcmp_P(name, traced_variables[i].name)==0) {
+ traced_variables[i].name = 0;
+ traced_variables[i].addr = NULL;
+ break;
+ }
+ }
+}
+
+void verify_traced_variables(const char* func, int line) {
+ for (int i = 0; i < NUM_TRACED_VARIABLES; i++) {
+ traced_variable_t* t = &traced_variables[i];
+ if (t->addr != NULL && t->name != NULL) {
+ if (memcmp(t->last_value, t->addr, t->size)!=0){
+#if defined(__AVR__)
+ xprintf("Traced variable \"%S\" has been modified\n", t->name);
+ xprintf("Between %S:%d\n", t->func, t->line);
+ xprintf("And %S:%d\n", func, line);
+
+#else
+ xprintf("Traced variable \"%s\" has been modified\n", t->name);
+ xprintf("Between %s:%d\n", t->func, t->line);
+ xprintf("And %s:%d\n", func, line);
+#endif
+ xprintf("Previous value ");
+ for (int j=0; jsize;j++) {
+ print_hex8(t->last_value[j]);
+ }
+ xprintf("\nNew value ");
+ uint8_t* addr = (uint8_t*)(t->addr);
+ for (int j=0; jsize;j++) {
+ print_hex8(addr[j]);
+ }
+ xprintf("\n");
+ memcpy(t->last_value, addr, t->size);
+ }
+ }
+
+ t->func = func;
+ t->line = line;
+ }
+}
diff --git a/quantum/variable_trace.h b/quantum/variable_trace.h
new file mode 100644
index 0000000000..46bd827861
--- /dev/null
+++ b/quantum/variable_trace.h
@@ -0,0 +1,34 @@
+#ifndef VARIABLE_TRACE_H
+#define VARIABLE_TRACE_H
+
+// For more information about the variable tracing see the readme.
+
+#include "print.h"
+
+#ifdef NUM_TRACED_VARIABLES
+
+// Start tracing a variable at the memory address addr
+// The name can be anything and is used only for reporting
+// The size should usually be the same size as the variable you are interested in
+#define ADD_TRACED_VARIABLE(name, addr, size) \
+ add_traced_variable(PSTR(name), (void*)addr, size, PSTR(__FILE__), __LINE__)
+
+// Stop tracing the variable with the given name
+#define REMOVE_TRACED_VARIABLE(name) remove_traced_variable(PSTR(name), PSTR(__FILE__), __LINE__)
+
+// Call to get messages when the variable has been changed
+#define VERIFY_TRACED_VARIABLES() verify_traced_variables(PSTR(__FILE__), __LINE__)
+
+#else
+
+#define ADD_TRACED_VARIABLE(name, addr, size)
+#define REMOVE_TRACED_VARIABLE(name)
+#define VERIFY_TRACED_VARIABLES()
+
+#endif
+
+// Don't call directly, use the macros instead
+void add_traced_variable(const char* name, void* addr, unsigned size, const char* func, int line);
+void remove_traced_variable(const char* name, const char* func, int line);
+void verify_traced_variables(const char* func, int line);
+#endif
diff --git a/readme.md b/readme.md
index 80f0a3ab27..90584cabcb 100644
--- a/readme.md
+++ b/readme.md
@@ -4,7 +4,7 @@
This is a keyboard firmware based on the [tmk_keyboard firmware](http://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR controllers, and more specifically, the [OLKB product line](http://olkb.com), the [ErgoDox EZ](http://www.ergodox-ez.com) keyboard, and the [Clueboard product line](http://clueboard.co/).
-## Official website
+## Official website (currently under construction with the move to the wiki)
For an easy-to-read version of this document and the repository, check out [http://qmk.fm](http://qmk.fm). Nicely formatted keyboard and keymap listings are also available there, along with the ability to download .hex files instead of having to setup a build environment and compile them.
@@ -31,1243 +31,9 @@ The OLKB product firmwares are maintained by [Jack Humbert](https://github.com/j
This is not a tiny project. While this is the main readme, there are many other files you might want to consult. Here are some points of interest:
+* [**The Wiki**](https://github.com/jackhumbert/qmk_firmware/wiki) - the entirity of the readme has been moved here
* The readme for your own keyboard: This is found under `keyboards//`. So for the ErgoDox EZ, it's [here](keyboards/ergodox/ez/); for the Planck, it's [here](keyboards/planck/) and so on.
* The list of possible keycodes you can use in your keymap is actually spread out in a few different places:
* [doc/keycode.txt](doc/keycode.txt) - an explanation of those same keycodes.
* [quantum/keymap.h](quantum/keymap.h) - this is where the QMK-specific aliases are all set up. Things like the Hyper and Meh key, the Leader key, and all of the other QMK innovations. These are also explained and documented below, but `keymap.h` is where they're actually defined.
* The [TMK documentation](doc/TMK_README.md). QMK is based on TMK, and this explains how it works internally.
-
-# Getting started
-
-Before you are able to compile, you'll need to install an environment for AVR development. You'll find the instructions for any OS below. If you find another/better way to set things up from scratch, please consider [making a pull request](https://github.com/jackhumbert/qmk_firmware/pulls) with your changes!
-
-## Build Environment Setup
-
-### Windows 10
-
-It's still recommended to use the method for Vista and later below. The reason for this is that the Windows 10 Subsystem for Linux lacks [USB support](https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13355724-unable-to-access-usb-devices-from-bash), so it's not possible to flash the firmware to the keyboard. Please add your vote to the link!
-
-That said, it's still possible to use it for compilation. And recommended, if you need to compile much, since it's much faster than at least Cygwin (which is also supported, but currently lacking documentation). I haven't tried the method below, so I'm unable to tell.
-
-Here are the steps
-
-1. Install the Windows 10 subsystem for Linux, following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/).
-2. If you have previously cloned the repository using the normal Git bash, you will need to clean up the line endings. If you have cloned it after 20th of August 2016, you are likely fine. To clean up the line endings do the following
- 1. Make sure that you have no changes you haven't committed by running `git status`, if you do commit them first
- 2. From within the Git bash run `git rm --cached -r .`
- 3. Followed by `git reset --hard`
-3. Start the "Bash On Ubuntu On Windows" from the start menu
-4. With the bash open, navigate to your Git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive.
-5. Run `sudo util/install_dependencies.sh`.
-6. After a while the installation will finish, and you are good to go
-
-**Note** From time to time, the dependencies might change, so just run `install_dependencies.sh` again if things are not working.
-
-**Warning:** If you edit Makefiles or shell scripts, make sure you are using an editor that saves the files with Unix line endings. Otherwise the compilation might not work.
-
-
-### Windows (Vista and later)
-1. If you have ever installed WinAVR, uninstall it.
-2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**.
-3. If you are going to flash Infinity based keyboards you will need to install dfu-util, refer to the instructions by [Input Club](https://github.com/kiibohd/controller/wiki/Loading-DFU-Firmware).
-4. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location.
-5. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer.
-6. Open the `\util` folder.
-7. Double-click on the `1-setup-path-win` batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up.
-8. Right-click on the `2-setup-environment-win` batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete!
-
-If you have trouble and want to ask for help, it is useful to generate a *Win_Check_Output.txt* file by running `Win_Check.bat` in the `\util` folder.
-
-### Mac
-If you're using [homebrew,](http://brew.sh/) you can use the following commands:
-
- brew tap osx-cross/avr
- brew install avr-libc
- brew install dfu-programmer
-
-This is the recommended method. If you don't have homebrew, [install it!](http://brew.sh/) It's very much worth it for anyone who works in the command line.
-
-You can also try these instructions:
-
-1. Install Xcode from the App Store.
-2. Install the Command Line Tools from `Xcode->Preferences->Downloads`.
-3. Install [DFU-Programmer][dfu-prog].
-
-If you are going to flash Infinity based keyboards you will also need dfu-util
-
- brew install dfu-util
-
-### Linux
-
-To ensure you are always up to date, you can just run `sudo util/install_dependencies.sh`. That should always install all the dependencies needed.
-
-You can also install things manually, but this documentation might not be always up to date with all requirements.
-
-The current requirements are the following, but not all might be needed depending on what you do. Also note that some systems might not have all the dependencies available as packages, or they might be named differently.
-
-```
-build-essential
-gcc
-unzip
-wget
-zip
-gcc-avr
-binutils-avr
-avr-libc
-dfu-programmer
-dfu-util
-gcc-arm-none-eabi
-binutils-arm-none-eabi
-libnewlib-arm-none-eabi
-git
-```
-
-Install the dependencies with your favorite package manager.
-
-Debian/Ubuntu example:
-
- sudo apt-get update
- sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
-
-### Docker
-
-If this is a bit complex for you, Docker might be the turn-key solution you need. After installing [Docker](https://www.docker.com/products/docker), run the following command at the root of the QMK folder to build a keyboard/keymap:
-
-```bash
-# You'll run this every time you want to build a keymap
-# modify the keymap and keyboard assigment to compile what you want
-# defaults are ergodox/default
-
-docker run -e keymap=gwen -e keyboard=ergodox --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware
-
-# On windows docker seems to have issue with VOLUME tag in Dockerfile, and $('pwd') won't print a windows compliant path, use full path instead like this
-docker run -e keymap=default -e keyboard=ergobop --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware
-
-```
-
-This will compile the targetted keyboard/keymap and leave it in your QMK directory for you to flash.
-
-### Vagrant
-If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](doc/VAGRANT_GUIDE.md).
-
-## Verify Your Installation
-1. If you haven't already, obtain this repository ([https://github.com/jackhumbert/qmk_firmware](https://github.com/jackhumbert/qmk_firmware)). You can either download it as a zip file and extract it, or clone it using the command line tool git or the Github Desktop application.
-2. Open up a terminal or command prompt and navigate to the `qmk_firmware` folder using the `cd` command. The command prompt will typically open to your home directory. If, for example, you cloned the repository to your Documents folder, then you would type `cd Documents/qmk_firmware`. If you extracted the file from a zip, then it may be named `qmk_firmware-master` instead.
-3. To confirm that you're in the correct location, you can display the contents of your current folder using the `dir` command on Windows, or the `ls` command on Linux or Mac. You should see several files, including `readme.md` and a `quantum` folder. From here, you need to navigate to the appropriate folder under `keyboards/`. For example, if you're building for a Planck, run `cd keyboards/planck`.
-4. Once you're in the correct keyboard-specific folder, run the `make` command. This should output a lot of information about the build process. More information about the `make` command can be found below.
-
-# Customizing your keymap
-
-In every keymap folder, the following files are recommended:
-
-* `config.h` - the options to configure your keymap
-* `keymap.c` - all of your keymap code, required
-* `Makefile` - the features of QMK that are enabled, required to run `make` in your keymap folder
-* `readme.md` - a description of your keymap, how others might use it, and explanations of features
-
-## The `make` command
-
-The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys).
-
-**NOTE:** To abort a make command press `Ctrl-c`
-
-The following instruction refers to these folders.
-
-* The `root` (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc.
-* The `keyboard` folder is any keyboard project's folder, like `/keyboards/planck`.
-* The `keymap` folder is any keymap's folder, like `/keyboards/planck/keymaps/default`.
-* The `subproject` folder is the subproject folder of a keyboard, like `/keyboards/ergodox/ez`
-
-### Simple instructions for building and uploading a keyboard
-
-**Most keyboards have more specific instructions in the keyboard specific readme.md file, so please check that first**
-
-If the `keymap` folder contains a file name `Makefile`
-
-1. Change the directory to the `keymap` folder
-2. Run `make -`
-
-Otherwise, if there's no `Makefile` in the `keymap` folder
-
-1. Enter the `keyboard` folder
-2. Run `make --`
-
-In the above commands, replace:
-
-* `` with the name of your keymap
-* `` with the name of the subproject (revision or sub-model of your keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`.
- * If the keyboard doesn't have a subproject, or if you are happy with the default (defined in `rules.mk` file of the `keyboard` folder), you can leave it out. But remember to also remove the dash (`-`) from the command.
-* `` The programmer to use. Most keyboards use `dfu`, but some use `teensy`. Infinity keyboards use `dfu-util`. Check the readme file in the keyboard folder to find out which programmer to use.
- * If you don't add `----`, where:
-
-* `` is the name of the keyboard, for example `planck`
- * Use `allkb` to compile all keyboards
-* `` is the name of the subproject (revision or sub-model of the keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`.
- * If the keyboard doesn't have any subprojects, it can be left out
- * To compile the default subproject, you can leave it out, or specify `defaultsp`
- * Use `allsp` to compile all subprojects
-* `` is the name of the keymap, for example `algernon`
- * Use `allkm` to compile all keymaps
-* `` will be explained in more detail below.
-
-**Note:** When you leave some parts of the command out, you should also remove the dash (`-`).
-
-As mentioned above, there are some shortcuts, when you are in a:
-
-* `keyboard` folder, the command will automatically fill the `` part. So you only need to type `--`
-* `subproject` folder, it will fill in both `` and ``
-* `keymap` folder, then `` and `` will be filled in. If you need to specify the `` use the following syntax `-`
- * Note in order to support this shortcut, the keymap needs its own Makefile (see the example [here](/doc/keymap_makefile_example.mk))
-* `keymap` folder of a `subproject`, then everything except the `` will be filled in
-
-The `` means the following
-* If no target is given, then it's the same as `all` below
-* `all` compiles the keyboard and generates a `_.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests.
-* `dfu`, `teensy` or `dfu-util`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for Infinity keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. **Note** that some operating systems needs root access for these commands to work, so in that case you need to run for example `sudo make dfu`.
-* `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems.
-
-Some other targets are supported but, but not important enough to be documented here. Check the source code of the make files for more information.
-
-You can also add extra options at the end of the make command line, after the target
-
-* `make COLOR=false` - turns off color output
-* `make SILENT=true` - turns off output besides errors/warnings
-* `make VERBOSE=true` - outputs all of the gcc stuff (not interesting, unless you need to debug)
-
-The make command itself also has some additional options, type `make --help` for more information. The most useful is probably `-jx`, which specifies that you want to compile using more than one CPU, the `x` represents the number of CPUs that you want to use. Setting that can greatly reduce the compile times, especially if you are compiling many keyboards/keymaps. I usually set it to one less than the number of CPUs that I have, so that I have some left for doing other things while it's compiling. Note that not all operating systems and make versions supports that option.
-
-Here are some examples commands
-
-* `make allkb-allsp-allkm` builds everything (all keyboards, all subprojects, all keymaps). Running just `make` from the `root` will also run this.
-* `make` from within a `keyboard` directory, is the same as `make keyboard-allsp-allkm`, which compiles all subprojects and keymaps of the keyboard. **NOTE** that this behaviour has changed. Previously it compiled just the default keymap.
-* `make ergodox-infinity-algernon-clean` will clean the build output of the Ergodox Infinity keyboard. This example uses the full syntax and can be run from any folder with a `Makefile`
-* `make dfu COLOR=false` from within a keymap folder, builds and uploads the keymap, but without color output.
-
-## The `Makefile`
-
-There are 5 different `make` and `Makefile` locations:
-
-* root (`/`)
-* keyboard (`/keyboards//`)
-* keymap (`/keyboards//keymaps//`)
-* subproject (`/keyboards//`)
-* subproject keymap (`/keyboards///keymaps/`)
-
-The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **The file is required if you want to run `make` in the keymap folder.**
-
-For keyboards and subprojects, the make files are split in two parts `Makefile` and `rules.mk`. All settings can be found in the `rules.mk` file, while the `Makefile` is just there for support and including the root `Makefile`. Keymaps contain just one `Makefile` for simplicity.
-
-### Makefile options
-
-Set the variables to `no` to disable them, and `yes` to enable them.
-
-`BOOTMAGIC_ENABLE`
-
-This allows you to hold a key and the salt key (space by default) and have access to a various EEPROM settings that persist over power loss. It's advised you keep this disabled, as the settings are often changed by accident, and produce confusing results that makes it difficult to debug. It's one of the more common problems encountered in help sessions.
-
-`MOUSEKEY_ENABLE`
-
-This gives you control over cursor movements and clicks via keycodes/custom functions.
-
-`EXTRAKEY_ENABLE`
-
-This allows you to use the system and audio control key codes.
-
-`CONSOLE_ENABLE`
-
-This allows you to print messages that can be read using [`hid_listen`](https://www.pjrc.com/teensy/hid_listen.html).
-
-By default, all debug (*dprint*) print (*print*, *xprintf*), and user print (*uprint*) messages will be enabled. This will eat up a significant portion of the flash and may make the keyboard .hex file too big to program.
-
-To disable debug messages (*dprint*) and reduce the .hex file size, include `#define NO_DEBUG` in your `config.h` file.
-
-To disable print messages (*print*, *xprintf*) and user print messages (*uprint*) and reduce the .hex file size, include `#define NO_PRINT` in your `config.h` file.
-
-To disable print messages (*print*, *xprintf*) and **KEEP** user print messages (*uprint*), include `#define USER_PRINT` in your `config.h` file.
-
-To see the text, open `hid_listen` and enjoy looking at your printed messages.
-
-**NOTE:** Do not include *uprint* messages in anything other than your keymap code. It must not be used within the QMK system framework. Otherwise, you will bloat other people's .hex files.
-
-`COMMAND_ENABLE`
-
-This enables magic commands, typically fired with the default magic key combo `LSHIFT+RSHIFT+KEY`. Magic commands include turning on debugging messages (`MAGIC+D`) or temporarily toggling NKRO (`MAGIC+N`).
-
-`SLEEP_LED_ENABLE`
-
-Enables your LED to breath while your computer is sleeping. Timer1 is being used here. This feature is largely unused and untested, and needs updating/abstracting.
-
-`NKRO_ENABLE`
-
-This allows the keyboard to tell the host OS that up to 248 keys are held down at once (default without NKRO is 6). NKRO is off by default, even if `NKRO_ENABLE` is set. NKRO can be forced by adding `#define FORCE_NKRO` to your config.h or by binding `MAGIC_TOGGLE_NKRO` to a key and then hitting the key.
-
-`BACKLIGHT_ENABLE`
-
-This enables your backlight on Timer1 and ports B5, B6, or B7 (for now). You can specify your port by putting this in your `config.h`:
-
- #define BACKLIGHT_PIN B7
-
-`MIDI_ENABLE`
-
-This enables MIDI sending and receiving with your keyboard. To enter MIDI send mode, you can use the keycode `MI_ON`, and `MI_OFF` to turn it off. This is a largely untested feature, but more information can be found in the `quantum/quantum.c` file.
-
-`UNICODE_ENABLE`
-
-This allows you to send unicode symbols via `UC()` in your keymap. Only codes up to 0x7FFF are currently supported.
-
-`BLUETOOTH_ENABLE`
-
-This allows you to interface with a Bluefruit EZ-key to send keycodes wirelessly. It uses the D2 and D3 pins.
-
-`AUDIO_ENABLE`
-
-This allows you output audio on the C6 pin (needs abstracting). See the [audio section](#driving-a-speaker---audio-support) for more information.
-
-### Customizing Makefile options on a per-keymap basis
-
-If your keymap directory has a file called `Makefile` (note the filename), any Makefile options you set in that file will take precedence over other Makefile options for your particular keyboard.
-
-So let's say your keyboard's makefile has `BACKLIGHT_ENABLE = yes` (or maybe doesn't even list the `BACKLIGHT_ENABLE` option, which would cause it to be off). You want your particular keymap to not have the debug console, so you make a file called `Makefile` and specify `BACKLIGHT_ENABLE = no`.
-
-You can use the `doc/keymap_makefile_example.md` as a template/starting point.
-
-## The `config.h` file
-
-There are 2 `config.h` locations:
-
-* keyboard (`/keyboards//`)
-* keymap (`/keyboards//keymaps//`)
-
-The keyboard `config.h` is included only if the keymap one doesn't exist. The format to use for your custom one [is here](/doc/keymap_config_h_example.h). If you want to override a setting from the parent `config.h` file, you need to do this:
-
-```c
-#undef MY_SETTING
-#define MY_SETTING 4
-```
-
-For a value of `4` for this imaginary setting. So we `undef` it first, then `define` it.
-
-You can then override any settings, rather than having to copy and paste the whole thing.
-
-# Going beyond the keycodes
-
-Aside from the [basic keycodes](doc/keycode.txt), your keymap can include shortcuts to common operations.
-
-## Quick aliases to common actions
-
-Your keymap can include shortcuts to common operations (called "function actions" in tmk).
-
-These functions work the same way that their `ACTION_*` functions do - they're just quick aliases. To dig into all of the tmk `ACTION_*` functions, please see the [TMK documentation](https://github.com/jackhumbert/qmk_firmware/blob/master/doc/keymap.md#2-action).
-
-Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` - the benefit here is being able to use more than 32 function actions (up to 4096), if you happen to need them.
-
-### Switching and toggling layers
-
-`MO(layer)` - momentary switch to *layer*. As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. When you apply this to a key, that same key must be set as `KC_TRNS` on the destination layer. Otherwise, you won't make it back to the original layer when you release the key (and you'll get a keycode sent). You can only switch to layers *above* your current layer. If you're on layer 0 and you use `MO(1)`, that will switch to layer 1 just fine. But if you include `MO(3)` on layer 5, that won't do anything for you -- because layer 3 is lower than layer 5 on the stack.
-
-`OSL(layer)` - momentary switch to *layer*, as a one-shot operation. So if you have a key that's defined as `OSL(1)`, and you tap that key, then only the very next keystroke would come from layer 1. You would drop back to layer zero immediately after that one keystroke. That's handy if you have a layer full of custom shortcuts -- for example, a dedicated key for closing a window. So you tap your one-shot layer mod, then tap that magic 'close window' key, and keep typing like a boss. Layer 1 would remain active as long as you hold that key down, too (so you can use it like a momentary toggle-layer key with extra powers).
-
-`LT(layer, kc)` - momentary switch to *layer* when held, and *kc* when tapped. Like `MO()`, this only works upwards in the layer stack (`layer` must be higher than the current layer).
-
-`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack.
-
-`TO(layer)` - Goes to a layer. This code is special, because it lets you go either up or down the stack -- just goes directly to the layer you want. So while other codes only let you go _up_ the stack (from layer 0 to layer 3, for example), `TO(2)` is going to get you to layer 2, no matter where you activate it from -- even if you're currently on layer 5. This gets activated on keydown (as soon as the key is pressed).
-
-
-### Fun with modifier keys
-
-* `LSFT(kc)` - applies left Shift to *kc* (keycode) - `S(kc)` is an alias
-* `RSFT(kc)` - applies right Shift to *kc*
-* `LCTL(kc)` - applies left Control to *kc*
-* `RCTL(kc)` - applies right Control to *kc*
-* `LALT(kc)` - applies left Alt to *kc*
-* `RALT(kc)` - applies right Alt to *kc*
-* `LGUI(kc)` - applies left GUI (command/win) to *kc*
-* `RGUI(kc)` - applies right GUI (command/win) to *kc*
-* `HYPR(kc)` - applies Hyper (all modifiers) to *kc*
-* `MEH(kc)` - applies Meh (all modifiers except Win/Cmd) to *kc*
-* `LCAG(kc)` - applies CtrlAltGui to *kc*
-
-You can also chain these, like this:
-
- LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress.
-
-The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. Their long names are also available and documented in `/quantum/keymap_common.h`.
-
- KC_TILD ~
- KC_EXLM !
- KC_AT @
- KC_HASH #
- KC_DLR $
- KC_PERC %
- KC_CIRC ^
- KC_AMPR &
- KC_ASTR *
- KC_LPRN (
- KC_RPRN )
- KC_UNDS _
- KC_PLUS +
- KC_DQUO "
- KC_LCBR {
- KC_RCBR }
- KC_LABK <
- KC_RABK >
- KC_PIPE |
- KC_COLN :
-
-`OSM(mod)` - this is a "one shot" modifier. So let's say you have your left Shift key defined as `OSM(MOD_LSFT)`. Tap it, let go, and Shift is "on" -- but only for the next character you'll type. So to write "The", you don't need to hold down Shift -- you tap it, tap t, and move on with life. And if you hold down the left Shift key, it just works as a left Shift key, as you would expect (so you could type THE). There's also a magical, secret way to "lock" a modifier by tapping it multiple times. If you want to learn more about that, open an issue. :)
-
-`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down.
-
-These are the values you can use for the `mod` in `MT()` and `OSM()` (right-hand modifiers are not available for `MT()`):
-
- * MOD_LCTL
- * MOD_LSFT
- * MOD_LALT
- * MOD_LGUI
- * MOD_HYPR
- * MOD_MEH
-
-These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped.
-
-We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact:
-
- * `CTL_T(kc)` - is LCTL when held and *kc* when tapped
- * `SFT_T(kc)` - is LSFT when held and *kc* when tapped
- * `ALT_T(kc)` - is LALT when held and *kc* when tapped
- * `GUI_T(kc)` - is LGUI when held and *kc* when tapped
- * `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)
- * `LCAG_T(kc)` - is CtrlAltGui when held and *kc* when tapped
- * `MEH_T(kc)` - is like Hyper, but not as cool -- does not include the Cmd/Win key, so just sends Alt+Ctrl+Shift.
-
-## Space Cadet Shift: The future, built in
-
-Steve Losh [described](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) the Space Cadet Shift quite well. Essentially, you hit the left Shift on its own, and you get an opening parenthesis; hit the right Shift on its own, and you get the closing one. When hit with other keys, the Shift key keeps working as it always does. Yes, it's as cool as it sounds.
-
-To use it, use `KC_LSPO` (Left Shift, Parens Open) for your left Shift on your keymap, and `KC_RSPC` (Right Shift, Parens Close) for your right Shift.
-
-It's defaulted to work on US keyboards, but if your layout uses different keys for parenthesis, you can define those in your `config.h` like this:
-
- #define LSPO_KEY KC_9
- #define RSPC_KEY KC_0
-
-You can also choose between different rollover behaviors of the shift keys by defining:
-
- #define DISABLE_SPACE_CADET_ROLLOVER
-
-in your `config.h`. Disabling rollover allows you to use the opposite shift key to cancel the space cadet state in the event of an erroneous press instead of emitting a pair of parentheses when the keys are released.
-
-The only other thing you're going to want to do is create a `Makefile` in your keymap directory and set the following:
-
-```
-COMMAND_ENABLE = no # Commands for debug and configuration
-```
-
-This is just to keep the keyboard from going into command mode when you hold both Shift keys at the same time.
-
-## The Leader key: A new kind of modifier
-
-If you've ever used Vim, you know what a Leader key is. If not, you're about to discover a wonderful concept. :) Instead of hitting Alt+Shift+W for example (holding down three keys at the same time), what if you could hit a _sequence_ of keys instead? So you'd hit our special modifier (the Leader key), followed by W and then C (just a rapid succession of keys), and something would happen.
-
-That's what `KC_LEAD` does. Here's an example:
-
-1. Pick a key on your keyboard you want to use as the Leader key. Assign it the keycode `KC_LEAD`. This key would be dedicated just for this -- it's a single action key, can't be used for anything else.
-2. Include the line `#define LEADER_TIMEOUT 300` somewhere in your keymap.c file, probably near the top. The 300 there is 300ms -- that's how long you have for the sequence of keys following the leader. You can tweak this value for comfort, of course.
-3. Within your `matrix_scan_user` function, do something like this:
-
-```
-LEADER_EXTERNS();
-
-void matrix_scan_user(void) {
- LEADER_DICTIONARY() {
- leading = false;
- leader_end();
-
- SEQ_ONE_KEY(KC_F) {
- register_code(KC_S);
- unregister_code(KC_S);
- }
- SEQ_TWO_KEYS(KC_A, KC_S) {
- register_code(KC_H);
- unregister_code(KC_H);
- }
- SEQ_THREE_KEYS(KC_A, KC_S, KC_D) {
- register_code(KC_LGUI);
- register_code(KC_S);
- unregister_code(KC_S);
- unregister_code(KC_LGUI);
- }
- }
-}
-```
-
-As you can see, you have three function. you can use - `SEQ_ONE_KEY` for single-key sequences (Leader followed by just one key), and `SEQ_TWO_KEYS` and `SEQ_THREE_KEYS` for longer sequences. Each of these accepts one or more keycodes as arguments. This is an important point: You can use keycodes from **any layer on your keyboard**. That layer would need to be active for the leader macro to fire, obviously.
-
-## Tap Dance: A single key can do 3, 5, or 100 different things
-
-Hit the semicolon key once, send a semicolon. Hit it twice, rapidly -- send a colon. Hit it three times, and your keyboard's LEDs do a wild dance. That's just one example of what Tap Dance can do. It's one of the nicest community-contributed features in the firmware, conceived and created by [algernon](https://github.com/algernon) in [#451](https://github.com/jackhumbert/qmk_firmware/pull/451). Here's how algernon describes the feature:
-
-With this feature one can specify keys that behave differently, based on the amount of times they have been tapped, and when interrupted, they get handled before the interrupter.
-
-To make it clear how this is different from `ACTION_FUNCTION_TAP`, lets explore a certain setup! We want one key to send `Space` on single tap, but `Enter` on double-tap.
-
-With `ACTION_FUNCTION_TAP`, it is quite a rain-dance to set this up, and has the problem that when the sequence is interrupted, the interrupting key will be send first. Thus, `SPC a` will result in `a SPC` being sent, if they are typed within `TAPPING_TERM`. With the tap dance feature, that'll come out as `SPC a`, correctly.
-
-The implementation hooks into two parts of the system, to achieve this: into `process_record_quantum()`, and the matrix scan. We need the latter to be able to time out a tap sequence even when a key is not being pressed, so `SPC` alone will time out and register after `TAPPING_TERM` time.
-
-But lets start with how to use it, first!
-
-First, you will need `TAP_DANCE_ENABLE=yes` in your `Makefile`, because the feature is disabled by default. This adds a little less than 1k to the firmware size. Next, you will want to define some tap-dance keys, which is easiest to do with the `TD()` macro, that - similar to `F()`, takes a number, which will later be used as an index into the `tap_dance_actions` array.
-
-This array specifies what actions shall be taken when a tap-dance key is in action. Currently, there are three possible options:
-
-* `ACTION_TAP_DANCE_DOUBLE(kc1, kc2)`: Sends the `kc1` keycode when tapped once, `kc2` otherwise. When the key is held, the appropriate keycode is registered: `kc1` when pressed and held, `kc2` when tapped once, then pressed and held.
-* `ACTION_TAP_DANCE_FN(fn)`: Calls the specified function - defined in the user keymap - with the final tap count of the tap dance action.
-* `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: Calls the first specified function - defined in the user keymap - on every tap, the second function on when the dance action finishes (like the previous option), and the last function when the tap dance action resets.
-
-The first option is enough for a lot of cases, that just want dual roles. For example, `ACTION_TAP_DANCE(KC_SPC, KC_ENT)` will result in `Space` being sent on single-tap, `Enter` otherwise.
-
-And that's the bulk of it!
-
-And now, on to the explanation of how it works!
-
-The main entry point is `process_tap_dance()`, called from `process_record_quantum()`, which is run for every keypress, and our handler gets to run early. This function checks whether the key pressed is a tap-dance key. If it is not, and a tap-dance was in action, we handle that first, and enqueue the newly pressed key. If it is a tap-dance key, then we check if it is the same as the already active one (if there's one active, that is). If it is not, we fire off the old one first, then register the new one. If it was the same, we increment the counter and the timer.
-
-This means that you have `TAPPING_TERM` time to tap the key again, you do not have to input all the taps within that timeframe. This allows for longer tap counts, with minimal impact on responsiveness.
-
-Our next stop is `matrix_scan_tap_dance()`. This handles the timeout of tap-dance keys.
-
-For the sake of flexibility, tap-dance actions can be either a pair of keycodes, or a user function. The latter allows one to handle higher tap counts, or do extra things, like blink the LEDs, fiddle with the backlighting, and so on. This is accomplished by using an union, and some clever macros.
-
-### Examples
-
-Here's a simple example for a single definition:
-
-1. In your `makefile`, add `TAP_DANCE_ENABLE = yes`
-2. In your `config.h` (which you can copy from `qmk_firmware/keyboards/planck/config.h` to your keymap directory), add `#define TAPPING_TERM 200`
-3. In your `keymap.c` file, define the variables and definitions, then add to your keymap:
-
-```c
-//Tap Dance Declarations
-enum {
- TD_ESC_CAPS = 0
-};
-
-//Tap Dance Definitions
-qk_tap_dance_action_t tap_dance_actions[] = {
- //Tap once for Esc, twice for Caps Lock
- [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS)
-// Other declarations would go here, separated by commas, if you have them
-};
-
-//In Layer declaration, add tap dance item in place of a key code
-TD(TD_ESC_CAPS)
-```
-
-Here's a more complex example involving custom actions:
-
-```c
-enum {
- CT_SE = 0,
- CT_CLN,
- CT_EGG,
- CT_FLSH,
-};
-
-/* Have the above three on the keymap, TD(CT_SE), etc... */
-
-void dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_RSFT);
- register_code (KC_SCLN);
- } else {
- register_code (KC_SCLN);
- }
-}
-
-void dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_RSFT);
- unregister_code (KC_SCLN);
- } else {
- unregister_code (KC_SCLN);
- }
-}
-
-void dance_egg (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count >= 100) {
- SEND_STRING ("Safety dance!");
- reset_tap_dance (state);
- }
-}
-
-// on each tap, light up one led, from right to left
-// on the forth tap, turn them off from right to left
-void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) {
- switch (state->count) {
- case 1:
- ergodox_right_led_3_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- case 3:
- ergodox_right_led_1_on();
- break;
- case 4:
- ergodox_right_led_3_off();
- _delay_ms(50);
- ergodox_right_led_2_off();
- _delay_ms(50);
- ergodox_right_led_1_off();
- }
-}
-
-// on the fourth tap, set the keyboard on flash state
-void dance_flsh_finished(qk_tap_dance_state_t *state, void *user_data) {
- if (state->count >= 4) {
- reset_keyboard();
- reset_tap_dance(state);
- }
-}
-
-// if the flash state didnt happen, then turn off leds, left to right
-void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) {
- ergodox_right_led_1_off();
- _delay_ms(50);
- ergodox_right_led_2_off();
- _delay_ms(50);
- ergodox_right_led_3_off();
-}
-
-qk_tap_dance_action_t tap_dance_actions[] = {
- [CT_SE] = ACTION_TAP_DANCE_DOUBLE (KC_SPC, KC_ENT)
- ,[CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cln_finished, dance_cln_reset)
- ,[CT_EGG] = ACTION_TAP_DANCE_FN (dance_egg)
- ,[CT_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED (dance_flsh_each, dance_flsh_finished, dance_flsh_reset)
-};
-```
-
-## Temporarily setting the default layer
-
-`DF(layer)` - sets default layer to *layer*. The default layer is the one at the "bottom" of the layer stack - the ultimate fallback layer. This currently does not persist over power loss. When you plug the keyboard back in, layer 0 will always be the default. It is theoretically possible to work around that, but that's not what `DF` does.
-
-## Prevent stuck modifiers
-
-Consider the following scenario:
-
-1. Layer 0 has a key defined as Shift.
-2. The same key is defined on layer 1 as the letter A.
-3. User presses Shift.
-4. User switches to layer 1 for whatever reason.
-5. User releases Shift, or rather the letter A.
-6. User switches back to layer 0.
-
-Shift was actually never released and is still considered pressed.
-
-If such situation bothers you add this to your `config.h`:
-
- #define PREVENT_STUCK_MODIFIERS
-
-This option uses 5 bytes of memory per every 8 keys on the keyboard
-rounded up (5 bits per key). For example on Planck (48 keys) it uses
-(48/8)\*5 = 30 bytes.
-
-## Macro shortcuts: Send a whole string when pressing just one key
-
-Instead of using the `ACTION_MACRO` function, you can simply use `M(n)` to access macro *n* - *n* will get passed into the `action_get_macro` as the `id`, and you can use a switch statement to trigger it. This gets called on the keydown and keyup, so you'll need to use an if statement testing `record->event.pressed` (see keymap_default.c).
-
-```c
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is.
-{
- switch(id) {
- case 0: // this would trigger when you hit a key mapped as M(0)
- if (record->event.pressed) {
- return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ); // this sends the string 'hello' when the macro executes
- }
- break;
- }
- return MACRO_NONE;
-};
-```
-A macro can include the following commands:
-
-* I() change interval of stroke in milliseconds.
-* D() press key.
-* U() release key.
-* T() type key(press and release).
-* W() wait (milliseconds).
-* END end mark.
-
-So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends.
-
-Note: Using macros to have your keyboard send passwords for you is possible, but a bad idea.
-
-### Advanced macro functions
-
-To get more control over the keys/actions your keyboard takes, the following functions are available to you in the `action_get_macro` function block:
-
-* `record->event.pressed`
-
-This is a boolean value that can be tested to see if the switch is being pressed or released. An example of this is
-
-```c
-if (record->event.pressed) {
- // on keydown
-} else {
- // on keyup
-}
-```
-
-* `register_code();`
-
-This sends the `` keydown event to the computer. Some examples would be `KC_ESC`, `KC_C`, `KC_4`, and even modifiers such as `KC_LSFT` and `KC_LGUI`.
-
-* `unregister_code();`
-
-Parallel to `register_code` function, this sends the `` keyup event to the computer. If you don't use this, the key will be held down until it's sent.
-
-* `layer_on();`
-
-This will turn on the layer `` - the higher layer number will always take priority. Make sure you have `KC_TRNS` for the key you're pressing on the layer you're switching to, or you'll get stick there unless you have another plan.
-
-* `layer_off();`
-
-This will turn off the layer ``.
-
-* `clear_keyboard();`
-
-This will clear all mods and keys currently pressed.
-
-* `clear_mods();`
-
-This will clear all mods currently pressed.
-
-* `clear_keyboard_but_mods();`
-
-This will clear all keys besides the mods currently pressed.
-
-* `update_tri_layer(layer_1, layer_2, layer_3);`
-
-If the user attempts to activate layer 1 AND layer 2 at the same time (for example, by hitting their respective layer keys), layer 3 will be activated. Layers 1 and 2 will _also_ be activated, for the purposes of fallbacks (so a given key will fall back from 3 to 2, to 1 -- and only then to 0).
-
-#### Naming your macros
-
-If you have a bunch of macros you want to refer to from your keymap, while keeping the keymap easily readable, you can just name them like so:
-
-```
-#define AUD_OFF M(6)
-#define AUD_ON M(7)
-#define MUS_OFF M(8)
-#define MUS_ON M(9)
-#define VC_IN M(10)
-#define VC_DE M(11)
-#define PLOVER M(12)
-#define EXT_PLV M(13)
-```
-
-As was done on the [Planck default keymap](/keyboards/planck/keymaps/default/keymap.c#L33-L40)
-
-#### Timer functionality
-
-It's possible to start timers and read values for time-specific events - here's an example:
-
-```c
-static uint16_t key_timer;
-key_timer = timer_read();
-if (timer_elapsed(key_timer) < 100) {
- // do something if less than 100ms have passed
-} else {
- // do something if 100ms or more have passed
-}
-```
-
-It's best to declare the `static uint16_t key_timer;` outside of the macro block (top of file, etc).
-
-#### Example: Single-key copy/paste (hold to copy, tap to paste)
-
-With QMK, it's easy to make one key do two things, as long as one of those things is being a modifier. :) So if you want a key to act as Ctrl when held and send the letter R when tapped, that's easy: `CTL_T(KC_R)`. But what do you do when you want that key to send Ctrl-V (paste) when tapped, and Ctrl-C (copy) when held?
-
-Here's what you do:
-
-
-```
-static uint16_t key_timer;
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case 0: {
- if (record->event.pressed) {
- key_timer = timer_read(); // if the key is being pressed, we start the timer.
- }
- else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
- if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap.
- return MACRO( D(LCTL), T(C), U(LCTL), END );
- }
- else {
- return MACRO( D(LCTL), T(V), U(LCTL), END );
- }
- }
- break;
- }
- }
- return MACRO_NONE;
-};
-```
-
-And then, to assign this macro to a key on your keyboard layout, you just use `M(0)` on the key you want to press for copy/paste.
-
-## Dynamic macros: record and replay macros in runtime
-
-In addition to the static macros described above, you may enable the dynamic macros which you may record while writing. They are forgotten as soon as the keyboard is unplugged. Only two such macros may be stored at the same time, with the total length of 64 keypresses (by default).
-
-To enable them, first add a new element to the `planck_keycodes` enum -- `DYNAMIC_MACRO_RANGE`:
-
- enum planck_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- PLOVER,
- LOWER,
- RAISE,
- BACKLIT,
- EXT_PLV,
- DYNAMIC_MACRO_RANGE,
- };
-
-Afterwards create a new layer called `_DYN`:
-
- #define _DYN 6 /* almost any other free number should be ok */
-
-Below these two modifications include the `dynamic_macro.h` header:
-
- #include "dynamic_macro.h"`
-
-Then define the `_DYN` layer with the following keys: `DYN_REC_START1`, `DYN_MACRO_PLAY1`,`DYN_REC_START2` and `DYN_MACRO_PLAY2`. It may also contain other keys, it doesn't matter apart from the fact that you won't be able to record these keys in the dynamic macros.
-
- [_DYN]= {
- {_______, DYN_REC_START1, DYN_MACRO_PLAY1, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, DYN_REC_START2, DYN_MACRO_PLAY2, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
- },
-
-Add the following code to the very beginning of your `process_record_user()` function:
-
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
-
-To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`. To finish the recording, press the `_DYN` layer button. The handler awaits specifically for the `MO(_DYN)` keycode as the "stop signal" so please don't use any fancy ways to access this layer, use the regular `MO()` modifier. To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
-
-If the LED-s start blinking during the recording with each keypress, it means there is no more space for the macro in the macro buffer. To fit the macro in, either make the other macro shorter (they share the same buffer) or increase the buffer size by setting the `DYNAMIC_MACRO_SIZE` preprocessor macro (default value: 128; please read the comments for it in the header).
-
-For the details about the internals of the dynamic macros, please read the comments in the `dynamic_macro.h` header.
-
-## Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc)
-
-Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap:
-
- #include
-
-If you use Dvorak, use `keymap_dvorak.h` instead of `keymap_colemak.h` for this line. After including this line, you will get access to:
-
- * `CM_*` for all of the Colemak-equivalent characters
- * `DV_*` for all of the Dvorak-equivalent characters
-
-These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features.
-
-To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`.
-
-## Additional language support
-
-In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support).
-
-## Unicode support
-
-You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile.
-
-## Backlight Breathing
-
-In order to enable backlight breathing, the following line must be added to your config.h file.
-
- #define BACKLIGHT_BREATHING
-
-The following function calls are used to control the breathing effect.
-
-* ```breathing_enable()``` - Enable the free-running breathing effect.
-* ```breathing_disable()``` - Disable the free-running breathing effect immediately.
-* ```breathing_self_disable()``` - Disable the free-running breathing effect after the current effect ends.
-* ```breathing_toggle()``` - Toggle the free-running breathing effect.
-* ```breathing_defaults()``` - Reset the speed and brightness settings of the breathing effect.
-
-The following function calls are used to control the maximum brightness of the breathing effect.
-
-* ```breathing_intensity_set(value)``` - Set the brightness of the breathing effect when it is at its max value.
-* ```breathing_intensity_default()``` - Reset the brightness of the breathing effect to the default value based on the current backlight intensity.
-
-The following function calls are used to control the cycling speed of the breathing effect.
-
-* ```breathing_speed_set(value)``` - Set the speed of the breathing effect - how fast it cycles.
-* ```breathing_speed_inc(value)``` - Increase the speed of the breathing effect by a fixed value.
-* ```breathing_speed_dec(value)``` - Decrease the speed of the breathing effect by a fixed value.
-* ```breathing_speed_default()``` - Reset the speed of the breathing effect to the default value.
-
-The following example shows how to enable the backlight breathing effect when the FUNCTION layer macro button is pressed:
-
- case MACRO_FUNCTION:
- if (record->event.pressed)
- {
- breathing_speed_set(3);
- breathing_enable();
- layer_on(LAYER_FUNCTION);
- }
- else
- {
- breathing_speed_set(1);
- breathing_self_disable();
- layer_off(LAYER_FUNCTION);
- }
- break;
-
-The following example shows how to pulse the backlight on-off-on when the RAISED layer macro button is pressed:
-
- case MACRO_RAISED:
- if (record->event.pressed)
- {
- layer_on(LAYER_RAISED);
- breathing_speed_set(2);
- breathing_pulse();
- update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST);
- }
- else
- {
- layer_off(LAYER_RAISED);
- update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST);
- }
- break;
-
-## Other firmware shortcut keycodes
-
-* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`)
-* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things
-* `BL_ON` - turns the backlight on
-* `BL_OFF` - turns the backlight off
-* `BL_` - sets the backlight to level *n*
-* `BL_INC` - increments the backlight level by one
-* `BL_DEC` - decrements the backlight level by one
-* `BL_TOGG` - toggles the backlight
-* `BL_STEP` - steps through the backlight levels
-
-Enable the backlight from the Makefile.
-
-# Custom Quantum functions
-
-All of these functions are available in the `*_kb()` or `*_user()` variety. `kb` ones should only be used in the `/.c` file, and `user` ones should only be used in the `keymap.c`. The keyboard ones call the user ones - it's necessary to keep these calls to allow the keymap functions to work correctly.
-
-## `void matrix_init_*(void)`
-
-This function gets called when the matrix is initiated, and can contain start-up code for your keyboard/keymap.
-
-## `void matrix_scan_*(void)`
-
-This function gets called at every matrix scan, which is basically as often as the MCU can handle. Be careful what you put here, as it will get run a lot.
-
-## `bool process_record_*(uint16_t keycode, keyrecord_t *record)`
-
-This function gets called on every keypress/release, and is where you can define custom functionality. The return value is whether or not QMK should continue processing the keycode - returning `false` stops the execution.
-
-The `keycode` variable is whatever is defined in your keymap, eg `MO(1)`, `KC_L`, etc. and can be switch-cased to execute code whenever a particular code is pressed.
-
-The `record` variable contains infomation about the actual press:
-
-```
-keyrecord_t record {
- keyevent_t event {
- keypos_t key {
- uint8_t col
- uint8_t row
- }
- bool pressed
- uint16_t time
- }
-}
-```
-
-The conditional `if (record->event.pressed)` can tell if the key is being pressed or released, and you can execute code based on that.
-
-## `void led_set_*(uint8_t usb_led)`
-
-This gets called whenever there is a state change on your host LEDs (eg caps lock, scroll lock, etc). The LEDs are defined as:
-
-```
-#define USB_LED_NUM_LOCK 0
-#define USB_LED_CAPS_LOCK 1
-#define USB_LED_SCROLL_LOCK 2
-#define USB_LED_COMPOSE 3
-#define USB_LED_KANA 4
-```
-
-and can be tested against the `usb_led` with a conditional like `if (usb_led & (1<` script to help get you started - you can simply pass your keyboard's name into the script, and all of the necessary files will be created. The components of each are described below.
-
-## `/keyboards//config.h`
-
-The `USB Device descriptor parameter` block contains parameters are used to uniquely identify your keyboard, but they don't really matter to the machine.
-
-Your `MATRIX_ROWS` and `MATRIX_COLS` are the numbers of rows and cols in your keyboard matrix - this may be different than the number of actual rows and columns on your keyboard. There are some tricks you can pull to increase the number of keys in a given matrix, but most keyboards are pretty straight-forward.
-
-The `MATRIX_ROW_PINS` and `MATRIX_COL_PINS` are the pins your MCU uses on each row/column. Your schematic (if you have one) will have this information on it, and the values will vary depending on your setup. This is one of the most important things to double-check in getting your keyboard setup correctly.
-
-For the `DIODE_DIRECTION`, most hand-wiring guides will instruct you to wire the diodes in the `COL2ROW` position, but it's possible that they are in the other - people coming from EasyAVR often use `ROW2COL`. Nothing will function if this is incorrect.
-
-`BACKLIGHT_PIN` is the pin that your PWM-controlled backlight (if one exists) is hooked-up to. Currently only B5, B6, and B7 are supported.
-
-`BACKLIGHT_BREATHING` is a fancier backlight feature that adds breathing/pulsing/fading effects to the backlight. It uses the same timer as the normal backlight. These breathing effects must be called by code in your keymap.
-
-`BACKLIGHT_LEVELS` is how many levels exist for your backlight - max is 15, and they are computed automatically from this number.
-
-## `/keyboards//Makefile`
-
-The values at the top likely won't need to be changed, since most boards use the `atmega32u4` chip. The `BOOTLOADER_SIZE` will need to be adjusted based on your MCU type. It's defaulted to the Teensy, since that's the most common controller. Below is quoted from the `Makefile`.
-
-```
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-```
-
-At the bottom of the file, you'll find lots of features to turn on and off - all of these options should be set with `?=` to allow for the keymap overrides. `?=` only assigns if the variable was previously undefined. For the full documenation of these features, see the [Makefile options](#makefile-options).
-
-## `/keyboards//readme.md`
-
-This is where you'll describe your keyboard - please write as much as you can about it! Talking about default functionality/features is useful here. Feel free to link to external pages/sites if necessary. Images can be included here as well. This file will be rendered into a webpage at qmk.fm/keyboards//.
-
-## `/keyboards//.c`
-
-This is where all of the custom logic for your keyboard goes - you may not need to put anything in this file, since a lot of things are configured automatically. All of the `*_kb()` functions are defined here. If you modify them, remember to keep the calls to `*_user()`, or things in the keymaps might not work. You can read more about the functions [here](#custom-quantum-functions-for-keyboards-and-keymaps)
-
-## `/keyboards//.h`
-
-Here is where you can (optionally) define your `KEYMAP` function to remap your matrix into a more readable format. With ortholinear boards, this isn't always necessary, but it can help to accomodate the dead spots on your matrix, where there are keys that take up more than one space (2u, staggering, 6.25u, etc). The example shows the difference between the physical keys, and the matrix design:
-
-```
-#define KEYMAP( \
- k00, k01, k02, \
- k10, k11 \
-) \
-{ \
- { k00, k01, k02 }, \
- { k10, KC_NO, k11 }, \
-}
-```
-
-Each of the `kxx` variables needs to be unique, and usually follows the format `k `. You can place `KC_NO` where your dead keys are in your matrix.
-
-# Unit Testing
-
-If you are new to unit testing, then you can find many good resources on internet. However most of it is scattered around in small pieces here and there, and there's also many different opinions, so I won't give any recommendations.
-
-Instead I recommend these two books, explaining two different styles of Unit Testing in detail.
-
-* "Test Driven Development: By Example: Kent Beck"
-* "Growing Object-Oriented Software, Guided By Tests: Steve Freeman, Nat Pryce"
-
-If you prefer videos there are Uncle Bob's [Clean Coders Videos](https://cleancoders.com/), which unfortunately cost quite a bit, especially if you want to watch many of them. But James Shore has a free [Let's Play](http://www.jamesshore.com/Blog/Lets-Play) video series.
-
-## Google Test and Google Mock
-It's possible to Unit Test your code using [Google Test](https://github.com/google/googletest). The Google Test framework also includes another component for writing testing mocks and stubs, called "Google Mock". For information how to write the actual tests, please refer to the documentation on that site.
-
-## Use of C++
-
-Note that Google Test and therefore any test has to be written in C++, even if the rest of the QMK codebases is written in C. This should hopefully not be a problem even if you don't know any C++, since there's quite clear documentation and examples of the required C++ features, and you can write the rest of the test code almost as you would write normal C. Note that some compiler errors which you might get can look quite scary, but just read carefully what it says, and you should be ok.
-
-One thing to remember, is that you have to append `extern "C"` around all of your C file includes.
-
-## Adding tests for new or existing features
-
-If you want to unit test some feature, then take a look at the existing serial_link tests, in the `quantum/serial_link/tests folder`, and follow the steps below to create a similar structure.
-
-1. If it doesn't already exist, add a test subfolder to the folder containing the feature.
-2. Create a `testlist.mk` and a `rules.mk` file in that folder.
-3. Include those files from the root folder `testlist.mk`and `build_test.mk` respectively.
-4. Add a new name for your testgroup to the `testlist.mk` file. Each group defined there will be a separate executable. And that's how you can support mocking out different parts. Note that it's worth adding some common prefix, just like it's done for the serial_link tests. The reason for that is that the make command allows substring filtering, so this way you can easily run a subset of the tests.
-5. Define the source files and required options in the `rules.mk` file.
- * `_SRC` for source files
- * `_DEFS` for additional defines
- * `_INC` for additional include folders
-6. Write the tests in a new cpp file inside the test folder you created. That file has to be one of the files included from the `rules.mk` file.
-
-Note how there's several different tests, each mocking out a separate part. Also note that each of them only compiles the very minimum that's needed for the tests. It's recommend that you try to do the same. For a relevant video check out [Matt Hargett "Advanced Unit Testing in C & C++](https://www.youtube.com/watch?v=Wmy6g-aVgZI)
-
-## Running the tests
-
-To run all the tests in the codebase, type `make test`. You can also run test matching a substring by typing `make test-matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer.
-
-## Debugging the tests
-
-If there are problems with the tests, you can find the executable in the `./build/test` folder. You should be able to run those with GDB or a similar debugger.
-
-## Full Integration tests
-
-It's not yet possible to do a full integration test, where you would compile the whole firmware and define a keymap that you are going to test. However there are plans for doing that, because writing tests that way would probably be easier, at least for people that are not used to unit testing.
-
-In that model you would emulate the input, and expect a certain output from the emulated keyboard.
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk
index b48173341a..5df539def5 100644
--- a/tmk_core/avr.mk
+++ b/tmk_core/avr.mk
@@ -26,7 +26,7 @@ CFLAGS += -fno-inline-small-functions
CFLAGS += -fno-strict-aliasing
CPPFLAGS += $(COMPILEFLAGS)
-CPPFLAGS += -fno-exceptions
+CPPFLAGS += -fno-exceptions -std=c++11
LDFLAGS +=-Wl,--gc-sections
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index f826a7b540..3c1373c081 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -50,6 +50,10 @@ ifeq ($(strip $(EXTRAKEY_ENABLE)), yes)
TMK_COMMON_DEFS += -DEXTRAKEY_ENABLE
endif
+ifeq ($(strip $(RAW_ENABLE)), yes)
+ TMK_COMMON_DEFS += -DRAW_ENABLE
+endif
+
ifeq ($(strip $(CONSOLE_ENABLE)), yes)
TMK_COMMON_DEFS += -DCONSOLE_ENABLE
else
@@ -81,6 +85,10 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
TMK_COMMON_DEFS += -DBACKLIGHT_ENABLE
endif
+ifeq ($(strip $(ADAFRUIT_BLE_ENABLE)), yes)
+ TMK_COMMON_DEFS += -DADAFRUIT_BLE_ENABLE
+endif
+
ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE
endif
@@ -110,4 +118,4 @@ endif
VPATH += $(TMK_PATH)/$(COMMON_DIR)
ifeq ($(PLATFORM),CHIBIOS)
VPATH += $(TMK_PATH)/$(COMMON_DIR)/chibios
-endif
\ No newline at end of file
+endif
diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c
index 8a7272bbc5..0c81e83612 100644
--- a/tmk_core/common/avr/suspend.c
+++ b/tmk_core/common/avr/suspend.c
@@ -47,6 +47,7 @@ void suspend_idle(uint8_t time)
sleep_disable();
}
+#ifndef NO_SUSPEND_POWER_DOWN
/* Power down MCU with watchdog timer
* wdto: watchdog timer timeout defined in
* WDTO_15MS
@@ -61,6 +62,7 @@ void suspend_idle(uint8_t time)
* WDTO_8S
*/
static uint8_t wdt_timeout = 0;
+
static void power_down(uint8_t wdto)
{
#ifdef PROTOCOL_LUFA
@@ -98,19 +100,19 @@ static void power_down(uint8_t wdto)
// Disable watchdog after sleep
wdt_disable();
}
+#endif
void suspend_power_down(void)
{
+#ifndef NO_SUSPEND_POWER_DOWN
power_down(WDTO_15MS);
+#endif
}
__attribute__ ((weak)) void matrix_power_up(void) {}
__attribute__ ((weak)) void matrix_power_down(void) {}
bool suspend_wakeup_condition(void)
{
-#ifdef BACKLIGHT_ENABLE
- backlight_set(0);
-#endif
matrix_power_up();
matrix_scan();
matrix_power_down();
@@ -126,10 +128,9 @@ void suspend_wakeup_init(void)
// clear keyboard state
clear_keyboard();
#ifdef BACKLIGHT_ENABLE
- backlight_set(0);
backlight_init();
#endif
-led_set(host_keyboard_leds());
+ led_set(host_keyboard_leds());
}
#ifndef NO_SUSPEND_POWER_DOWN
diff --git a/tmk_core/common/avr/timer.c b/tmk_core/common/avr/timer.c
index 292b41c3a6..84af444885 100644
--- a/tmk_core/common/avr/timer.c
+++ b/tmk_core/common/avr/timer.c
@@ -17,6 +17,7 @@ along with this program. If not, see .
#include
#include
+#include
#include
#include "timer_avr.h"
#include "timer.h"
@@ -24,7 +25,7 @@ along with this program. If not, see .
// counter resolution 1ms
// NOTE: union { uint32_t timer32; struct { uint16_t dummy; uint16_t timer16; }}
-volatile uint32_t timer_count = 0;
+volatile uint32_t timer_count;
void timer_init(void)
{
@@ -52,10 +53,9 @@ void timer_init(void)
inline
void timer_clear(void)
{
- uint8_t sreg = SREG;
- cli();
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
timer_count = 0;
- SREG = sreg;
+ }
}
inline
@@ -63,10 +63,9 @@ uint16_t timer_read(void)
{
uint32_t t;
- uint8_t sreg = SREG;
- cli();
- t = timer_count;
- SREG = sreg;
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
+ t = timer_count;
+ }
return (t & 0xFFFF);
}
@@ -76,10 +75,9 @@ uint32_t timer_read32(void)
{
uint32_t t;
- uint8_t sreg = SREG;
- cli();
- t = timer_count;
- SREG = sreg;
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
+ t = timer_count;
+ }
return t;
}
@@ -89,10 +87,9 @@ uint16_t timer_elapsed(uint16_t last)
{
uint32_t t;
- uint8_t sreg = SREG;
- cli();
- t = timer_count;
- SREG = sreg;
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
+ t = timer_count;
+ }
return TIMER_DIFF_16((t & 0xFFFF), last);
}
@@ -102,10 +99,9 @@ uint32_t timer_elapsed32(uint32_t last)
{
uint32_t t;
- uint8_t sreg = SREG;
- cli();
- t = timer_count;
- SREG = sreg;
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
+ t = timer_count;
+ }
return TIMER_DIFF_32(t, last);
}
diff --git a/tmk_core/common/backlight.c b/tmk_core/common/backlight.c
index c9e8fd3fd2..0e0ad2d154 100644
--- a/tmk_core/common/backlight.c
+++ b/tmk_core/common/backlight.c
@@ -36,9 +36,9 @@ void backlight_increase(void)
if(backlight_config.level < BACKLIGHT_LEVELS)
{
backlight_config.level++;
- backlight_config.enable = 1;
- eeconfig_update_backlight(backlight_config.raw);
}
+ backlight_config.enable = 1;
+ eeconfig_update_backlight(backlight_config.raw);
dprintf("backlight increase: %u\n", backlight_config.level);
backlight_set(backlight_config.level);
}
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c
index f3e1bf6234..5f29bc0b4e 100644
--- a/tmk_core/common/command.c
+++ b/tmk_core/common/command.c
@@ -379,11 +379,11 @@ static bool command_common(uint8_t code)
debug_enable = !debug_enable;
if (debug_enable) {
print("\ndebug: on\n");
- debug_matrix = true;
- debug_keyboard = true;
- debug_mouse = true;
} else {
print("\ndebug: off\n");
+ debug_matrix = false;
+ debug_keyboard = false;
+ debug_mouse = false;
}
break;
diff --git a/tmk_core/common/host_driver.h b/tmk_core/common/host_driver.h
index edb9e5dd9c..588d1c0be8 100644
--- a/tmk_core/common/host_driver.h
+++ b/tmk_core/common/host_driver.h
@@ -20,7 +20,9 @@ along with this program. If not, see .
#include
#include "report.h"
-
+#ifdef MIDI_ENABLE
+ #include "midi.h"
+#endif
typedef struct {
uint8_t (*keyboard_leds)(void);
@@ -28,6 +30,11 @@ typedef struct {
void (*send_mouse)(report_mouse_t *);
void (*send_system)(uint16_t);
void (*send_consumer)(uint16_t);
+#ifdef MIDI_ENABLE
+ void (*usb_send_func)(MidiDevice *, uint16_t, uint8_t, uint8_t, uint8_t);
+ void (*usb_get_midi)(MidiDevice *);
+ void (*midi_usb_init)(MidiDevice *);
+#endif
} host_driver_t;
#endif
diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h
index 2f208c54e0..54e9c322c1 100644
--- a/tmk_core/common/keycode.h
+++ b/tmk_core/common/keycode.h
@@ -85,7 +85,7 @@ along with this program. If not, see .
#define KC_LCAP KC_LOCKING_CAPS
#define KC_LNUM KC_LOCKING_NUM
#define KC_LSCR KC_LOCKING_SCROLL
-#define KC_ERAS KC_ALT_ERASE,
+#define KC_ERAS KC_ALT_ERASE
#define KC_CLR KC_CLEAR
/* Japanese specific */
#define KC_ZKHK KC_GRAVE
diff --git a/tmk_core/common/raw_hid.h b/tmk_core/common/raw_hid.h
new file mode 100644
index 0000000000..86da02fd15
--- /dev/null
+++ b/tmk_core/common/raw_hid.h
@@ -0,0 +1,8 @@
+#ifndef _RAW_HID_H_
+#define _RAW_HID_H_
+
+void raw_hid_receive( uint8_t *data, uint8_t length );
+
+void raw_hid_send( uint8_t *data, uint8_t length );
+
+#endif
diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa.mk
index 5b1e3d19d0..151d26cbc8 100644
--- a/tmk_core/protocol/lufa.mk
+++ b/tmk_core/protocol/lufa.mk
@@ -21,6 +21,10 @@ ifeq ($(strip $(MIDI_ENABLE)), yes)
include $(TMK_PATH)/protocol/midi.mk
endif
+ifeq ($(strip $(ADAFRUIT_BLE_ENABLE)), yes)
+ LUFA_SRC += $(LUFA_DIR)/adafruit_ble.cpp
+endif
+
ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
LUFA_SRC += $(LUFA_DIR)/bluetooth.c \
$(TMK_DIR)/protocol/serial_uart.c
diff --git a/tmk_core/protocol/lufa/adafruit_ble.cpp b/tmk_core/protocol/lufa/adafruit_ble.cpp
new file mode 100644
index 0000000000..fd6edd42cf
--- /dev/null
+++ b/tmk_core/protocol/lufa/adafruit_ble.cpp
@@ -0,0 +1,805 @@
+#include "adafruit_ble.h"
+#include
+#include
+#include
+#include
+#include
+#include "debug.h"
+#include "pincontrol.h"
+#include "timer.h"
+#include "action_util.h"
+#include "ringbuffer.hpp"
+#include
+
+// These are the pin assignments for the 32u4 boards.
+// You may define them to something else in your config.h
+// if yours is wired up differently.
+#ifndef AdafruitBleResetPin
+#define AdafruitBleResetPin D4
+#endif
+
+#ifndef AdafruitBleCSPin
+#define AdafruitBleCSPin B4
+#endif
+
+#ifndef AdafruitBleIRQPin
+#define AdafruitBleIRQPin E6
+#endif
+
+
+#define SAMPLE_BATTERY
+#define ConnectionUpdateInterval 1000 /* milliseconds */
+
+static struct {
+ bool is_connected;
+ bool initialized;
+ bool configured;
+
+#define ProbedEvents 1
+#define UsingEvents 2
+ bool event_flags;
+
+#ifdef SAMPLE_BATTERY
+ uint16_t last_battery_update;
+ uint32_t vbat;
+#endif
+ uint16_t last_connection_update;
+} state;
+
+// Commands are encoded using SDEP and sent via SPI
+// https://github.com/adafruit/Adafruit_BluefruitLE_nRF51/blob/master/SDEP.md
+
+#define SdepMaxPayload 16
+struct sdep_msg {
+ uint8_t type;
+ uint8_t cmd_low;
+ uint8_t cmd_high;
+ struct __attribute__((packed)) {
+ uint8_t len:7;
+ uint8_t more:1;
+ };
+ uint8_t payload[SdepMaxPayload];
+} __attribute__((packed));
+
+// The recv latency is relatively high, so when we're hammering keys quickly,
+// we want to avoid waiting for the responses in the matrix loop. We maintain
+// a short queue for that. Since there is quite a lot of space overhead for
+// the AT command representation wrapped up in SDEP, we queue the minimal
+// information here.
+
+enum queue_type {
+ QTKeyReport, // 1-byte modifier + 6-byte key report
+ QTConsumer, // 16-bit key code
+#ifdef MOUSE_ENABLE
+ QTMouseMove, // 4-byte mouse report
+#endif
+};
+
+struct queue_item {
+ enum queue_type queue_type;
+ uint16_t added;
+ union __attribute__((packed)) {
+ struct __attribute__((packed)) {
+ uint8_t modifier;
+ uint8_t keys[6];
+ } key;
+
+ uint16_t consumer;
+ struct __attribute__((packed)) {
+ int8_t x, y, scroll, pan;
+ } mousemove;
+ };
+};
+
+// Items that we wish to send
+static RingBuffer send_buf;
+// Pending response; while pending, we can't send any more requests.
+// This records the time at which we sent the command for which we
+// are expecting a response.
+static RingBuffer resp_buf;
+
+static bool process_queue_item(struct queue_item *item, uint16_t timeout);
+
+enum sdep_type {
+ SdepCommand = 0x10,
+ SdepResponse = 0x20,
+ SdepAlert = 0x40,
+ SdepError = 0x80,
+ SdepSlaveNotReady = 0xfe, // Try again later
+ SdepSlaveOverflow = 0xff, // You read more data than is available
+};
+
+enum ble_cmd {
+ BleInitialize = 0xbeef,
+ BleAtWrapper = 0x0a00,
+ BleUartTx = 0x0a01,
+ BleUartRx = 0x0a02,
+};
+
+enum ble_system_event_bits {
+ BleSystemConnected = 0,
+ BleSystemDisconnected = 1,
+ BleSystemUartRx = 8,
+ BleSystemMidiRx = 10,
+};
+
+// The SDEP.md file says 2MHz but the web page and the sample driver
+// both use 4MHz
+#define SpiBusSpeed 4000000
+
+#define SdepTimeout 150 /* milliseconds */
+#define SdepShortTimeout 10 /* milliseconds */
+#define SdepBackOff 25 /* microseconds */
+#define BatteryUpdateInterval 10000 /* milliseconds */
+
+static bool at_command(const char *cmd, char *resp, uint16_t resplen,
+ bool verbose, uint16_t timeout = SdepTimeout);
+static bool at_command_P(const char *cmd, char *resp, uint16_t resplen,
+ bool verbose = false);
+
+struct SPI_Settings {
+ uint8_t spcr, spsr;
+};
+
+static struct SPI_Settings spi;
+
+// Initialize 4Mhz MSBFIRST MODE0
+void SPI_init(struct SPI_Settings *spi) {
+ spi->spcr = _BV(SPE) | _BV(MSTR);
+ spi->spsr = _BV(SPI2X);
+
+ static_assert(SpiBusSpeed == F_CPU / 2, "hard coded at 4Mhz");
+
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
+ // Ensure that SS is OUTPUT High
+ digitalWrite(B0, PinLevelHigh);
+ pinMode(B0, PinDirectionOutput);
+
+ SPCR |= _BV(MSTR);
+ SPCR |= _BV(SPE);
+ pinMode(B1 /* SCK */, PinDirectionOutput);
+ pinMode(B2 /* MOSI */, PinDirectionOutput);
+ }
+}
+
+static inline void SPI_begin(struct SPI_Settings*spi) {
+ SPCR = spi->spcr;
+ SPSR = spi->spsr;
+}
+
+static inline uint8_t SPI_TransferByte(uint8_t data) {
+ SPDR = data;
+ asm volatile("nop");
+ while (!(SPSR & _BV(SPIF))) {
+ ; // wait
+ }
+ return SPDR;
+}
+
+static inline void spi_send_bytes(const uint8_t *buf, uint8_t len) {
+ if (len == 0) return;
+ const uint8_t *end = buf + len;
+ while (buf < end) {
+ SPDR = *buf;
+ while (!(SPSR & _BV(SPIF))) {
+ ; // wait
+ }
+ ++buf;
+ }
+}
+
+static inline uint16_t spi_read_byte(void) {
+ return SPI_TransferByte(0x00 /* dummy */);
+}
+
+static inline void spi_recv_bytes(uint8_t *buf, uint8_t len) {
+ const uint8_t *end = buf + len;
+ if (len == 0) return;
+ while (buf < end) {
+ SPDR = 0; // write a dummy to initiate read
+ while (!(SPSR & _BV(SPIF))) {
+ ; // wait
+ }
+ *buf = SPDR;
+ ++buf;
+ }
+}
+
+#if 0
+static void dump_pkt(const struct sdep_msg *msg) {
+ print("pkt: type=");
+ print_hex8(msg->type);
+ print(" cmd=");
+ print_hex8(msg->cmd_high);
+ print_hex8(msg->cmd_low);
+ print(" len=");
+ print_hex8(msg->len);
+ print(" more=");
+ print_hex8(msg->more);
+ print("\n");
+}
+#endif
+
+// Send a single SDEP packet
+static bool sdep_send_pkt(const struct sdep_msg *msg, uint16_t timeout) {
+ SPI_begin(&spi);
+
+ digitalWrite(AdafruitBleCSPin, PinLevelLow);
+ uint16_t timerStart = timer_read();
+ bool success = false;
+ bool ready = false;
+
+ do {
+ ready = SPI_TransferByte(msg->type) != SdepSlaveNotReady;
+ if (ready) {
+ break;
+ }
+
+ // Release it and let it initialize
+ digitalWrite(AdafruitBleCSPin, PinLevelHigh);
+ _delay_us(SdepBackOff);
+ digitalWrite(AdafruitBleCSPin, PinLevelLow);
+ } while (timer_elapsed(timerStart) < timeout);
+
+ if (ready) {
+ // Slave is ready; send the rest of the packet
+ spi_send_bytes(&msg->cmd_low,
+ sizeof(*msg) - (1 + sizeof(msg->payload)) + msg->len);
+ success = true;
+ }
+
+ digitalWrite(AdafruitBleCSPin, PinLevelHigh);
+
+ return success;
+}
+
+static inline void sdep_build_pkt(struct sdep_msg *msg, uint16_t command,
+ const uint8_t *payload, uint8_t len,
+ bool moredata) {
+ msg->type = SdepCommand;
+ msg->cmd_low = command & 0xff;
+ msg->cmd_high = command >> 8;
+ msg->len = len;
+ msg->more = (moredata && len == SdepMaxPayload) ? 1 : 0;
+
+ static_assert(sizeof(*msg) == 20, "msg is correctly packed");
+
+ memcpy(msg->payload, payload, len);
+}
+
+// Read a single SDEP packet
+static bool sdep_recv_pkt(struct sdep_msg *msg, uint16_t timeout) {
+ bool success = false;
+ uint16_t timerStart = timer_read();
+ bool ready = false;
+
+ do {
+ ready = digitalRead(AdafruitBleIRQPin);
+ if (ready) {
+ break;
+ }
+ _delay_us(1);
+ } while (timer_elapsed(timerStart) < timeout);
+
+ if (ready) {
+ SPI_begin(&spi);
+
+ digitalWrite(AdafruitBleCSPin, PinLevelLow);
+
+ do {
+ // Read the command type, waiting for the data to be ready
+ msg->type = spi_read_byte();
+ if (msg->type == SdepSlaveNotReady || msg->type == SdepSlaveOverflow) {
+ // Release it and let it initialize
+ digitalWrite(AdafruitBleCSPin, PinLevelHigh);
+ _delay_us(SdepBackOff);
+ digitalWrite(AdafruitBleCSPin, PinLevelLow);
+ continue;
+ }
+
+ // Read the rest of the header
+ spi_recv_bytes(&msg->cmd_low, sizeof(*msg) - (1 + sizeof(msg->payload)));
+
+ // and get the payload if there is any
+ if (msg->len <= SdepMaxPayload) {
+ spi_recv_bytes(msg->payload, msg->len);
+ }
+ success = true;
+ break;
+ } while (timer_elapsed(timerStart) < timeout);
+
+ digitalWrite(AdafruitBleCSPin, PinLevelHigh);
+ }
+ return success;
+}
+
+static void resp_buf_read_one(bool greedy) {
+ uint16_t last_send;
+ if (!resp_buf.peek(last_send)) {
+ return;
+ }
+
+ if (digitalRead(AdafruitBleIRQPin)) {
+ struct sdep_msg msg;
+
+again:
+ if (sdep_recv_pkt(&msg, SdepTimeout)) {
+ if (!msg.more) {
+ // We got it; consume this entry
+ resp_buf.get(last_send);
+ dprintf("recv latency %dms\n", TIMER_DIFF_16(timer_read(), last_send));
+ }
+
+ if (greedy && resp_buf.peek(last_send) && digitalRead(AdafruitBleIRQPin)) {
+ goto again;
+ }
+ }
+
+ } else if (timer_elapsed(last_send) > SdepTimeout * 2) {
+ dprintf("waiting_for_result: timeout, resp_buf size %d\n",
+ (int)resp_buf.size());
+
+ // Timed out: consume this entry
+ resp_buf.get(last_send);
+ }
+}
+
+static void send_buf_send_one(uint16_t timeout = SdepTimeout) {
+ struct queue_item item;
+
+ // Don't send anything more until we get an ACK
+ if (!resp_buf.empty()) {
+ return;
+ }
+
+ if (!send_buf.peek(item)) {
+ return;
+ }
+ if (process_queue_item(&item, timeout)) {
+ // commit that peek
+ send_buf.get(item);
+ dprintf("send_buf_send_one: have %d remaining\n", (int)send_buf.size());
+ } else {
+ dprint("failed to send, will retry\n");
+ _delay_ms(SdepTimeout);
+ resp_buf_read_one(true);
+ }
+}
+
+static void resp_buf_wait(const char *cmd) {
+ bool didPrint = false;
+ while (!resp_buf.empty()) {
+ if (!didPrint) {
+ dprintf("wait on buf for %s\n", cmd);
+ didPrint = true;
+ }
+ resp_buf_read_one(true);
+ }
+}
+
+static bool ble_init(void) {
+ state.initialized = false;
+ state.configured = false;
+ state.is_connected = false;
+
+ pinMode(AdafruitBleIRQPin, PinDirectionInput);
+ pinMode(AdafruitBleCSPin, PinDirectionOutput);
+ digitalWrite(AdafruitBleCSPin, PinLevelHigh);
+
+ SPI_init(&spi);
+
+ // Perform a hardware reset
+ pinMode(AdafruitBleResetPin, PinDirectionOutput);
+ digitalWrite(AdafruitBleResetPin, PinLevelHigh);
+ digitalWrite(AdafruitBleResetPin, PinLevelLow);
+ _delay_ms(10);
+ digitalWrite(AdafruitBleResetPin, PinLevelHigh);
+
+ _delay_ms(1000); // Give it a second to initialize
+
+ state.initialized = true;
+ return state.initialized;
+}
+
+static inline uint8_t min(uint8_t a, uint8_t b) {
+ return a < b ? a : b;
+}
+
+static bool read_response(char *resp, uint16_t resplen, bool verbose) {
+ char *dest = resp;
+ char *end = dest + resplen;
+
+ while (true) {
+ struct sdep_msg msg;
+
+ if (!sdep_recv_pkt(&msg, 2 * SdepTimeout)) {
+ dprint("sdep_recv_pkt failed\n");
+ return false;
+ }
+
+ if (msg.type != SdepResponse) {
+ *resp = 0;
+ return false;
+ }
+
+ uint8_t len = min(msg.len, end - dest);
+ if (len > 0) {
+ memcpy(dest, msg.payload, len);
+ dest += len;
+ }
+
+ if (!msg.more) {
+ // No more data is expected!
+ break;
+ }
+ }
+
+ // Ensure the response is NUL terminated
+ *dest = 0;
+
+ // "Parse" the result text; we want to snip off the trailing OK or ERROR line
+ // Rewind past the possible trailing CRLF so that we can strip it
+ --dest;
+ while (dest > resp && (dest[0] == '\n' || dest[0] == '\r')) {
+ *dest = 0;
+ --dest;
+ }
+
+ // Look back for start of preceeding line
+ char *last_line = strrchr(resp, '\n');
+ if (last_line) {
+ ++last_line;
+ } else {
+ last_line = resp;
+ }
+
+ bool success = false;
+ static const char kOK[] PROGMEM = "OK";
+
+ success = !strcmp_P(last_line, kOK );
+
+ if (verbose || !success) {
+ dprintf("result: %s\n", resp);
+ }
+ return success;
+}
+
+static bool at_command(const char *cmd, char *resp, uint16_t resplen,
+ bool verbose, uint16_t timeout) {
+ const char *end = cmd + strlen(cmd);
+ struct sdep_msg msg;
+
+ if (verbose) {
+ dprintf("ble send: %s\n", cmd);
+ }
+
+ if (resp) {
+ // They want to decode the response, so we need to flush and wait
+ // for all pending I/O to finish before we start this one, so
+ // that we don't confuse the results
+ resp_buf_wait(cmd);
+ *resp = 0;
+ }
+
+ // Fragment the command into a series of SDEP packets
+ while (end - cmd > SdepMaxPayload) {
+ sdep_build_pkt(&msg, BleAtWrapper, (uint8_t *)cmd, SdepMaxPayload, true);
+ if (!sdep_send_pkt(&msg, timeout)) {
+ return false;
+ }
+ cmd += SdepMaxPayload;
+ }
+
+ sdep_build_pkt(&msg, BleAtWrapper, (uint8_t *)cmd, end - cmd, false);
+ if (!sdep_send_pkt(&msg, timeout)) {
+ return false;
+ }
+
+ if (resp == NULL) {
+ auto now = timer_read();
+ while (!resp_buf.enqueue(now)) {
+ resp_buf_read_one(false);
+ }
+ auto later = timer_read();
+ if (TIMER_DIFF_16(later, now) > 0) {
+ dprintf("waited %dms for resp_buf\n", TIMER_DIFF_16(later, now));
+ }
+ return true;
+ }
+
+ return read_response(resp, resplen, verbose);
+}
+
+bool at_command_P(const char *cmd, char *resp, uint16_t resplen, bool verbose) {
+ auto cmdbuf = (char *)alloca(strlen_P(cmd) + 1);
+ strcpy_P(cmdbuf, cmd);
+ return at_command(cmdbuf, resp, resplen, verbose);
+}
+
+bool adafruit_ble_is_connected(void) {
+ return state.is_connected;
+}
+
+bool adafruit_ble_enable_keyboard(void) {
+ char resbuf[128];
+
+ if (!state.initialized && !ble_init()) {
+ return false;
+ }
+
+ state.configured = false;
+
+ // Disable command echo
+ static const char kEcho[] PROGMEM = "ATE=0";
+ // Make the advertised name match the keyboard
+ static const char kGapDevName[] PROGMEM =
+ "AT+GAPDEVNAME=" STR(PRODUCT) " " STR(DESCRIPTION);
+ // Turn on keyboard support
+ static const char kHidEnOn[] PROGMEM = "AT+BLEHIDEN=1";
+
+ // Adjust intervals to improve latency. This causes the "central"
+ // system (computer/tablet) to poll us every 10-30 ms. We can't
+ // set a smaller value than 10ms, and 30ms seems to be the natural
+ // processing time on my macbook. Keeping it constrained to that
+ // feels reasonable to type to.
+ static const char kGapIntervals[] PROGMEM = "AT+GAPINTERVALS=10,30,,";
+
+ // Reset the device so that it picks up the above changes
+ static const char kATZ[] PROGMEM = "ATZ";
+
+ // Turn down the power level a bit
+ static const char kPower[] PROGMEM = "AT+BLEPOWERLEVEL=-12";
+ static PGM_P const configure_commands[] PROGMEM = {
+ kEcho,
+ kGapIntervals,
+ kGapDevName,
+ kHidEnOn,
+ kPower,
+ kATZ,
+ };
+
+ uint8_t i;
+ for (i = 0; i < sizeof(configure_commands) / sizeof(configure_commands[0]);
+ ++i) {
+ PGM_P cmd;
+ memcpy_P(&cmd, configure_commands + i, sizeof(cmd));
+
+ if (!at_command_P(cmd, resbuf, sizeof(resbuf))) {
+ dprintf("failed BLE command: %S: %s\n", cmd, resbuf);
+ goto fail;
+ }
+ }
+
+ state.configured = true;
+
+ // Check connection status in a little while; allow the ATZ time
+ // to kick in.
+ state.last_connection_update = timer_read();
+fail:
+ return state.configured;
+}
+
+static void set_connected(bool connected) {
+ if (connected != state.is_connected) {
+ if (connected) {
+ print("****** BLE CONNECT!!!!\n");
+ } else {
+ print("****** BLE DISCONNECT!!!!\n");
+ }
+ state.is_connected = connected;
+
+ // TODO: if modifiers are down on the USB interface and
+ // we cut over to BLE or vice versa, they will remain stuck.
+ // This feels like a good point to do something like clearing
+ // the keyboard and/or generating a fake all keys up message.
+ // However, I've noticed that it takes a couple of seconds
+ // for macOS to to start recognizing key presses after BLE
+ // is in the connected state, so I worry that doing that
+ // here may not be good enough.
+ }
+}
+
+void adafruit_ble_task(void) {
+ char resbuf[48];
+
+ if (!state.configured && !adafruit_ble_enable_keyboard()) {
+ return;
+ }
+ resp_buf_read_one(true);
+ send_buf_send_one(SdepShortTimeout);
+
+ if (resp_buf.empty() && (state.event_flags & UsingEvents) &&
+ digitalRead(AdafruitBleIRQPin)) {
+ // Must be an event update
+ if (at_command_P(PSTR("AT+EVENTSTATUS"), resbuf, sizeof(resbuf))) {
+ uint32_t mask = strtoul(resbuf, NULL, 16);
+
+ if (mask & BleSystemConnected) {
+ set_connected(true);
+ } else if (mask & BleSystemDisconnected) {
+ set_connected(false);
+ }
+ }
+ }
+
+ if (timer_elapsed(state.last_connection_update) > ConnectionUpdateInterval) {
+ bool shouldPoll = true;
+ if (!(state.event_flags & ProbedEvents)) {
+ // Request notifications about connection status changes.
+ // This only works in SPIFRIEND firmware > 0.6.7, which is why
+ // we check for this conditionally here.
+ // Note that at the time of writing, HID reports only work correctly
+ // with Apple products on firmware version 0.6.7!
+ // https://forums.adafruit.com/viewtopic.php?f=8&t=104052
+ if (at_command_P(PSTR("AT+EVENTENABLE=0x1"), resbuf, sizeof(resbuf))) {
+ at_command_P(PSTR("AT+EVENTENABLE=0x2"), resbuf, sizeof(resbuf));
+ state.event_flags |= UsingEvents;
+ }
+ state.event_flags |= ProbedEvents;
+
+ // leave shouldPoll == true so that we check at least once
+ // before relying solely on events
+ } else {
+ shouldPoll = false;
+ }
+
+ static const char kGetConn[] PROGMEM = "AT+GAPGETCONN";
+ state.last_connection_update = timer_read();
+
+ if (at_command_P(kGetConn, resbuf, sizeof(resbuf))) {
+ set_connected(atoi(resbuf));
+ }
+ }
+
+#ifdef SAMPLE_BATTERY
+ // I don't know if this really does anything useful yet; the reported
+ // voltage level always seems to be around 3200mV. We may want to just rip
+ // this code out.
+ if (timer_elapsed(state.last_battery_update) > BatteryUpdateInterval &&
+ resp_buf.empty()) {
+ state.last_battery_update = timer_read();
+
+ if (at_command_P(PSTR("AT+HWVBAT"), resbuf, sizeof(resbuf))) {
+ state.vbat = atoi(resbuf);
+ }
+ }
+#endif
+}
+
+static bool process_queue_item(struct queue_item *item, uint16_t timeout) {
+ char cmdbuf[48];
+ char fmtbuf[64];
+
+ // Arrange to re-check connection after keys have settled
+ state.last_connection_update = timer_read();
+
+#if 1
+ if (TIMER_DIFF_16(state.last_connection_update, item->added) > 0) {
+ dprintf("send latency %dms\n",
+ TIMER_DIFF_16(state.last_connection_update, item->added));
+ }
+#endif
+
+ switch (item->queue_type) {
+ case QTKeyReport:
+ strcpy_P(fmtbuf,
+ PSTR("AT+BLEKEYBOARDCODE=%02x-00-%02x-%02x-%02x-%02x-%02x-%02x"));
+ snprintf(cmdbuf, sizeof(cmdbuf), fmtbuf, item->key.modifier,
+ item->key.keys[0], item->key.keys[1], item->key.keys[2],
+ item->key.keys[3], item->key.keys[4], item->key.keys[5]);
+ return at_command(cmdbuf, NULL, 0, true, timeout);
+
+ case QTConsumer:
+ strcpy_P(fmtbuf, PSTR("AT+BLEHIDCONTROLKEY=0x%04x"));
+ snprintf(cmdbuf, sizeof(cmdbuf), fmtbuf, item->consumer);
+ return at_command(cmdbuf, NULL, 0, true, timeout);
+
+#ifdef MOUSE_ENABLE
+ case QTMouseMove:
+ strcpy_P(fmtbuf, PSTR("AT+BLEHIDMOUSEMOVE=%d,%d,%d,%d"));
+ snprintf(cmdbuf, sizeof(cmdbuf), fmtbuf, item->mousemove.x,
+ item->mousemove.y, item->mousemove.scroll, item->mousemove.pan);
+ return at_command(cmdbuf, NULL, 0, true, timeout);
+#endif
+ default:
+ return true;
+ }
+}
+
+bool adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys,
+ uint8_t nkeys) {
+ struct queue_item item;
+ bool didWait = false;
+
+ item.queue_type = QTKeyReport;
+ item.key.modifier = hid_modifier_mask;
+ item.added = timer_read();
+
+ while (nkeys >= 0) {
+ item.key.keys[0] = keys[0];
+ item.key.keys[1] = nkeys >= 1 ? keys[1] : 0;
+ item.key.keys[2] = nkeys >= 2 ? keys[2] : 0;
+ item.key.keys[3] = nkeys >= 3 ? keys[3] : 0;
+ item.key.keys[4] = nkeys >= 4 ? keys[4] : 0;
+ item.key.keys[5] = nkeys >= 5 ? keys[5] : 0;
+
+ if (!send_buf.enqueue(item)) {
+ if (!didWait) {
+ dprint("wait for buf space\n");
+ didWait = true;
+ }
+ send_buf_send_one();
+ continue;
+ }
+
+ if (nkeys <= 6) {
+ return true;
+ }
+
+ nkeys -= 6;
+ keys += 6;
+ }
+
+ return true;
+}
+
+bool adafruit_ble_send_consumer_key(uint16_t keycode, int hold_duration) {
+ struct queue_item item;
+
+ item.queue_type = QTConsumer;
+ item.consumer = keycode;
+
+ while (!send_buf.enqueue(item)) {
+ send_buf_send_one();
+ }
+ return true;
+}
+
+#ifdef MOUSE_ENABLE
+bool adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll,
+ int8_t pan) {
+ struct queue_item item;
+
+ item.queue_type = QTMouseMove;
+ item.mousemove.x = x;
+ item.mousemove.y = y;
+ item.mousemove.scroll = scroll;
+ item.mousemove.pan = pan;
+
+ while (!send_buf.enqueue(item)) {
+ send_buf_send_one();
+ }
+ return true;
+}
+#endif
+
+uint32_t adafruit_ble_read_battery_voltage(void) {
+ return state.vbat;
+}
+
+bool adafruit_ble_set_mode_leds(bool on) {
+ if (!state.configured) {
+ return false;
+ }
+
+ // The "mode" led is the red blinky one
+ at_command_P(on ? PSTR("AT+HWMODELED=1") : PSTR("AT+HWMODELED=0"), NULL, 0);
+
+ // Pin 19 is the blue "connected" LED; turn that off too.
+ // When turning LEDs back on, don't turn that LED on if we're
+ // not connected, as that would be confusing.
+ at_command_P(on && state.is_connected ? PSTR("AT+HWGPIO=19,1")
+ : PSTR("AT+HWGPIO=19,0"),
+ NULL, 0);
+ return true;
+}
+
+// https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/ble-generic#at-plus-blepowerlevel
+bool adafruit_ble_set_power_level(int8_t level) {
+ char cmd[46];
+ if (!state.configured) {
+ return false;
+ }
+ snprintf(cmd, sizeof(cmd), "AT+BLEPOWERLEVEL=%d", level);
+ return at_command(cmd, NULL, 0, false);
+}
diff --git a/tmk_core/protocol/lufa/adafruit_ble.h b/tmk_core/protocol/lufa/adafruit_ble.h
new file mode 100644
index 0000000000..351fd55ae9
--- /dev/null
+++ b/tmk_core/protocol/lufa/adafruit_ble.h
@@ -0,0 +1,60 @@
+/* Bluetooth Low Energy Protocol for QMK.
+ * Author: Wez Furlong, 2016
+ * Supports the Adafruit BLE board built around the nRF51822 chip.
+ */
+#pragma once
+#ifdef ADAFRUIT_BLE_ENABLE
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Instruct the module to enable HID keyboard support and reset */
+extern bool adafruit_ble_enable_keyboard(void);
+
+/* Query to see if the BLE module is connected */
+extern bool adafruit_ble_query_is_connected(void);
+
+/* Returns true if we believe that the BLE module is connected.
+ * This uses our cached understanding that is maintained by
+ * calling ble_task() periodically. */
+extern bool adafruit_ble_is_connected(void);
+
+/* Call this periodically to process BLE-originated things */
+extern void adafruit_ble_task(void);
+
+/* Generates keypress events for a set of keys.
+ * The hid modifier mask specifies the state of the modifier keys for
+ * this set of keys.
+ * Also sends a key release indicator, so that the keys do not remain
+ * held down. */
+extern bool adafruit_ble_send_keys(uint8_t hid_modifier_mask, uint8_t *keys,
+ uint8_t nkeys);
+
+/* Send a consumer keycode, holding it down for the specified duration
+ * (milliseconds) */
+extern bool adafruit_ble_send_consumer_key(uint16_t keycode, int hold_duration);
+
+#ifdef MOUSE_ENABLE
+/* Send a mouse/wheel movement report.
+ * The parameters are signed and indicate positive of negative direction
+ * change. */
+extern bool adafruit_ble_send_mouse_move(int8_t x, int8_t y, int8_t scroll,
+ int8_t pan);
+#endif
+
+/* Compute battery voltage by reading an analog pin.
+ * Returns the integer number of millivolts */
+extern uint32_t adafruit_ble_read_battery_voltage(void);
+
+extern bool adafruit_ble_set_mode_leds(bool on);
+extern bool adafruit_ble_set_power_level(int8_t level);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ADAFRUIT_BLE_ENABLE
diff --git a/tmk_core/protocol/lufa/descriptor.c b/tmk_core/protocol/lufa/descriptor.c
index 6f2407f580..feeea76df0 100644
--- a/tmk_core/protocol/lufa/descriptor.c
+++ b/tmk_core/protocol/lufa/descriptor.c
@@ -40,6 +40,9 @@
#include "report.h"
#include "descriptor.h"
+#ifndef USB_MAX_POWER_CONSUMPTION
+#define USB_MAX_POWER_CONSUMPTION 500
+#endif
/*******************************************************************************
* HID Report Descriptors
@@ -140,10 +143,10 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ExtrakeyReport[] =
HID_RI_USAGE(8, 0x80), /* System Control */
HID_RI_COLLECTION(8, 0x01), /* Application */
HID_RI_REPORT_ID(8, REPORT_ID_SYSTEM),
- HID_RI_LOGICAL_MINIMUM(16, 0x0081),
- HID_RI_LOGICAL_MAXIMUM(16, 0x00B7),
+ HID_RI_LOGICAL_MINIMUM(16, 0x0001),
+ HID_RI_LOGICAL_MAXIMUM(16, 0x0003),
HID_RI_USAGE_MINIMUM(16, 0x0081), /* System Power Down */
- HID_RI_USAGE_MAXIMUM(16, 0x00B7), /* System Display LCD Autoscale */
+ HID_RI_USAGE_MAXIMUM(16, 0x0083), /* System Wake Up */
HID_RI_REPORT_SIZE(8, 16),
HID_RI_REPORT_COUNT(8, 1),
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
@@ -164,6 +167,28 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ExtrakeyReport[] =
};
#endif
+#ifdef RAW_ENABLE
+const USB_Descriptor_HIDReport_Datatype_t PROGMEM RawReport[] =
+{
+ HID_RI_USAGE_PAGE(16, 0xFF60), /* Vendor Page 0xFF60 */
+ HID_RI_USAGE(8, 0x61), /* Vendor Usage 0x61 */
+ HID_RI_COLLECTION(8, 0x01), /* Application */
+ HID_RI_USAGE(8, 0x62), /* Vendor Usage 0x62 */
+ HID_RI_LOGICAL_MINIMUM(8, 0x00),
+ HID_RI_LOGICAL_MAXIMUM(16, 0x00FF),
+ HID_RI_REPORT_COUNT(8, RAW_EPSIZE),
+ HID_RI_REPORT_SIZE(8, 0x08),
+ HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
+ HID_RI_USAGE(8, 0x63), /* Vendor Usage 0x63 */
+ HID_RI_LOGICAL_MINIMUM(8, 0x00),
+ HID_RI_LOGICAL_MAXIMUM(16, 0x00FF),
+ HID_RI_REPORT_COUNT(8, RAW_EPSIZE),
+ HID_RI_REPORT_SIZE(8, 0x08),
+ HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
+ HID_RI_END_COLLECTION(0),
+};
+#endif
+
#ifdef CONSOLE_ENABLE
const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] =
{
@@ -272,7 +297,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_REMOTEWAKEUP),
- .MaxPowerConsumption = USB_CONFIG_POWER_MA(500)
+ .MaxPowerConsumption = USB_CONFIG_POWER_MA(USB_MAX_POWER_CONSUMPTION)
},
/*
@@ -399,6 +424,58 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
},
#endif
+ /*
+ * Raw
+ */
+ #ifdef RAW_ENABLE
+ .Raw_Interface =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
+
+ .InterfaceNumber = RAW_INTERFACE,
+ .AlternateSetting = 0x00,
+
+ .TotalEndpoints = 2,
+
+ .Class = HID_CSCP_HIDClass,
+ .SubClass = HID_CSCP_NonBootSubclass,
+ .Protocol = HID_CSCP_NonBootProtocol,
+
+ .InterfaceStrIndex = NO_DESCRIPTOR
+ },
+
+ .Raw_HID =
+ {
+ .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID},
+
+ .HIDSpec = VERSION_BCD(1,1,1),
+ .CountryCode = 0x00,
+ .TotalReportDescriptors = 1,
+ .HIDReportType = HID_DTYPE_Report,
+ .HIDReportLength = sizeof(RawReport)
+ },
+
+ .Raw_INEndpoint =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
+
+ .EndpointAddress = (ENDPOINT_DIR_IN | RAW_IN_EPNUM),
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
+ .EndpointSize = RAW_EPSIZE,
+ .PollingIntervalMS = 0x01
+ },
+
+ .Raw_OUTEndpoint =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
+
+ .EndpointAddress = (ENDPOINT_DIR_OUT | RAW_OUT_EPNUM),
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
+ .EndpointSize = RAW_EPSIZE,
+ .PollingIntervalMS = 0x01
+ },
+ #endif
+
/*
* Console
*/
@@ -754,7 +831,6 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.PollingIntervalMS = 0x05
},
#endif
-
};
@@ -846,6 +922,12 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
Size = sizeof(USB_HID_Descriptor_HID_t);
break;
#endif
+#ifdef RAW_ENABLE
+ case RAW_INTERFACE:
+ Address = &ConfigurationDescriptor.Raw_HID;
+ Size = sizeof(USB_HID_Descriptor_HID_t);
+ break;
+#endif
#ifdef CONSOLE_ENABLE
case CONSOLE_INTERFACE:
Address = &ConfigurationDescriptor.Console_HID;
@@ -878,6 +960,12 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
Size = sizeof(ExtrakeyReport);
break;
#endif
+#ifdef RAW_ENABLE
+ case RAW_INTERFACE:
+ Address = &RawReport;
+ Size = sizeof(RawReport);
+ break;
+#endif
#ifdef CONSOLE_ENABLE
case CONSOLE_INTERFACE:
Address = &ConsoleReport;
diff --git a/tmk_core/protocol/lufa/descriptor.h b/tmk_core/protocol/lufa/descriptor.h
index c6c94e3618..24ce420e6a 100644
--- a/tmk_core/protocol/lufa/descriptor.h
+++ b/tmk_core/protocol/lufa/descriptor.h
@@ -71,6 +71,14 @@ typedef struct
USB_Descriptor_Endpoint_t Extrakey_INEndpoint;
#endif
+#ifdef RAW_ENABLE
+ // Raw HID Interface
+ USB_Descriptor_Interface_t Raw_Interface;
+ USB_HID_Descriptor_HID_t Raw_HID;
+ USB_Descriptor_Endpoint_t Raw_INEndpoint;
+ USB_Descriptor_Endpoint_t Raw_OUTEndpoint;
+#endif
+
#ifdef CONSOLE_ENABLE
// Console HID Interface
USB_Descriptor_Interface_t Console_Interface;
@@ -137,10 +145,16 @@ typedef struct
# define EXTRAKEY_INTERFACE MOUSE_INTERFACE
#endif
-#ifdef CONSOLE_ENABLE
-# define CONSOLE_INTERFACE (EXTRAKEY_INTERFACE + 1)
+#ifdef RAW_ENABLE
+# define RAW_INTERFACE (EXTRAKEY_INTERFACE + 1)
#else
-# define CONSOLE_INTERFACE EXTRAKEY_INTERFACE
+# define RAW_INTERFACE EXTRAKEY_INTERFACE
+#endif
+
+#ifdef CONSOLE_ENABLE
+# define CONSOLE_INTERFACE (RAW_INTERFACE + 1)
+#else
+# define CONSOLE_INTERFACE RAW_INTERFACE
#endif
#ifdef NKRO_ENABLE
@@ -182,12 +196,19 @@ typedef struct
# define EXTRAKEY_IN_EPNUM MOUSE_IN_EPNUM
#endif
-#ifdef CONSOLE_ENABLE
-# define CONSOLE_IN_EPNUM (EXTRAKEY_IN_EPNUM + 1)
-# define CONSOLE_OUT_EPNUM (EXTRAKEY_IN_EPNUM + 1)
-//# define CONSOLE_OUT_EPNUM (EXTRAKEY_IN_EPNUM + 2)
+#ifdef RAW_ENABLE
+# define RAW_IN_EPNUM (EXTRAKEY_IN_EPNUM + 1)
+# define RAW_OUT_EPNUM (EXTRAKEY_IN_EPNUM + 2)
#else
-# define CONSOLE_OUT_EPNUM EXTRAKEY_IN_EPNUM
+# define RAW_OUT_EPNUM EXTRAKEY_IN_EPNUM
+#endif
+
+#ifdef CONSOLE_ENABLE
+# define CONSOLE_IN_EPNUM (RAW_OUT_EPNUM + 1)
+//# define CONSOLE_OUT_EPNUM (RAW_OUT_EPNUM + 2)
+# define CONSOLE_OUT_EPNUM (RAW_OUT_EPNUM + 1)
+#else
+# define CONSOLE_OUT_EPNUM RAW_OUT_EPNUM
#endif
#ifdef NKRO_ENABLE
@@ -217,7 +238,6 @@ typedef struct
# define CDC_OUT_EPNUM MIDI_STREAM_OUT_EPNUM
#endif
-
#if defined(__AVR_ATmega32U2__) && CDC_OUT_EPNUM > 4
# error "Endpoints are not available enough to support all functions. Remove some in Makefile.(MOUSEKEY, EXTRAKEY, CONSOLE, NKRO, MIDI, SERIAL)"
#endif
@@ -225,6 +245,7 @@ typedef struct
#define KEYBOARD_EPSIZE 8
#define MOUSE_EPSIZE 8
#define EXTRAKEY_EPSIZE 8
+#define RAW_EPSIZE 32
#define CONSOLE_EPSIZE 32
#define NKRO_EPSIZE 32
#define MIDI_STREAM_EPSIZE 64
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 01c0e45b0b..6dd5959dc4 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -51,6 +51,8 @@
#include "descriptor.h"
#include "lufa.h"
+#include "quantum.h"
+#include
#ifdef NKRO_ENABLE
#include "keycode_config.h"
@@ -66,11 +68,26 @@
#ifdef BLUETOOTH_ENABLE
#include "bluetooth.h"
#endif
+#ifdef ADAFRUIT_BLE_ENABLE
+ #include "adafruit_ble.h"
+#endif
#ifdef VIRTSER_ENABLE
#include "virtser.h"
#endif
+#if (defined(RGB_MIDI) | defined(RGBLIGHT_ANIMATIONS)) & defined(RGBLIGHT_ENABLE)
+ #include "rgblight.h"
+#endif
+
+#ifdef MIDI_ENABLE
+ #include "sysex_tools.h"
+#endif
+
+#ifdef RAW_ENABLE
+ #include "raw_hid.h"
+#endif
+
uint8_t keyboard_idle = 0;
/* 0: Boot Protocol, 1: Report Protocol(default) */
uint8_t keyboard_protocol = 1;
@@ -79,9 +96,9 @@ static uint8_t keyboard_led_stats = 0;
static report_keyboard_t keyboard_report_sent;
#ifdef MIDI_ENABLE
-void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2);
-void usb_get_midi(MidiDevice * device);
-void midi_usb_init(MidiDevice * device);
+static void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2);
+static void usb_get_midi(MidiDevice * device);
+static void midi_usb_init(MidiDevice * device);
#endif
/* Host driver */
@@ -166,6 +183,80 @@ USB_ClassInfo_CDC_Device_t cdc_device =
};
#endif
+#ifdef RAW_ENABLE
+
+void raw_hid_send( uint8_t *data, uint8_t length )
+{
+ // TODO: implement variable size packet
+ if ( length != RAW_EPSIZE )
+ {
+ return;
+ }
+
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ {
+ return;
+ }
+
+ // TODO: decide if we allow calls to raw_hid_send() in the middle
+ // of other endpoint usage.
+ uint8_t ep = Endpoint_GetCurrentEndpoint();
+
+ Endpoint_SelectEndpoint(RAW_IN_EPNUM);
+
+ // Check to see if the host is ready to accept another packet
+ if (Endpoint_IsINReady())
+ {
+ // Write data
+ Endpoint_Write_Stream_LE(data, RAW_EPSIZE, NULL);
+ // Finalize the stream transfer to send the last packet
+ Endpoint_ClearIN();
+ }
+
+ Endpoint_SelectEndpoint(ep);
+}
+
+__attribute__ ((weak))
+void raw_hid_receive( uint8_t *data, uint8_t length )
+{
+ // Users should #include "raw_hid.h" in their own code
+ // and implement this function there. Leave this as weak linkage
+ // so users can opt to not handle data coming in.
+}
+
+static void raw_hid_task(void)
+{
+ // Create a temporary buffer to hold the read in data from the host
+ uint8_t data[RAW_EPSIZE];
+ bool data_read = false;
+
+ // Device must be connected and configured for the task to run
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return;
+
+ Endpoint_SelectEndpoint(RAW_OUT_EPNUM);
+
+ // Check to see if a packet has been sent from the host
+ if (Endpoint_IsOUTReceived())
+ {
+ // Check to see if the packet contains data
+ if (Endpoint_IsReadWriteAllowed())
+ {
+ /* Read data */
+ Endpoint_Read_Stream_LE(data, sizeof(data), NULL);
+ data_read = true;
+ }
+
+ // Finalize the stream transfer to receive the last packet
+ Endpoint_ClearOUT();
+
+ if ( data_read )
+ {
+ raw_hid_receive( data, sizeof(data) );
+ }
+ }
+}
+#endif
/*******************************************************************************
* Console
@@ -285,10 +376,14 @@ void EVENT_USB_Device_WakeUp()
#endif
}
+
+
#ifdef CONSOLE_ENABLE
static bool console_flush = false;
#define CONSOLE_FLUSH_SET(b) do { \
- uint8_t sreg = SREG; cli(); console_flush = b; SREG = sreg; \
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {\
+ console_flush = b; \
+ } \
} while (0)
// called every 1ms
@@ -302,6 +397,7 @@ void EVENT_USB_Device_StartOfFrame(void)
Console_Task();
console_flush = false;
}
+
#endif
/** Event handler for the USB_ConfigurationChanged event.
@@ -330,6 +426,14 @@ void EVENT_USB_Device_ConfigurationChanged(void)
EXTRAKEY_EPSIZE, ENDPOINT_BANK_SINGLE);
#endif
+#ifdef RAW_ENABLE
+ /* Setup Raw HID Report Endpoints */
+ ConfigSuccess &= ENDPOINT_CONFIG(RAW_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
+ RAW_EPSIZE, ENDPOINT_BANK_SINGLE);
+ ConfigSuccess &= ENDPOINT_CONFIG(RAW_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT,
+ RAW_EPSIZE, ENDPOINT_BANK_SINGLE);
+#endif
+
#ifdef CONSOLE_ENABLE
/* Setup Console HID Report Endpoints */
ConfigSuccess &= ENDPOINT_CONFIG(CONSOLE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
@@ -492,9 +596,35 @@ static uint8_t keyboard_leds(void)
return keyboard_led_stats;
}
+#define SendToUSB 1
+#define SendToBT 2
+#define SendToBLE 4
+
+static inline uint8_t where_to_send(void) {
+#ifdef ADAFRUIT_BLE_ENABLE
+#if 0
+ if (adafruit_ble_is_connected()) {
+ // For testing, send to BLE as a priority
+ return SendToBLE;
+ }
+#endif
+
+ // This is the real policy
+ if (USB_DeviceState != DEVICE_STATE_Configured) {
+ if (adafruit_ble_is_connected()) {
+ return SendToBLE;
+ }
+ }
+#endif
+ return ((USB_DeviceState == DEVICE_STATE_Configured) ? SendToUSB : 0)
+#ifdef BLUETOOTH_ENABLE
+ || SendToBT
+#endif
+ ;
+}
+
static void send_keyboard(report_keyboard_t *report)
{
-
#ifdef BLUETOOTH_ENABLE
bluefruit_serial_send(0xFD);
for (uint8_t i = 0; i < KEYBOARD_EPSIZE; i++) {
@@ -503,9 +633,17 @@ static void send_keyboard(report_keyboard_t *report)
#endif
uint8_t timeout = 255;
+ uint8_t where = where_to_send();
- if (USB_DeviceState != DEVICE_STATE_Configured)
- return;
+#ifdef ADAFRUIT_BLE_ENABLE
+ if (where & SendToBLE) {
+ adafruit_ble_send_keys(report->mods, report->keys, sizeof(report->keys));
+ }
+#endif
+
+ if (!(where & SendToUSB)) {
+ return;
+ }
/* Select the Keyboard Report Endpoint */
#ifdef NKRO_ENABLE
@@ -558,8 +696,17 @@ static void send_mouse(report_mouse_t *report)
uint8_t timeout = 255;
- if (USB_DeviceState != DEVICE_STATE_Configured)
- return;
+ uint8_t where = where_to_send();
+
+#ifdef ADAFRUIT_BLE_ENABLE
+ if (where & SendToBLE) {
+ // FIXME: mouse buttons
+ adafruit_ble_send_mouse_move(report->x, report->y, report->v, report->h);
+ }
+#endif
+ if (!(where & SendToUSB)) {
+ return;
+ }
/* Select the Mouse Report Endpoint */
Endpoint_SelectEndpoint(MOUSE_IN_EPNUM);
@@ -585,7 +732,7 @@ static void send_system(uint16_t data)
report_extra_t r = {
.report_id = REPORT_ID_SYSTEM,
- .usage = data
+ .usage = data - SYSTEM_POWER_DOWN + 1
};
Endpoint_SelectEndpoint(EXTRAKEY_IN_EPNUM);
@@ -617,9 +764,16 @@ static void send_consumer(uint16_t data)
#endif
uint8_t timeout = 255;
+ uint8_t where = where_to_send();
- if (USB_DeviceState != DEVICE_STATE_Configured)
- return;
+#ifdef ADAFRUIT_BLE_ENABLE
+ if (where & SendToBLE) {
+ adafruit_ble_send_consumer_key(data, 0);
+ }
+#endif
+ if (!(where & SendToUSB)) {
+ return;
+ }
report_extra_t r = {
.report_id = REPORT_ID_CONSUMER,
@@ -709,7 +863,7 @@ int8_t sendchar(uint8_t c)
******************************************************************************/
#ifdef MIDI_ENABLE
-void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2) {
+static void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2) {
MIDI_EventPacket_t event;
event.Data1 = byte0;
event.Data2 = byte1;
@@ -769,7 +923,7 @@ void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byt
USB_USBTask();
}
-void usb_get_midi(MidiDevice * device) {
+static void usb_get_midi(MidiDevice * device) {
MIDI_EventPacket_t event;
while (MIDI_Device_ReceiveEventPacket(&USB_MIDI_Interface, &event)) {
@@ -799,12 +953,12 @@ void usb_get_midi(MidiDevice * device) {
USB_USBTask();
}
-void midi_usb_init(MidiDevice * device){
+static void midi_usb_init(MidiDevice * device){
midi_device_init(device);
midi_device_set_send_func(device, usb_send_func);
midi_device_set_pre_input_process_func(device, usb_get_midi);
- SetupHardware();
+ // SetupHardware();
sei();
}
@@ -1029,7 +1183,7 @@ int main(void)
print("Keyboard start.\n");
while (1) {
- #ifndef BLUETOOTH_ENABLE
+ #if !defined(BLUETOOTH_ENABLE) && !defined(ADAFRUIT_BLE_ENABLE)
while (USB_DeviceState == DEVICE_STATE_Suspended) {
print("[s]");
suspend_power_down();
@@ -1039,20 +1193,34 @@ int main(void)
}
#endif
+ keyboard_task();
+
#ifdef MIDI_ENABLE
midi_device_process(&midi_device);
// MIDI_Task();
#endif
- keyboard_task();
+
+#if defined(RGBLIGHT_ANIMATIONS) & defined(RGBLIGHT_ENABLE)
+ rgblight_task();
+#endif
+
+#ifdef ADAFRUIT_BLE_ENABLE
+ adafruit_ble_task();
+#endif
#ifdef VIRTSER_ENABLE
virtser_task();
CDC_Device_USBTask(&cdc_device);
#endif
+#ifdef RAW_ENABLE
+ raw_hid_task();
+#endif
+
#if !defined(INTERRUPT_CONTROL_ENDPOINT)
USB_USBTask();
#endif
+
}
}
@@ -1077,15 +1245,50 @@ void fallthrough_callback(MidiDevice * device,
#endif
}
+
void cc_callback(MidiDevice * device,
uint8_t chan, uint8_t num, uint8_t val) {
//sending it back on the next channel
- midi_send_cc(device, (chan + 1) % 16, num, val);
+ // midi_send_cc(device, (chan + 1) % 16, num, val);
}
-void sysex_callback(MidiDevice * device,
- uint16_t start, uint8_t length, uint8_t * data) {
- for (int i = 0; i < length; i++)
- midi_send_cc(device, 15, 0x7F & data[i], 0x7F & (start + i));
-}
+#ifdef API_SYSEX_ENABLE
+uint8_t midi_buffer[MIDI_SYSEX_BUFFER] = {0};
+#endif
+
+void sysex_callback(MidiDevice * device, uint16_t start, uint8_t length, uint8_t * data) {
+ #ifdef API_SYSEX_ENABLE
+ // SEND_STRING("\n");
+ // send_word(start);
+ // SEND_STRING(": ");
+ // Don't store the header
+ int16_t pos = start - 4;
+ for (uint8_t place = 0; place < length; place++) {
+ // send_byte(*data);
+ if (pos >= 0) {
+ if (*data == 0xF7) {
+ // SEND_STRING("\nRD: ");
+ // for (uint8_t i = 0; i < start + place + 1; i++){
+ // send_byte(midi_buffer[i]);
+ // SEND_STRING(" ");
+ // }
+ const unsigned decoded_length = sysex_decoded_length(pos);
+ uint8_t decoded[API_SYSEX_MAX_SIZE];
+ sysex_decode(decoded, midi_buffer, pos);
+ process_api(decoded_length, decoded);
+ return;
+ }
+ else if (pos >= MIDI_SYSEX_BUFFER) {
+ return;
+ }
+ midi_buffer[pos] = *data;
+ }
+ // SEND_STRING(" ");
+ data++;
+ pos++;
+ }
+ #endif
+}
+
+
#endif
diff --git a/tmk_core/protocol/lufa/lufa.h b/tmk_core/protocol/lufa/lufa.h
index aad08d6407..a049fd43c9 100644
--- a/tmk_core/protocol/lufa/lufa.h
+++ b/tmk_core/protocol/lufa/lufa.h
@@ -68,8 +68,19 @@ typedef struct {
} __attribute__ ((packed)) report_extra_t;
#ifdef MIDI_ENABLE
-void MIDI_Task(void);
-MidiDevice midi_device;
+ void MIDI_Task(void);
+ MidiDevice midi_device;
+#endif
+
+#ifdef API_ENABLE
+ #include "api.h"
+#endif
+
+#ifdef API_SYSEX_ENABLE
+ #include "api_sysex.h"
+ // Allocate space for encoding overhead.
+ //The header and terminator are not stored to save a few bytes of precious ram
+ #define MIDI_SYSEX_BUFFER (API_SYSEX_MAX_SIZE + API_SYSEX_MAX_SIZE / 7 + (API_SYSEX_MAX_SIZE % 7 ? 1 : 0))
#endif
// #if LUFA_VERSION_INTEGER < 0x120730
diff --git a/tmk_core/protocol/lufa/ringbuffer.hpp b/tmk_core/protocol/lufa/ringbuffer.hpp
new file mode 100644
index 0000000000..70a3c4881d
--- /dev/null
+++ b/tmk_core/protocol/lufa/ringbuffer.hpp
@@ -0,0 +1,66 @@
+#pragma once
+// A simple ringbuffer holding Size elements of type T
+template
+class RingBuffer {
+ protected:
+ T buf_[Size];
+ uint8_t head_{0}, tail_{0};
+ public:
+ inline uint8_t nextPosition(uint8_t position) {
+ return (position + 1) % Size;
+ }
+
+ inline uint8_t prevPosition(uint8_t position) {
+ if (position == 0) {
+ return Size - 1;
+ }
+ return position - 1;
+ }
+
+ inline bool enqueue(const T &item) {
+ static_assert(Size > 1, "RingBuffer size must be > 1");
+ uint8_t next = nextPosition(head_);
+ if (next == tail_) {
+ // Full
+ return false;
+ }
+
+ buf_[head_] = item;
+ head_ = next;
+ return true;
+ }
+
+ inline bool get(T &dest, bool commit = true) {
+ auto tail = tail_;
+ if (tail == head_) {
+ // No more data
+ return false;
+ }
+
+ dest = buf_[tail];
+ tail = nextPosition(tail);
+
+ if (commit) {
+ tail_ = tail;
+ }
+ return true;
+ }
+
+ inline bool empty() const { return head_ == tail_; }
+
+ inline uint8_t size() const {
+ int diff = head_ - tail_;
+ if (diff >= 0) {
+ return diff;
+ }
+ return Size + diff;
+ }
+
+ inline T& front() {
+ return buf_[tail_];
+ }
+
+ inline bool peek(T &item) {
+ return get(item, false);
+ }
+};
diff --git a/tmk_core/protocol/midi.mk b/tmk_core/protocol/midi.mk
index c85ae42ff2..4855b23d30 100644
--- a/tmk_core/protocol/midi.mk
+++ b/tmk_core/protocol/midi.mk
@@ -4,6 +4,7 @@ SRC += midi.c \
midi_device.c \
bytequeue/bytequeue.c \
bytequeue/interrupt_setting.c \
+ sysex_tools.c \
$(LUFA_SRC_USBCLASS)
VPATH += $(TMK_PATH)/$(MIDI_DIR)
\ No newline at end of file
diff --git a/tmk_core/protocol/ps2_mouse.c b/tmk_core/protocol/ps2_mouse.c
index c3e8b3c1c3..d9ccbecb43 100644
--- a/tmk_core/protocol/ps2_mouse.c
+++ b/tmk_core/protocol/ps2_mouse.c
@@ -18,60 +18,59 @@ along with this program. If not, see .
#include
#include
#include
-#include "ps2.h"
#include "ps2_mouse.h"
-#include "report.h"
#include "host.h"
#include "timer.h"
#include "print.h"
+#include "report.h"
#include "debug.h"
+#include "ps2.h"
+/* ============================= MACROS ============================ */
static report_mouse_t mouse_report = {};
+static inline void ps2_mouse_print_report(report_mouse_t *mouse_report);
+static inline void ps2_mouse_convert_report_to_hid(report_mouse_t *mouse_report);
+static inline void ps2_mouse_clear_report(report_mouse_t *mouse_report);
+static inline void ps2_mouse_enable_scrolling(void);
+static inline void ps2_mouse_scroll_button_task(report_mouse_t *mouse_report);
-static void print_usb_data(void);
-
+/* ============================= IMPLEMENTATION ============================ */
/* supports only 3 button mouse at this time */
-uint8_t ps2_mouse_init(void) {
- uint8_t rcv;
-
+void ps2_mouse_init(void) {
ps2_host_init();
- _delay_ms(1000); // wait for powering up
+ _delay_ms(PS2_MOUSE_INIT_DELAY); // wait for powering up
- // send Reset
- rcv = ps2_host_send(0xFF);
- print("ps2_mouse_init: send Reset: ");
- phex(rcv); phex(ps2_error); print("\n");
+ PS2_MOUSE_SEND(PS2_MOUSE_RESET, "ps2_mouse_init: sending reset");
- // read completion code of BAT
- rcv = ps2_host_recv_response();
- print("ps2_mouse_init: read BAT: ");
- phex(rcv); phex(ps2_error); print("\n");
+ PS2_MOUSE_RECEIVE("ps2_mouse_init: read BAT");
+ PS2_MOUSE_RECEIVE("ps2_mouse_init: read DevID");
- // read Device ID
- rcv = ps2_host_recv_response();
- print("ps2_mouse_init: read DevID: ");
- phex(rcv); phex(ps2_error); print("\n");
+#ifdef PS2_MOUSE_USE_REMOTE_MODE
+ ps2_mouse_set_remote_mode();
+#else
+ ps2_mouse_enable_data_reporting();
+#endif
- // send Set Remote mode
- rcv = ps2_host_send(0xF0);
- print("ps2_mouse_init: send 0xF0: ");
- phex(rcv); phex(ps2_error); print("\n");
+#ifdef PS2_MOUSE_ENABLE_SCROLLING
+ ps2_mouse_enable_scrolling();
+#endif
- return 0;
+#ifdef PS2_MOUSE_USE_2_1_SCALING
+ ps2_mouse_set_scaling_2_1();
+#endif
+
+ ps2_mouse_init_user();
}
-#define X_IS_NEG (mouse_report.buttons & (1<buttons & (1<buttons & (1<buttons & (1<buttons & (1<x = X_IS_NEG ?
+ ((!X_IS_OVF && -127 <= mouse_report->x && mouse_report->x <= -1) ? mouse_report->x : -127) :
+ ((!X_IS_OVF && 0 <= mouse_report->x && mouse_report->x <= 127) ? mouse_report->x : 127);
+ mouse_report->y = Y_IS_NEG ?
+ ((!Y_IS_OVF && -127 <= mouse_report->y && mouse_report->y <= -1) ? mouse_report->y : -127) :
+ ((!Y_IS_OVF && 0 <= mouse_report->y && mouse_report->y <= 127) ? mouse_report->y : 127);
+
+ // remove sign and overflow flags
+ mouse_report->buttons &= PS2_MOUSE_BTN_MASK;
+
+ // invert coordinate of y to conform to USB HID mouse
+ mouse_report->y = -mouse_report->y;
+}
+
+static inline void ps2_mouse_clear_report(report_mouse_t *mouse_report) {
+ mouse_report->x = 0;
+ mouse_report->y = 0;
+ mouse_report->v = 0;
+ mouse_report->h = 0;
+ mouse_report->buttons = 0;
+}
+
+static inline void ps2_mouse_print_report(report_mouse_t *mouse_report) {
if (!debug_mouse) return;
- print("ps2_mouse usb: [");
- phex(mouse_report.buttons); print("|");
- print_hex8((uint8_t)mouse_report.x); print(" ");
- print_hex8((uint8_t)mouse_report.y); print(" ");
- print_hex8((uint8_t)mouse_report.v); print(" ");
- print_hex8((uint8_t)mouse_report.h); print("]\n");
+ print("ps2_mouse: [");
+ phex(mouse_report->buttons); print("|");
+ print_hex8((uint8_t)mouse_report->x); print(" ");
+ print_hex8((uint8_t)mouse_report->y); print(" ");
+ print_hex8((uint8_t)mouse_report->v); print(" ");
+ print_hex8((uint8_t)mouse_report->h); print("]\n");
}
+static inline void ps2_mouse_enable_scrolling(void) {
+ PS2_MOUSE_SEND(PS2_MOUSE_SET_SAMPLE_RATE, "Initiaing scroll wheel enable: Set sample rate");
+ PS2_MOUSE_SEND(200, "200");
+ PS2_MOUSE_SEND(PS2_MOUSE_SET_SAMPLE_RATE, "Set sample rate");
+ PS2_MOUSE_SEND(100, "100");
+ PS2_MOUSE_SEND(PS2_MOUSE_SET_SAMPLE_RATE, "Set sample rate");
+ PS2_MOUSE_SEND(80, "80");
+ PS2_MOUSE_SEND(PS2_MOUSE_GET_DEVICE_ID, "Finished enabling scroll wheel");
+ _delay_ms(20);
+}
-/* PS/2 Mouse Synopsis
- * http://www.computer-engineering.org/ps2mouse/
- *
- * Command:
- * 0xFF: Reset
- * 0xF6: Set Defaults Sampling; rate=100, resolution=4cnt/mm, scaling=1:1, reporting=disabled
- * 0xF5: Disable Data Reporting
- * 0xF4: Enable Data Reporting
- * 0xF3: Set Sample Rate
- * 0xF2: Get Device ID
- * 0xF0: Set Remote Mode
- * 0xEB: Read Data
- * 0xEA: Set Stream Mode
- * 0xE9: Status Request
- * 0xE8: Set Resolution
- * 0xE7: Set Scaling 2:1
- * 0xE6: Set Scaling 1:1
- *
- * Mode:
- * Stream Mode: devices sends the data when it changs its state
- * Remote Mode: host polls the data periodically
- *
- * This code uses Remote Mode and polls the data with Read Data(0xEB).
- *
- * Data format:
- * byte|7 6 5 4 3 2 1 0
- * ----+--------------------------------------------------------------
- * 0|Yovflw Xovflw Ysign Xsign 1 Middle Right Left
- * 1| X movement
- * 2| Y movement
- */
+#define PRESS_SCROLL_BUTTONS mouse_report->buttons |= (PS2_MOUSE_SCROLL_BTN_MASK)
+#define RELEASE_SCROLL_BUTTONS mouse_report->buttons &= ~(PS2_MOUSE_SCROLL_BTN_MASK)
+static inline void ps2_mouse_scroll_button_task(report_mouse_t *mouse_report) {
+ static enum {
+ SCROLL_NONE,
+ SCROLL_BTN,
+ SCROLL_SENT,
+ } scroll_state = SCROLL_NONE;
+ static uint16_t scroll_button_time = 0;
+
+ if (PS2_MOUSE_SCROLL_BTN_MASK == (mouse_report->buttons & (PS2_MOUSE_SCROLL_BTN_MASK))) {
+ // All scroll buttons are pressed
+
+ if (scroll_state == SCROLL_NONE) {
+ scroll_button_time = timer_read();
+ scroll_state = SCROLL_BTN;
+ }
+
+ // If the mouse has moved, update the report to scroll instead of move the mouse
+ if (mouse_report->x || mouse_report->y) {
+ scroll_state = SCROLL_SENT;
+ mouse_report->v = -mouse_report->y/(PS2_MOUSE_SCROLL_DIVISOR_V);
+ mouse_report->h = mouse_report->x/(PS2_MOUSE_SCROLL_DIVISOR_H);
+ mouse_report->x = 0;
+ mouse_report->y = 0;
+ }
+ } else if (0 == (PS2_MOUSE_SCROLL_BTN_MASK & mouse_report->buttons)) {
+ // None of the scroll buttons are pressed
+
+#if PS2_MOUSE_SCROLL_BTN_SEND
+ if (scroll_state == SCROLL_BTN
+ && timer_elapsed(scroll_button_time) < PS2_MOUSE_SCROLL_BTN_SEND) {
+ PRESS_SCROLL_BUTTONS;
+ host_mouse_send(mouse_report);
+ _delay_ms(100);
+ RELEASE_SCROLL_BUTTONS;
+ }
+#endif
+ scroll_state = SCROLL_NONE;
+ }
+
+ RELEASE_SCROLL_BUTTONS;
+}
diff --git a/tmk_core/protocol/ps2_mouse.h b/tmk_core/protocol/ps2_mouse.h
index 27d9790d43..3c93a46342 100644
--- a/tmk_core/protocol/ps2_mouse.h
+++ b/tmk_core/protocol/ps2_mouse.h
@@ -19,16 +19,61 @@ along with this program. If not, see .
#define PS2_MOUSE_H
#include
+#include "debug.h"
-#define PS2_MOUSE_READ_DATA 0xEB
+#define PS2_MOUSE_SEND(command, message) \
+do { \
+ uint8_t rcv = ps2_host_send(command); \
+ if (debug_mouse) { \
+ print((message)); \
+ xprintf(" command: %X, result: %X, error: %X \n", command, rcv, ps2_error); \
+ } \
+} while(0)
+
+#define PS2_MOUSE_SEND_SAFE(command, message) \
+do { \
+ if (PS2_MOUSE_STREAM_MODE == ps2_mouse_mode) { \
+ ps2_mouse_disable_data_reporting(); \
+ } \
+ PS2_MOUSE_SEND(command, message); \
+ if (PS2_MOUSE_STREAM_MODE == ps2_mouse_mode) { \
+ ps2_mouse_enable_data_reporting(); \
+ } \
+} while(0)
+
+#define PS2_MOUSE_SET_SAFE(command, value, message) \
+do { \
+ if (PS2_MOUSE_STREAM_MODE == ps2_mouse_mode) { \
+ ps2_mouse_disable_data_reporting(); \
+ } \
+ PS2_MOUSE_SEND(command, message); \
+ PS2_MOUSE_SEND(value, "Sending value"); \
+ if (PS2_MOUSE_STREAM_MODE == ps2_mouse_mode) { \
+ ps2_mouse_enable_data_reporting(); \
+ } \
+} while(0)
+
+#define PS2_MOUSE_RECEIVE(message) \
+do { \
+ uint8_t rcv = ps2_host_recv_response(); \
+ if (debug_mouse) { \
+ print((message)); \
+ xprintf(" result: %X, error: %X \n", rcv, ps2_error); \
+ } \
+} while(0)
+
+static enum ps2_mouse_mode_e {
+ PS2_MOUSE_STREAM_MODE,
+ PS2_MOUSE_REMOTE_MODE,
+} ps2_mouse_mode = PS2_MOUSE_STREAM_MODE;
/*
* Data format:
* byte|7 6 5 4 3 2 1 0
- * ----+--------------------------------------------------------------
- * 0|Yovflw Xovflw Ysign Xsign 1 Middle Right Left
- * 1| X movement(0-255)
- * 2| Y movement(0-255)
+ * ----+----------------------------------------------------------------
+ * 0|[Yovflw][Xovflw][Ysign ][Xsign ][ 1 ][Middle][Right ][Left ]
+ * 1|[ X movement(0-255) ]
+ * 2|[ Y movement(0-255) ]
*/
#define PS2_MOUSE_BTN_MASK 0x07
#define PS2_MOUSE_BTN_LEFT 0
@@ -39,10 +84,6 @@ along with this program. If not, see .
#define PS2_MOUSE_X_OVFLW 6
#define PS2_MOUSE_Y_OVFLW 7
-
-/*
- * Scroll by mouse move with pressing button
- */
/* mouse button to start scrolling; set 0 to disable scroll */
#ifndef PS2_MOUSE_SCROLL_BTN_MASK
#define PS2_MOUSE_SCROLL_BTN_MASK (1< .
#ifndef PS2_MOUSE_SCROLL_DIVISOR_H
#define PS2_MOUSE_SCROLL_DIVISOR_H 2
#endif
+/* multiply reported mouse values by these */
+#ifndef PS2_MOUSE_X_MULTIPLIER
+#define PS2_MOUSE_X_MULTIPLIER 1
+#endif
+#ifndef PS2_MOUSE_Y_MULTIPLIER
+#define PS2_MOUSE_Y_MULTIPLIER 1
+#endif
+#ifndef PS2_MOUSE_V_MULTIPLIER
+#define PS2_MOUSE_V_MULTIPLIER 1
+#endif
+/* For some mice this will need to be 0x0F */
+#ifndef PS2_MOUSE_SCROLL_MASK
+#define PS2_MOUSE_SCROLL_MASK 0xFF
+#endif
+#ifndef PS2_MOUSE_INIT_DELAY
+#define PS2_MOUSE_INIT_DELAY 1000
+#endif
+enum ps2_mouse_command_e {
+ PS2_MOUSE_RESET = 0xFF,
+ PS2_MOUSE_RESEND = 0xFE,
+ PS2_MOSUE_SET_DEFAULTS = 0xF6,
+ PS2_MOUSE_DISABLE_DATA_REPORTING = 0xF5,
+ PS2_MOUSE_ENABLE_DATA_REPORTING = 0xF4,
+ PS2_MOUSE_SET_SAMPLE_RATE = 0xF3,
+ PS2_MOUSE_GET_DEVICE_ID = 0xF2,
+ PS2_MOUSE_SET_REMOTE_MODE = 0xF0,
+ PS2_MOUSE_SET_WRAP_MODE = 0xEC,
+ PS2_MOUSE_READ_DATA = 0xEB,
+ PS2_MOUSE_SET_STREAM_MODE = 0xEA,
+ PS2_MOUSE_STATUS_REQUEST = 0xE9,
+ PS2_MOUSE_SET_RESOLUTION = 0xE8,
+ PS2_MOUSE_SET_SCALING_2_1 = 0xE7,
+ PS2_MOUSE_SET_SCALING_1_1 = 0xE6,
+};
+
+typedef enum ps2_mouse_resolution_e {
+ PS2_MOUSE_1_COUNT_MM,
+ PS2_MOUSE_2_COUNT_MM,
+ PS2_MOUSE_4_COUNT_MM,
+ PS2_MOUSE_8_COUNT_MM,
+} ps2_mouse_resolution_t;
+
+typedef enum ps2_mouse_sample_rate_e {
+ PS2_MOUSE_10_SAMPLES_SEC = 10,
+ PS2_MOUSE_20_SAMPLES_SEC = 20,
+ PS2_MOUSE_40_SAMPLES_SEC = 40,
+ PS2_MOUSE_60_SAMPLES_SEC = 60,
+ PS2_MOUSE_80_SAMPLES_SEC = 80,
+ PS2_MOUSE_100_SAMPLES_SEC = 100,
+ PS2_MOUSE_200_SAMPLES_SEC = 200,
+} ps2_mouse_sample_rate_t;
+
+void ps2_mouse_init(void);
+
+void ps2_mouse_init_user(void);
-uint8_t ps2_mouse_init(void);
void ps2_mouse_task(void);
+void ps2_mouse_disable_data_reporting(void);
+
+void ps2_mouse_enable_data_reporting(void);
+
+void ps2_mouse_set_remote_mode(void);
+
+void ps2_mouse_set_stream_mode(void);
+
+void ps2_mouse_set_scaling_2_1(void);
+
+void ps2_mouse_set_scaling_1_1(void);
+
+void ps2_mouse_set_resolution(ps2_mouse_resolution_t resolution);
+
+void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate);
+
#endif
diff --git a/tmk_core/ring_buffer.h b/tmk_core/ring_buffer.h
index 7bdebbcf34..005d1be613 100644
--- a/tmk_core/ring_buffer.h
+++ b/tmk_core/ring_buffer.h
@@ -4,13 +4,13 @@
* Ring buffer to store scan codes from keyboard
*------------------------------------------------------------------*/
#define RBUF_SIZE 32
+#include
static uint8_t rbuf[RBUF_SIZE];
static uint8_t rbuf_head = 0;
static uint8_t rbuf_tail = 0;
static inline void rbuf_enqueue(uint8_t data)
{
- uint8_t sreg = SREG;
- cli();
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
uint8_t next = (rbuf_head + 1) % RBUF_SIZE;
if (next != rbuf_tail) {
rbuf[rbuf_head] = data;
@@ -18,36 +18,34 @@ static inline void rbuf_enqueue(uint8_t data)
} else {
print("rbuf: full\n");
}
- SREG = sreg;
+ }
}
static inline uint8_t rbuf_dequeue(void)
{
uint8_t val = 0;
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
- uint8_t sreg = SREG;
- cli();
if (rbuf_head != rbuf_tail) {
val = rbuf[rbuf_tail];
rbuf_tail = (rbuf_tail + 1) % RBUF_SIZE;
}
- SREG = sreg;
+ }
return val;
}
static inline bool rbuf_has_data(void)
{
- uint8_t sreg = SREG;
- cli();
- bool has_data = (rbuf_head != rbuf_tail);
- SREG = sreg;
- return has_data;
+ bool has_data;
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
+ has_data = (rbuf_head != rbuf_tail);
+ }
+ return has_data;
}
static inline void rbuf_clear(void)
{
- uint8_t sreg = SREG;
- cli();
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
rbuf_head = rbuf_tail = 0;
- SREG = sreg;
+ }
}
#endif /* RING_BUFFER_H */
|