2475 lines
56 KiB
JSON
2475 lines
56 KiB
JSON
{
|
|
"version": 1,
|
|
"settings": {
|
|
"hold_ms": 500,
|
|
"type_delay": 15,
|
|
"orientation": 0,
|
|
"resume_delay": 0,
|
|
"combo_pre_ms": 500,
|
|
"combo_post_ms": 500,
|
|
"probe_timeout_ms": 300,
|
|
"media_hold_ms": 100,
|
|
"type_shift_extra_ms": 25,
|
|
"type_settle_ms": 150,
|
|
"pause_margin_left": 4,
|
|
"pause_margin_right": 4,
|
|
"pause_margin_top": 16,
|
|
"pause_margin_bottom": 12
|
|
},
|
|
"macros": [
|
|
{
|
|
"name": "Example",
|
|
"label_color": "red",
|
|
"image_path": "",
|
|
"nodes": [
|
|
{
|
|
"id": "fba20d14",
|
|
"type": "start",
|
|
"x": 100,
|
|
"y": 1800,
|
|
"data": {},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "36d4e2de",
|
|
"type": "note",
|
|
"x": -242.60315312873973,
|
|
"y": 1601.0958832220958,
|
|
"data": {
|
|
"text": "This Example routine demonstrates every available node type. The Branch below fans out to one demo of each - pick an option on the device to try it. Open the Settings dialog (top-right) for device tuning, RS232 Terminal, and Backups.",
|
|
"font_size": 14,
|
|
"color": "white",
|
|
"width": 380
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "e19ca4b8",
|
|
"type": "note",
|
|
"x": 146.00089515469722,
|
|
"y": 1626.0209419763205,
|
|
"data": {
|
|
"text": "Tips: zoom with the scroll wheel, pan by dragging on empty canvas, press F to flip a node, Ctrl+C / Ctrl+V to copy nodes.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 180
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "da1b3c38",
|
|
"type": "branch",
|
|
"x": 374,
|
|
"y": 1632,
|
|
"data": {
|
|
"choices": [
|
|
{
|
|
"label": "Type Text",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Key Combo",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Pause",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Branch",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Loop (Repeat)",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Loop Selector",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Mouse Click",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Media Key",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Variables",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "RS232 Send",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Sub-Routine",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "PC Alive Check",
|
|
"next": -1
|
|
},
|
|
{
|
|
"label": "Macro Replay",
|
|
"next": -1
|
|
}
|
|
]
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0001",
|
|
"type": "note",
|
|
"x": 1084.720813913096,
|
|
"y": -132.37918889877432,
|
|
"data": {
|
|
"text": "Type Text - sends the string via USB HID. Insert (VAR{name}) tokens to interpolate variables at runtime.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "2851ffd9",
|
|
"type": "text",
|
|
"x": 1087.4367678003716,
|
|
"y": 6.173681454207928,
|
|
"data": {
|
|
"text": "Hello from your routine!",
|
|
"language": "none"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0002",
|
|
"type": "note",
|
|
"x": 1082.872558116675,
|
|
"y": 150.5927612052953,
|
|
"data": {
|
|
"text": "Key Combo - press a modifier+key shortcut (Ctrl+C here). Custom Timings let you tune pre/post and per-key hold delays.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "8556445d",
|
|
"type": "combo",
|
|
"x": 1080.1957986188659,
|
|
"y": 280.8801867280503,
|
|
"data": {
|
|
"mods": [
|
|
"ctrl"
|
|
],
|
|
"key": "c",
|
|
"custom_timings": false,
|
|
"custom_pre_ms": 167,
|
|
"custom_post_ms": 167,
|
|
"custom_key_pre_ms": 3,
|
|
"custom_key_post_ms": 8
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0003",
|
|
"type": "note",
|
|
"x": 1080.1957986188659,
|
|
"y": 497.5536355853536,
|
|
"data": {
|
|
"text": "Pause - halt until the user clicks the device or a timer fires. Adjustable font size, text color, and an on-device preview in the properties panel.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "49719853",
|
|
"type": "pause",
|
|
"x": 1080.1957986188659,
|
|
"y": 630.8836349076065,
|
|
"data": {
|
|
"wait": "click",
|
|
"text": "Click to continue",
|
|
"font_size": 12
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0004",
|
|
"type": "note",
|
|
"x": 1074.8422796232478,
|
|
"y": 787.0164399484735,
|
|
"data": {
|
|
"text": "Branch - present an on-device menu. Each choice gets its own output port. Switch it to Variable mode to route on the value of a variable instead of asking the user.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "ca82e599",
|
|
"type": "branch",
|
|
"x": 1078.8443540734725,
|
|
"y": 932.2350794529999,
|
|
"data": {
|
|
"choices": [
|
|
{
|
|
"label": "Yes",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
},
|
|
{
|
|
"label": "No",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
}
|
|
],
|
|
"mode": "manual",
|
|
"var_name": "",
|
|
"var_scope": "auto"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0005",
|
|
"type": "note",
|
|
"x": 1491.0800009663621,
|
|
"y": 778.9861614550454,
|
|
"data": {
|
|
"text": "Delay - wait N ms before continuing.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0a0a1111",
|
|
"type": "delay",
|
|
"x": 1505.8021782043122,
|
|
"y": 859.4661107455778,
|
|
"data": {
|
|
"ms": 500
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0006",
|
|
"type": "note",
|
|
"x": 1789.8930136845931,
|
|
"y": 765.1320312924012,
|
|
"data": {
|
|
"text": "Aggregator - merge multiple incoming paths into one output. Adjustable input count in the properties panel.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0a0a2222",
|
|
"type": "aggregator",
|
|
"x": 1792.5697731824027,
|
|
"y": 903.6326424594274,
|
|
"data": {
|
|
"input_count": 2
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0007",
|
|
"type": "note",
|
|
"x": 1080.2088634153547,
|
|
"y": 1087.2908006747389,
|
|
"data": {
|
|
"text": "Loop - execute the body N times. Wire the body's tail back to Loop Back. The Done output fires once when N iterations finish.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "dcfb234b",
|
|
"type": "repeat",
|
|
"x": 1116.3320518392882,
|
|
"y": 1220.0328841549924,
|
|
"data": {
|
|
"count": 3,
|
|
"start_idx": 0,
|
|
"use_selector": false
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0008",
|
|
"type": "note",
|
|
"x": 1515.5946804413281,
|
|
"y": 1095.4778567260325,
|
|
"data": {
|
|
"text": "Iteration Branch - pick a different path on a specific iteration of the linked Loop. Optional 'skip on final iteration' for cleanup-style flows.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0a0a3333",
|
|
"type": "iteration_branch",
|
|
"x": 1508.478937702121,
|
|
"y": 1184.8953259747636,
|
|
"data": {
|
|
"loop_node_id": "dcfb234b",
|
|
"choices": [
|
|
{
|
|
"label": "Other iterations"
|
|
},
|
|
{
|
|
"label": "First iteration"
|
|
}
|
|
],
|
|
"skip_final_iteration": false
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0009",
|
|
"type": "note",
|
|
"x": 1071.2849013945813,
|
|
"y": 1374.517086297065,
|
|
"data": {
|
|
"text": "Loop Selector - prompt the user on-device for the loop count. Feed it into a Loop with 'use selector' enabled.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "96651684",
|
|
"type": "loop_selector",
|
|
"x": 1080.1957986188659,
|
|
"y": 1480.8801867280501,
|
|
"data": {
|
|
"min": 1,
|
|
"max": 10,
|
|
"step": 1,
|
|
"default": 1,
|
|
"prompt": "Loop count?",
|
|
"ask_start": false
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b000a",
|
|
"type": "note",
|
|
"x": 1072.0871313465057,
|
|
"y": 1646.9821646722855,
|
|
"data": {
|
|
"text": "Mouse Click - send a left / right / middle button click via USB HID. Position is not controlled; clicks land wherever the host cursor is.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "3524d897",
|
|
"type": "mouse",
|
|
"x": 1096.4131331635867,
|
|
"y": 1772.7715194556897,
|
|
"data": {
|
|
"button": "left",
|
|
"action": "click"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b000b",
|
|
"type": "note",
|
|
"x": 1046.394457347465,
|
|
"y": 1882.7396458221874,
|
|
"data": {
|
|
"text": "Media Key - Play/Pause, Vol +/-, Mute, Next, Prev, etc. via USB HID",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "f5706152",
|
|
"type": "media",
|
|
"x": 1070.7204591645461,
|
|
"y": 1966.7905312788116,
|
|
"data": {
|
|
"action": "play_pause"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b000c",
|
|
"type": "note",
|
|
"x": 1002.1178471503137,
|
|
"y": 2496.1623880030493,
|
|
"data": {
|
|
"text": "Variables - unified node with 5 modes. The sub-branch below fans out to one demo of each mode. Define names in the Variables window (toolbar); scope is per-device by MAC or Universal.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 260
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "785a3445",
|
|
"type": "bluetooth",
|
|
"x": 1500,
|
|
"y": 2200,
|
|
"data": {
|
|
"mode": "pull_ble",
|
|
"scope": "universal",
|
|
"names": [],
|
|
"play_sound": true,
|
|
"assignments": [],
|
|
"script": "",
|
|
"script_language": "powershell",
|
|
"var_name": "",
|
|
"pre_listen_ms": 500,
|
|
"listen_window_ms": 5000,
|
|
"outcomes": [],
|
|
"script_mode": "manual",
|
|
"elevated_launch": {
|
|
"enabled": false,
|
|
"command": "powershell -Command \"Start-Process wt -Verb RunAs\"",
|
|
"win_r_wait_ms": 5000,
|
|
"post_type_wait_ms": 15000
|
|
},
|
|
"sequence": []
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b000d",
|
|
"type": "note",
|
|
"x": 904.9025895878517,
|
|
"y": 3090.9637316989774,
|
|
"data": {
|
|
"text": "RS232 Send - emit a serial message at the configured baud through the Atomic RS232 base. Supports (VAR{name}) expansion and an optional 'wait for response' check.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "6fcd57ee",
|
|
"type": "rs232",
|
|
"x": 905.5639025191554,
|
|
"y": 3275.1216205180726,
|
|
"data": {
|
|
"baud": 9600,
|
|
"data_bits": 8,
|
|
"stop_bits": "1",
|
|
"parity": "none",
|
|
"message": "Hello from RS232",
|
|
"line_ending": "crlf",
|
|
"wait_response": false,
|
|
"expected_response": "",
|
|
"timeout_ms": 5000,
|
|
"post_send_delay_ms": 0
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b000e",
|
|
"type": "note",
|
|
"x": 902.8610134283688,
|
|
"y": 3413.327029541044,
|
|
"data": {
|
|
"text": "Sub-Routine - call a reusable routine defined in the Sub-Routines profile. Edit that profile to manage your shared blocks.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "650c012a",
|
|
"type": "subroutine",
|
|
"x": 899.4968114062781,
|
|
"y": 3544.7861649536885,
|
|
"data": {
|
|
"name": "Open Run Box"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b000f",
|
|
"type": "note",
|
|
"x": 902.5015382799311,
|
|
"y": 3680.8134882671293,
|
|
"data": {
|
|
"text": "PC Alive Check - toggle Num Lock and watch the LED state to confirm the host PC is responding. Modes: PC Response (any change), Num Lock ON, Num Lock OFF. Optional polling loop.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "e5303f37",
|
|
"type": "pc_alive_check",
|
|
"x": 905.5639025191554,
|
|
"y": 3875.1216205180726,
|
|
"data": {
|
|
"condition": "pc_response",
|
|
"loop": true,
|
|
"poll_delay_ms": 500
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0b0b0010",
|
|
"type": "note",
|
|
"x": 904.047129740936,
|
|
"y": 4023.8868016230053,
|
|
"data": {
|
|
"text": "Macro - record and replay an exact HID key sequence, including chord timings and per-key hold durations. Mouse input is never captured.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "75a52e31",
|
|
"type": "macro",
|
|
"x": 905.5639025191554,
|
|
"y": 4175.121620518077,
|
|
"data": {
|
|
"events": [],
|
|
"name": ""
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "ac46db7a",
|
|
"type": "note",
|
|
"x": 1082.0141276583024,
|
|
"y": 346.0823132565328,
|
|
"data": {
|
|
"text": "Tip: inside Custom Timings, use Record to capture the timings of a real key combo on your keyboard.",
|
|
"font_size": 11,
|
|
"color": "white",
|
|
"width": 220
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0c0c0001",
|
|
"type": "text",
|
|
"x": 1860.7356868011127,
|
|
"y": 1084.3911840024282,
|
|
"data": {
|
|
"text": "...continuing",
|
|
"language": "none"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0d0d0001",
|
|
"type": "note",
|
|
"x": 1856.6813531649325,
|
|
"y": 1013.4489658181644,
|
|
"data": {
|
|
"text": "Runs every iteration except the first.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0c0c0002",
|
|
"type": "text",
|
|
"x": 1858.032797710326,
|
|
"y": 1240.601622188037,
|
|
"data": {
|
|
"text": "First iteration!",
|
|
"language": "none"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0d0d0002",
|
|
"type": "note",
|
|
"x": 1844.5183522563918,
|
|
"y": 1158.847847640626,
|
|
"data": {
|
|
"text": "Runs only on the first iteration.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0c0c0003",
|
|
"type": "aggregator",
|
|
"x": 2130.195798618866,
|
|
"y": 1240.8801867280501,
|
|
"data": {
|
|
"input_count": 2
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0d0d0003",
|
|
"type": "note",
|
|
"x": 2126.1414649826856,
|
|
"y": 1180.7495249069336,
|
|
"data": {
|
|
"text": "Merge both branches before looping back.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0c0c0004",
|
|
"type": "repeat",
|
|
"x": 1610.1957986188665,
|
|
"y": 1480.8801867280501,
|
|
"data": {
|
|
"count": 1,
|
|
"start_idx": 0,
|
|
"use_selector": true
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0d0d0004",
|
|
"type": "note",
|
|
"x": 1599.3842422557193,
|
|
"y": 1371.1518549089512,
|
|
"data": {
|
|
"text": "When 'Use selector value' is enabled, the Loop takes its count from the upstream Loop Selector instead of the static count field.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 220
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0c0c0005",
|
|
"type": "text",
|
|
"x": 1612.4168499422856,
|
|
"y": 1608.518718262276,
|
|
"data": {
|
|
"text": "Looping!",
|
|
"language": "none"
|
|
},
|
|
"flipped": true
|
|
},
|
|
{
|
|
"id": "0d0d0005",
|
|
"type": "note",
|
|
"x": 2130.195798618866,
|
|
"y": 1350.8801867280501,
|
|
"data": {
|
|
"text": "Body of the loop, runs N times where N is what the user picked.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 200
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0c0c0006",
|
|
"type": "text",
|
|
"x": 2150,
|
|
"y": 2200,
|
|
"data": {
|
|
"text": "Hello (VAR{example})!",
|
|
"language": "none"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0d0d0006",
|
|
"type": "note",
|
|
"x": 2150,
|
|
"y": 2080,
|
|
"data": {
|
|
"text": "Type Text with (VAR{name}) interpolates the variable at runtime. Define names in the Variables window - host edits are pushed over BLE.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "4b1c882b",
|
|
"type": "note",
|
|
"x": 1598.1544277194112,
|
|
"y": 1685.96021111963,
|
|
"data": {
|
|
"text": "Tip: select a node and press F to flip its input/output side. Useful for wires that would otherwise cross.",
|
|
"font_size": 11,
|
|
"color": "white",
|
|
"width": 160
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e0000",
|
|
"type": "branch",
|
|
"x": 1050,
|
|
"y": 2700,
|
|
"data": {
|
|
"choices": [
|
|
{
|
|
"label": "Pull BLE",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
},
|
|
{
|
|
"label": "Push BLE",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
},
|
|
{
|
|
"label": "Request BLE",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
},
|
|
{
|
|
"label": "Set Local",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
},
|
|
{
|
|
"label": "Get Local",
|
|
"next": -1,
|
|
"match_value": "",
|
|
"color": "white"
|
|
}
|
|
],
|
|
"mode": "manual",
|
|
"var_name": "",
|
|
"var_scope": "auto"
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e1001",
|
|
"type": "note",
|
|
"x": 1495.4316519295037,
|
|
"y": 2110.9263613055678,
|
|
"data": {
|
|
"text": "Pull BLE - the M5Stack queries the Python app for updated variables.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e0002",
|
|
"type": "bluetooth",
|
|
"x": 1500,
|
|
"y": 2450,
|
|
"data": {
|
|
"mode": "push_ble",
|
|
"scope": "universal",
|
|
"names": [],
|
|
"play_sound": true,
|
|
"assignments": [],
|
|
"script": "",
|
|
"script_language": "powershell",
|
|
"var_name": "",
|
|
"pre_listen_ms": 500,
|
|
"listen_window_ms": 5000,
|
|
"outcomes": [],
|
|
"script_mode": "manual",
|
|
"elevated_launch": {
|
|
"enabled": false,
|
|
"command": "powershell -Command \"Start-Process wt -Verb RunAs\"",
|
|
"win_r_wait_ms": 5000,
|
|
"post_type_wait_ms": 15000
|
|
},
|
|
"sequence": []
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e1002",
|
|
"type": "note",
|
|
"x": 1483.5408309068825,
|
|
"y": 2354.87886549474,
|
|
"data": {
|
|
"text": "Push BLE - the M5Stack pushes its variables back to the host via its per-device BLE profile.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e0003",
|
|
"type": "bluetooth",
|
|
"x": 1500.0,
|
|
"y": 2741.796494031168,
|
|
"data": {
|
|
"mode": "request_ble",
|
|
"scope": "universal",
|
|
"names": [],
|
|
"play_sound": true,
|
|
"assignments": [],
|
|
"script": "",
|
|
"script_language": "powershell",
|
|
"var_name": "",
|
|
"pre_listen_ms": 500,
|
|
"listen_window_ms": 5000,
|
|
"outcomes": [],
|
|
"script_mode": "manual",
|
|
"elevated_launch": {
|
|
"enabled": false,
|
|
"command": "powershell -Command \"Start-Process wt -Verb RunAs\"",
|
|
"win_r_wait_ms": 5000,
|
|
"post_type_wait_ms": 15000
|
|
},
|
|
"sequence": []
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e1003",
|
|
"type": "note",
|
|
"x": 1482.5456762870904,
|
|
"y": 2570.0484538021,
|
|
"data": {
|
|
"text": "Request BLE - device prompts the technician (via a dialog in the Python app) to edit one or more variables. Blocks until the tech submits or cancels. Great for one-off inputs like 'enter ticket number'.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e0004",
|
|
"type": "bluetooth",
|
|
"x": 1512.9370100572658,
|
|
"y": 2964.927319296846,
|
|
"data": {
|
|
"mode": "set_local",
|
|
"scope": "universal",
|
|
"names": [],
|
|
"play_sound": true,
|
|
"assignments": [
|
|
{
|
|
"name": "example",
|
|
"value": "hello"
|
|
}
|
|
],
|
|
"script": "",
|
|
"script_language": "powershell",
|
|
"var_name": "",
|
|
"pre_listen_ms": 500,
|
|
"listen_window_ms": 5000,
|
|
"outcomes": [],
|
|
"script_mode": "manual",
|
|
"elevated_launch": {
|
|
"enabled": false,
|
|
"command": "powershell -Command \"Start-Process wt -Verb RunAs\"",
|
|
"win_r_wait_ms": 5000,
|
|
"post_type_wait_ms": 15000
|
|
},
|
|
"sequence": []
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e1004",
|
|
"type": "note",
|
|
"x": 1471.5989754694026,
|
|
"y": 2855.8740201145306,
|
|
"data": {
|
|
"text": "Set Variables - assign one or more variables on the M5Stack directly. This mode doesn't pull / push over BLE.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e0005",
|
|
"type": "bluetooth",
|
|
"x": 1502.985463859369,
|
|
"y": 3271.65113262486,
|
|
"data": {
|
|
"mode": "get_local",
|
|
"scope": "universal",
|
|
"names": [],
|
|
"play_sound": true,
|
|
"assignments": [],
|
|
"script": "",
|
|
"script_language": "powershell",
|
|
"var_name": "",
|
|
"pre_listen_ms": 500,
|
|
"listen_window_ms": 5000,
|
|
"outcomes": [],
|
|
"script_mode": "manual",
|
|
"elevated_launch": {
|
|
"enabled": false,
|
|
"command": "powershell -Command \"Start-Process wt -Verb RunAs\"",
|
|
"win_r_wait_ms": 5000,
|
|
"post_type_wait_ms": 15000
|
|
},
|
|
"sequence": []
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0e0e1005",
|
|
"type": "note",
|
|
"x": 1470.6038208496143,
|
|
"y": 3094.927319296842,
|
|
"data": {
|
|
"text": "Get Variables - the M5Stack types a host-side script over USB (typically PowerShell) and decodes the answer by counting Scroll Lock toggles the script fires back. This mode doesn't pull / push over BLE.",
|
|
"font_size": 12,
|
|
"color": "white",
|
|
"width": 240
|
|
},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "0ef8de98",
|
|
"type": "note",
|
|
"x": 1460.1938152084126,
|
|
"y": 3378.2035059688315,
|
|
"data": {
|
|
"text": "Note: you could use this for something like \"Is the C:\\Users\\admin directory present?\" or \"Is application x y and z installed?\"",
|
|
"font_size": 11,
|
|
"color": "white",
|
|
"width": 220
|
|
},
|
|
"flipped": false
|
|
}
|
|
],
|
|
"connections": [
|
|
{
|
|
"from": "fba20d14",
|
|
"from_port": "out",
|
|
"to": "da1b3c38",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_0",
|
|
"to": "2851ffd9",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_1",
|
|
"to": "8556445d",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_2",
|
|
"to": "49719853",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_3",
|
|
"to": "ca82e599",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_4",
|
|
"to": "dcfb234b",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_5",
|
|
"to": "96651684",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_6",
|
|
"to": "3524d897",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_7",
|
|
"to": "f5706152",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_9",
|
|
"to": "6fcd57ee",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_10",
|
|
"to": "650c012a",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_11",
|
|
"to": "e5303f37",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_12",
|
|
"to": "75a52e31",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "ca82e599",
|
|
"from_port": "out_0",
|
|
"to": "0a0a1111",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0a0a1111",
|
|
"from_port": "out",
|
|
"to": "0a0a2222",
|
|
"to_port": "in_0"
|
|
},
|
|
{
|
|
"from": "ca82e599",
|
|
"from_port": "out_1",
|
|
"to": "0a0a2222",
|
|
"to_port": "in_1"
|
|
},
|
|
{
|
|
"from": "dcfb234b",
|
|
"from_port": "loop_body",
|
|
"to": "0a0a3333",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0a0a3333",
|
|
"from_port": "out_0",
|
|
"to": "0c0c0001",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0a0a3333",
|
|
"from_port": "out_1",
|
|
"to": "0c0c0002",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0c0c0001",
|
|
"from_port": "out",
|
|
"to": "0c0c0003",
|
|
"to_port": "in_0"
|
|
},
|
|
{
|
|
"from": "0c0c0002",
|
|
"from_port": "out",
|
|
"to": "0c0c0003",
|
|
"to_port": "in_1"
|
|
},
|
|
{
|
|
"from": "0c0c0003",
|
|
"from_port": "out",
|
|
"to": "dcfb234b",
|
|
"to_port": "loop_back"
|
|
},
|
|
{
|
|
"from": "96651684",
|
|
"from_port": "out",
|
|
"to": "0c0c0004",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0c0c0004",
|
|
"from_port": "loop_body",
|
|
"to": "0c0c0005",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0c0c0005",
|
|
"from_port": "out",
|
|
"to": "0c0c0004",
|
|
"to_port": "loop_back"
|
|
},
|
|
{
|
|
"from": "785a3445",
|
|
"from_port": "out",
|
|
"to": "0c0c0006",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "da1b3c38",
|
|
"from_port": "out_8",
|
|
"to": "0e0e0000",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0e0e0000",
|
|
"from_port": "out_0",
|
|
"to": "785a3445",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0e0e0000",
|
|
"from_port": "out_1",
|
|
"to": "0e0e0002",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0e0e0000",
|
|
"from_port": "out_2",
|
|
"to": "0e0e0003",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0e0e0000",
|
|
"from_port": "out_3",
|
|
"to": "0e0e0004",
|
|
"to_port": "in"
|
|
},
|
|
{
|
|
"from": "0e0e0000",
|
|
"from_port": "out_4",
|
|
"to": "0e0e0005",
|
|
"to_port": "in"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Test",
|
|
"label_color": "white",
|
|
"image_path": "",
|
|
"nodes": [
|
|
{
|
|
"id": "ac45fd48",
|
|
"type": "start",
|
|
"x": 100,
|
|
"y": 100,
|
|
"data": {},
|
|
"flipped": false
|
|
},
|
|
{
|
|
"id": "53a6df6b",
|
|
"type": "macro",
|
|
"x": 339.42111444989905,
|
|
"y": 85.49173666913251,
|
|
"data": {
|
|
"events": [
|
|
[
|
|
703,
|
|
0,
|
|
227
|
|
],
|
|
[
|
|
962,
|
|
0,
|
|
21
|
|
],
|
|
[
|
|
1078,
|
|
1,
|
|
21
|
|
],
|
|
[
|
|
1228,
|
|
1,
|
|
227
|
|
],
|
|
[
|
|
2175,
|
|
0,
|
|
26
|
|
],
|
|
[
|
|
2272,
|
|
1,
|
|
26
|
|
],
|
|
[
|
|
2373,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
2460,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
2580,
|
|
0,
|
|
225
|
|
],
|
|
[
|
|
2964,
|
|
0,
|
|
224
|
|
],
|
|
[
|
|
3154,
|
|
0,
|
|
40
|
|
],
|
|
[
|
|
3256,
|
|
1,
|
|
40
|
|
],
|
|
[
|
|
3331,
|
|
1,
|
|
225
|
|
],
|
|
[
|
|
3340,
|
|
1,
|
|
224
|
|
],
|
|
[
|
|
4481,
|
|
0,
|
|
80
|
|
],
|
|
[
|
|
4582,
|
|
1,
|
|
80
|
|
],
|
|
[
|
|
4609,
|
|
0,
|
|
40
|
|
],
|
|
[
|
|
4714,
|
|
1,
|
|
40
|
|
],
|
|
[
|
|
6670,
|
|
0,
|
|
26
|
|
],
|
|
[
|
|
6752,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
6773,
|
|
1,
|
|
26
|
|
],
|
|
[
|
|
6830,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
6892,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
6997,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
7087,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
7186,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
7197,
|
|
0,
|
|
16
|
|
],
|
|
[
|
|
7294,
|
|
1,
|
|
16
|
|
],
|
|
[
|
|
7371,
|
|
0,
|
|
12
|
|
],
|
|
[
|
|
7468,
|
|
1,
|
|
12
|
|
],
|
|
[
|
|
7608,
|
|
0,
|
|
40
|
|
],
|
|
[
|
|
7685,
|
|
1,
|
|
40
|
|
],
|
|
[
|
|
7981,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
8102,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
8184,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
8277,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
8291,
|
|
0,
|
|
22
|
|
],
|
|
[
|
|
8360,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
8402,
|
|
1,
|
|
22
|
|
],
|
|
[
|
|
8460,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
8544,
|
|
0,
|
|
17
|
|
],
|
|
[
|
|
8641,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
8648,
|
|
1,
|
|
17
|
|
],
|
|
[
|
|
8747,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
8764,
|
|
0,
|
|
16
|
|
],
|
|
[
|
|
8831,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
8862,
|
|
1,
|
|
16
|
|
],
|
|
[
|
|
8919,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
9008,
|
|
0,
|
|
40
|
|
],
|
|
[
|
|
9085,
|
|
1,
|
|
40
|
|
],
|
|
[
|
|
9508,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
9594,
|
|
0,
|
|
22
|
|
],
|
|
[
|
|
9639,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
9729,
|
|
1,
|
|
22
|
|
],
|
|
[
|
|
10037,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
10115,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
10162,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
10278,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
10377,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
10498,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
10610,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
10696,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
10837,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
10934,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
11109,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
11202,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
11423,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
11519,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
11714,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
11839,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
11851,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
11993,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
12299,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
12361,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
12416,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
12490,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
12524,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
12658,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
13471,
|
|
0,
|
|
6
|
|
],
|
|
[
|
|
13543,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
13564,
|
|
1,
|
|
6
|
|
],
|
|
[
|
|
13627,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
13700,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
13749,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
13821,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
13865,
|
|
0,
|
|
225
|
|
],
|
|
[
|
|
13885,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
13947,
|
|
0,
|
|
12
|
|
],
|
|
[
|
|
13973,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
14031,
|
|
1,
|
|
225
|
|
],
|
|
[
|
|
14074,
|
|
1,
|
|
12
|
|
],
|
|
[
|
|
14110,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
14145,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
14249,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
14265,
|
|
0,
|
|
16
|
|
],
|
|
[
|
|
14309,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
14369,
|
|
1,
|
|
16
|
|
],
|
|
[
|
|
14435,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
14447,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
14494,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
14513,
|
|
0,
|
|
22
|
|
],
|
|
[
|
|
14562,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
14631,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
14676,
|
|
1,
|
|
22
|
|
],
|
|
[
|
|
14709,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
14767,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
14801,
|
|
0,
|
|
12
|
|
],
|
|
[
|
|
14892,
|
|
1,
|
|
12
|
|
],
|
|
[
|
|
14963,
|
|
0,
|
|
17
|
|
],
|
|
[
|
|
15007,
|
|
0,
|
|
10
|
|
],
|
|
[
|
|
15051,
|
|
1,
|
|
17
|
|
],
|
|
[
|
|
15085,
|
|
1,
|
|
10
|
|
],
|
|
[
|
|
15094,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
15187,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
15196,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
15236,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
15289,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
15314,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
15364,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
15389,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
15428,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
15442,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
15614,
|
|
0,
|
|
21
|
|
],
|
|
[
|
|
15704,
|
|
1,
|
|
21
|
|
],
|
|
[
|
|
15855,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
15950,
|
|
0,
|
|
9
|
|
],
|
|
[
|
|
15959,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
16043,
|
|
1,
|
|
9
|
|
],
|
|
[
|
|
16063,
|
|
0,
|
|
24
|
|
],
|
|
[
|
|
16146,
|
|
1,
|
|
24
|
|
],
|
|
[
|
|
16201,
|
|
0,
|
|
17
|
|
],
|
|
[
|
|
16258,
|
|
0,
|
|
6
|
|
],
|
|
[
|
|
16299,
|
|
1,
|
|
17
|
|
],
|
|
[
|
|
16356,
|
|
1,
|
|
6
|
|
],
|
|
[
|
|
16431,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
16476,
|
|
0,
|
|
12
|
|
],
|
|
[
|
|
16509,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
16530,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
16578,
|
|
1,
|
|
12
|
|
],
|
|
[
|
|
16627,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
16660,
|
|
0,
|
|
17
|
|
],
|
|
[
|
|
16757,
|
|
1,
|
|
17
|
|
],
|
|
[
|
|
16768,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
16829,
|
|
0,
|
|
15
|
|
],
|
|
[
|
|
16853,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
16913,
|
|
1,
|
|
15
|
|
],
|
|
[
|
|
16956,
|
|
0,
|
|
12
|
|
],
|
|
[
|
|
17012,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
17053,
|
|
1,
|
|
12
|
|
],
|
|
[
|
|
17090,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
17151,
|
|
0,
|
|
28
|
|
],
|
|
[
|
|
17205,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
17216,
|
|
1,
|
|
28
|
|
],
|
|
[
|
|
17307,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
17330,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
17425,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
17438,
|
|
0,
|
|
9
|
|
],
|
|
[
|
|
17494,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
17521,
|
|
1,
|
|
9
|
|
],
|
|
[
|
|
17576,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
17587,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
17600,
|
|
0,
|
|
11
|
|
],
|
|
[
|
|
17655,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
17671,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
17728,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
17738,
|
|
1,
|
|
11
|
|
],
|
|
[
|
|
17768,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
17779,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
17910,
|
|
0,
|
|
225
|
|
],
|
|
[
|
|
18005,
|
|
0,
|
|
5
|
|
],
|
|
[
|
|
18090,
|
|
1,
|
|
5
|
|
],
|
|
[
|
|
18165,
|
|
0,
|
|
15
|
|
],
|
|
[
|
|
18235,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
18261,
|
|
1,
|
|
15
|
|
],
|
|
[
|
|
18279,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
18325,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
18426,
|
|
1,
|
|
225
|
|
],
|
|
[
|
|
18446,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
20235,
|
|
0,
|
|
14
|
|
],
|
|
[
|
|
20302,
|
|
0,
|
|
8
|
|
],
|
|
[
|
|
20327,
|
|
1,
|
|
14
|
|
],
|
|
[
|
|
20424,
|
|
1,
|
|
8
|
|
],
|
|
[
|
|
20433,
|
|
0,
|
|
28
|
|
],
|
|
[
|
|
20527,
|
|
1,
|
|
28
|
|
],
|
|
[
|
|
20602,
|
|
0,
|
|
5
|
|
],
|
|
[
|
|
20685,
|
|
1,
|
|
5
|
|
],
|
|
[
|
|
20764,
|
|
0,
|
|
19
|
|
],
|
|
[
|
|
20808,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
20839,
|
|
1,
|
|
19
|
|
],
|
|
[
|
|
20850,
|
|
0,
|
|
21
|
|
],
|
|
[
|
|
20926,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
20936,
|
|
1,
|
|
21
|
|
],
|
|
[
|
|
21010,
|
|
0,
|
|
7
|
|
],
|
|
[
|
|
21097,
|
|
1,
|
|
7
|
|
],
|
|
[
|
|
21205,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
21272,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
21334,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
21412,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
21455,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
21527,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
21569,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
21652,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
21708,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
21813,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
21966,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
22048,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
22063,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
22087,
|
|
0,
|
|
21
|
|
],
|
|
[
|
|
22140,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
22179,
|
|
1,
|
|
21
|
|
],
|
|
[
|
|
22248,
|
|
0,
|
|
7
|
|
],
|
|
[
|
|
22353,
|
|
1,
|
|
7
|
|
],
|
|
[
|
|
22364,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
22509,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
22767,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
22834,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
22888,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
22967,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
23003,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
23085,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
23146,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
23214,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
23278,
|
|
0,
|
|
42
|
|
],
|
|
[
|
|
23361,
|
|
1,
|
|
42
|
|
],
|
|
[
|
|
23569,
|
|
0,
|
|
5
|
|
],
|
|
[
|
|
23656,
|
|
1,
|
|
5
|
|
],
|
|
[
|
|
23824,
|
|
0,
|
|
18
|
|
],
|
|
[
|
|
23939,
|
|
1,
|
|
18
|
|
],
|
|
[
|
|
23991,
|
|
0,
|
|
4
|
|
],
|
|
[
|
|
24048,
|
|
0,
|
|
21
|
|
],
|
|
[
|
|
24126,
|
|
1,
|
|
4
|
|
],
|
|
[
|
|
24155,
|
|
1,
|
|
21
|
|
],
|
|
[
|
|
24225,
|
|
0,
|
|
7
|
|
],
|
|
[
|
|
24302,
|
|
0,
|
|
44
|
|
],
|
|
[
|
|
24318,
|
|
1,
|
|
7
|
|
],
|
|
[
|
|
24432,
|
|
1,
|
|
44
|
|
],
|
|
[
|
|
25567,
|
|
0,
|
|
12
|
|
],
|
|
[
|
|
25684,
|
|
1,
|
|
12
|
|
],
|
|
[
|
|
25743,
|
|
0,
|
|
17
|
|
],
|
|
[
|
|
25835,
|
|
1,
|
|
17
|
|
],
|
|
[
|
|
25912,
|
|
0,
|
|
19
|
|
],
|
|
[
|
|
25992,
|
|
1,
|
|
19
|
|
],
|
|
[
|
|
26046,
|
|
0,
|
|
24
|
|
],
|
|
[
|
|
26137,
|
|
0,
|
|
23
|
|
],
|
|
[
|
|
26158,
|
|
1,
|
|
24
|
|
],
|
|
[
|
|
26263,
|
|
1,
|
|
23
|
|
],
|
|
[
|
|
26864,
|
|
0,
|
|
55
|
|
],
|
|
[
|
|
26970,
|
|
1,
|
|
55
|
|
],
|
|
[
|
|
27034,
|
|
0,
|
|
55
|
|
],
|
|
[
|
|
27096,
|
|
1,
|
|
55
|
|
],
|
|
[
|
|
27141,
|
|
0,
|
|
55
|
|
],
|
|
[
|
|
27228,
|
|
1,
|
|
55
|
|
],
|
|
[
|
|
27331,
|
|
0,
|
|
40
|
|
],
|
|
[
|
|
27409,
|
|
1,
|
|
40
|
|
]
|
|
],
|
|
"name": ""
|
|
},
|
|
"flipped": false
|
|
}
|
|
],
|
|
"connections": [
|
|
{
|
|
"from": "ac45fd48",
|
|
"from_port": "out",
|
|
"to": "53a6df6b",
|
|
"to_port": "in"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |