From e8164ef180d2ec11557ffb9254c33ae893a05051 Mon Sep 17 00:00:00 2001 From: peteGSX <97784652+peteGSX@users.noreply.github.com> Date: Sun, 2 Feb 2025 22:25:46 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20DCC-EX/C?= =?UTF-8?q?ommandStation-EX@338b918d57435e3565239563100c9570f209bf2d=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXRAIL2MacroReset_8h.html | 5699 ++++++++++++++++++++++++++++++ EXRAIL2MacroReset_8h_source.html | 459 +++ bc_s.png | Bin 0 -> 676 bytes bc_sd.png | Bin 0 -> 635 bytes closed.png | Bin 0 -> 132 bytes doc.svg | 12 + docd.svg | 12 + doxygen.css | 2045 +++++++++++ doxygen.svg | 28 + dynsections.js | 192 + files.html | 87 + folderclosed.svg | 11 + folderclosedd.svg | 11 + folderopen.svg | 17 + folderopend.svg | 12 + globals.html | 338 ++ globals_defs.html | 338 ++ index.html | 92 +- jquery.js | 34 + menu.js | 136 + menudata.js | 77 + minus.svg | 8 + minusd.svg | 8 + nav_f.png | Bin 0 -> 153 bytes nav_fd.png | Bin 0 -> 169 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes nav_hd.png | Bin 0 -> 114 bytes open.png | Bin 0 -> 123 bytes plus.svg | 9 + plusd.svg | 9 + search/all_0.js | 19 + search/all_1.js | 5 + search/all_10.js | 20 + search/all_11.js | 30 + search/all_12.js | 8 + search/all_13.js | 5 + search/all_14.js | 5 + search/all_15.js | 6 + search/all_16.js | 8 + search/all_2.js | 8 + search/all_3.js | 13 + search/all_4.js | 12 + search/all_5.js | 11 + search/all_6.js | 4 + search/all_7.js | 5 + search/all_8.js | 20 + search/all_9.js | 5 + search/all_a.js | 4 + search/all_b.js | 9 + search/all_c.js | 5 + search/all_d.js | 5 + search/all_e.js | 23 + search/all_f.js | 11 + search/close.svg | 18 + search/defines_0.js | 19 + search/defines_1.js | 5 + search/defines_10.js | 19 + search/defines_11.js | 30 + search/defines_12.js | 8 + search/defines_13.js | 5 + search/defines_14.js | 5 + search/defines_15.js | 6 + search/defines_16.js | 8 + search/defines_2.js | 8 + search/defines_3.js | 13 + search/defines_4.js | 10 + search/defines_5.js | 11 + search/defines_6.js | 4 + search/defines_7.js | 5 + search/defines_8.js | 19 + search/defines_9.js | 5 + search/defines_a.js | 4 + search/defines_b.js | 8 + search/defines_c.js | 5 + search/defines_d.js | 5 + search/defines_e.js | 23 + search/defines_f.js | 11 + search/files_0.js | 4 + search/mag.svg | 24 + search/mag_d.svg | 24 + search/mag_sel.svg | 31 + search/mag_seld.svg | 31 + search/pages_0.js | 4 + search/pages_1.js | 4 + search/pages_2.js | 4 + search/search.css | 291 ++ search/search.js | 840 +++++ search/searchdata.js | 24 + splitbar.png | Bin 0 -> 314 bytes splitbard.png | Bin 0 -> 282 bytes sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_ad.png | Bin 0 -> 135 bytes tab_b.png | Bin 0 -> 169 bytes tab_bd.png | Bin 0 -> 173 bytes tab_h.png | Bin 0 -> 177 bytes tab_hd.png | Bin 0 -> 180 bytes tab_s.png | Bin 0 -> 184 bytes tab_sd.png | Bin 0 -> 188 bytes tabs.css | 1 + 102 files changed, 11410 insertions(+), 1 deletion(-) create mode 100644 EXRAIL2MacroReset_8h.html create mode 100644 EXRAIL2MacroReset_8h_source.html create mode 100644 bc_s.png create mode 100644 bc_sd.png create mode 100644 closed.png create mode 100644 doc.svg create mode 100644 docd.svg create mode 100644 doxygen.css create mode 100644 doxygen.svg create mode 100644 dynsections.js create mode 100644 files.html create mode 100644 folderclosed.svg create mode 100644 folderclosedd.svg create mode 100644 folderopen.svg create mode 100644 folderopend.svg create mode 100644 globals.html create mode 100644 globals_defs.html create mode 100644 jquery.js create mode 100644 menu.js create mode 100644 menudata.js create mode 100644 minus.svg create mode 100644 minusd.svg create mode 100644 nav_f.png create mode 100644 nav_fd.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 nav_hd.png create mode 100644 open.png create mode 100644 plus.svg create mode 100644 plusd.svg create mode 100644 search/all_0.js create mode 100644 search/all_1.js create mode 100644 search/all_10.js create mode 100644 search/all_11.js create mode 100644 search/all_12.js create mode 100644 search/all_13.js create mode 100644 search/all_14.js create mode 100644 search/all_15.js create mode 100644 search/all_16.js create mode 100644 search/all_2.js create mode 100644 search/all_3.js create mode 100644 search/all_4.js create mode 100644 search/all_5.js create mode 100644 search/all_6.js create mode 100644 search/all_7.js create mode 100644 search/all_8.js create mode 100644 search/all_9.js create mode 100644 search/all_a.js create mode 100644 search/all_b.js create mode 100644 search/all_c.js create mode 100644 search/all_d.js create mode 100644 search/all_e.js create mode 100644 search/all_f.js create mode 100644 search/close.svg create mode 100644 search/defines_0.js create mode 100644 search/defines_1.js create mode 100644 search/defines_10.js create mode 100644 search/defines_11.js create mode 100644 search/defines_12.js create mode 100644 search/defines_13.js create mode 100644 search/defines_14.js create mode 100644 search/defines_15.js create mode 100644 search/defines_16.js create mode 100644 search/defines_2.js create mode 100644 search/defines_3.js create mode 100644 search/defines_4.js create mode 100644 search/defines_5.js create mode 100644 search/defines_6.js create mode 100644 search/defines_7.js create mode 100644 search/defines_8.js create mode 100644 search/defines_9.js create mode 100644 search/defines_a.js create mode 100644 search/defines_b.js create mode 100644 search/defines_c.js create mode 100644 search/defines_d.js create mode 100644 search/defines_e.js create mode 100644 search/defines_f.js create mode 100644 search/files_0.js create mode 100644 search/mag.svg create mode 100644 search/mag_d.svg create mode 100644 search/mag_sel.svg create mode 100644 search/mag_seld.svg create mode 100644 search/pages_0.js create mode 100644 search/pages_1.js create mode 100644 search/pages_2.js create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/searchdata.js create mode 100644 splitbar.png create mode 100644 splitbard.png create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_ad.png create mode 100644 tab_b.png create mode 100644 tab_bd.png create mode 100644 tab_h.png create mode 100644 tab_hd.png create mode 100644 tab_s.png create mode 100644 tab_sd.png create mode 100644 tabs.css diff --git a/EXRAIL2MacroReset_8h.html b/EXRAIL2MacroReset_8h.html new file mode 100644 index 0000000..ec3b75b --- /dev/null +++ b/EXRAIL2MacroReset_8h.html @@ -0,0 +1,5699 @@ + + + + + + + +EX-CommandStation EXRAIL Documentation: /home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
EX-CommandStation EXRAIL Documentation +
+
EXRAIL Language
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
+Macros
+
/home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define ACTIVATE(addr, subaddr)
 Send DCC Accessory Activate packet (gate on then off)
 
#define ACTIVATEL(longaddr)
 Send DCC Accessory Activate packet (gate on then off)
 
#define AFTER(sensor_id, timer...)
 Wait for sensor activated, then decativated for given time.
 
#define AFTEROVERLOAD(track_id)
 Wait for overload to be resolved.
 
#define ALIAS(name, value...)
 defines a named numeric value.
 
#define AMBER(signal_id)
 Sets a signal to amber state.
 
#define ANOUT(vpin, value, param1, param2)
 Writes to the HAL analog output interface of a device driver. Values and meanings of extra parameters depend on driver.
 
#define AT(sensor_id)
 wait intil a sensor becomes active
 
#define ASPECT(address, value)
 Sends a DCC aspect value to an accessory address. May also change status of a signal defined using this aspect.
 
#define ATGTE(sensor_id, value)
 Wait for analog sensor to be greater than given value.
 
#define ATLT(sensor_id, value)
 Wait for analog sensor value to be less than given value.
 
#define ATTIMEOUT(sensor_id, timeout_ms)
 Wait for sensor active, with timeout. Use IFTIMEOUT to determine whether the AT was satisfied.
 
#define AUTOMATION(id, description)
 Defies starting point of a sequence that will be shown as an Automation by the throttles. Automations are started by the throttle handing over a loco id to be driven.
 
#define AUTOSTART
 A new task will be created starting from this point at Command Station startup
+
 
#define BLINK(vpin, onDuty, offDuty)
 Starts a blinking process for a vpin (typically a LED) Stop blink with SET or RESET.
 
#define BROADCAST(msg)
 Send raw message text to all throttles using the DCC-EX protocol.
 
#define CALL(route)
 transfer control to another sequence with expectation to return
 
#define CLEAR_STASH(id)
 Clears loco stash value
+
 
#define CLEAR_ALL_STASH(id)
 ???????????????????????????????????????
 
#define CLOSE(id)
 Close turnout by id.
 
#define CONFIGURE_SERVO(vpin, pos1, pos2, profile)
 setup servo movement parameters for non-turnout
 
#define DCC_SIGNAL(id, add, subaddr)
 Define a DCC accessory signal with short address.
 
#define DCCX_SIGNAL(id, redAspect, amberAspect, greenAspect)
 DEfine advanced DCC accessory signal with aspects.
 
#define DCC_TURNTABLE(id, home, description...)
 ??????????????????????????????????
 
#define DEACTIVATE(addr, subaddr)
 Sends DCC Deactivate packet (gate on, gate off) to short address.
 
#define DEACTIVATEL(addr)
 Sends DCC Deactivate packet (gate on, gate off) to long address.
 
#define DELAY(mindelay)
 Waits for given milliseconds delay (This is not blocking)
 
#define DELAYMINS(mindelay)
 Waits for given minutes delay (This is not blocking)
 
#define DELAYRANDOM(mindelay, maxdelay)
 Waits for random delay between min and max milliseconds (This is not blocking)
 
#define DONE
 Stops task loco (if any) and terminates current task.
 
#define DRIVE(analogpin)
 RESERVED do not use.
 
#define ELSE
 introduces alternate processing path after any kind of IF
 
#define ENDEXRAIL
 Obsolete, has no effect.
 
#define ENDIF
 determines end of IF(any type) block. IF something ENDIF, or
+ IF something ELSE something ENDIF
+
 
#define ENDTASK
 same as DONE
 
#define ESTOP
 Performs emergency stop on current task loco.
 
#define EXRAIL
 OBSOLETE ignored.
 
#define EXTT_TURNTABLE(id, vpin, home, description...)
 ??????????????????????
 
#define FADE(pin, value, ms)
 Modifies analog value slowly taking a given time.
 
#define FOFF(func)
 Turns off loco function for current loco.
 
#define FOLLOW(route)
 Task processing follows given route or sequence (Effectively a GoTo)
 
#define FON(func)
 Turn on current loc finction.
 
#define FORGET
 Removes current loco from task and DCC reminders table.
 
#define FREE(blockid)
 Frees logical token for given block.
 
#define FTOGGLE(func)
 Toggles function for current loco.
 
#define FWD(speed)
 Instructs current loco to set DCC speed.
 
#define GREEN(signal_id)
 Sets signal to green state.
 
#define HAL(haltype, params...)
 Defines VPIN mapping for specific hardware drivers.
 
#define HAL_IGNORE_DEFAULTS
 System will ignore default HAL settings.
 
#define IF(sensor_id)
 Checks sensor state, If false jumps to matching nested ELSE or ENDIF.
 
#define IFAMBER(signal_id)
 Checks if signal is in AMBER state.
 
#define IFCLOSED(turnout_id)
 Checks if given turnout is in close state.
 
#define IFGREEN(signal_id)
 Checks if given signal is in GREEN state.
 
#define IFGTE(sensor_id, value)
 Checks if analog sensor >= value.
 
#define IFLOCO(loco_id)
 Checks if current task loco = loco_id.
 
#define IFLT(sensor_id, value)
 Checks if analog sensor < value.
 
#define IFNOT(sensor_id)
 Inverse of IF.
 
#define IFRANDOM(percent)
 randomly satisfield IF at given percent probability
 
#define IFRED(signal_id)
 Checks if given signal is in RED state.
 
#define IFTHROWN(turnout_id)
 Checks if given turnout is in THROWN state.
 
#define IFRESERVE(block)
 Agttempts to reserve block token and if satisfiled the block remains reserved.
 
#define IFTIMEOUT
 Checks TIMEOUT state after an AT/AFTER request with timeout value.
 
#define IFTTPOSITION(turntable_id, position)
 Checks if GTurntable is in given position.
 
#define IFRE(sensor_id, value)
 ????????????????????????????????????????
 
#define INVERT_DIRECTION
 Marks current task so that FWD and REV commands are inverted.
 
#define JMRI_SENSOR(vpin, count...)
 DEfines multiple JMRI type sensor feedback definitions each with id matching vpin.
 
#define JOIN
 Switches PROG track to receive MAIN track DCC packets. (Drive on PROG track)
 
#define KILLALL
 Tertminates all running EXRAIL tasks.
 
#define LATCH(sensor_id)
 Make all AT/AFTER/IF see sensor active without checking hardware.
 
#define LCC(eventid)
 Issue event to LCC.
 
#define LCCX(senderid, eventid)
 Issue LCC event while impersonating another sender.
 
#define LCD(row, msg)
 Write message on row of default configured LCD/OLED.
 
#define SCREEN(display, row, msg)
 Send message to external display hadlers.
 
#define LCN(msg)
 ??????
 
#define MESSAGE(msg)
 Send a human readable message to all throttle users.
 
#define MOVETT(id, steps, activity)
 ???????????????????
 
#define NEOPIXEL(id, r, g, b, count...)
 Set a NEOPIXEL vpin to a given red/green/blue colour.
 
#define NEOPIXEL_SIGNAL(sigid, redcolour, ambercolour, greencolour)
 Define a signal that uses a single multi colour pixel.
 
#define ACON(eventid)
 Send MERG CBUS ACON to Adapter.
 
#define ACOF(eventid)
 Send MERG CBUS ACOF to Adapter.
 
#define ONACON(eventid)
 Start task here when ACON for event receied from MERG CBUS.
 
#define ONACOF(eventid)
 Start task here when ACOF for event receied from MERG CBUS.
 
#define ONACTIVATE(addr, subaddr)
 Start task here when DCC Activate sent for short address.
 
#define ONACTIVATEL(linear)
 Start task here when DCC Activate sent for long address.
 
#define ONAMBER(signal_id)
 Start task here when signal set to AMBER state.
 
#define ONTIME(value)
 Start task here when fastclock mins in day=value.
 
#define ONCLOCKTIME(hours, mins)
 Start task here when fastclock matches time.
 
#define ONCLOCKMINS(mins)
 Start task here hourly when fastclock minutes matches.
 
#define ONOVERLOAD(track_id)
 Start task here when given track goes into overload.
 
#define ONDEACTIVATE(addr, subaddr)
 Start task here when DCC deactivate packet sent.
 
#define ONDEACTIVATEL(linear)
 Start task here when DCC deactivate sent to linear address.
 
#define ONCLOSE(turnout_id)
 Start task here when turnout closed.
 
#define ONLCC(sender, event)
 ??????????????????
 
#define ONGREEN(signal_id)
 Start task here when signal set to GREEN state.
 
#define ONRED(signal_id)
 Start task here when signal set to RED state.
 
#define ONROTATE(turntable_id)
 Start task here when turntable is rotated.
 
#define ONTHROW(turnout_id)
 Start task here when turnout is Thrown.
 
#define ONCHANGE(sensor_id)
 ???????????????????
 
#define ONSENSOR(sensor_id)
 Start task here when sensor changes state (debounced)
 
#define ONBUTTON(sensor_id)
 Start task here when sensor changes HIGH to LOW.
 
#define PAUSE
 Pauses all EXRAIL tasks except the curremnt one. Other tasks ESTOP their locos until RESUME issued.
 
#define PIN_TURNOUT(id, pin, description...)
 Defines a tirnout which operates on a signle pin.
 
#define PRINT(msg)
 prints diagnostic message on USB serial
 
#define PARSE(msg)
 Executes <> command as if entered from serial.
 
#define PICKUP_STASH(id)
 Loads stashed value into current task loco.
 
#define POM(cv, value)
 Write value to cv on current tasks loco (Program on Main)
 
#define POWEROFF
 Powers off all tracks.
 
#define POWERON
 Powers ON all tracks.
 
#define READ_LOCO
 Reads loco Id from prog traqck and sets currenmt task loco id.
 
#define RED(signal_id)
 sets signal to RED state
 
#define RESERVE(blockid)
 Waits for token for block. If not available immediately, current task loco is stopped.
 
#define RESET(pin, count...)
 Sets output puin LOW.
 
#define RESUME
 Resumes PAUSEd tasks.
 
#define RETURN
 Returns to CALL.
 
#define REV(speed)
 Issues DCC speed packet for current loco in reverse.
 
#define ROTATE(turntable_id, position, activity)
 ????
 
#define ROTATE_DCC(turntable_id, position)
 ????
 
#define ROSTER(cab, name, funcmap...)
 Describes a loco roster entry visible to throttles.
 
#define ROUTE(id, description)
 DEfines starting point of a sequence that will appear as a route on throttle buttons.
 
#define ROUTE_ACTIVE(id)
 Tells throttle to display the route button as active.
 
#define ROUTE_INACTIVE(id)
 Tells throttle to display the route button as inactive.
 
#define ROUTE_HIDDEN(id)
 Tells throttle to hide the route button.
 
#define ROUTE_DISABLED(id)
 Tells throttle to display the route button as disabled.
 
#define ROUTE_CAPTION(id, caption)
 Tells throttle to change thr route button caption.
 
#define SENDLOCO(cab, route)
 Start a new task to drive the loco.
 
#define SEQUENCE(id)
 Provides a unique label than can be used to call, follow or start.
 
#define SERIAL(msg)
 Write direct to Serial output.
 
#define SERIAL1(msg)
 Write direct to Serial1 output.
 
#define SERIAL2(msg)
 Write direct to Serial2 output.
 
#define SERIAL3(msg)
 Write direct to Serial3 output.
 
#define SERIAL4(msg)
 Write direct to Serial4 output.
 
#define SERIAL5(msg)
 Write direct to Serial5 output.
 
#define SERIAL6(msg)
 Write direct to Serial6 output.
 
#define SERVO(id, position, profile)
 Move servo to given position.
 
#define SERVO2(id, position, duration)
 Move servo to given position taking time.
 
#define SERVO_SIGNAL(vpin, redpos, amberpos, greenpos)
 Dedfine a servo based signal with 3 servo positions.
 
#define SERVO_TURNOUT(id, pin, activeAngle, inactiveAngle, profile, description...)
 Define a servo driven turnout.
 
#define SET(pin, count...)
 Set VPIN HIGH
+
 
#define SET_TRACK(track, mode)
 Set output track type.
 
#define SET_POWER(track, onoff)
 Set track power mode.
 
#define SETLOCO(loco)
 Sets the loco being handled by the current task.
 
#define SETFREQ(freq)
 Sets the DC track PWM frequency.
 
#define SIGNAL(redpin, amberpin, greenpin)
 Define a Signal with LOW=on leds (is that common annode???)
 
#define SIGNALH(redpin, amberpin, greenpin)
 define a signal with HIGH=ON leds
 
#define SPEED(speed)
 Changes current tasks loco speed without changing direction.
 
#define START(route)
 Starts a new task at the given route/animation/sequence.
 
#define STASH(id)
 saves cuttent tasks loco id in the stash array
 
#define STEALTH(code...)
 Allows for embedding raw C++ code in context of current task.
 
#define STEALTH_GLOBAL(code...)
 Allows for embedding raw c++ code out of context.
 
#define STOP
 Same as SPEED(0)
 
#define THROW(id)
 Throws given turnout.
 
#define TOGGLE_TURNOUT(id)
 Toggles given turnout.
 
#define TT_ADDPOSITION(turntable_id, position, value, angle, description...)
 Defines a turntable track position.
 
#define TURNOUT(id, addr, subaddr, description...)
 Defines a DCC accessory turnout with legacy address.
 
#define TURNOUTL(id, addr, description...)
 Defines a DCC accessory turnout with inear address.
 
#define UNJOIN
 Disconnects PROG track from MAIN.
 
#define UNLATCH(sensor_id)
 removes latched on flag
 
#define VIRTUAL_SIGNAL(id)
 Defines a virtual (no hardware) signal.
 
#define VIRTUAL_TURNOUT(id, description...)
 Defines a virtual (no hardware) turnout.
 
#define WAITFOR(pin)
 ???????????????????
 
#define WAITFORTT(turntable_id)
 
#define WITHROTTLE(msg)
 Broadcasts a string in Withrottle protocol format to all throttles using this protocol.
 
#define XFOFF(cab, func)
 Turns function off for given loco.
 
#define XFON(cab, func)
 Turns function ON for given loco.
 
#define XFTOGGLE(cab, func)
 Toggles function state for given loco.
 
#define XFWD(cab, speed)
 Sends DCC speed to loco in forward direction.
 
#define XREV(cab, speed)
 Sends DCC speed to loco in reverse direction.
 
+

Macro Definition Documentation

+ +

◆ ACOF

+ +
+
+ + + + + + + + +
#define ACOF( eventid)
+
+ +

Send MERG CBUS ACOF to Adapter.

+
Parameters
+ + +
eventid
+
+
+ +
+
+ +

◆ ACON

+ +
+
+ + + + + + + + +
#define ACON( eventid)
+
+ +

Send MERG CBUS ACON to Adapter.

+
Parameters
+ + +
eventid
+
+
+ +
+
+ +

◆ ACTIVATE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ACTIVATE( addr,
 subaddr 
)
+
+ +

Send DCC Accessory Activate packet (gate on then off)

+
Parameters
+ + + +
addr
subaddr
+
+
+ +
+
+ +

◆ ACTIVATEL

+ +
+
+ + + + + + + + +
#define ACTIVATEL( longaddr)
+
+ +

Send DCC Accessory Activate packet (gate on then off)

+
Parameters
+ + +
longaddr
+
+
+ +
+
+ +

◆ AFTER

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define AFTER( sensor_id,
 timer... 
)
+
+ +

Wait for sensor activated, then decativated for given time.

+
Parameters
+ + + +
sensor_id
timer...optional wait in mS, default 500
+
+
+ +
+
+ +

◆ AFTEROVERLOAD

+ +
+
+ + + + + + + + +
#define AFTEROVERLOAD( track_id)
+
+ +

Wait for overload to be resolved.

+
Parameters
+ + +
track_idA..H
+
+
+ +
+
+ +

◆ ALIAS

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ALIAS( name,
 value... 
)
+
+ +

defines a named numeric value.

+
Parameters
+ + + +
name
value...if omitted, a large negative value is created automatically
+
+
+ +
+
+ +

◆ AMBER

+ +
+
+ + + + + + + + +
#define AMBER( signal_id)
+
+ +

Sets a signal to amber state.

+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ ANOUT

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define ANOUT( vpin,
 value,
 param1,
 param2 
)
+
+ +

Writes to the HAL analog output interface of a device driver. Values and meanings of extra parameters depend on driver.

+
Parameters
+ + + + + +
vpinVirtual pin number of device
valuebasic analog value
param1device dependent
param2device dependent
+
+
+ +
+
+ +

◆ ASPECT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ASPECT( address,
 value 
)
+
+ +

Sends a DCC aspect value to an accessory address. May also change status of a signal defined using this aspect.

+
Parameters
+ + + +
address
value
+
+
+ +
+
+ +

◆ AT

+ +
+
+ + + + + + + + +
#define AT( sensor_id)
+
+ +

wait intil a sensor becomes active

+
Parameters
+ + +
sensor_idUse negative value for sensors that are HIGH when activated
+
+
+ +
+
+ +

◆ ATGTE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ATGTE( sensor_id,
 value 
)
+
+ +

Wait for analog sensor to be greater than given value.

+
Parameters
+ + + +
sensor_id
value
+
+
+ +
+
+ +

◆ ATLT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ATLT( sensor_id,
 value 
)
+
+ +

Wait for analog sensor value to be less than given value.

+
Parameters
+ + + +
sensor_id
value
+
+
+ +
+
+ +

◆ ATTIMEOUT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ATTIMEOUT( sensor_id,
 timeout_ms 
)
+
+ +

Wait for sensor active, with timeout. Use IFTIMEOUT to determine whether the AT was satisfied.

+
See also
IFTIMEOUT
+
+
Parameters
+ + + +
sensor_id
timeout_ms
+
+
+ +
+
+ +

◆ AUTOMATION

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define AUTOMATION( id,
 description 
)
+
+ +

Defies starting point of a sequence that will be shown as an Automation by the throttles. Automations are started by the throttle handing over a loco id to be driven.

+
Parameters
+ + + +
idUnique sequence/route/automation id
description(Quoted text) will be shown on throttle button
+
+
+ +
+
+ +

◆ AUTOSTART

+ +
+
+ + + + +
#define AUTOSTART
+
+ +

A new task will be created starting from this point at Command Station startup
+

+ +
+
+ +

◆ BLINK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define BLINK( vpin,
 onDuty,
 offDuty 
)
+
+ +

Starts a blinking process for a vpin (typically a LED) Stop blink with SET or RESET.

+
Parameters
+ + + + +
vpin
onDutyMilliseconds with LED ON
offDutyMilliseconds with LED off
+
+
+ +
+
+ +

◆ BROADCAST

+ +
+
+ + + + + + + + +
#define BROADCAST( msg)
+
+ +

Send raw message text to all throttles using the DCC-EX protocol.

+
See also
WITHROTTLE
+
Parameters
+ + +
msgQuoted message
+
+
+
+ +
+
+ +

◆ CALL

+ +
+
+ + + + + + + + +
#define CALL( route)
+
+ +

transfer control to another sequence with expectation to return

+
See also
RETURN
+
Parameters
+ + +
routeSequence id, sequence must terminate of RETURN
+
+
+ +
+
+ +

◆ CLEAR_ALL_STASH

+ +
+
+ + + + + + + + +
#define CLEAR_ALL_STASH( id)
+
+ +

???????????????????????????????????????

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ CLEAR_STASH

+ +
+
+ + + + + + + + +
#define CLEAR_STASH( id)
+
+ +

Clears loco stash value
+

+
Parameters
+ + +
idwhich stash to clear.
+
+
+ +
+
+ +

◆ CLOSE

+ +
+
+ + + + + + + + +
#define CLOSE( id)
+
+ +

Close turnout by id.

+
See also
THROW
+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ CONFIGURE_SERVO

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define CONFIGURE_SERVO( vpin,
 pos1,
 pos2,
 profile 
)
+
+ +

setup servo movement parameters for non-turnout

+
Parameters
+ + + + + +
vpinmust refer to a servo capable pin
pos1SET position of servo
pos2RESET position of servo
profileMovement profile (????????)
+
+
+ +
+
+ +

◆ DCC_SIGNAL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define DCC_SIGNAL( id,
 add,
 subaddr 
)
+
+ +

Define a DCC accessory signal with short address.

+
Parameters
+ + + + +
idSignal id used for all signal manipulation commands
addDCC address
subaddrDCC subaddress
+
+
+ +
+
+ +

◆ DCC_TURNTABLE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define DCC_TURNTABLE( id,
 home,
 description... 
)
+
+ +

??????????????????????????????????

+
Parameters
+ + + + +
id
home
description...
+
+
+ +
+
+ +

◆ DCCX_SIGNAL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define DCCX_SIGNAL( id,
 redAspect,
 amberAspect,
 greenAspect 
)
+
+ +

DEfine advanced DCC accessory signal with aspects.

+
Parameters
+ + + + + +
idSignal id used for all signal manipulation commands
redAspect
amberAspect
greenAspect
+
+
+ +
+
+ +

◆ DEACTIVATE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define DEACTIVATE( addr,
 subaddr 
)
+
+ +

Sends DCC Deactivate packet (gate on, gate off) to short address.

+
Parameters
+ + + +
addr
subaddr
+
+
+ +
+
+ +

◆ DEACTIVATEL

+ +
+
+ + + + + + + + +
#define DEACTIVATEL( addr)
+
+ +

Sends DCC Deactivate packet (gate on, gate off) to long address.

+
Parameters
+ + +
addr
+
+
+ +
+
+ +

◆ DELAY

+ +
+
+ + + + + + + + +
#define DELAY( mindelay)
+
+ +

Waits for given milliseconds delay (This is not blocking)

+
Parameters
+ + +
mindelaymS
+
+
+ +
+
+ +

◆ DELAYMINS

+ +
+
+ + + + + + + + +
#define DELAYMINS( mindelay)
+
+ +

Waits for given minutes delay (This is not blocking)

+
Parameters
+ + +
mindelay
+
+
+ +
+
+ +

◆ DELAYRANDOM

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define DELAYRANDOM( mindelay,
 maxdelay 
)
+
+ +

Waits for random delay between min and max milliseconds (This is not blocking)

+
Parameters
+ + + +
mindelaymS
maxdelaymS
+
+
+ +
+
+ +

◆ DONE

+ +
+
+ + + + +
#define DONE
+
+ +

Stops task loco (if any) and terminates current task.

+ +
+
+ +

◆ DRIVE

+ +
+
+ + + + + + + + +
#define DRIVE( analogpin)
+
+ +

RESERVED do not use.

+
Parameters
+ + +
analogpin
+
+
+ +
+
+ +

◆ ELSE

+ +
+
+ + + + +
#define ELSE
+
+ +

introduces alternate processing path after any kind of IF

+ +
+
+ +

◆ ENDEXRAIL

+ +
+
+ + + + +
#define ENDEXRAIL
+
+ +

Obsolete, has no effect.

+ +
+
+ +

◆ ENDIF

+ +
+
+ + + + +
#define ENDIF
+
+ +

determines end of IF(any type) block. IF something ENDIF, or
+ IF something ELSE something ENDIF
+

+ +
+
+ +

◆ ENDTASK

+ +
+
+ + + + +
#define ENDTASK
+
+ +

same as DONE

+
See also
DONE
+ +
+
+ +

◆ ESTOP

+ +
+
+ + + + +
#define ESTOP
+
+ +

Performs emergency stop on current task loco.

+ +
+
+ +

◆ EXRAIL

+ +
+
+ + + + +
#define EXRAIL
+
+ +

OBSOLETE ignored.

+ +
+
+ +

◆ EXTT_TURNTABLE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define EXTT_TURNTABLE( id,
 vpin,
 home,
 description... 
)
+
+ +

??????????????????????

+
Parameters
+ + + + + +
id
vpin
home
description...
+
+
+ +
+
+ +

◆ FADE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define FADE( pin,
 value,
 ms 
)
+
+ +

Modifies analog value slowly taking a given time.

+
Parameters
+ + + + +
pin
valuenew target value
mstime to reach value
+
+
+ +
+
+ +

◆ FOFF

+ +
+
+ + + + + + + + +
#define FOFF( func)
+
+ +

Turns off loco function for current loco.

+
See also
FON
+
Parameters
+ + +
func
+
+
+ +
+
+ +

◆ FOLLOW

+ +
+
+ + + + + + + + +
#define FOLLOW( route)
+
+ +

Task processing follows given route or sequence (Effectively a GoTo)

+
Parameters
+ + +
route
+
+
+ +
+
+ +

◆ FON

+ +
+
+ + + + + + + + +
#define FON( func)
+
+ +

Turn on current loc finction.

+
See also
FOFF
+
Parameters
+ + +
func
+
+
+ +
+
+ +

◆ FORGET

+ +
+
+ + + + +
#define FORGET
+
+ +

Removes current loco from task and DCC reminders table.

+ +
+
+ +

◆ FREE

+ +
+
+ + + + + + + + +
#define FREE( blockid)
+
+ +

Frees logical token for given block.

+
See also
RESERVE
+
Parameters
+ + +
blockid0..255
+
+
+ +
+
+ +

◆ FTOGGLE

+ +
+
+ + + + + + + + +
#define FTOGGLE( func)
+
+ +

Toggles function for current loco.

+
Parameters
+ + +
func
+
+
+ +
+
+ +

◆ FWD

+ +
+
+ + + + + + + + +
#define FWD( speed)
+
+ +

Instructs current loco to set DCC speed.

+
Parameters
+ + +
speed0..127 (1=ESTOP)
+
+
+ +
+
+ +

◆ GREEN

+ +
+
+ + + + + + + + +
#define GREEN( signal_id)
+
+ +

Sets signal to green state.

+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ HAL

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define HAL( haltype,
 params... 
)
+
+ +

Defines VPIN mapping for specific hardware drivers.

+
Parameters
+ + + +
haltypedriver name, normally device type
params...depend on driver
+
+
+ +
+
+ +

◆ HAL_IGNORE_DEFAULTS

+ +
+
+ + + + +
#define HAL_IGNORE_DEFAULTS
+
+ +

System will ignore default HAL settings.

+ +
+
+ +

◆ IF

+ +
+
+ + + + + + + + +
#define IF( sensor_id)
+
+ +

Checks sensor state, If false jumps to matching nested ELSE or ENDIF.

+
Parameters
+ + +
sensor_idVPIN of sensor. Negative VPIM will invert sensor state.
+
+
+ +
+
+ +

◆ IFAMBER

+ +
+
+ + + + + + + + +
#define IFAMBER( signal_id)
+
+ +

Checks if signal is in AMBER state.

+
See also
IF
+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ IFCLOSED

+ +
+
+ + + + + + + + +
#define IFCLOSED( turnout_id)
+
+ +

Checks if given turnout is in close state.

+
See also
IF
+
Parameters
+ + +
turnout_id
+
+
+ +
+
+ +

◆ IFGREEN

+ +
+
+ + + + + + + + +
#define IFGREEN( signal_id)
+
+ +

Checks if given signal is in GREEN state.

+
See also
IF
+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ IFGTE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define IFGTE( sensor_id,
 value 
)
+
+ +

Checks if analog sensor >= value.

+
See also
IF
+
Parameters
+ + + +
sensor_id
value
+
+
+ +
+
+ +

◆ IFLOCO

+ +
+
+ + + + + + + + +
#define IFLOCO( loco_id)
+
+ +

Checks if current task loco = loco_id.

+
See also
IF
+
Parameters
+ + +
loco_id
+
+
+ +
+
+ +

◆ IFLT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define IFLT( sensor_id,
 value 
)
+
+ +

Checks if analog sensor < value.

+
See also
IF
+
Parameters
+ + + +
sensor_id
value
+
+
+ +
+
+ +

◆ IFNOT

+ +
+
+ + + + + + + + +
#define IFNOT( sensor_id)
+
+ +

Inverse of IF.

+
See also
IF
+
Parameters
+ + +
sensor_id
+
+
+ +
+
+ +

◆ IFRANDOM

+ +
+
+ + + + + + + + +
#define IFRANDOM( percent)
+
+ +

randomly satisfield IF at given percent probability

+
See also
IF
+
Parameters
+ + +
percent
+
+
+ +
+
+ +

◆ IFRE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define IFRE( sensor_id,
 value 
)
+
+ +

????????????????????????????????????????

+
Parameters
+ + + +
sensor_id
value
+
+
+ +
+
+ +

◆ IFRED

+ +
+
+ + + + + + + + +
#define IFRED( signal_id)
+
+ +

Checks if given signal is in RED state.

+
See also
IF
+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ IFRESERVE

+ +
+
+ + + + + + + + +
#define IFRESERVE( block)
+
+ +

Agttempts to reserve block token and if satisfiled the block remains reserved.

+
See also
IF
+
Parameters
+ + +
block
+
+
+ +
+
+ +

◆ IFTHROWN

+ +
+
+ + + + + + + + +
#define IFTHROWN( turnout_id)
+
+ +

Checks if given turnout is in THROWN state.

+
See also
IF
+
Parameters
+ + +
turnout_id
+
+
+ +
+
+ +

◆ IFTIMEOUT

+ +
+
+ + + + +
#define IFTIMEOUT
+
+ +

Checks TIMEOUT state after an AT/AFTER request with timeout value.

+
See also
IF
+ +
+
+ +

◆ IFTTPOSITION

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define IFTTPOSITION( turntable_id,
 position 
)
+
+ +

Checks if GTurntable is in given position.

+
See also
IF
+
Parameters
+ + + +
turntable_id
position
+
+
+ +
+
+ +

◆ INVERT_DIRECTION

+ +
+
+ + + + +
#define INVERT_DIRECTION
+
+ +

Marks current task so that FWD and REV commands are inverted.

+ +
+
+ +

◆ JMRI_SENSOR

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JMRI_SENSOR( vpin,
 count... 
)
+
+ +

DEfines multiple JMRI type sensor feedback definitions each with id matching vpin.

+
Parameters
+ + + +
vpin
count...Number of consecutine VPINS for which to create JMRI sensor feedbacks. Default 1.
+
+
+ +
+
+ +

◆ JOIN

+ +
+
+ + + + +
#define JOIN
+
+ +

Switches PROG track to receive MAIN track DCC packets. (Drive on PROG track)

+ +
+
+ +

◆ KILLALL

+ +
+
+ + + + +
#define KILLALL
+
+ +

Tertminates all running EXRAIL tasks.

+ +
+
+ +

◆ LATCH

+ +
+
+ + + + + + + + +
#define LATCH( sensor_id)
+
+ +

Make all AT/AFTER/IF see sensor active without checking hardware.

+
Parameters
+ + +
sensor_idMust only be for VPINS 0..255
+
+
+ +
+
+ +

◆ LCC

+ +
+
+ + + + + + + + +
#define LCC( eventid)
+
+ +

Issue event to LCC.

+
Parameters
+ + +
eventid
+
+
+ +
+
+ +

◆ LCCX

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define LCCX( senderid,
 eventid 
)
+
+ +

Issue LCC event while impersonating another sender.

+
Parameters
+ + + +
senderid
eventid
+
+
+ +
+
+ +

◆ LCD

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define LCD( row,
 msg 
)
+
+ +

Write message on row of default configured LCD/OLED.

+
See also
SCREEN
+
Parameters
+ + + +
row
msgQuoted text
+
+
+ +
+
+ +

◆ LCN

+ +
+
+ + + + + + + + +
#define LCN( msg)
+
+ +

??????

+
Parameters
+ + +
msg
+
+
+ +
+
+ +

◆ MESSAGE

+ +
+
+ + + + + + + + +
#define MESSAGE( msg)
+
+ +

Send a human readable message to all throttle users.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ MOVETT

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define MOVETT( id,
 steps,
 activity 
)
+
+ +

???????????????????

+
Parameters
+ + + + +
id
steps
activity
+
+
+ +
+
+ +

◆ NEOPIXEL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define NEOPIXEL( id,
 r,
 g,
 b,
 count... 
)
+
+ +

Set a NEOPIXEL vpin to a given red/green/blue colour.

+
Parameters
+ + + + + + +
idVPIN of a pixel
rred component 0-255
ggreen component 0-255
bblue component 0-255
count...Number of consecutive pixels to set, Default 1.
+
+
+ +
+
+ +

◆ NEOPIXEL_SIGNAL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define NEOPIXEL_SIGNAL( sigid,
 redcolour,
 ambercolour,
 greencolour 
)
+
+ +

Define a signal that uses a single multi colour pixel.

+
Parameters
+ + + + + +
sigidunique signal id
redcolourRGB colour
ambercolour
greencolourUse NeoRGB(red,green,blue) to create values for redcolour etc above.
+
+
+ +
+
+ +

◆ ONACOF

+ +
+
+ + + + + + + + +
#define ONACOF( eventid)
+
+ +

Start task here when ACOF for event receied from MERG CBUS.

+
Parameters
+ + +
eventid
+
+
+ +
+
+ +

◆ ONACON

+ +
+
+ + + + + + + + +
#define ONACON( eventid)
+
+ +

Start task here when ACON for event receied from MERG CBUS.

+
Parameters
+ + +
eventid
+
+
+ +
+
+ +

◆ ONACTIVATE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONACTIVATE( addr,
 subaddr 
)
+
+ +

Start task here when DCC Activate sent for short address.

+
Parameters
+ + + +
addr
subaddr
+
+
+ +
+
+ +

◆ ONACTIVATEL

+ +
+
+ + + + + + + + +
#define ONACTIVATEL( linear)
+
+ +

Start task here when DCC Activate sent for long address.

+
Parameters
+ + +
linear
+
+
+ +
+
+ +

◆ ONAMBER

+ +
+
+ + + + + + + + +
#define ONAMBER( signal_id)
+
+ +

Start task here when signal set to AMBER state.

+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ ONBUTTON

+ +
+
+ + + + + + + + +
#define ONBUTTON( sensor_id)
+
+ +

Start task here when sensor changes HIGH to LOW.

+
Parameters
+ + +
sensor_id
+
+
+ +
+
+ +

◆ ONCHANGE

+ +
+
+ + + + + + + + +
#define ONCHANGE( sensor_id)
+
+ +

???????????????????

+
Parameters
+ + +
sensor_id
+
+
+ +
+
+ +

◆ ONCLOCKMINS

+ +
+
+ + + + + + + + +
#define ONCLOCKMINS( mins)
+
+ +

Start task here hourly when fastclock minutes matches.

+
Parameters
+ + +
mins
+
+
+ +
+
+ +

◆ ONCLOCKTIME

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONCLOCKTIME( hours,
 mins 
)
+
+ +

Start task here when fastclock matches time.

+
Parameters
+ + + +
hours
mins
+
+
+ +
+
+ +

◆ ONCLOSE

+ +
+
+ + + + + + + + +
#define ONCLOSE( turnout_id)
+
+ +

Start task here when turnout closed.

+
Parameters
+ + +
turnout_id
+
+
+ +
+
+ +

◆ ONDEACTIVATE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONDEACTIVATE( addr,
 subaddr 
)
+
+ +

Start task here when DCC deactivate packet sent.

+
Parameters
+ + + +
addr
subaddr
+
+
+ +
+
+ +

◆ ONDEACTIVATEL

+ +
+
+ + + + + + + + +
#define ONDEACTIVATEL( linear)
+
+ +

Start task here when DCC deactivate sent to linear address.

+
Parameters
+ + +
linear
+
+
+ +
+
+ +

◆ ONGREEN

+ +
+
+ + + + + + + + +
#define ONGREEN( signal_id)
+
+ +

Start task here when signal set to GREEN state.

+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ ONLCC

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ONLCC( sender,
 event 
)
+
+ +

??????????????????

+
Parameters
+ + + +
sender
event
+
+
+ +
+
+ +

◆ ONOVERLOAD

+ +
+
+ + + + + + + + +
#define ONOVERLOAD( track_id)
+
+ +

Start task here when given track goes into overload.

+
Parameters
+ + +
track_idA..H
+
+
+ +
+
+ +

◆ ONRED

+ +
+
+ + + + + + + + +
#define ONRED( signal_id)
+
+ +

Start task here when signal set to RED state.

+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ ONROTATE

+ +
+
+ + + + + + + + +
#define ONROTATE( turntable_id)
+
+ +

Start task here when turntable is rotated.

+
Parameters
+ + +
turntable_id
+
+
+ +
+
+ +

◆ ONSENSOR

+ +
+
+ + + + + + + + +
#define ONSENSOR( sensor_id)
+
+ +

Start task here when sensor changes state (debounced)

+
Parameters
+ + +
sensor_id
+
+
+ +
+
+ +

◆ ONTHROW

+ +
+
+ + + + + + + + +
#define ONTHROW( turnout_id)
+
+ +

Start task here when turnout is Thrown.

+
Parameters
+ + +
turnout_id
+
+
+ +
+
+ +

◆ ONTIME

+ +
+
+ + + + + + + + +
#define ONTIME( value)
+
+ +

Start task here when fastclock mins in day=value.

+
Parameters
+ + +
value
+
+
+ +
+
+ +

◆ PARSE

+ +
+
+ + + + + + + + +
#define PARSE( msg)
+
+ +

Executes <> command as if entered from serial.

+
Parameters
+ + +
msgQuoted text, preferably including <>
+
+
+ +
+
+ +

◆ PAUSE

+ +
+
+ + + + +
#define PAUSE
+
+ +

Pauses all EXRAIL tasks except the curremnt one. Other tasks ESTOP their locos until RESUME issued.

+ +
+
+ +

◆ PICKUP_STASH

+ +
+
+ + + + + + + + +
#define PICKUP_STASH( id)
+
+ +

Loads stashed value into current task loco.

+
Parameters
+ + +
idposition in stash where a loco id was previously saved.
+
+
+ +
+
+ +

◆ PIN_TURNOUT

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define PIN_TURNOUT( id,
 pin,
 description... 
)
+
+ +

Defines a tirnout which operates on a signle pin.

+
Parameters
+ + + + +
id
pin
description...Quoted text (shown to throttles) or HIDDEN
+
+
+ +
+
+ +

◆ POM

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define POM( cv,
 value 
)
+
+ +

Write value to cv on current tasks loco (Program on Main)

+
Parameters
+ + + +
cv
value
+
+
+ +
+
+ +

◆ POWEROFF

+ +
+
+ + + + +
#define POWEROFF
+
+ +

Powers off all tracks.

+ +
+
+ +

◆ POWERON

+ +
+
+ + + + +
#define POWERON
+
+ +

Powers ON all tracks.

+ +
+
+ +

◆ PRINT

+ +
+
+ + + + + + + + +
#define PRINT( msg)
+
+ +

prints diagnostic message on USB serial

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ READ_LOCO

+ +
+
+ + + + +
#define READ_LOCO
+
+ +

Reads loco Id from prog traqck and sets currenmt task loco id.

+ +
+
+ +

◆ RED

+ +
+
+ + + + + + + + +
#define RED( signal_id)
+
+ +

sets signal to RED state

+
Parameters
+ + +
signal_id
+
+
+ +
+
+ +

◆ RESERVE

+ +
+
+ + + + + + + + +
#define RESERVE( blockid)
+
+ +

Waits for token for block. If not available immediately, current task loco is stopped.

+
Parameters
+ + +
blockid
+
+
+ +
+
+ +

◆ RESET

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define RESET( pin,
 count... 
)
+
+ +

Sets output puin LOW.

+
Parameters
+ + + +
pin
count...Number of consecutive pins, default 1
+
+
+ +
+
+ +

◆ RESUME

+ +
+
+ + + + +
#define RESUME
+
+ +

Resumes PAUSEd tasks.

+
See also
PAUSE
+ +
+
+ +

◆ RETURN

+ +
+
+ + + + +
#define RETURN
+
+ +

Returns to CALL.

+
See also
CALL
+ +
+
+ +

◆ REV

+ +
+
+ + + + + + + + +
#define REV( speed)
+
+ +

Issues DCC speed packet for current loco in reverse.

+
See also
FWD
+
Parameters
+ + +
speed(0..127, 1=ESTOP)
+
+
+ +
+
+ +

◆ ROSTER

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define ROSTER( cab,
 name,
 funcmap... 
)
+
+ +

Describes a loco roster entry visible to throttles.

+
Parameters
+ + + + +
cabloco DCC address or 0 for default entry
nameQuoted text
funcmap...Quoted text, optional list of function names separated by / character with momentary fuinctin names prefixed with an *.
+
+
+ +
+
+ +

◆ ROTATE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define ROTATE( turntable_id,
 position,
 activity 
)
+
+ +

????

+
Parameters
+ + + + +
turntable_id
position
activity
+
+
+ +
+
+ +

◆ ROTATE_DCC

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ROTATE_DCC( turntable_id,
 position 
)
+
+ +

????

+
Parameters
+ + + +
turntable_id
position
+
+
+ +
+
+ +

◆ ROUTE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ROUTE( id,
 description 
)
+
+ +

DEfines starting point of a sequence that will appear as a route on throttle buttons.

+
Parameters
+ + + +
id
descriptionQuoted text, throttle button capotion.
+
+
+ +
+
+ +

◆ ROUTE_ACTIVE

+ +
+
+ + + + + + + + +
#define ROUTE_ACTIVE( id)
+
+ +

Tells throttle to display the route button as active.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ ROUTE_CAPTION

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ROUTE_CAPTION( id,
 caption 
)
+
+ +

Tells throttle to change thr route button caption.

+
Parameters
+ + + +
id
caption
+
+
+ +
+
+ +

◆ ROUTE_DISABLED

+ +
+
+ + + + + + + + +
#define ROUTE_DISABLED( id)
+
+ +

Tells throttle to display the route button as disabled.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ ROUTE_HIDDEN

+ +
+
+ + + + + + + + +
#define ROUTE_HIDDEN( id)
+
+ +

Tells throttle to hide the route button.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ ROUTE_INACTIVE

+ +
+
+ + + + + + + + +
#define ROUTE_INACTIVE( id)
+
+ +

Tells throttle to display the route button as inactive.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ SCREEN

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define SCREEN( display,
 row,
 msg 
)
+
+ +

Send message to external display hadlers.

+
Parameters
+ + + + +
displaynumber, 0=local display, others are handled by external displays which may have different display numbers on different devices.
row
msgQuoted text
+
+
+ +
+
+ +

◆ SENDLOCO

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define SENDLOCO( cab,
 route 
)
+
+ +

Start a new task to drive the loco.

+
Parameters
+ + + +
cabloco to be driven
routeid of route/automation or sequence to drive
+
+
+ +
+
+ +

◆ SEQUENCE

+ +
+
+ + + + + + + + +
#define SEQUENCE( id)
+
+ +

Provides a unique label than can be used to call, follow or start.

+
See also
CALL
+
+FOLLOW
+
+START
+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ SERIAL

+ +
+
+ + + + + + + + +
#define SERIAL( msg)
+
+ +

Write direct to Serial output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERIAL1

+ +
+
+ + + + + + + + +
#define SERIAL1( msg)
+
+ +

Write direct to Serial1 output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERIAL2

+ +
+
+ + + + + + + + +
#define SERIAL2( msg)
+
+ +

Write direct to Serial2 output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERIAL3

+ +
+
+ + + + + + + + +
#define SERIAL3( msg)
+
+ +

Write direct to Serial3 output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERIAL4

+ +
+
+ + + + + + + + +
#define SERIAL4( msg)
+
+ +

Write direct to Serial4 output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERIAL5

+ +
+
+ + + + + + + + +
#define SERIAL5( msg)
+
+ +

Write direct to Serial5 output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERIAL6

+ +
+
+ + + + + + + + +
#define SERIAL6( msg)
+
+ +

Write direct to Serial6 output.

+
Parameters
+ + +
msgQuoted text
+
+
+ +
+
+ +

◆ SERVO

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define SERVO( id,
 position,
 profile 
)
+
+ +

Move servo to given position.

+
Parameters
+ + + + +
idVPIN of servo
position
profile?????????? names ???????????
+
+
+ +
+
+ +

◆ SERVO2

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define SERVO2( id,
 position,
 duration 
)
+
+ +

Move servo to given position taking time.

+
Parameters
+ + + + +
id
position
durationmS
+
+
+ +
+
+ +

◆ SERVO_SIGNAL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define SERVO_SIGNAL( vpin,
 redpos,
 amberpos,
 greenpos 
)
+
+ +

Dedfine a servo based signal with 3 servo positions.

+
Parameters
+ + + + + +
vpin
redpos
amberpos
greenpos
+
+
+ +
+
+ +

◆ SERVO_TURNOUT

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define SERVO_TURNOUT( id,
 pin,
 activeAngle,
 inactiveAngle,
 profile,
 description... 
)
+
+ +

Define a servo driven turnout.

+
Parameters
+ + + + + + + +
idused by THROW/CLOSE
pinVPIN for servo
activeAngle
inactiveAngle
profile??????
description...Quoted text shown to throttles or HIDDEN keyword to hide turnout button
+
+
+ +
+
+ +

◆ SET

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define SET( pin,
 count... 
)
+
+ +

Set VPIN HIGH
+

+
Parameters
+ + + +
pin
count...Number of sequential vpins to set. Default 1.
+
+
+ +
+
+ +

◆ SET_POWER

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define SET_POWER( track,
 onoff 
)
+
+ +

Set track power mode.

+
Parameters
+ + + +
trackA..H
onoff??? values ???
+
+
+ +
+
+ +

◆ SET_TRACK

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define SET_TRACK( track,
 mode 
)
+
+ +

Set output track type.

+
Parameters
+ + + +
trackA..H
mode???names???
+
+
+ +
+
+ +

◆ SETFREQ

+ +
+
+ + + + + + + + +
#define SETFREQ( freq)
+
+ +

Sets the DC track PWM frequency.

+
Parameters
+ + +
freq??????????? values ??????
+
+
+ +
+
+ +

◆ SETLOCO

+ +
+
+ + + + + + + + +
#define SETLOCO( loco)
+
+ +

Sets the loco being handled by the current task.

+
Parameters
+ + +
loco
+
+
+ +
+
+ +

◆ SIGNAL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define SIGNAL( redpin,
 amberpin,
 greenpin 
)
+
+ +

Define a Signal with LOW=on leds (is that common annode???)

+
See also
SIGNALH
+
+
Parameters
+ + + + +
redpin
amberpin
greenpin
+
+
+ +
+
+ +

◆ SIGNALH

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define SIGNALH( redpin,
 amberpin,
 greenpin 
)
+
+ +

define a signal with HIGH=ON leds

+
Parameters
+ + + + +
redpin
amberpin
greenpin
+
+
+ +
+
+ +

◆ SPEED

+ +
+
+ + + + + + + + +
#define SPEED( speed)
+
+ +

Changes current tasks loco speed without changing direction.

+
Parameters
+ + +
speed0..127 (1=ESTOP)
+
+
+ +
+
+ +

◆ START

+ +
+
+ + + + + + + + +
#define START( route)
+
+ +

Starts a new task at the given route/animation/sequence.

+
Parameters
+ + +
route
+
+
+ +
+
+ +

◆ STASH

+ +
+
+ + + + + + + + +
#define STASH( id)
+
+ +

saves cuttent tasks loco id in the stash array

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ STEALTH

+ +
+
+ + + + + + + + +
#define STEALTH( code...)
+
+ +

Allows for embedding raw C++ code in context of current task.

+
Parameters
+ + +
code...
+
+
+ +
+
+ +

◆ STEALTH_GLOBAL

+ +
+
+ + + + + + + + +
#define STEALTH_GLOBAL( code...)
+
+ +

Allows for embedding raw c++ code out of context.

+
Parameters
+ + +
code...
+
+
+ +
+
+ +

◆ STOP

+ +
+
+ + + + +
#define STOP
+
+ +

Same as SPEED(0)

+ +
+
+ +

◆ THROW

+ +
+
+ + + + + + + + +
#define THROW( id)
+
+ +

Throws given turnout.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ TOGGLE_TURNOUT

+ +
+
+ + + + + + + + +
#define TOGGLE_TURNOUT( id)
+
+ +

Toggles given turnout.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ TT_ADDPOSITION

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define TT_ADDPOSITION( turntable_id,
 position,
 value,
 angle,
 description... 
)
+
+ +

Defines a turntable track position.

+
Parameters
+ + + + + + +
turntable_id
position??????????
value
angle
description...
+
+
+ +
+
+ +

◆ TURNOUT

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define TURNOUT( id,
 addr,
 subaddr,
 description... 
)
+
+ +

Defines a DCC accessory turnout with legacy address.

+
Parameters
+ + + + + +
id
addr
subaddr
description...Quoted text or HIDDEN, appears on throttle buttons
+
+
+ +
+
+ +

◆ TURNOUTL

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define TURNOUTL( id,
 addr,
 description... 
)
+
+ +

Defines a DCC accessory turnout with inear address.

+
Parameters
+ + +
+
+
+

param id

Parameters
+ + + +
addr
description...
+
+
+ +
+
+ +

◆ UNJOIN

+ +
+
+ + + + +
#define UNJOIN
+
+ +

Disconnects PROG track from MAIN.

+
See also
JOIN
+ +
+
+ +

◆ UNLATCH

+ +
+
+ + + + + + + + +
#define UNLATCH( sensor_id)
+
+ +

removes latched on flag

+
See also
LATCH
+
Parameters
+ + +
sensor_id
+
+
+ +
+
+ +

◆ VIRTUAL_SIGNAL

+ +
+
+ + + + + + + + +
#define VIRTUAL_SIGNAL( id)
+
+ +

Defines a virtual (no hardware) signal.

+
Parameters
+ + +
id
+
+
+ +
+
+ +

◆ VIRTUAL_TURNOUT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define VIRTUAL_TURNOUT( id,
 description... 
)
+
+ +

Defines a virtual (no hardware) turnout.

+
Parameters
+ + + +
id
description...
+
+
+ +
+
+ +

◆ WAITFOR

+ +
+
+ + + + + + + + +
#define WAITFOR( pin)
+
+ +

???????????????????

+
Parameters
+ + +
pin
+
+
+ +
+
+ +

◆ WAITFORTT

+ +
+
+ + + + + + + + +
#define WAITFORTT( turntable_id)
+
+
Parameters
+ + +
turntable_id
+
+
+ +
+
+ +

◆ WITHROTTLE

+ +
+
+ + + + + + + + +
#define WITHROTTLE( msg)
+
+ +

Broadcasts a string in Withrottle protocol format to all throttles using this protocol.

+
Parameters
+ + +
msg
+
+
+ +
+
+ +

◆ XFOFF

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define XFOFF( cab,
 func 
)
+
+ +

Turns function off for given loco.

+
Parameters
+ + + +
cab
func
+
+
+ +
+
+ +

◆ XFON

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define XFON( cab,
 func 
)
+
+ +

Turns function ON for given loco.

+
Parameters
+ + + +
cab
func
+
+
+ +
+
+ +

◆ XFTOGGLE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define XFTOGGLE( cab,
 func 
)
+
+ +

Toggles function state for given loco.

+
Parameters
+ + + +
cab
func
+
+
+ +
+
+ +

◆ XFWD

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define XFWD( cab,
 speed 
)
+
+ +

Sends DCC speed to loco in forward direction.

+
Parameters
+ + + +
cab
speed(0..127, 1=ESTOP)
+
+
+ +
+
+ +

◆ XREV

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define XREV( cab,
 speed 
)
+
+ +

Sends DCC speed to loco in reverse direction.

+
Parameters
+ + + +
cab
speed(0..127, 1=ESTOP)
+
+
+ +
+
+
+ + + + diff --git a/EXRAIL2MacroReset_8h_source.html b/EXRAIL2MacroReset_8h_source.html new file mode 100644 index 0000000..91f9336 --- /dev/null +++ b/EXRAIL2MacroReset_8h_source.html @@ -0,0 +1,459 @@ + + + + + + + +EX-CommandStation EXRAIL Documentation: /home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.h Source File + + + + + + + + + +
+
+ + + + + + +
+
EX-CommandStation EXRAIL Documentation +
+
EXRAIL Language
+
+
+ + + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
/home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.h
+
+
+Go to the documentation of this file.
1/*
+
2 * © 2020-2025 Chris Harlow. All rights reserved.
+
3 * © 2022-2023 Colin Murdoch
+
4 * © 2023 Harald Barth
+
5 * © 2025 Morten Nielsen
+
6 *
+
7 * This file is part of CommandStation-EX
+
8 *
+
9 * This is free software: you can redistribute it and/or modify
+
10 * it under the terms of the GNU General Public License as published by
+
11 * the Free Software Foundation, either version 3 of the License, or
+
12 * (at your option) any later version.
+
13 *
+
14 * It is distributed in the hope that it will be useful,
+
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
+
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+
17 * GNU General Public License for more details.
+
18 *
+
19 * You should have received a copy of the GNU General Public License
+
20 * along with CommandStation. If not, see https://www.gnu.org/licenses/.
+
21 */
+
22
+
23// This file cleans and resets the RMFT2 Macros.
+
24// It is used between passes to reduce complexity in RMFT2Macros.h
+
25// DO NOT add an include guard to this file.
+
26
+
27// Doxygen comments in this file are intended for the EXRAIL end user.
+
28
+
42// Undefine all RMFT macros
+
43#undef ACTIVATE
+
44#undef ACTIVATEL
+
45#undef AFTER
+
46#undef AFTEROVERLOAD
+
47#undef ALIAS
+
48#undef AMBER
+
49#undef ANOUT
+
50#undef ASPECT
+
51#undef AT
+
52#undef ATGTE
+
53#undef ATLT
+
54#undef ATTIMEOUT
+
55#undef AUTOMATION
+
56#undef AUTOSTART
+
57#undef BLINK
+
58#undef BROADCAST
+
59#undef CALL
+
60#undef CLEAR_STASH
+
61#undef CLEAR_ALL_STASH
+
62#undef CLOSE
+
63#undef CONFIGURE_SERVO
+
64#undef DCC_SIGNAL
+
65#undef DCCX_SIGNAL
+
66#undef DCC_TURNTABLE
+
67#undef DEACTIVATE
+
68#undef DEACTIVATEL
+
69#undef DELAY
+
70#undef DELAYMINS
+
71#undef DELAYRANDOM
+
72#undef DONE
+
73#undef DRIVE
+
74#undef ELSE
+
75#undef ENDEXRAIL
+
76#undef ENDIF
+
77#undef ENDTASK
+
78#undef ESTOP
+
79#undef EXRAIL
+
80#undef EXTT_TURNTABLE
+
81#undef FADE
+
82#undef FOFF
+
83#undef FOLLOW
+
84#undef FON
+
85#undef FORGET
+
86#undef FTOGGLE
+
87#undef FREE
+
88#undef FWD
+
89#undef GREEN
+
90#undef HAL
+
91#undef HAL_IGNORE_DEFAULTS
+
92#undef IF
+
93#undef IFAMBER
+
94#undef IFCLOSED
+
95#undef IFGREEN
+
96#undef IFGTE
+
97#undef IFLOCO
+
98#undef IFLT
+
99#undef IFNOT
+
100#undef IFRANDOM
+
101#undef IFRED
+
102#undef IFRESERVE
+
103#undef IFTHROWN
+
104#undef IFTIMEOUT
+
105#undef IFTTPOSITION
+
106#undef IFRE
+
107#undef INVERT_DIRECTION
+
108#undef JMRI_SENSOR
+
109#undef JOIN
+
110#undef KILLALL
+
111#undef LATCH
+
112#undef LCD
+
113#undef SCREEN
+
114#undef LCC
+
115#undef LCCX
+
116#undef LCN
+
117#undef MOVETT
+
118#undef NEOPIXEL
+
119#undef NEOPIXEL_OFF
+
120#undef NEOPIXEL_SIGNAL
+
121#undef ACON
+
122#undef ACOF
+
123#undef ONACON
+
124#undef ONACOF
+
125#undef MESSAGE
+
126#undef ONACTIVATE
+
127#undef ONACTIVATEL
+
128#undef ONAMBER
+
129#undef ONDEACTIVATE
+
130#undef ONDEACTIVATEL
+
131#undef ONCLOSE
+
132#undef ONLCC
+
133#undef ONTIME
+
134#undef ONCLOCKTIME
+
135#undef ONCLOCKMINS
+
136#undef ONOVERLOAD
+
137#undef ONGREEN
+
138#undef ONRED
+
139#undef ONROTATE
+
140#undef ONBUTTON
+
141#undef ONSENSOR
+
142#undef ONTHROW
+
143#undef ONCHANGE
+
144#undef PARSE
+
145#undef PAUSE
+
146#undef PICKUP_STASH
+
147#undef PIN_TURNOUT
+
148#undef PRINT
+
149#undef POM
+
150#undef POWEROFF
+
151#undef POWERON
+
152#undef READ_LOCO
+
153#undef RED
+
154#undef RESERVE
+
155#undef RESET
+
156#undef RESUME
+
157#undef RETURN
+
158#undef REV
+
159#undef ROSTER
+
160#undef ROTATE
+
161#undef ROTATE_DCC
+
162#undef ROUTE
+
163#undef ROUTE_ACTIVE
+
164#undef ROUTE_INACTIVE
+
165#undef ROUTE_HIDDEN
+
166#undef ROUTE_DISABLED
+
167#undef ROUTE_CAPTION
+
168#undef SENDLOCO
+
169#undef SEQUENCE
+
170#undef SERIAL
+
171#undef SERIAL1
+
172#undef SERIAL2
+
173#undef SERIAL3
+
174#undef SERIAL4
+
175#undef SERIAL5
+
176#undef SERIAL6
+
177#undef SERVO
+
178#undef SERVO2
+
179#undef SERVO_TURNOUT
+
180#undef SERVO_SIGNAL
+
181#undef SET
+
182#undef SET_TRACK
+
183#undef SET_POWER
+
184#undef SETLOCO
+
185#undef SETFREQ
+
186#undef SIGNAL
+
187#undef SIGNALH
+
188#undef SPEED
+
189#undef START
+
190#undef STASH
+
191#undef STEALTH
+
192#undef STEALTH_GLOBAL
+
193#undef STOP
+
194#undef THROW
+
195#undef TOGGLE_TURNOUT
+
196#undef TT_ADDPOSITION
+
197#undef TURNOUT
+
198#undef TURNOUTL
+
199#undef UNJOIN
+
200#undef UNLATCH
+
201#undef VIRTUAL_SIGNAL
+
202#undef VIRTUAL_TURNOUT
+
203#undef WAITFOR
+
204#ifndef IO_NO_HAL
+
205#undef WAITFORTT
+
206#endif
+
207#undef WITHROTTLE
+
208#undef XFOFF
+
209#undef XFON
+
210#undef XFTOGGLE
+
211#undef XREV
+
212#undef XFWD
+
213
+
214#ifndef RMFT2_UNDEF_ONLY
+
221#define ACTIVATE(addr,subaddr)
+
227#define ACTIVATEL(longaddr)
+
234#define AFTER(sensor_id,timer...)
+
240#define AFTEROVERLOAD(track_id)
+
247#define ALIAS(name,value...)
+
253#define AMBER(signal_id)
+
263#define ANOUT(vpin,value,param1,param2)
+
269#define AT(sensor_id)
+
277#define ASPECT(address,value)
+
284#define ATGTE(sensor_id,value)
+
291#define ATLT(sensor_id,value)
+
299#define ATTIMEOUT(sensor_id,timeout_ms)
+
307#define AUTOMATION(id,description)
+
312#define AUTOSTART
+
321#define BLINK(vpin,onDuty,offDuty)
+
328#define BROADCAST(msg)
+
336#define CALL(route)
+
342#define CLEAR_STASH(id)
+
348#define CLEAR_ALL_STASH(id)
+
355#define CLOSE(id)
+
364#define CONFIGURE_SERVO(vpin,pos1,pos2,profile)
+
372#define DCC_SIGNAL(id,add,subaddr)
+
381#define DCCX_SIGNAL(id,redAspect,amberAspect,greenAspect)
+
389#define DCC_TURNTABLE(id,home,description...)
+
396#define DEACTIVATE(addr,subaddr)
+
402#define DEACTIVATEL(addr)
+
408#define DELAY(mindelay)
+
414#define DELAYMINS(mindelay)
+
421#define DELAYRANDOM(mindelay,maxdelay)
+
426#define DONE
+
432#define DRIVE(analogpin)
+
437#define ELSE
+
442#define ENDEXRAIL
+
449#define ENDIF
+
455#define ENDTASK
+
460#define ESTOP
+
465#define EXRAIL
+
474#define EXTT_TURNTABLE(id,vpin,home,description...)
+
482#define FADE(pin,value,ms)
+
489#define FOFF(func)
+
495#define FOLLOW(route)
+
502#define FON(func)
+
507#define FORGET
+
514#define FREE(blockid)
+
520#define FTOGGLE(func)
+
526#define FWD(speed)
+
532#define GREEN(signal_id)
+
539#define HAL(haltype,params...)
+
544#define HAL_IGNORE_DEFAULTS
+
550#define IF(sensor_id)
+
557#define IFAMBER(signal_id)
+
564#define IFCLOSED(turnout_id)
+
571#define IFGREEN(signal_id)
+
579#define IFGTE(sensor_id,value)
+
586#define IFLOCO(loco_id)
+
594#define IFLT(sensor_id,value)
+
601#define IFNOT(sensor_id)
+
608#define IFRANDOM(percent)
+
615#define IFRED(signal_id)
+
622#define IFTHROWN(turnout_id)
+
629#define IFRESERVE(block)
+
635#define IFTIMEOUT
+
643#define IFTTPOSITION(turntable_id,position)
+
650#define IFRE(sensor_id,value)
+
655#define INVERT_DIRECTION
+
662#define JMRI_SENSOR(vpin,count...)
+
667#define JOIN
+
672#define KILLALL
+
678#define LATCH(sensor_id)
+
684#define LCC(eventid)
+
691#define LCCX(senderid,eventid)
+
699#define LCD(row,msg)
+
708#define SCREEN(display,row,msg)
+
714#define LCN(msg)
+
720#define MESSAGE(msg)
+
728#define MOVETT(id,steps,activity)
+
738#define NEOPIXEL(id,r,g,b,count...)
+
748#define NEOPIXEL_SIGNAL(sigid,redcolour,ambercolour,greencolour)
+
754#define ACON(eventid)
+
760#define ACOF(eventid)
+
766#define ONACON(eventid)
+
772#define ONACOF(eventid)
+
779#define ONACTIVATE(addr,subaddr)
+
785#define ONACTIVATEL(linear)
+
791#define ONAMBER(signal_id)
+
797#define ONTIME(value)
+
804#define ONCLOCKTIME(hours,mins)
+
810#define ONCLOCKMINS(mins)
+
816#define ONOVERLOAD(track_id)
+
823#define ONDEACTIVATE(addr,subaddr)
+
829#define ONDEACTIVATEL(linear)
+
835#define ONCLOSE(turnout_id)
+
842#define ONLCC(sender,event)
+
848#define ONGREEN(signal_id)
+
854#define ONRED(signal_id)
+
860#define ONROTATE(turntable_id)
+
866#define ONTHROW(turnout_id)
+
872#define ONCHANGE(sensor_id)
+
878#define ONSENSOR(sensor_id)
+
884#define ONBUTTON(sensor_id)
+
890#define PAUSE
+
899#define PIN_TURNOUT(id,pin,description...)
+
905#define PRINT(msg)
+
911#define PARSE(msg)
+
917#define PICKUP_STASH(id)
+
924#define POM(cv,value)
+
929#define POWEROFF
+
934#define POWERON
+
939#define READ_LOCO
+
945#define RED(signal_id)
+
951#define RESERVE(blockid)
+
958#define RESET(pin,count...)
+
964#define RESUME
+
970#define RETURN
+
977#define REV(speed)
+
985#define ROTATE(turntable_id,position,activity)
+
992#define ROTATE_DCC(turntable_id,position)
+
1001#define ROSTER(cab,name,funcmap...)
+
1008#define ROUTE(id,description)
+
1014#define ROUTE_ACTIVE(id)
+
1020#define ROUTE_INACTIVE(id)
+
1026#define ROUTE_HIDDEN(id)
+
1032#define ROUTE_DISABLED(id)
+
1039#define ROUTE_CAPTION(id,caption)
+
1046#define SENDLOCO(cab,route)
+
1055#define SEQUENCE(id)
+
1061#define SERIAL(msg)
+
1067#define SERIAL1(msg)
+
1073#define SERIAL2(msg)
+
1079#define SERIAL3(msg)
+
1085#define SERIAL4(msg)
+
1091#define SERIAL5(msg)
+
1097#define SERIAL6(msg)
+
1105#define SERVO(id,position,profile)
+
1113#define SERVO2(id,position,duration)
+
1122#define SERVO_SIGNAL(vpin,redpos,amberpos,greenpos)
+
1133#define SERVO_TURNOUT(id,pin,activeAngle,inactiveAngle,profile,description...)
+
1140#define SET(pin,count...)
+
1147#define SET_TRACK(track,mode)
+
1154#define SET_POWER(track,onoff)
+
1160#define SETLOCO(loco)
+
1166#define SETFREQ(freq)
+
1175#define SIGNAL(redpin,amberpin,greenpin)
+
1183#define SIGNALH(redpin,amberpin,greenpin)
+
1189#define SPEED(speed)
+
1195#define START(route)
+
1201#define STASH(id)
+
1207#define STEALTH(code...)
+
1213#define STEALTH_GLOBAL(code...)
+
1218#define STOP
+
1224#define THROW(id)
+
1230#define TOGGLE_TURNOUT(id)
+
1240#define TT_ADDPOSITION(turntable_id,position,value,angle,description...)
+
1249#define TURNOUT(id,addr,subaddr,description...)
+
1258#define TURNOUTL(id,addr,description...)
+
1264#define UNJOIN
+
1271#define UNLATCH(sensor_id)
+
1277#define VIRTUAL_SIGNAL(id)
+
1284#define VIRTUAL_TURNOUT(id,description...)
+
1290#define WAITFOR(pin)
+
1291#ifndef IO_NO_HAL
+
1297#define WAITFORTT(turntable_id)
+
1298#endif
+
1304#define WITHROTTLE(msg)
+
1311#define XFOFF(cab,func)
+
1318#define XFON(cab,func)
+
1325#define XFTOGGLE(cab,func)
+
1332#define XFWD(cab,speed)
+
1339#define XREV(cab,speed)
+
1340
+
1341#endif
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bc_sd.png b/bc_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..31ca888dc71049713b35c351933a8d0f36180bf1 GIT binary patch literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ literal 0 HcmV?d00001 diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0y~yVBiE{4mJh`h6fYb1Q-|?yggkULn;{G-p%E8P~>R4 z=$<|EB$N38-2}DbmnFr_%O)K7`0vvPK}LtC*|iL-j2e1dIRjJ=#-IMT-)|GIo|S=1 k_R{V{v-v8NIIqptTqq(?amn;60|Nttr>mdKI;Vst0N5uiMgRZ+ literal 0 HcmV?d00001 diff --git a/doc.svg b/doc.svg new file mode 100644 index 0000000..0b928a5 --- /dev/null +++ b/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docd.svg b/docd.svg new file mode 100644 index 0000000..ac18b27 --- /dev/null +++ b/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 0000000..009a9b5 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,2045 @@ +/* The standard CSS for doxygen 1.9.8*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: black; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} + +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +/* @group Heading Levels */ + +.title { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h1.groupheader { + font-size: 150%; +} + +h2.groupheader { + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--glow-color); +} + +dt { + font-weight: bold; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +a:hover { + text-decoration: underline; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: var(--code-link-color); +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid var(--fragment-border-color); + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: var(--font-family-monospace); + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + color: var(--fragment-foreground-color); + background-color: var(--fragment-background-color); + border: 1px solid var(--fragment-border-color); +} + +div.line { + font-family: var(--font-family-monospace); + font-size: 13px; + min-height: 13px; + line-height: 1.2; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); +} + +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; +} +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); +} + +span.lineno a:hover { + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + color: var(--page-foreground-color); + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +p.formulaDsp { + text-align: center; +} + +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: var(--code-keyword-color); +} + +span.keywordtype { + color: var(--code-type-keyword-color); +} + +span.keywordflow { + color: var(--code-flow-keyword-color); +} + +span.comment { + color: var(--code-comment-color); +} + +span.preprocessor { + color: var(--code-preprocessor-color); +} + +span.stringliteral { + color: var(--code-string-literal-color); +} + +span.charliteral { + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); +} + +span.vhdldigit { + color: var(--code-vhdl-digit-color); +} + +span.vhdlchar { + color: var(--code-vhdl-char-color); +} + +span.vhdlkeyword { + color: var(--code-vhdl-keyword-color); +} + +span.vhdllogic { + color: var(--code-vhdl-logic-color); +} + +blockquote { + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid var(--table-cell-border-color); +} + +th.dirtab { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid var(--separator-color); +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: var(--memdecl-foreground-color); +} + +.memSeparator { + border-bottom: 1px solid var(--memdecl-separator-color); + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: var(--memdecl-template-color); + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: var(--memdef-title-gradient-image); + background-repeat: repeat-x; + background-color: var(--memdef-title-background-color); + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: var(--memdef-template-color); + font-weight: normal; + margin-left: 9px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px var(--glow-color); +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; +} + +.overload { + font-family: var(--font-family-monospace); + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: var(--memdef-doc-background-color); + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: var(--memdef-param-name-color); + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); + text-shadow: none; + color: var(--label-foreground-color); + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + +.directory tr.even { + padding-left: 6px; + background-color: var(--index-even-item-bg-color); +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); +} + +.arrow { + color: var(--nav-arrow-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-open-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-closed-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-doc-image); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: var(--footer-foreground-color); +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--memdef-border-color); +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image: var(--memdef-title-gradient-image); + background-repeat:repeat-x; + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: var(--nav-gradient-image); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image: var(--nav-gradient-image); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:var(--nav-breadcrumb-image); + background-repeat:no-repeat; + background-position:right; + color: var(--nav-foreground-color); +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color: var(--footer-foreground-color); + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image: var(--header-gradient-image); + background-repeat:repeat-x; + background-color: var(--header-background-color); + margin: 0px; + border-bottom: 1px solid var(--header-separator-color); +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font-size: 200%; + font-family: var(--font-family-title); + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font-size: 90%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font-size: 50%; + font-family: 50% var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 15px; +} + +div.toc li.level4 { + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.inherit_header { + font-weight: bold; + color: var(--inherit-header-color); + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px 4px 4px 4px; + box-shadow: var(--tooltip-shadow); + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: var(--tooltip-doc-color); + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: var(--tooltip-declaration-color); +} + +#powerTip div { + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +tt, code, kbd, samp +{ + display: inline-block; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/doxygen.svg b/doxygen.svg new file mode 100644 index 0000000..79a7635 --- /dev/null +++ b/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 0000000..b73c828 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,192 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + var id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + var start = $(this).attr('data-start'); + var end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + var line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); +} + +/* @license-end */ diff --git a/files.html b/files.html new file mode 100644 index 0000000..c410c3c --- /dev/null +++ b/files.html @@ -0,0 +1,87 @@ + + + + + + + +EX-CommandStation EXRAIL Documentation: File List + + + + + + + + + +
+
+ + + + + + +
+
EX-CommandStation EXRAIL Documentation +
+
EXRAIL Language
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
+ + + + diff --git a/folderclosed.svg b/folderclosed.svg new file mode 100644 index 0000000..b04bed2 --- /dev/null +++ b/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/folderclosedd.svg b/folderclosedd.svg new file mode 100644 index 0000000..52f0166 --- /dev/null +++ b/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/folderopen.svg b/folderopen.svg new file mode 100644 index 0000000..f6896dd --- /dev/null +++ b/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/folderopend.svg b/folderopend.svg new file mode 100644 index 0000000..2d1f06e --- /dev/null +++ b/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/globals.html b/globals.html new file mode 100644 index 0000000..6d9564e --- /dev/null +++ b/globals.html @@ -0,0 +1,338 @@ + + + + + + + +EX-CommandStation EXRAIL Documentation: File Members + + + + + + + + + +
+
+ + + + + + +
+
EX-CommandStation EXRAIL Documentation +
+
EXRAIL Language
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- j -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- v -

+ + +

- w -

+ + +

- x -

+
+ + + + diff --git a/globals_defs.html b/globals_defs.html new file mode 100644 index 0000000..6b57006 --- /dev/null +++ b/globals_defs.html @@ -0,0 +1,338 @@ + + + + + + + +EX-CommandStation EXRAIL Documentation: File Members + + + + + + + + + +
+
+ + + + + + +
+
EX-CommandStation EXRAIL Documentation +
+
EXRAIL Language
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all macros with links to the files they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- j -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- v -

+ + +

- w -

+ + +

- x -

+
+ + + + diff --git a/index.html b/index.html index 1ab4ef3..2ffb627 100644 --- a/index.html +++ b/index.html @@ -1 +1,91 @@ -"

EX-CommandStation Documentation

" + + + + + + + +EX-CommandStation EXRAIL Documentation: EXRAIL Language Reference + + + + + + + + + +
+
+ + + + + + +
+
EX-CommandStation EXRAIL Documentation +
+
EXRAIL Language
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
EXRAIL Language Reference
+
+
+

+Introduction

+

EXRAIL - Extended Railroad Automation Instruction Language

+

This page is a reference to all EXRAIL commands available with EX-CommandStation.

+ +
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..1dffb65 --- /dev/null +++ b/jquery.js @@ -0,0 +1,34 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/menu.js b/menu.js new file mode 100644 index 0000000..b0b2693 --- /dev/null +++ b/menu.js @@ -0,0 +1,136 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+='
    '; + for (var i in data.children) { + var url; + var link; + link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+'
  • '; + } + result+='
'; + } + return result; + } + var searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
 '+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + var $mainMenuState = $('#main-menu-state'); + var prevWidth = 0; + if ($mainMenuState.length) { + function initResizableIfExists() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function(e) { + var $menu = $('#main-menu'); + var options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = function() { $menu.css('display', 'block') }; + $menu.hide().slideDown(options); + } else { + options['complete'] = function() { $menu.css('display', 'none') }; + $menu.show().slideUp(options); + } + }); + // set default menu visibility + function resetState() { + var $menu = $('#main-menu'); + var $mainMenuState = $('#main-menu-state'); + var newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/menudata.js b/menudata.js new file mode 100644 index 0000000..c767c45 --- /dev/null +++ b/menudata.js @@ -0,0 +1,77 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"a",url:"globals.html#index_a"}, +{text:"b",url:"globals.html#index_b"}, +{text:"c",url:"globals.html#index_c"}, +{text:"d",url:"globals.html#index_d"}, +{text:"e",url:"globals.html#index_e"}, +{text:"f",url:"globals.html#index_f"}, +{text:"g",url:"globals.html#index_g"}, +{text:"h",url:"globals.html#index_h"}, +{text:"i",url:"globals.html#index_i"}, +{text:"j",url:"globals.html#index_j"}, +{text:"k",url:"globals.html#index_k"}, +{text:"l",url:"globals.html#index_l"}, +{text:"m",url:"globals.html#index_m"}, +{text:"n",url:"globals.html#index_n"}, +{text:"o",url:"globals.html#index_o"}, +{text:"p",url:"globals.html#index_p"}, +{text:"r",url:"globals.html#index_r"}, +{text:"s",url:"globals.html#index_s"}, +{text:"t",url:"globals.html#index_t"}, +{text:"u",url:"globals.html#index_u"}, +{text:"v",url:"globals.html#index_v"}, +{text:"w",url:"globals.html#index_w"}, +{text:"x",url:"globals.html#index_x"}]}, +{text:"Macros",url:"globals_defs.html",children:[ +{text:"a",url:"globals_defs.html#index_a"}, +{text:"b",url:"globals_defs.html#index_b"}, +{text:"c",url:"globals_defs.html#index_c"}, +{text:"d",url:"globals_defs.html#index_d"}, +{text:"e",url:"globals_defs.html#index_e"}, +{text:"f",url:"globals_defs.html#index_f"}, +{text:"g",url:"globals_defs.html#index_g"}, +{text:"h",url:"globals_defs.html#index_h"}, +{text:"i",url:"globals_defs.html#index_i"}, +{text:"j",url:"globals_defs.html#index_j"}, +{text:"k",url:"globals_defs.html#index_k"}, +{text:"l",url:"globals_defs.html#index_l"}, +{text:"m",url:"globals_defs.html#index_m"}, +{text:"n",url:"globals_defs.html#index_n"}, +{text:"o",url:"globals_defs.html#index_o"}, +{text:"p",url:"globals_defs.html#index_p"}, +{text:"r",url:"globals_defs.html#index_r"}, +{text:"s",url:"globals_defs.html#index_s"}, +{text:"t",url:"globals_defs.html#index_t"}, +{text:"u",url:"globals_defs.html#index_u"}, +{text:"v",url:"globals_defs.html#index_v"}, +{text:"w",url:"globals_defs.html#index_w"}, +{text:"x",url:"globals_defs.html#index_x"}]}]}]}]} diff --git a/minus.svg b/minus.svg new file mode 100644 index 0000000..f70d0c1 --- /dev/null +++ b/minus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/minusd.svg b/minusd.svg new file mode 100644 index 0000000..5f8e879 --- /dev/null +++ b/minusd.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmV;K0A~M*P)_<=&vZENDh!blt#mvC~^ye@){^MdM*q#IH;S|CgP%@jL{L%FOK`0nH>>z`0?}JzczCNNEjg90RZ)R00000NkvXX Hu0mjf%11c! literal 0 HcmV?d00001 diff --git a/nav_fd.png b/nav_fd.png new file mode 100644 index 0000000000000000000000000000000000000000..032fbdd4c54f54fa9a2e6423b94ef4b2ebdfaceb GIT binary patch literal 169 zcmV;a09OBrP)C~8ftOY^Ht@RBz(Z|*?jwsQ&|=DxzTOY{KU z%#jIsJ*8XjK2YwRTvadJ%4cLqt+WrwqK7DYPToW44wEakt!T9#BAuj_1 z2lGLH5An2?hw;3+c6B?R`YL3e_I+`nnVp?Km|^dqCL2};1_lOCS3j3^P6Eakt!T9#BBNu}M zhg0BMX7Eakt!T9#>ZovZz zJS>5{?JWZG)b0Sj! literal 0 HcmV?d00001 diff --git a/open.png b/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0y~yVBiE{4mJh`h6fYb1Q-|?oIG6|Ln;{G-aW|KV8FwA z;rg1ZGh+@g?rJc$oSvj8zS6R~=7Xo5it>T`TmD+;uQ+m}s#*WMoza2lbLp9(I{Its b_As80;W@%@d2 + + + + + + + + diff --git a/plusd.svg b/plusd.svg new file mode 100644 index 0000000..0c65bfe --- /dev/null +++ b/plusd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 0000000..d7d585e --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['acof_0',['ACOF',['../EXRAIL2MacroReset_8h.html#a70413e5680ed0b35bf056f65f4c79745',1,'EXRAIL2MacroReset.h']]], + ['acon_1',['ACON',['../EXRAIL2MacroReset_8h.html#a535706da7c1f98bc8da71a3d938fa13b',1,'EXRAIL2MacroReset.h']]], + ['activate_2',['ACTIVATE',['../EXRAIL2MacroReset_8h.html#a84e3475ebe028e33298a69171f11b4c0',1,'EXRAIL2MacroReset.h']]], + ['activatel_3',['ACTIVATEL',['../EXRAIL2MacroReset_8h.html#ac0612e2f4aa9f2ba0aae65a96f96d292',1,'EXRAIL2MacroReset.h']]], + ['after_4',['AFTER',['../EXRAIL2MacroReset_8h.html#a453638a63f596fea9c1c6882a2d149a9',1,'EXRAIL2MacroReset.h']]], + ['afteroverload_5',['AFTEROVERLOAD',['../EXRAIL2MacroReset_8h.html#ac1df8825d714f7089d310559b75b9727',1,'EXRAIL2MacroReset.h']]], + ['alias_6',['ALIAS',['../EXRAIL2MacroReset_8h.html#a1a83cf8fcf340956ec0eb5136187bfc2',1,'EXRAIL2MacroReset.h']]], + ['amber_7',['AMBER',['../EXRAIL2MacroReset_8h.html#ae14885354cfce6b96d4b14b7d1e5763b',1,'EXRAIL2MacroReset.h']]], + ['anout_8',['ANOUT',['../EXRAIL2MacroReset_8h.html#ac423d1824ff6340efbdf97efe2a86efa',1,'EXRAIL2MacroReset.h']]], + ['aspect_9',['ASPECT',['../EXRAIL2MacroReset_8h.html#a8e0493620ef65f4f7ec67ce2f4e71bd2',1,'EXRAIL2MacroReset.h']]], + ['at_10',['AT',['../EXRAIL2MacroReset_8h.html#a6a9137afa993b6547cef10c792c34dd7',1,'EXRAIL2MacroReset.h']]], + ['atgte_11',['ATGTE',['../EXRAIL2MacroReset_8h.html#a3976159ee4239f09f8d760a16ac787c3',1,'EXRAIL2MacroReset.h']]], + ['atlt_12',['ATLT',['../EXRAIL2MacroReset_8h.html#a5c53411b9d4107efddb0167672dfba87',1,'EXRAIL2MacroReset.h']]], + ['attimeout_13',['ATTIMEOUT',['../EXRAIL2MacroReset_8h.html#a32b879d548bb568e9c4375b7343840c9',1,'EXRAIL2MacroReset.h']]], + ['automation_14',['AUTOMATION',['../EXRAIL2MacroReset_8h.html#a3063459ba71def1546e2bce054a2c5c9',1,'EXRAIL2MacroReset.h']]], + ['autostart_15',['AUTOSTART',['../EXRAIL2MacroReset_8h.html#a79a5ec7365cb5cb8b61254a2950ae9d3',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 0000000..ccfdb8e --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['blink_0',['BLINK',['../EXRAIL2MacroReset_8h.html#a4ca075b23c6884a310c28eeb12878a81',1,'EXRAIL2MacroReset.h']]], + ['broadcast_1',['BROADCAST',['../EXRAIL2MacroReset_8h.html#ad2735f94701719c50cb70722c1ad53d3',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 0000000..3b45911 --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['read_5floco_0',['READ_LOCO',['../EXRAIL2MacroReset_8h.html#ad332f331a3ea3757c168d57b5756d6c1',1,'EXRAIL2MacroReset.h']]], + ['red_1',['RED',['../EXRAIL2MacroReset_8h.html#a0bcac9194342e810d417b2bb90ca93ab',1,'EXRAIL2MacroReset.h']]], + ['reference_2',['EXRAIL Language Reference',['../index.html',1,'']]], + ['reserve_3',['RESERVE',['../EXRAIL2MacroReset_8h.html#ac2072b24e631bc3acdd67fa34e217de5',1,'EXRAIL2MacroReset.h']]], + ['reset_4',['RESET',['../EXRAIL2MacroReset_8h.html#aef5c353a82d9456fd0f269bf40dc439a',1,'EXRAIL2MacroReset.h']]], + ['resume_5',['RESUME',['../EXRAIL2MacroReset_8h.html#a58ed6a8ccad6ef42dc18ad5cfe848256',1,'EXRAIL2MacroReset.h']]], + ['return_6',['RETURN',['../EXRAIL2MacroReset_8h.html#a6a0e6b80dd3d5ca395cf58151749f5e2',1,'EXRAIL2MacroReset.h']]], + ['rev_7',['REV',['../EXRAIL2MacroReset_8h.html#a0f6726d7de43adb7a87d866e3e87256f',1,'EXRAIL2MacroReset.h']]], + ['roster_8',['ROSTER',['../EXRAIL2MacroReset_8h.html#abbdd2d0105690a2fb54b77e92bfb04ff',1,'EXRAIL2MacroReset.h']]], + ['rotate_9',['ROTATE',['../EXRAIL2MacroReset_8h.html#a3652e188edfd920cc3e40a715a740450',1,'EXRAIL2MacroReset.h']]], + ['rotate_5fdcc_10',['ROTATE_DCC',['../EXRAIL2MacroReset_8h.html#a05cfc12f11a0e0578c4dc6ba4add7606',1,'EXRAIL2MacroReset.h']]], + ['route_11',['ROUTE',['../EXRAIL2MacroReset_8h.html#aad2345d94607c710c5548e75e2c0e1ac',1,'EXRAIL2MacroReset.h']]], + ['route_5factive_12',['ROUTE_ACTIVE',['../EXRAIL2MacroReset_8h.html#a60da2e2e3e0d0645480bf163d01526e7',1,'EXRAIL2MacroReset.h']]], + ['route_5fcaption_13',['ROUTE_CAPTION',['../EXRAIL2MacroReset_8h.html#a07f63aaa9372c96f8b81272d313e0986',1,'EXRAIL2MacroReset.h']]], + ['route_5fdisabled_14',['ROUTE_DISABLED',['../EXRAIL2MacroReset_8h.html#a02b16763dab59948e7b04d6688580a84',1,'EXRAIL2MacroReset.h']]], + ['route_5fhidden_15',['ROUTE_HIDDEN',['../EXRAIL2MacroReset_8h.html#aa5f2944b1e81db4a90c5c2b8071c66a5',1,'EXRAIL2MacroReset.h']]], + ['route_5finactive_16',['ROUTE_INACTIVE',['../EXRAIL2MacroReset_8h.html#a29e1089b7aeb3c58e083905085b10915',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 0000000..e844e84 --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['screen_0',['SCREEN',['../EXRAIL2MacroReset_8h.html#ae6d89a17454e176bd2f421e8a13d538a',1,'EXRAIL2MacroReset.h']]], + ['sendloco_1',['SENDLOCO',['../EXRAIL2MacroReset_8h.html#a53a603465ab97877abb5cd294de7e6a8',1,'EXRAIL2MacroReset.h']]], + ['sequence_2',['SEQUENCE',['../EXRAIL2MacroReset_8h.html#a1dfb3fe4a7bce360597a4e9cf672386f',1,'EXRAIL2MacroReset.h']]], + ['serial_3',['SERIAL',['../EXRAIL2MacroReset_8h.html#a3a50f04437200196bbbeb69d698dc296',1,'EXRAIL2MacroReset.h']]], + ['serial1_4',['SERIAL1',['../EXRAIL2MacroReset_8h.html#a067d2982eb485e2f46964de8b2384a45',1,'EXRAIL2MacroReset.h']]], + ['serial2_5',['SERIAL2',['../EXRAIL2MacroReset_8h.html#ad231ff56134875f6cbf13349ddfa9629',1,'EXRAIL2MacroReset.h']]], + ['serial3_6',['SERIAL3',['../EXRAIL2MacroReset_8h.html#a58fa01a8ea8e12c84089d88cc74fe5a7',1,'EXRAIL2MacroReset.h']]], + ['serial4_7',['SERIAL4',['../EXRAIL2MacroReset_8h.html#a48238cdad1347bfefb5461a840187915',1,'EXRAIL2MacroReset.h']]], + ['serial5_8',['SERIAL5',['../EXRAIL2MacroReset_8h.html#a3fcba2a5d34b5041db52828a20f7656f',1,'EXRAIL2MacroReset.h']]], + ['serial6_9',['SERIAL6',['../EXRAIL2MacroReset_8h.html#a5130a8e70491e45fb87820c732781ec8',1,'EXRAIL2MacroReset.h']]], + ['servo_10',['SERVO',['../EXRAIL2MacroReset_8h.html#aa865d4c3fa7f0c35b68568fef65bc18a',1,'EXRAIL2MacroReset.h']]], + ['servo2_11',['SERVO2',['../EXRAIL2MacroReset_8h.html#a786a21b710fb0cc82f128ab0efa7fa13',1,'EXRAIL2MacroReset.h']]], + ['servo_5fsignal_12',['SERVO_SIGNAL',['../EXRAIL2MacroReset_8h.html#a5f5f1472ec136458e64e570e68cc6712',1,'EXRAIL2MacroReset.h']]], + ['servo_5fturnout_13',['SERVO_TURNOUT',['../EXRAIL2MacroReset_8h.html#ab4fc60376f8c5a42dbce7a20932ff243',1,'EXRAIL2MacroReset.h']]], + ['set_14',['SET',['../EXRAIL2MacroReset_8h.html#aed0b0857d81395a41a703824431a9c61',1,'EXRAIL2MacroReset.h']]], + ['set_5fpower_15',['SET_POWER',['../EXRAIL2MacroReset_8h.html#aa386637f933c51fb82d11d2bb3e6861a',1,'EXRAIL2MacroReset.h']]], + ['set_5ftrack_16',['SET_TRACK',['../EXRAIL2MacroReset_8h.html#a417be114d20b759fd47c30e908eafa47',1,'EXRAIL2MacroReset.h']]], + ['setfreq_17',['SETFREQ',['../EXRAIL2MacroReset_8h.html#a2b31fba0b3b31fcd9fc2f82fe7fd9873',1,'EXRAIL2MacroReset.h']]], + ['setloco_18',['SETLOCO',['../EXRAIL2MacroReset_8h.html#a0ee77029441d827f816ccca9cd3ba28f',1,'EXRAIL2MacroReset.h']]], + ['signal_19',['SIGNAL',['../EXRAIL2MacroReset_8h.html#a9dc5ab478e7b3e90cf240a4bbdb47fb2',1,'EXRAIL2MacroReset.h']]], + ['signalh_20',['SIGNALH',['../EXRAIL2MacroReset_8h.html#a4943c59169d208102931c155765837ab',1,'EXRAIL2MacroReset.h']]], + ['speed_21',['SPEED',['../EXRAIL2MacroReset_8h.html#a1f597e9cdeb815d27f2ea5d692d412a5',1,'EXRAIL2MacroReset.h']]], + ['start_22',['START',['../EXRAIL2MacroReset_8h.html#ae33b115c278ec32c3647d63566c29748',1,'EXRAIL2MacroReset.h']]], + ['stash_23',['STASH',['../EXRAIL2MacroReset_8h.html#a28e70cc14a4981022059f9bbcd960dd8',1,'EXRAIL2MacroReset.h']]], + ['stealth_24',['STEALTH',['../EXRAIL2MacroReset_8h.html#a146ca0f840f0860a1ade1e2947f099d1',1,'EXRAIL2MacroReset.h']]], + ['stealth_5fglobal_25',['STEALTH_GLOBAL',['../EXRAIL2MacroReset_8h.html#a2f32116ed63ee1cc93b7775c7d396f78',1,'EXRAIL2MacroReset.h']]], + ['stop_26',['STOP',['../EXRAIL2MacroReset_8h.html#ae19b6bb2940d2fbe0a79852b070eeafd',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 0000000..66c2f5b --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['throw_0',['THROW',['../EXRAIL2MacroReset_8h.html#a89ac158b89aad4af637515aa989c2820',1,'EXRAIL2MacroReset.h']]], + ['toggle_5fturnout_1',['TOGGLE_TURNOUT',['../EXRAIL2MacroReset_8h.html#a7e51dc5052adbe49e2965794865ac03c',1,'EXRAIL2MacroReset.h']]], + ['tt_5faddposition_2',['TT_ADDPOSITION',['../EXRAIL2MacroReset_8h.html#accea64907d3ee777328ce4a424e5d695',1,'EXRAIL2MacroReset.h']]], + ['turnout_3',['TURNOUT',['../EXRAIL2MacroReset_8h.html#a0823dfd6ec07c0c7a25a095b5e3dfbe8',1,'EXRAIL2MacroReset.h']]], + ['turnoutl_4',['TURNOUTL',['../EXRAIL2MacroReset_8h.html#a9a8abfc6a656ba9ce238d4397abc7d43',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 0000000..18d5ce3 --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unjoin_0',['UNJOIN',['../EXRAIL2MacroReset_8h.html#a976c0b6192eea46a51431517ecd1da12',1,'EXRAIL2MacroReset.h']]], + ['unlatch_1',['UNLATCH',['../EXRAIL2MacroReset_8h.html#a406a92f8c66edf9c79a14121ccff928e',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 0000000..aa467fe --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['virtual_5fsignal_0',['VIRTUAL_SIGNAL',['../EXRAIL2MacroReset_8h.html#a8361a5e726b6cc0baecf0e6366b15d88',1,'EXRAIL2MacroReset.h']]], + ['virtual_5fturnout_1',['VIRTUAL_TURNOUT',['../EXRAIL2MacroReset_8h.html#a72fad6ff07abc23d9caf7601d7d1602c',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 0000000..22da4d8 --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['waitfor_0',['WAITFOR',['../EXRAIL2MacroReset_8h.html#a984530916c21ac841c79ebc650f43d7f',1,'EXRAIL2MacroReset.h']]], + ['waitfortt_1',['WAITFORTT',['../EXRAIL2MacroReset_8h.html#ab765c40f567b85d47a64811423e5651a',1,'EXRAIL2MacroReset.h']]], + ['withrottle_2',['WITHROTTLE',['../EXRAIL2MacroReset_8h.html#aaa38794d6c8ff130c7df5141f6076841',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 0000000..2ec57e5 --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['xfoff_0',['XFOFF',['../EXRAIL2MacroReset_8h.html#abde746d31c307cfbe3e616cf2e8b226b',1,'EXRAIL2MacroReset.h']]], + ['xfon_1',['XFON',['../EXRAIL2MacroReset_8h.html#aa91eccfb22e9b0504ae318f6ef15c204',1,'EXRAIL2MacroReset.h']]], + ['xftoggle_2',['XFTOGGLE',['../EXRAIL2MacroReset_8h.html#ad5021f80337927f683b2e7a8c338e1c5',1,'EXRAIL2MacroReset.h']]], + ['xfwd_3',['XFWD',['../EXRAIL2MacroReset_8h.html#a84b6246a102f2d42744458b24f2733cf',1,'EXRAIL2MacroReset.h']]], + ['xrev_4',['XREV',['../EXRAIL2MacroReset_8h.html#afb9eeae6b4891ee0810b0d118f0b0d34',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 0000000..e535d4f --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['call_0',['CALL',['../EXRAIL2MacroReset_8h.html#a95596cb79650d33b460ec81f8e65887c',1,'EXRAIL2MacroReset.h']]], + ['clear_5fall_5fstash_1',['CLEAR_ALL_STASH',['../EXRAIL2MacroReset_8h.html#a87656ab0de1ea72533329bf27e0961c3',1,'EXRAIL2MacroReset.h']]], + ['clear_5fstash_2',['CLEAR_STASH',['../EXRAIL2MacroReset_8h.html#a3bf0952e3e886e0ad0d0ab351a32e84b',1,'EXRAIL2MacroReset.h']]], + ['close_3',['CLOSE',['../EXRAIL2MacroReset_8h.html#aa72974727c01c5aced9e24f083e85ba4',1,'EXRAIL2MacroReset.h']]], + ['configure_5fservo_4',['CONFIGURE_SERVO',['../EXRAIL2MacroReset_8h.html#aaf7204ec3b23f51b4af0eaf72d4b1d13',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 0000000..34fa029 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['dcc_5fsignal_0',['DCC_SIGNAL',['../EXRAIL2MacroReset_8h.html#a6d5b52974c1619801777181d17393fc5',1,'EXRAIL2MacroReset.h']]], + ['dcc_5fturntable_1',['DCC_TURNTABLE',['../EXRAIL2MacroReset_8h.html#ad29a0a2a20927d9bca265a21ee5b84ef',1,'EXRAIL2MacroReset.h']]], + ['dccx_5fsignal_2',['DCCX_SIGNAL',['../EXRAIL2MacroReset_8h.html#ab7e30fb1c3e99423aa257f725d4966bf',1,'EXRAIL2MacroReset.h']]], + ['deactivate_3',['DEACTIVATE',['../EXRAIL2MacroReset_8h.html#af7b530974fe28e1f0ca0096b2403b590',1,'EXRAIL2MacroReset.h']]], + ['deactivatel_4',['DEACTIVATEL',['../EXRAIL2MacroReset_8h.html#a654d690c39c254802b546ee888d52fec',1,'EXRAIL2MacroReset.h']]], + ['delay_5',['DELAY',['../EXRAIL2MacroReset_8h.html#a3582e62360f41bf088e21a0e8c3600e6',1,'EXRAIL2MacroReset.h']]], + ['delaymins_6',['DELAYMINS',['../EXRAIL2MacroReset_8h.html#a6b88ab656d36316547d13ec1443e734d',1,'EXRAIL2MacroReset.h']]], + ['delayrandom_7',['DELAYRANDOM',['../EXRAIL2MacroReset_8h.html#aa472883a6912ab7843878ed428b1a568',1,'EXRAIL2MacroReset.h']]], + ['done_8',['DONE',['../EXRAIL2MacroReset_8h.html#abe6b865c045f3e7c6892ef4f15ff5779',1,'EXRAIL2MacroReset.h']]], + ['drive_9',['DRIVE',['../EXRAIL2MacroReset_8h.html#a748cc3f2276a4807f7f30b8104dac6ad',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 0000000..ac694bb --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['else_0',['ELSE',['../EXRAIL2MacroReset_8h.html#a0a70ee0cbf5b1738be4c9463c529ce72',1,'EXRAIL2MacroReset.h']]], + ['endexrail_1',['ENDEXRAIL',['../EXRAIL2MacroReset_8h.html#a84b8c08e942ef757946344cf3ae03487',1,'EXRAIL2MacroReset.h']]], + ['endif_2',['ENDIF',['../EXRAIL2MacroReset_8h.html#af7039fb6fb9cb00f8e223a05e1ee436b',1,'EXRAIL2MacroReset.h']]], + ['endtask_3',['ENDTASK',['../EXRAIL2MacroReset_8h.html#a6265416c68524e78e50969fc02b0a156',1,'EXRAIL2MacroReset.h']]], + ['estop_4',['ESTOP',['../EXRAIL2MacroReset_8h.html#aabdbe5a94653ed44948a15bbf036879a',1,'EXRAIL2MacroReset.h']]], + ['exrail_5',['EXRAIL',['../EXRAIL2MacroReset_8h.html#ade88b476dc27d92754a69a49b9a7c396',1,'EXRAIL2MacroReset.h']]], + ['exrail_20language_20reference_6',['EXRAIL Language Reference',['../index.html',1,'']]], + ['exrail2macroreset_2eh_7',['EXRAIL2MacroReset.h',['../EXRAIL2MacroReset_8h.html',1,'']]], + ['extt_5fturntable_8',['EXTT_TURNTABLE',['../EXRAIL2MacroReset_8h.html#a1fdca4b7f37698941742674af6a46c36',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 0000000..c35f063 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['fade_0',['FADE',['../EXRAIL2MacroReset_8h.html#a7b63d087951e73299ca8c0cef37deb54',1,'EXRAIL2MacroReset.h']]], + ['foff_1',['FOFF',['../EXRAIL2MacroReset_8h.html#abdd91c227513d7c27086c8764810db5d',1,'EXRAIL2MacroReset.h']]], + ['follow_2',['FOLLOW',['../EXRAIL2MacroReset_8h.html#a9c0e7dd53e0ea6fb76b0b3cbaaa37853',1,'EXRAIL2MacroReset.h']]], + ['fon_3',['FON',['../EXRAIL2MacroReset_8h.html#a2737b92d5d09d27f9df833715c1152ed',1,'EXRAIL2MacroReset.h']]], + ['forget_4',['FORGET',['../EXRAIL2MacroReset_8h.html#a6f423216315b68df133793a982417f00',1,'EXRAIL2MacroReset.h']]], + ['free_5',['FREE',['../EXRAIL2MacroReset_8h.html#acc491c9cb857225c0c499de7ba7a937a',1,'EXRAIL2MacroReset.h']]], + ['ftoggle_6',['FTOGGLE',['../EXRAIL2MacroReset_8h.html#a3f4857539b53cbe918c3d371cf7686a9',1,'EXRAIL2MacroReset.h']]], + ['fwd_7',['FWD',['../EXRAIL2MacroReset_8h.html#a365db567aafba224366b6fc700ab641b',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 0000000..f1c2ce3 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['green_0',['GREEN',['../EXRAIL2MacroReset_8h.html#a64211c6331055df9c457e2157772161c',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 0000000..c3d1f78 --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hal_0',['HAL',['../EXRAIL2MacroReset_8h.html#a61060739b28d8e98a08d8ecd72fc2a15',1,'EXRAIL2MacroReset.h']]], + ['hal_5fignore_5fdefaults_1',['HAL_IGNORE_DEFAULTS',['../EXRAIL2MacroReset_8h.html#ae8584b644c544c95f8ecab8997a66373',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 0000000..2af7be2 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['if_0',['IF',['../EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716',1,'EXRAIL2MacroReset.h']]], + ['ifamber_1',['IFAMBER',['../EXRAIL2MacroReset_8h.html#a72395eb98f4c3b45a4b8481ae164e03e',1,'EXRAIL2MacroReset.h']]], + ['ifclosed_2',['IFCLOSED',['../EXRAIL2MacroReset_8h.html#ab6138f118ca866e90ed256c4fd575f85',1,'EXRAIL2MacroReset.h']]], + ['ifgreen_3',['IFGREEN',['../EXRAIL2MacroReset_8h.html#a538a9a1e2a408d0a2ef85aaa3fc7855e',1,'EXRAIL2MacroReset.h']]], + ['ifgte_4',['IFGTE',['../EXRAIL2MacroReset_8h.html#a91aafa12888a56d9966c3bfba45db91b',1,'EXRAIL2MacroReset.h']]], + ['ifloco_5',['IFLOCO',['../EXRAIL2MacroReset_8h.html#a0bdad647a965f954db0348e442f14d62',1,'EXRAIL2MacroReset.h']]], + ['iflt_6',['IFLT',['../EXRAIL2MacroReset_8h.html#acbdea8927a0e9e71ac9a017625460e43',1,'EXRAIL2MacroReset.h']]], + ['ifnot_7',['IFNOT',['../EXRAIL2MacroReset_8h.html#a4b0f32ca3122ee36c54256ebee7e5b42',1,'EXRAIL2MacroReset.h']]], + ['ifrandom_8',['IFRANDOM',['../EXRAIL2MacroReset_8h.html#af3e0c38b8357c68166a3353c7f54ef7f',1,'EXRAIL2MacroReset.h']]], + ['ifre_9',['IFRE',['../EXRAIL2MacroReset_8h.html#a9513b8b9ca6c74f7075f7a1d4fcb100e',1,'EXRAIL2MacroReset.h']]], + ['ifred_10',['IFRED',['../EXRAIL2MacroReset_8h.html#acb74f6001374cfc5208dc57383728ae4',1,'EXRAIL2MacroReset.h']]], + ['ifreserve_11',['IFRESERVE',['../EXRAIL2MacroReset_8h.html#a5737c12c58585febecaba35e42e31dff',1,'EXRAIL2MacroReset.h']]], + ['ifthrown_12',['IFTHROWN',['../EXRAIL2MacroReset_8h.html#aeb149e14016e9361c416f1622645c4c2',1,'EXRAIL2MacroReset.h']]], + ['iftimeout_13',['IFTIMEOUT',['../EXRAIL2MacroReset_8h.html#a82125b07ba127a3f91f75fc7388b9f5a',1,'EXRAIL2MacroReset.h']]], + ['ifttposition_14',['IFTTPOSITION',['../EXRAIL2MacroReset_8h.html#a9af3b2d3ffba102abeab145c692aacc1',1,'EXRAIL2MacroReset.h']]], + ['introduction_15',['Introduction',['../index.html#introduction',1,'']]], + ['invert_5fdirection_16',['INVERT_DIRECTION',['../EXRAIL2MacroReset_8h.html#a5a1098c94713ea9dc547068ee042bf62',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 0000000..0ce13c2 --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['jmri_5fsensor_0',['JMRI_SENSOR',['../EXRAIL2MacroReset_8h.html#a86a4a74da3fa02dda26922e9c221ce02',1,'EXRAIL2MacroReset.h']]], + ['join_1',['JOIN',['../EXRAIL2MacroReset_8h.html#a216b2abde239eb946227cab4973b5bc8',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 0000000..ac23cd3 --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['killall_0',['KILLALL',['../EXRAIL2MacroReset_8h.html#a2df07bb601ee833a54cc2908e9a6c193',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 0000000..49ef1be --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['language_20reference_0',['EXRAIL Language Reference',['../index.html',1,'']]], + ['latch_1',['LATCH',['../EXRAIL2MacroReset_8h.html#a536efd8d6904fd270d01c696423f1ddf',1,'EXRAIL2MacroReset.h']]], + ['lcc_2',['LCC',['../EXRAIL2MacroReset_8h.html#afa6476b07460f645b3d7a9bdadf5ff28',1,'EXRAIL2MacroReset.h']]], + ['lccx_3',['LCCX',['../EXRAIL2MacroReset_8h.html#a1b166b386dca4e38e23f304ebff8697c',1,'EXRAIL2MacroReset.h']]], + ['lcd_4',['LCD',['../EXRAIL2MacroReset_8h.html#a84fc3791fae6ef620ccdb4064d7cdde6',1,'EXRAIL2MacroReset.h']]], + ['lcn_5',['LCN',['../EXRAIL2MacroReset_8h.html#aeaa002c5fa9b7f41a53903b1cbc7bdbf',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 0000000..4a796db --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['message_0',['MESSAGE',['../EXRAIL2MacroReset_8h.html#a4422df972fe651ff638fdcdadae9af39',1,'EXRAIL2MacroReset.h']]], + ['movett_1',['MOVETT',['../EXRAIL2MacroReset_8h.html#a9b479617d5942030fd9c6e535a5e408e',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 0000000..5e44ee4 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['neopixel_0',['NEOPIXEL',['../EXRAIL2MacroReset_8h.html#a324d13015faa6ed2d875ce7c30d41924',1,'EXRAIL2MacroReset.h']]], + ['neopixel_5fsignal_1',['NEOPIXEL_SIGNAL',['../EXRAIL2MacroReset_8h.html#a5ec327b78a557688df073fedd42708b1',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 0000000..7bcc177 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['onacof_0',['ONACOF',['../EXRAIL2MacroReset_8h.html#a09acdd0240980bae132886db2d40b424',1,'EXRAIL2MacroReset.h']]], + ['onacon_1',['ONACON',['../EXRAIL2MacroReset_8h.html#ab94114ce2f804d9368b7ff4e5130caf6',1,'EXRAIL2MacroReset.h']]], + ['onactivate_2',['ONACTIVATE',['../EXRAIL2MacroReset_8h.html#ae3946995752581abcb51dda3e863e11f',1,'EXRAIL2MacroReset.h']]], + ['onactivatel_3',['ONACTIVATEL',['../EXRAIL2MacroReset_8h.html#a21abb9b7e7d11f9f692b21d9164e438f',1,'EXRAIL2MacroReset.h']]], + ['onamber_4',['ONAMBER',['../EXRAIL2MacroReset_8h.html#a491c12e424a9d5517063e664be8a5052',1,'EXRAIL2MacroReset.h']]], + ['onbutton_5',['ONBUTTON',['../EXRAIL2MacroReset_8h.html#a8232df833de6b06f70665ee2981ec635',1,'EXRAIL2MacroReset.h']]], + ['onchange_6',['ONCHANGE',['../EXRAIL2MacroReset_8h.html#a1e8e60404581f05ed5448ff1f8aae4b5',1,'EXRAIL2MacroReset.h']]], + ['onclockmins_7',['ONCLOCKMINS',['../EXRAIL2MacroReset_8h.html#a32223f307c375b26add6586e992851be',1,'EXRAIL2MacroReset.h']]], + ['onclocktime_8',['ONCLOCKTIME',['../EXRAIL2MacroReset_8h.html#a6469c9fc9dd75782081dfb13aa1f88de',1,'EXRAIL2MacroReset.h']]], + ['onclose_9',['ONCLOSE',['../EXRAIL2MacroReset_8h.html#a383f82cb960c25f73c17c0e2088aa12a',1,'EXRAIL2MacroReset.h']]], + ['ondeactivate_10',['ONDEACTIVATE',['../EXRAIL2MacroReset_8h.html#a81b021dce212912ba85ed4cdc63e084f',1,'EXRAIL2MacroReset.h']]], + ['ondeactivatel_11',['ONDEACTIVATEL',['../EXRAIL2MacroReset_8h.html#a026fbdcd4f1c2ae458d49837898f5974',1,'EXRAIL2MacroReset.h']]], + ['ongreen_12',['ONGREEN',['../EXRAIL2MacroReset_8h.html#a648c217ce4240e2c4ae497b02b785626',1,'EXRAIL2MacroReset.h']]], + ['onlcc_13',['ONLCC',['../EXRAIL2MacroReset_8h.html#a76bdc460ab7ff68cf2f06955a06c83d9',1,'EXRAIL2MacroReset.h']]], + ['onoverload_14',['ONOVERLOAD',['../EXRAIL2MacroReset_8h.html#a8da16e9be59349774a452191459192cd',1,'EXRAIL2MacroReset.h']]], + ['onred_15',['ONRED',['../EXRAIL2MacroReset_8h.html#afcc4c2161bb0de1be05b5a4f0583cc98',1,'EXRAIL2MacroReset.h']]], + ['onrotate_16',['ONROTATE',['../EXRAIL2MacroReset_8h.html#a3499d6c525dba6638990b862bc16dbbf',1,'EXRAIL2MacroReset.h']]], + ['onsensor_17',['ONSENSOR',['../EXRAIL2MacroReset_8h.html#ab2ae04e0120e155d9f6f92e81ddb4065',1,'EXRAIL2MacroReset.h']]], + ['onthrow_18',['ONTHROW',['../EXRAIL2MacroReset_8h.html#aeb0109a23f9137762230734c39be2387',1,'EXRAIL2MacroReset.h']]], + ['ontime_19',['ONTIME',['../EXRAIL2MacroReset_8h.html#ad8ea5fef52ffb27ff64f415de4e8fee6',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 0000000..2ea9c8a --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['parse_0',['PARSE',['../EXRAIL2MacroReset_8h.html#aacf4be4d1a978c9eeab3a56e2598c515',1,'EXRAIL2MacroReset.h']]], + ['pause_1',['PAUSE',['../EXRAIL2MacroReset_8h.html#a5666ac5930c9f903698073ab1fa694f7',1,'EXRAIL2MacroReset.h']]], + ['pickup_5fstash_2',['PICKUP_STASH',['../EXRAIL2MacroReset_8h.html#a70a2e2ed55ce56b83ea9bc4585551403',1,'EXRAIL2MacroReset.h']]], + ['pin_5fturnout_3',['PIN_TURNOUT',['../EXRAIL2MacroReset_8h.html#a2ce4f6470c9710fe08ffbd8206118b28',1,'EXRAIL2MacroReset.h']]], + ['pom_4',['POM',['../EXRAIL2MacroReset_8h.html#a31bc8c0f139c18393eff4c262094ec48',1,'EXRAIL2MacroReset.h']]], + ['poweroff_5',['POWEROFF',['../EXRAIL2MacroReset_8h.html#aa7502455c229b24eb51d67f29160e40c',1,'EXRAIL2MacroReset.h']]], + ['poweron_6',['POWERON',['../EXRAIL2MacroReset_8h.html#a5a3829e9a41139ba8c7e36b0be5a3179',1,'EXRAIL2MacroReset.h']]], + ['print_7',['PRINT',['../EXRAIL2MacroReset_8h.html#a994cb1e8771e881023efb47d91c58fbb',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/close.svg b/search/close.svg new file mode 100644 index 0000000..337d6cc --- /dev/null +++ b/search/close.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/search/defines_0.js b/search/defines_0.js new file mode 100644 index 0000000..d7d585e --- /dev/null +++ b/search/defines_0.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['acof_0',['ACOF',['../EXRAIL2MacroReset_8h.html#a70413e5680ed0b35bf056f65f4c79745',1,'EXRAIL2MacroReset.h']]], + ['acon_1',['ACON',['../EXRAIL2MacroReset_8h.html#a535706da7c1f98bc8da71a3d938fa13b',1,'EXRAIL2MacroReset.h']]], + ['activate_2',['ACTIVATE',['../EXRAIL2MacroReset_8h.html#a84e3475ebe028e33298a69171f11b4c0',1,'EXRAIL2MacroReset.h']]], + ['activatel_3',['ACTIVATEL',['../EXRAIL2MacroReset_8h.html#ac0612e2f4aa9f2ba0aae65a96f96d292',1,'EXRAIL2MacroReset.h']]], + ['after_4',['AFTER',['../EXRAIL2MacroReset_8h.html#a453638a63f596fea9c1c6882a2d149a9',1,'EXRAIL2MacroReset.h']]], + ['afteroverload_5',['AFTEROVERLOAD',['../EXRAIL2MacroReset_8h.html#ac1df8825d714f7089d310559b75b9727',1,'EXRAIL2MacroReset.h']]], + ['alias_6',['ALIAS',['../EXRAIL2MacroReset_8h.html#a1a83cf8fcf340956ec0eb5136187bfc2',1,'EXRAIL2MacroReset.h']]], + ['amber_7',['AMBER',['../EXRAIL2MacroReset_8h.html#ae14885354cfce6b96d4b14b7d1e5763b',1,'EXRAIL2MacroReset.h']]], + ['anout_8',['ANOUT',['../EXRAIL2MacroReset_8h.html#ac423d1824ff6340efbdf97efe2a86efa',1,'EXRAIL2MacroReset.h']]], + ['aspect_9',['ASPECT',['../EXRAIL2MacroReset_8h.html#a8e0493620ef65f4f7ec67ce2f4e71bd2',1,'EXRAIL2MacroReset.h']]], + ['at_10',['AT',['../EXRAIL2MacroReset_8h.html#a6a9137afa993b6547cef10c792c34dd7',1,'EXRAIL2MacroReset.h']]], + ['atgte_11',['ATGTE',['../EXRAIL2MacroReset_8h.html#a3976159ee4239f09f8d760a16ac787c3',1,'EXRAIL2MacroReset.h']]], + ['atlt_12',['ATLT',['../EXRAIL2MacroReset_8h.html#a5c53411b9d4107efddb0167672dfba87',1,'EXRAIL2MacroReset.h']]], + ['attimeout_13',['ATTIMEOUT',['../EXRAIL2MacroReset_8h.html#a32b879d548bb568e9c4375b7343840c9',1,'EXRAIL2MacroReset.h']]], + ['automation_14',['AUTOMATION',['../EXRAIL2MacroReset_8h.html#a3063459ba71def1546e2bce054a2c5c9',1,'EXRAIL2MacroReset.h']]], + ['autostart_15',['AUTOSTART',['../EXRAIL2MacroReset_8h.html#a79a5ec7365cb5cb8b61254a2950ae9d3',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_1.js b/search/defines_1.js new file mode 100644 index 0000000..ccfdb8e --- /dev/null +++ b/search/defines_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['blink_0',['BLINK',['../EXRAIL2MacroReset_8h.html#a4ca075b23c6884a310c28eeb12878a81',1,'EXRAIL2MacroReset.h']]], + ['broadcast_1',['BROADCAST',['../EXRAIL2MacroReset_8h.html#ad2735f94701719c50cb70722c1ad53d3',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_10.js b/search/defines_10.js new file mode 100644 index 0000000..6a4a6e8 --- /dev/null +++ b/search/defines_10.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['read_5floco_0',['READ_LOCO',['../EXRAIL2MacroReset_8h.html#ad332f331a3ea3757c168d57b5756d6c1',1,'EXRAIL2MacroReset.h']]], + ['red_1',['RED',['../EXRAIL2MacroReset_8h.html#a0bcac9194342e810d417b2bb90ca93ab',1,'EXRAIL2MacroReset.h']]], + ['reserve_2',['RESERVE',['../EXRAIL2MacroReset_8h.html#ac2072b24e631bc3acdd67fa34e217de5',1,'EXRAIL2MacroReset.h']]], + ['reset_3',['RESET',['../EXRAIL2MacroReset_8h.html#aef5c353a82d9456fd0f269bf40dc439a',1,'EXRAIL2MacroReset.h']]], + ['resume_4',['RESUME',['../EXRAIL2MacroReset_8h.html#a58ed6a8ccad6ef42dc18ad5cfe848256',1,'EXRAIL2MacroReset.h']]], + ['return_5',['RETURN',['../EXRAIL2MacroReset_8h.html#a6a0e6b80dd3d5ca395cf58151749f5e2',1,'EXRAIL2MacroReset.h']]], + ['rev_6',['REV',['../EXRAIL2MacroReset_8h.html#a0f6726d7de43adb7a87d866e3e87256f',1,'EXRAIL2MacroReset.h']]], + ['roster_7',['ROSTER',['../EXRAIL2MacroReset_8h.html#abbdd2d0105690a2fb54b77e92bfb04ff',1,'EXRAIL2MacroReset.h']]], + ['rotate_8',['ROTATE',['../EXRAIL2MacroReset_8h.html#a3652e188edfd920cc3e40a715a740450',1,'EXRAIL2MacroReset.h']]], + ['rotate_5fdcc_9',['ROTATE_DCC',['../EXRAIL2MacroReset_8h.html#a05cfc12f11a0e0578c4dc6ba4add7606',1,'EXRAIL2MacroReset.h']]], + ['route_10',['ROUTE',['../EXRAIL2MacroReset_8h.html#aad2345d94607c710c5548e75e2c0e1ac',1,'EXRAIL2MacroReset.h']]], + ['route_5factive_11',['ROUTE_ACTIVE',['../EXRAIL2MacroReset_8h.html#a60da2e2e3e0d0645480bf163d01526e7',1,'EXRAIL2MacroReset.h']]], + ['route_5fcaption_12',['ROUTE_CAPTION',['../EXRAIL2MacroReset_8h.html#a07f63aaa9372c96f8b81272d313e0986',1,'EXRAIL2MacroReset.h']]], + ['route_5fdisabled_13',['ROUTE_DISABLED',['../EXRAIL2MacroReset_8h.html#a02b16763dab59948e7b04d6688580a84',1,'EXRAIL2MacroReset.h']]], + ['route_5fhidden_14',['ROUTE_HIDDEN',['../EXRAIL2MacroReset_8h.html#aa5f2944b1e81db4a90c5c2b8071c66a5',1,'EXRAIL2MacroReset.h']]], + ['route_5finactive_15',['ROUTE_INACTIVE',['../EXRAIL2MacroReset_8h.html#a29e1089b7aeb3c58e083905085b10915',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_11.js b/search/defines_11.js new file mode 100644 index 0000000..e844e84 --- /dev/null +++ b/search/defines_11.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['screen_0',['SCREEN',['../EXRAIL2MacroReset_8h.html#ae6d89a17454e176bd2f421e8a13d538a',1,'EXRAIL2MacroReset.h']]], + ['sendloco_1',['SENDLOCO',['../EXRAIL2MacroReset_8h.html#a53a603465ab97877abb5cd294de7e6a8',1,'EXRAIL2MacroReset.h']]], + ['sequence_2',['SEQUENCE',['../EXRAIL2MacroReset_8h.html#a1dfb3fe4a7bce360597a4e9cf672386f',1,'EXRAIL2MacroReset.h']]], + ['serial_3',['SERIAL',['../EXRAIL2MacroReset_8h.html#a3a50f04437200196bbbeb69d698dc296',1,'EXRAIL2MacroReset.h']]], + ['serial1_4',['SERIAL1',['../EXRAIL2MacroReset_8h.html#a067d2982eb485e2f46964de8b2384a45',1,'EXRAIL2MacroReset.h']]], + ['serial2_5',['SERIAL2',['../EXRAIL2MacroReset_8h.html#ad231ff56134875f6cbf13349ddfa9629',1,'EXRAIL2MacroReset.h']]], + ['serial3_6',['SERIAL3',['../EXRAIL2MacroReset_8h.html#a58fa01a8ea8e12c84089d88cc74fe5a7',1,'EXRAIL2MacroReset.h']]], + ['serial4_7',['SERIAL4',['../EXRAIL2MacroReset_8h.html#a48238cdad1347bfefb5461a840187915',1,'EXRAIL2MacroReset.h']]], + ['serial5_8',['SERIAL5',['../EXRAIL2MacroReset_8h.html#a3fcba2a5d34b5041db52828a20f7656f',1,'EXRAIL2MacroReset.h']]], + ['serial6_9',['SERIAL6',['../EXRAIL2MacroReset_8h.html#a5130a8e70491e45fb87820c732781ec8',1,'EXRAIL2MacroReset.h']]], + ['servo_10',['SERVO',['../EXRAIL2MacroReset_8h.html#aa865d4c3fa7f0c35b68568fef65bc18a',1,'EXRAIL2MacroReset.h']]], + ['servo2_11',['SERVO2',['../EXRAIL2MacroReset_8h.html#a786a21b710fb0cc82f128ab0efa7fa13',1,'EXRAIL2MacroReset.h']]], + ['servo_5fsignal_12',['SERVO_SIGNAL',['../EXRAIL2MacroReset_8h.html#a5f5f1472ec136458e64e570e68cc6712',1,'EXRAIL2MacroReset.h']]], + ['servo_5fturnout_13',['SERVO_TURNOUT',['../EXRAIL2MacroReset_8h.html#ab4fc60376f8c5a42dbce7a20932ff243',1,'EXRAIL2MacroReset.h']]], + ['set_14',['SET',['../EXRAIL2MacroReset_8h.html#aed0b0857d81395a41a703824431a9c61',1,'EXRAIL2MacroReset.h']]], + ['set_5fpower_15',['SET_POWER',['../EXRAIL2MacroReset_8h.html#aa386637f933c51fb82d11d2bb3e6861a',1,'EXRAIL2MacroReset.h']]], + ['set_5ftrack_16',['SET_TRACK',['../EXRAIL2MacroReset_8h.html#a417be114d20b759fd47c30e908eafa47',1,'EXRAIL2MacroReset.h']]], + ['setfreq_17',['SETFREQ',['../EXRAIL2MacroReset_8h.html#a2b31fba0b3b31fcd9fc2f82fe7fd9873',1,'EXRAIL2MacroReset.h']]], + ['setloco_18',['SETLOCO',['../EXRAIL2MacroReset_8h.html#a0ee77029441d827f816ccca9cd3ba28f',1,'EXRAIL2MacroReset.h']]], + ['signal_19',['SIGNAL',['../EXRAIL2MacroReset_8h.html#a9dc5ab478e7b3e90cf240a4bbdb47fb2',1,'EXRAIL2MacroReset.h']]], + ['signalh_20',['SIGNALH',['../EXRAIL2MacroReset_8h.html#a4943c59169d208102931c155765837ab',1,'EXRAIL2MacroReset.h']]], + ['speed_21',['SPEED',['../EXRAIL2MacroReset_8h.html#a1f597e9cdeb815d27f2ea5d692d412a5',1,'EXRAIL2MacroReset.h']]], + ['start_22',['START',['../EXRAIL2MacroReset_8h.html#ae33b115c278ec32c3647d63566c29748',1,'EXRAIL2MacroReset.h']]], + ['stash_23',['STASH',['../EXRAIL2MacroReset_8h.html#a28e70cc14a4981022059f9bbcd960dd8',1,'EXRAIL2MacroReset.h']]], + ['stealth_24',['STEALTH',['../EXRAIL2MacroReset_8h.html#a146ca0f840f0860a1ade1e2947f099d1',1,'EXRAIL2MacroReset.h']]], + ['stealth_5fglobal_25',['STEALTH_GLOBAL',['../EXRAIL2MacroReset_8h.html#a2f32116ed63ee1cc93b7775c7d396f78',1,'EXRAIL2MacroReset.h']]], + ['stop_26',['STOP',['../EXRAIL2MacroReset_8h.html#ae19b6bb2940d2fbe0a79852b070eeafd',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_12.js b/search/defines_12.js new file mode 100644 index 0000000..66c2f5b --- /dev/null +++ b/search/defines_12.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['throw_0',['THROW',['../EXRAIL2MacroReset_8h.html#a89ac158b89aad4af637515aa989c2820',1,'EXRAIL2MacroReset.h']]], + ['toggle_5fturnout_1',['TOGGLE_TURNOUT',['../EXRAIL2MacroReset_8h.html#a7e51dc5052adbe49e2965794865ac03c',1,'EXRAIL2MacroReset.h']]], + ['tt_5faddposition_2',['TT_ADDPOSITION',['../EXRAIL2MacroReset_8h.html#accea64907d3ee777328ce4a424e5d695',1,'EXRAIL2MacroReset.h']]], + ['turnout_3',['TURNOUT',['../EXRAIL2MacroReset_8h.html#a0823dfd6ec07c0c7a25a095b5e3dfbe8',1,'EXRAIL2MacroReset.h']]], + ['turnoutl_4',['TURNOUTL',['../EXRAIL2MacroReset_8h.html#a9a8abfc6a656ba9ce238d4397abc7d43',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_13.js b/search/defines_13.js new file mode 100644 index 0000000..18d5ce3 --- /dev/null +++ b/search/defines_13.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unjoin_0',['UNJOIN',['../EXRAIL2MacroReset_8h.html#a976c0b6192eea46a51431517ecd1da12',1,'EXRAIL2MacroReset.h']]], + ['unlatch_1',['UNLATCH',['../EXRAIL2MacroReset_8h.html#a406a92f8c66edf9c79a14121ccff928e',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_14.js b/search/defines_14.js new file mode 100644 index 0000000..aa467fe --- /dev/null +++ b/search/defines_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['virtual_5fsignal_0',['VIRTUAL_SIGNAL',['../EXRAIL2MacroReset_8h.html#a8361a5e726b6cc0baecf0e6366b15d88',1,'EXRAIL2MacroReset.h']]], + ['virtual_5fturnout_1',['VIRTUAL_TURNOUT',['../EXRAIL2MacroReset_8h.html#a72fad6ff07abc23d9caf7601d7d1602c',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_15.js b/search/defines_15.js new file mode 100644 index 0000000..22da4d8 --- /dev/null +++ b/search/defines_15.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['waitfor_0',['WAITFOR',['../EXRAIL2MacroReset_8h.html#a984530916c21ac841c79ebc650f43d7f',1,'EXRAIL2MacroReset.h']]], + ['waitfortt_1',['WAITFORTT',['../EXRAIL2MacroReset_8h.html#ab765c40f567b85d47a64811423e5651a',1,'EXRAIL2MacroReset.h']]], + ['withrottle_2',['WITHROTTLE',['../EXRAIL2MacroReset_8h.html#aaa38794d6c8ff130c7df5141f6076841',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_16.js b/search/defines_16.js new file mode 100644 index 0000000..2ec57e5 --- /dev/null +++ b/search/defines_16.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['xfoff_0',['XFOFF',['../EXRAIL2MacroReset_8h.html#abde746d31c307cfbe3e616cf2e8b226b',1,'EXRAIL2MacroReset.h']]], + ['xfon_1',['XFON',['../EXRAIL2MacroReset_8h.html#aa91eccfb22e9b0504ae318f6ef15c204',1,'EXRAIL2MacroReset.h']]], + ['xftoggle_2',['XFTOGGLE',['../EXRAIL2MacroReset_8h.html#ad5021f80337927f683b2e7a8c338e1c5',1,'EXRAIL2MacroReset.h']]], + ['xfwd_3',['XFWD',['../EXRAIL2MacroReset_8h.html#a84b6246a102f2d42744458b24f2733cf',1,'EXRAIL2MacroReset.h']]], + ['xrev_4',['XREV',['../EXRAIL2MacroReset_8h.html#afb9eeae6b4891ee0810b0d118f0b0d34',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_2.js b/search/defines_2.js new file mode 100644 index 0000000..e535d4f --- /dev/null +++ b/search/defines_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['call_0',['CALL',['../EXRAIL2MacroReset_8h.html#a95596cb79650d33b460ec81f8e65887c',1,'EXRAIL2MacroReset.h']]], + ['clear_5fall_5fstash_1',['CLEAR_ALL_STASH',['../EXRAIL2MacroReset_8h.html#a87656ab0de1ea72533329bf27e0961c3',1,'EXRAIL2MacroReset.h']]], + ['clear_5fstash_2',['CLEAR_STASH',['../EXRAIL2MacroReset_8h.html#a3bf0952e3e886e0ad0d0ab351a32e84b',1,'EXRAIL2MacroReset.h']]], + ['close_3',['CLOSE',['../EXRAIL2MacroReset_8h.html#aa72974727c01c5aced9e24f083e85ba4',1,'EXRAIL2MacroReset.h']]], + ['configure_5fservo_4',['CONFIGURE_SERVO',['../EXRAIL2MacroReset_8h.html#aaf7204ec3b23f51b4af0eaf72d4b1d13',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_3.js b/search/defines_3.js new file mode 100644 index 0000000..34fa029 --- /dev/null +++ b/search/defines_3.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['dcc_5fsignal_0',['DCC_SIGNAL',['../EXRAIL2MacroReset_8h.html#a6d5b52974c1619801777181d17393fc5',1,'EXRAIL2MacroReset.h']]], + ['dcc_5fturntable_1',['DCC_TURNTABLE',['../EXRAIL2MacroReset_8h.html#ad29a0a2a20927d9bca265a21ee5b84ef',1,'EXRAIL2MacroReset.h']]], + ['dccx_5fsignal_2',['DCCX_SIGNAL',['../EXRAIL2MacroReset_8h.html#ab7e30fb1c3e99423aa257f725d4966bf',1,'EXRAIL2MacroReset.h']]], + ['deactivate_3',['DEACTIVATE',['../EXRAIL2MacroReset_8h.html#af7b530974fe28e1f0ca0096b2403b590',1,'EXRAIL2MacroReset.h']]], + ['deactivatel_4',['DEACTIVATEL',['../EXRAIL2MacroReset_8h.html#a654d690c39c254802b546ee888d52fec',1,'EXRAIL2MacroReset.h']]], + ['delay_5',['DELAY',['../EXRAIL2MacroReset_8h.html#a3582e62360f41bf088e21a0e8c3600e6',1,'EXRAIL2MacroReset.h']]], + ['delaymins_6',['DELAYMINS',['../EXRAIL2MacroReset_8h.html#a6b88ab656d36316547d13ec1443e734d',1,'EXRAIL2MacroReset.h']]], + ['delayrandom_7',['DELAYRANDOM',['../EXRAIL2MacroReset_8h.html#aa472883a6912ab7843878ed428b1a568',1,'EXRAIL2MacroReset.h']]], + ['done_8',['DONE',['../EXRAIL2MacroReset_8h.html#abe6b865c045f3e7c6892ef4f15ff5779',1,'EXRAIL2MacroReset.h']]], + ['drive_9',['DRIVE',['../EXRAIL2MacroReset_8h.html#a748cc3f2276a4807f7f30b8104dac6ad',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_4.js b/search/defines_4.js new file mode 100644 index 0000000..497f25e --- /dev/null +++ b/search/defines_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['else_0',['ELSE',['../EXRAIL2MacroReset_8h.html#a0a70ee0cbf5b1738be4c9463c529ce72',1,'EXRAIL2MacroReset.h']]], + ['endexrail_1',['ENDEXRAIL',['../EXRAIL2MacroReset_8h.html#a84b8c08e942ef757946344cf3ae03487',1,'EXRAIL2MacroReset.h']]], + ['endif_2',['ENDIF',['../EXRAIL2MacroReset_8h.html#af7039fb6fb9cb00f8e223a05e1ee436b',1,'EXRAIL2MacroReset.h']]], + ['endtask_3',['ENDTASK',['../EXRAIL2MacroReset_8h.html#a6265416c68524e78e50969fc02b0a156',1,'EXRAIL2MacroReset.h']]], + ['estop_4',['ESTOP',['../EXRAIL2MacroReset_8h.html#aabdbe5a94653ed44948a15bbf036879a',1,'EXRAIL2MacroReset.h']]], + ['exrail_5',['EXRAIL',['../EXRAIL2MacroReset_8h.html#ade88b476dc27d92754a69a49b9a7c396',1,'EXRAIL2MacroReset.h']]], + ['extt_5fturntable_6',['EXTT_TURNTABLE',['../EXRAIL2MacroReset_8h.html#a1fdca4b7f37698941742674af6a46c36',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_5.js b/search/defines_5.js new file mode 100644 index 0000000..c35f063 --- /dev/null +++ b/search/defines_5.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['fade_0',['FADE',['../EXRAIL2MacroReset_8h.html#a7b63d087951e73299ca8c0cef37deb54',1,'EXRAIL2MacroReset.h']]], + ['foff_1',['FOFF',['../EXRAIL2MacroReset_8h.html#abdd91c227513d7c27086c8764810db5d',1,'EXRAIL2MacroReset.h']]], + ['follow_2',['FOLLOW',['../EXRAIL2MacroReset_8h.html#a9c0e7dd53e0ea6fb76b0b3cbaaa37853',1,'EXRAIL2MacroReset.h']]], + ['fon_3',['FON',['../EXRAIL2MacroReset_8h.html#a2737b92d5d09d27f9df833715c1152ed',1,'EXRAIL2MacroReset.h']]], + ['forget_4',['FORGET',['../EXRAIL2MacroReset_8h.html#a6f423216315b68df133793a982417f00',1,'EXRAIL2MacroReset.h']]], + ['free_5',['FREE',['../EXRAIL2MacroReset_8h.html#acc491c9cb857225c0c499de7ba7a937a',1,'EXRAIL2MacroReset.h']]], + ['ftoggle_6',['FTOGGLE',['../EXRAIL2MacroReset_8h.html#a3f4857539b53cbe918c3d371cf7686a9',1,'EXRAIL2MacroReset.h']]], + ['fwd_7',['FWD',['../EXRAIL2MacroReset_8h.html#a365db567aafba224366b6fc700ab641b',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_6.js b/search/defines_6.js new file mode 100644 index 0000000..f1c2ce3 --- /dev/null +++ b/search/defines_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['green_0',['GREEN',['../EXRAIL2MacroReset_8h.html#a64211c6331055df9c457e2157772161c',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_7.js b/search/defines_7.js new file mode 100644 index 0000000..c3d1f78 --- /dev/null +++ b/search/defines_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hal_0',['HAL',['../EXRAIL2MacroReset_8h.html#a61060739b28d8e98a08d8ecd72fc2a15',1,'EXRAIL2MacroReset.h']]], + ['hal_5fignore_5fdefaults_1',['HAL_IGNORE_DEFAULTS',['../EXRAIL2MacroReset_8h.html#ae8584b644c544c95f8ecab8997a66373',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_8.js b/search/defines_8.js new file mode 100644 index 0000000..ed13087 --- /dev/null +++ b/search/defines_8.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['if_0',['IF',['../EXRAIL2MacroReset_8h.html#a690e2a6e6efa3ceb53436810b3abe716',1,'EXRAIL2MacroReset.h']]], + ['ifamber_1',['IFAMBER',['../EXRAIL2MacroReset_8h.html#a72395eb98f4c3b45a4b8481ae164e03e',1,'EXRAIL2MacroReset.h']]], + ['ifclosed_2',['IFCLOSED',['../EXRAIL2MacroReset_8h.html#ab6138f118ca866e90ed256c4fd575f85',1,'EXRAIL2MacroReset.h']]], + ['ifgreen_3',['IFGREEN',['../EXRAIL2MacroReset_8h.html#a538a9a1e2a408d0a2ef85aaa3fc7855e',1,'EXRAIL2MacroReset.h']]], + ['ifgte_4',['IFGTE',['../EXRAIL2MacroReset_8h.html#a91aafa12888a56d9966c3bfba45db91b',1,'EXRAIL2MacroReset.h']]], + ['ifloco_5',['IFLOCO',['../EXRAIL2MacroReset_8h.html#a0bdad647a965f954db0348e442f14d62',1,'EXRAIL2MacroReset.h']]], + ['iflt_6',['IFLT',['../EXRAIL2MacroReset_8h.html#acbdea8927a0e9e71ac9a017625460e43',1,'EXRAIL2MacroReset.h']]], + ['ifnot_7',['IFNOT',['../EXRAIL2MacroReset_8h.html#a4b0f32ca3122ee36c54256ebee7e5b42',1,'EXRAIL2MacroReset.h']]], + ['ifrandom_8',['IFRANDOM',['../EXRAIL2MacroReset_8h.html#af3e0c38b8357c68166a3353c7f54ef7f',1,'EXRAIL2MacroReset.h']]], + ['ifre_9',['IFRE',['../EXRAIL2MacroReset_8h.html#a9513b8b9ca6c74f7075f7a1d4fcb100e',1,'EXRAIL2MacroReset.h']]], + ['ifred_10',['IFRED',['../EXRAIL2MacroReset_8h.html#acb74f6001374cfc5208dc57383728ae4',1,'EXRAIL2MacroReset.h']]], + ['ifreserve_11',['IFRESERVE',['../EXRAIL2MacroReset_8h.html#a5737c12c58585febecaba35e42e31dff',1,'EXRAIL2MacroReset.h']]], + ['ifthrown_12',['IFTHROWN',['../EXRAIL2MacroReset_8h.html#aeb149e14016e9361c416f1622645c4c2',1,'EXRAIL2MacroReset.h']]], + ['iftimeout_13',['IFTIMEOUT',['../EXRAIL2MacroReset_8h.html#a82125b07ba127a3f91f75fc7388b9f5a',1,'EXRAIL2MacroReset.h']]], + ['ifttposition_14',['IFTTPOSITION',['../EXRAIL2MacroReset_8h.html#a9af3b2d3ffba102abeab145c692aacc1',1,'EXRAIL2MacroReset.h']]], + ['invert_5fdirection_15',['INVERT_DIRECTION',['../EXRAIL2MacroReset_8h.html#a5a1098c94713ea9dc547068ee042bf62',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_9.js b/search/defines_9.js new file mode 100644 index 0000000..0ce13c2 --- /dev/null +++ b/search/defines_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['jmri_5fsensor_0',['JMRI_SENSOR',['../EXRAIL2MacroReset_8h.html#a86a4a74da3fa02dda26922e9c221ce02',1,'EXRAIL2MacroReset.h']]], + ['join_1',['JOIN',['../EXRAIL2MacroReset_8h.html#a216b2abde239eb946227cab4973b5bc8',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_a.js b/search/defines_a.js new file mode 100644 index 0000000..ac23cd3 --- /dev/null +++ b/search/defines_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['killall_0',['KILLALL',['../EXRAIL2MacroReset_8h.html#a2df07bb601ee833a54cc2908e9a6c193',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_b.js b/search/defines_b.js new file mode 100644 index 0000000..965369b --- /dev/null +++ b/search/defines_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['latch_0',['LATCH',['../EXRAIL2MacroReset_8h.html#a536efd8d6904fd270d01c696423f1ddf',1,'EXRAIL2MacroReset.h']]], + ['lcc_1',['LCC',['../EXRAIL2MacroReset_8h.html#afa6476b07460f645b3d7a9bdadf5ff28',1,'EXRAIL2MacroReset.h']]], + ['lccx_2',['LCCX',['../EXRAIL2MacroReset_8h.html#a1b166b386dca4e38e23f304ebff8697c',1,'EXRAIL2MacroReset.h']]], + ['lcd_3',['LCD',['../EXRAIL2MacroReset_8h.html#a84fc3791fae6ef620ccdb4064d7cdde6',1,'EXRAIL2MacroReset.h']]], + ['lcn_4',['LCN',['../EXRAIL2MacroReset_8h.html#aeaa002c5fa9b7f41a53903b1cbc7bdbf',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_c.js b/search/defines_c.js new file mode 100644 index 0000000..4a796db --- /dev/null +++ b/search/defines_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['message_0',['MESSAGE',['../EXRAIL2MacroReset_8h.html#a4422df972fe651ff638fdcdadae9af39',1,'EXRAIL2MacroReset.h']]], + ['movett_1',['MOVETT',['../EXRAIL2MacroReset_8h.html#a9b479617d5942030fd9c6e535a5e408e',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_d.js b/search/defines_d.js new file mode 100644 index 0000000..5e44ee4 --- /dev/null +++ b/search/defines_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['neopixel_0',['NEOPIXEL',['../EXRAIL2MacroReset_8h.html#a324d13015faa6ed2d875ce7c30d41924',1,'EXRAIL2MacroReset.h']]], + ['neopixel_5fsignal_1',['NEOPIXEL_SIGNAL',['../EXRAIL2MacroReset_8h.html#a5ec327b78a557688df073fedd42708b1',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_e.js b/search/defines_e.js new file mode 100644 index 0000000..7bcc177 --- /dev/null +++ b/search/defines_e.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['onacof_0',['ONACOF',['../EXRAIL2MacroReset_8h.html#a09acdd0240980bae132886db2d40b424',1,'EXRAIL2MacroReset.h']]], + ['onacon_1',['ONACON',['../EXRAIL2MacroReset_8h.html#ab94114ce2f804d9368b7ff4e5130caf6',1,'EXRAIL2MacroReset.h']]], + ['onactivate_2',['ONACTIVATE',['../EXRAIL2MacroReset_8h.html#ae3946995752581abcb51dda3e863e11f',1,'EXRAIL2MacroReset.h']]], + ['onactivatel_3',['ONACTIVATEL',['../EXRAIL2MacroReset_8h.html#a21abb9b7e7d11f9f692b21d9164e438f',1,'EXRAIL2MacroReset.h']]], + ['onamber_4',['ONAMBER',['../EXRAIL2MacroReset_8h.html#a491c12e424a9d5517063e664be8a5052',1,'EXRAIL2MacroReset.h']]], + ['onbutton_5',['ONBUTTON',['../EXRAIL2MacroReset_8h.html#a8232df833de6b06f70665ee2981ec635',1,'EXRAIL2MacroReset.h']]], + ['onchange_6',['ONCHANGE',['../EXRAIL2MacroReset_8h.html#a1e8e60404581f05ed5448ff1f8aae4b5',1,'EXRAIL2MacroReset.h']]], + ['onclockmins_7',['ONCLOCKMINS',['../EXRAIL2MacroReset_8h.html#a32223f307c375b26add6586e992851be',1,'EXRAIL2MacroReset.h']]], + ['onclocktime_8',['ONCLOCKTIME',['../EXRAIL2MacroReset_8h.html#a6469c9fc9dd75782081dfb13aa1f88de',1,'EXRAIL2MacroReset.h']]], + ['onclose_9',['ONCLOSE',['../EXRAIL2MacroReset_8h.html#a383f82cb960c25f73c17c0e2088aa12a',1,'EXRAIL2MacroReset.h']]], + ['ondeactivate_10',['ONDEACTIVATE',['../EXRAIL2MacroReset_8h.html#a81b021dce212912ba85ed4cdc63e084f',1,'EXRAIL2MacroReset.h']]], + ['ondeactivatel_11',['ONDEACTIVATEL',['../EXRAIL2MacroReset_8h.html#a026fbdcd4f1c2ae458d49837898f5974',1,'EXRAIL2MacroReset.h']]], + ['ongreen_12',['ONGREEN',['../EXRAIL2MacroReset_8h.html#a648c217ce4240e2c4ae497b02b785626',1,'EXRAIL2MacroReset.h']]], + ['onlcc_13',['ONLCC',['../EXRAIL2MacroReset_8h.html#a76bdc460ab7ff68cf2f06955a06c83d9',1,'EXRAIL2MacroReset.h']]], + ['onoverload_14',['ONOVERLOAD',['../EXRAIL2MacroReset_8h.html#a8da16e9be59349774a452191459192cd',1,'EXRAIL2MacroReset.h']]], + ['onred_15',['ONRED',['../EXRAIL2MacroReset_8h.html#afcc4c2161bb0de1be05b5a4f0583cc98',1,'EXRAIL2MacroReset.h']]], + ['onrotate_16',['ONROTATE',['../EXRAIL2MacroReset_8h.html#a3499d6c525dba6638990b862bc16dbbf',1,'EXRAIL2MacroReset.h']]], + ['onsensor_17',['ONSENSOR',['../EXRAIL2MacroReset_8h.html#ab2ae04e0120e155d9f6f92e81ddb4065',1,'EXRAIL2MacroReset.h']]], + ['onthrow_18',['ONTHROW',['../EXRAIL2MacroReset_8h.html#aeb0109a23f9137762230734c39be2387',1,'EXRAIL2MacroReset.h']]], + ['ontime_19',['ONTIME',['../EXRAIL2MacroReset_8h.html#ad8ea5fef52ffb27ff64f415de4e8fee6',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/defines_f.js b/search/defines_f.js new file mode 100644 index 0000000..2ea9c8a --- /dev/null +++ b/search/defines_f.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['parse_0',['PARSE',['../EXRAIL2MacroReset_8h.html#aacf4be4d1a978c9eeab3a56e2598c515',1,'EXRAIL2MacroReset.h']]], + ['pause_1',['PAUSE',['../EXRAIL2MacroReset_8h.html#a5666ac5930c9f903698073ab1fa694f7',1,'EXRAIL2MacroReset.h']]], + ['pickup_5fstash_2',['PICKUP_STASH',['../EXRAIL2MacroReset_8h.html#a70a2e2ed55ce56b83ea9bc4585551403',1,'EXRAIL2MacroReset.h']]], + ['pin_5fturnout_3',['PIN_TURNOUT',['../EXRAIL2MacroReset_8h.html#a2ce4f6470c9710fe08ffbd8206118b28',1,'EXRAIL2MacroReset.h']]], + ['pom_4',['POM',['../EXRAIL2MacroReset_8h.html#a31bc8c0f139c18393eff4c262094ec48',1,'EXRAIL2MacroReset.h']]], + ['poweroff_5',['POWEROFF',['../EXRAIL2MacroReset_8h.html#aa7502455c229b24eb51d67f29160e40c',1,'EXRAIL2MacroReset.h']]], + ['poweron_6',['POWERON',['../EXRAIL2MacroReset_8h.html#a5a3829e9a41139ba8c7e36b0be5a3179',1,'EXRAIL2MacroReset.h']]], + ['print_7',['PRINT',['../EXRAIL2MacroReset_8h.html#a994cb1e8771e881023efb47d91c58fbb',1,'EXRAIL2MacroReset.h']]] +]; diff --git a/search/files_0.js b/search/files_0.js new file mode 100644 index 0000000..db0dc62 --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['exrail2macroreset_2eh_0',['EXRAIL2MacroReset.h',['../EXRAIL2MacroReset_8h.html',1,'']]] +]; diff --git a/search/mag.svg b/search/mag.svg new file mode 100644 index 0000000..ffb6cf0 --- /dev/null +++ b/search/mag.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/search/mag_d.svg b/search/mag_d.svg new file mode 100644 index 0000000..4122773 --- /dev/null +++ b/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/search/mag_sel.svg b/search/mag_sel.svg new file mode 100644 index 0000000..553dba8 --- /dev/null +++ b/search/mag_sel.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/search/mag_seld.svg b/search/mag_seld.svg new file mode 100644 index 0000000..c906f84 --- /dev/null +++ b/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 0000000..af25cd8 --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['exrail_20language_20reference_0',['EXRAIL Language Reference',['../index.html',1,'']]] +]; diff --git a/search/pages_1.js b/search/pages_1.js new file mode 100644 index 0000000..81b9eb5 --- /dev/null +++ b/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['language_20reference_0',['EXRAIL Language Reference',['../index.html',1,'']]] +]; diff --git a/search/pages_2.js b/search/pages_2.js new file mode 100644 index 0000000..5e3691a --- /dev/null +++ b/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['reference_0',['EXRAIL Language Reference',['../index.html',1,'']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 0000000..19f76f9 --- /dev/null +++ b/search/search.css @@ -0,0 +1,291 @@ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} + +#MSearchBox { + display: inline-block; + white-space : nowrap; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: var(--search-foreground-color); + outline: none; + font-family: var(--font-family-search); + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: var(--search-active-color); +} + + + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt var(--font-family-search); + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: var(--font-family-monospace); + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: var(--search-filter-foreground-color); + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: var(--search-filter-foreground-color); + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); + z-index:10000; + width: 300px; + height: 400px; + overflow: auto; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +div.SRPage { + margin: 5px 2px; + background-color: var(--search-results-background-color); +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: var(--font-family-search); +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: var(--font-family-search); +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: var(--nav-gradient-active-image-parent); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 0000000..6fd40c6 --- /dev/null +++ b/search/search.js @@ -0,0 +1,840 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + e.stopPropagation(); + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var jsFile; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + } + + var loadJS = function(url, impl, loc){ + var scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + var domSearchBox = this.DOMSearchBox(); + var domPopupSearchResults = this.DOMPopupSearchResults(); + var domSearchClose = this.DOMSearchClose(); + var resultsPath = this.resultsPath; + + var handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } + + if (domPopupSearchResultsWindow.style.display!='block') + { + domSearchClose.style.display = 'inline-block'; + var left = getXPos(domSearchBox) + 150; + var top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + var maxWidth = document.body.clientWidth; + var maxHeight = document.body.clientHeight; + var width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + var height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); + } + + this.lastSearchValue = searchValue; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + this.searchActive = true; + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + this.DOMSearchField().value = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults(resultsPath) +{ + var results = document.getElementById("SRResults"); + results.innerHTML = ''; + for (var e=0; e3+rcW~p3*2k<8ET5+kt+??7VY)%8z5|0uNDQ@?BH>==GIK88=8LINZs-Am7NcFtb?^;v({ zq8ITc`sa7geZ2VM+sMGMuOD7LdHeYLmg_$w*WCKQb@{T)vd`K3;@>{~dwa2`g9;hw cuXA+R8{0q8EosLX7#J8lUHx3vIVCg!02F6;9RL6T literal 0 HcmV?d00001 diff --git a/splitbard.png b/splitbard.png new file mode 100644 index 0000000000000000000000000000000000000000..8367416d757fd7b6dc4272b6432dc75a75abd068 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0y~yU|?flU}4~3VqjqK-LYSgfq~(nr;B4q1>@VhhFKy3 z5^fiTT~&lUj3=cDh^%3HDY9k5CEku}PHXNoNC(_$U3XPb&Q*ME25pT;2(*BOgAf<+R$lzakPG`kF31()Fx{L5Wrac|GQ zzjeE=ueY1`Ze{#x<8=S|`~MgGetGce)#vN&|J{Cd^tS%;tBYTo?+^d68<#n_Y_xx` ZJ||4O@QB{^CkzY>44$rjF6*2UngCOhbJzd? literal 0 HcmV?d00001 diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmV;90CE3`P)z100010Nkl|2#Ij`H`=#qC$x4-uPeScZ?U+O^uG+CbGeEz10000^Nklz10001RNklz10001VNkl(lnKqF&DM?yiCB6_TC@#bO?z10001ZNklz10001cNklhbE`LT=w5+;oA&%~)JN zEY5G{rx)|%liRvAI{K=C^gVs~U{*EE%KO;qAu!#C;X_2Y-0YwNs47IGZT6$b1|v$q ij7c&y*Z#u!%Krh<><_LVWmZc70000z10001gNklEq-#tja!`PimmJ#tZjoC)~tgX-LKHSiq%FbS-K?)r(kXu m%q%$(LZF$FsUgvfT>S++#UuRg?v)<^0000z10001kNklp5+MH4A6RJM4st$jt*^}swr09t9hDce$Y)hEd1c||qOZ-UVhXvj; qLk1~w5#!3h5ki3LP3AC@IJiG*pbiWCNLnob0000li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all 0.25s;transition:all 0.25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}#main-menu-state:not(:checked)~#main-menu{display:none}#main-menu-state:checked~#main-menu{display:block}@media (min-width: 768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked)~#main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:none}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}