diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 966e0c5..cb25c93 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,6 @@ on: jobs: test: name: Unit tests - if: false # delete this line to enable automatic testing runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 @@ -41,8 +40,7 @@ jobs: build: name: Build - if: false # delete this line and uncomment the line below to enable automatic builds - # if: github.event_name == 'push' || github.event_name == 'release' + if: github.event_name == 'push' || github.event_name == 'release' # needs: [ test ] # uncomment to require passing tests runs-on: ubuntu-22.04 diff --git a/Dockerfile b/Dockerfile index b3fd92b..e536953 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,10 +4,10 @@ FROM docker.io/python:3.12.1-slim-bookworm LABEL org.opencontainers.image.authors="FNNDSC " \ - org.opencontainers.image.title="ChRIS Plugin Title" \ - org.opencontainers.image.description="A ChRIS plugin that..." + org.opencontainers.image.title="A ChRIS PACS Query Plugin" \ + org.opencontainers.image.description="A ChRIS PACS Plugin to query a PACS and store its responses in JSON format" -ARG SRCDIR=/usr/local/src/app +ARG SRCDIR=/usr/local/src/pl-pacsdatequery WORKDIR ${SRCDIR} COPY requirements.txt . @@ -19,4 +19,4 @@ RUN pip install ".[${extras_require}]" \ && cd / && rm -rf ${SRCDIR} WORKDIR / -CMD ["commandname"] +CMD ["pacsdatequery"] diff --git a/README.md b/README.md index a8ff3ec..30548a7 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,10 @@ -# _ChRIS_ Plugin Template +# A ChRIS PACS Query Plugin -[![test status](https://github.com/FNNDSC/python-chrisapp-template/actions/workflows/src.yml/badge.svg)](https://github.com/FNNDSC/python-chrisapp-template/actions/workflows/src.yml) -[![MIT License](https://img.shields.io/github/license/FNNDSC/python-chrisapp-template)](LICENSE) +[![Version](https://img.shields.io/docker/v/fnndsc/pl-pacsdatequery?sort=semver)](https://hub.docker.com/r/fnndsc/pl-pacsdatequery) +[![MIT License](https://img.shields.io/github/license/fnndsc/pl-pacsdatequery)](https://github.com/FNNDSC/pl-pacsdatequery/blob/main/LICENSE) +[![ci](https://github.com/FNNDSC/pl-pacsdatequery/actions/workflows/ci.yml/badge.svg)](https://github.com/FNNDSC/pl-pacsdatequery/actions/workflows/ci.yml) -This is a minimal template repository for _ChRIS_ plugin applications in Python. - -## About _ChRIS_ Plugins - -A _ChRIS_ plugin is a scientific data-processing software which can run anywhere all-the-same: -in the cloud via a [web app](https://github.com/FNNDSC/ChRIS_ui/), or on your own laptop -from the terminal. They are easy to build and easy to understand: most simply, a -_ChRIS_ plugin is a command-line program which processes data from an input directory -and creates data to an output directory with the usage -`commandname [options...] inputdir/ outputdir/`. - -For more information, visit our website https://chrisproject.org - -## How to Use This Template - -Go to https://github.com/FNNDSC/python-chrisapp-template and click "Use this template". -The newly created repository is ready to use right away. - -A script `bootstrap.sh` is provided to help fill in and rename values for your new project. -It is optional to use. - -1. Edit the variables in `bootstrap.sh` -2. Run `./bootstrap.sh` -3. Follow the instructions it will print out - -## Example Plugins - -Here are some good, complete examples of _ChRIS_ plugins created from this template. - -- https://github.com/FNNDSC/pl-dcm2niix (basic command wrapper example) -- (parallelizes a command) -- https://github.com/FNNDSC/pl-mri-preview (uses [NiBabel](https://nipy.org/nibabel/)) -- https://github.com/FNNDSC/pl-pyvista-volume (example using Python package project structure and pytest) -- https://github.com/FNNDSC/pl-fetal-cp-surface-extract (has a good README.md) - -## What's Inside - -| Path | Purpose | -|----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `app.py` | Main script: start editing here! | -| `tests/` | Unit tests | -| `setup.py` | [Python project metadata and installation script](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#setup-py) | -| `requirements.txt` | List of Python dependencies | -| `Dockerfile` | [Container image build recipe](https://docs.docker.com/engine/reference/builder/) | -| `.github/workflows/ci.yml` | "continuous integration" using [Github Actions](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions): automatic testing, building, and uploads to https://chrisstore.co | - -## Contributing - -The source code for the `main` branch of this repository is on the -[src](https://github.com/fnndsc/python-chrisapp-template/tree/src) -branch, which has an additional file -[`.github/workflows/src.yml`](https://github.com/FNNDSC/python-chrisapp-template/blob/src/.github/workflows/src.yml) -When tests pass, changes are automatically merged into `main`. -Developers should commit to or make pull requests targeting `src`. -Do not push directly to `main`. - -This is a workaround in order to do automatic testing of this template -without including the `.github/workflows/src.yml` file in the template itself. - - diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100755 index 7a72b4d..0000000 --- a/bootstrap.sh +++ /dev/null @@ -1,267 +0,0 @@ -#!/usr/bin/env bash -# bootstrap.sh: customize python-chrisapp-template with project details -# -# WARNING: This script is for advanced users only! Do not proceed -# unless you understand what this does. New developers would find -# it easier to use python-chrisapp-template as is. Simply ignore -# and optionally delete this file. - -# ======================================== -# CONFIGURATION -# ======================================== - -# ---------------------------------------- -# STEP 1. Change these values to your liking. -# ---------------------------------------- - -PLUGIN_NAME="$(basename $(dirname $(realpath $0)))" # name of current directory -PLUGIN_TITLE='A ChRIS PACS Query Plugin' -SCRIPT_NAME='pacsdatequery' -DESCRIPTION='A ChRIS PACS Plugin to query a PACS and store its responses in JSON format' -ORGANIZATION='FNNDSC' -EMAIL='dev@babyMRI.org' - -# Github Actions: automatically test and build your code. -# https://github.com/FNNDSC/python-chrisapp-template/wiki/Continuous-Integration -# -# These options will fail unless your Github settings are preconfigured. -# Repositories under github.com/FNNDSC are preconfigured, so these defaults might work. -# Please review the file .github/workflows/ci.yml before you push it. - -# Automatically test on Github Actions each time you run `git push` -# If the value is "no" then tests are not performed. There are no side effects. -ENABLE_ACTIONS_TEST=yes -# Automatically build images on Github Actions each time you run `git push`, -# and also publish to https://chrisstore.co each time you run `git push --tags` -# If the value is "no" then builds will not be automated. -ENABLE_ACTIONS_BUILD=yes - -# WARNING: the default configuration in .github/workflows/ci.yml is to allow for -# the build to proceed regardless of whether tests pass. To modify this behavior -# and other advanced features (such as multi-architecture builds such as arm64, ppc64le) -# you must edit .github/workflows/ci.yml by hand. - - -# ---------------------------------------- -# STEP 2. Uncomment the line where it says READY=yes -# ---------------------------------------- - -READY=yes - -# ---------------------------------------- -# STEP 3. Run: ./bootstrap.sh -# ---------------------------------------- - - -if [ "$(uname -o 2> /dev/null)" != 'GNU/Linux' ]; then - >&2 echo "error: this script only works on GNU/Linux." -fi - -if ! [ "$READY" = 'yes' ]; then - >&2 echo "error: you are not READY." - exit 1 -fi - -cd $(dirname "$0") - - -# ======================================== -# VALIDATE INPUT -# ======================================== - -function contains_invalid_characters () { - [[ "$1" = *"/"* ]] -} - -# given a variable name, exit if the variable's value contains invalid characters. -function check_variable_value_valid () { - local varname="$1" - local varvalue="${!varname}" - if contains_invalid_characters "$varvalue"; then - >&2 echo "error: invalid characters in $varname=$varvalue" - exit 1 - fi -} - -# may not contain '/' -check_variable_value_valid PLUGIN_NAME -check_variable_value_valid SCRIPT_NAME -check_variable_value_valid ORGANIZATION -check_variable_value_valid EMAIL - - -# ======================================== -# COMMIT THE USER-SET CONFIG -# ======================================== - -# print command to run before running it -function verb () { - set -x - "$@" - { set +x; } 2> /dev/null -} - -# fail on error -set -e -set -o pipefail - -verb git commit -m 'Configure python-chrisapp-template/bootstrap.sh' -- "$0" - - -# ======================================== -# REPLACE VALUES -# ======================================== - -# execute sed on all files in project, excluding hidden paths and venv/ -function replace_in_all () { - if [ -z "$2" ]; then - return - fi - find . -type f \ - -not -path '*/\.*/*' -not -path '*/\venv/*' -not -name 'bootstrap.sh' \ - -exec sed -i -e "s/$1/$2/g" '{}' \; -} - -replace_in_all commandname "$SCRIPT_NAME" -replace_in_all pl-appname "$PLUGIN_NAME" -replace_in_all 'dev@babyMRI.org' "$EMAIL" -replace_in_all FNNDSC "$ORGANIZATION" - -# .github/ -if [ "${ENABLE_ACTIONS_TEST,,}" = 'yes' ]; then - sed -i -e '/delete this line to enable automatic testing/d' .github/workflows/ci.yml -fi - -if [ "${ENABLE_ACTIONS_BUILD,,}" = 'yes' ]; then - sed -i -e '/delete this line and uncomment the line below to enable automatic builds/d' .github/workflows/ci.yml - sed -i -e 's/# *if: github\.event_name/if: github\.event_name/' .github/workflows/ci.yml -fi - -# replace "/" with "\/" in string -function escape_slashes () { - sed 's/\//\\&/g' <<< "$@" -} - -escaped_description="$(escape_slashes "$DESCRIPTION")" -escaped_title="$(escape_slashes "$PLUGIN_TITLE")" - -# README.md -temp_file=$(mktemp) -sed -e'/^# ChRIS Plugin Title$/'\{ -e:1 -en\;b1 -e\} -ed README.md \ - | sed "s/^# ChRIS Plugin Title\$/# $escaped_title/" \ - | sed '/^END README TEMPLATE -->$/d' \ - | sed "s/fnndsc/${ORGANIZATION,,}/g" \ - | sed "s/app\\.py/$SCRIPT_NAME.py/g" \ - > $temp_file -mv $temp_file README.md - -# Dockerfile -sed "s#ARG SRCDIR=/usr/local/src/app#ARG SRCDIR=/usr/local/src/$PLUGIN_NAME#" Dockerfile \ - | sed "s/org\.opencontainers\.image\.title=\"ChRIS Plugin Title\"/org.opencontainers.image.title=\"$escaped_title\"/" \ - | sed "s/org\.opencontainers\.image\.description=\"A ChRIS plugin that\.\.\.\"/org.opencontainers.image.description=\"$escaped_description\"/" \ - > $temp_file -mv $temp_file Dockerfile - -# setup.py - -function guess_https_url () { - local origin="$(git remote get-url origin)" - local https_url="$origin" - if [[ "$https_url" = "git@"* ]]; then - # convert SSH url to HTTPS url by - # 1. change last ':' to '/' - # 2. replace leading 'git@' with 'https://' - https_url="$( - echo "$https_url" \ - | sed 's#\(.*\):#\1/#' \ - | sed 's#^git@#https://#' - )" - fi - echo "${https_url:0:-4}" # remove trailing ".git" -} - -appname_without_prefix="$(sed -E 's/(pl|dbg|ep)-//' <<< "$PLUGIN_NAME")" -sed "s/name='.*'/name='$appname_without_prefix'/" setup.py \ - | sed "s/description='.*'/description='$escaped_description'/" \ - | sed "s/py_modules=\['app'\]/py_modules=['$SCRIPT_NAME']/" \ - | sed "s/app:main/$SCRIPT_NAME:main/" \ - | sed "s#url='.*'#url='$(guess_https_url)'#" \ - | sed "s/app\.py/$SCRIPT_NAME.py/" \ - > $temp_file -mv $temp_file setup.py - -# app.py - -# FIGlet over HTTPS, since it's probably not installed locally -function figlet_wrapper () { - curl -fsSG 'https://figlet.chrisproject.org/' --data-urlencode "message=$*" \ - | grep -v '^[[:space:]]*$' -} - -function inject_figleted_title () { - python << EOF -for line in open('app.py'): - if line == 'ChRIS Plugin Template Title\n': - print(r"""$1""") - else: - print(line, end='') -EOF -} - -figleted_title="$(figlet_wrapper "$PLUGIN_NAME")" -echo "$figleted_title" -inject_figleted_title "$figleted_title" \ - | sed "s/title='My ChRIS plugin'/title='$escaped_title'/" \ - | sed "s/description='cli description'/description='$escaped_description'/" \ - > "$SCRIPT_NAME.py" -rm app.py - -# tests/ -for test_file in tests/*.py; do - sed "s/from app import/from $SCRIPT_NAME import/" $test_file > $temp_file - mv $temp_file $test_file -done - -# ======================================== -# SETUP -# ======================================== - -if ! [ -e venv ]; then - verb python -m venv venv -fi - ->&2 echo + source venv/bin/activate -source venv/bin/activate -verb pip install -r requirements.txt -verb pip install -e '.[dev]' - - -if [ -z "$TERM" ]; then - tput=tput -else - tput=true -fi - -$tput bold ->&2 printf '\n%s\n\n' '✨Done!✨' -$tput sgr0 - -$tput setaf 3 ->&2 echo 'To undo these actions and start over, run:' ->&2 printf '\n\t%s\n\t%s\n\t%s\n\t%s\n\n' \ - 'git reset --hard' \ - 'git clean -df' \ - 'rm -rf venv *.egg-info' \ - "git reset 'HEAD^'" -$tput setaf 6 ->&2 echo 'Activate the Python virtual environment by running:' ->&2 printf '\n\t%s\n\n' 'source venv/bin/activate' ->&2 echo 'Save these changes by running:' ->&2 printf '\n\t%s\n\n' 'git add -A && git commit -m "Run bootstrap.sh"' -$tput setaf 2 -echo 'For more information on how to get started, see README.md' -$tput sgr0 - -verb rm -v "$0" - -# Note to self: consider rewriting this in Python? diff --git a/noice.log b/noice.log new file mode 100644 index 0000000..349b3b9 --- /dev/null +++ b/noice.log @@ -0,0 +1,671 @@ +{ "msg_showcmd", "sl:1", "tick:2", false, { { 0, "gj" } } } +{ "msg_show", "sl:1", "tick:5", false, "" } +{ "msg_show", "sl:1", "tick:6", false, "" } +{ "msg_show", "sl:1", "tick:11", false, "" } +{ "msg_show", "sl:1", "tick:12", false, "" } +{ "msg_show", "sl:1", "tick:14", false, "" } +{ "msg_show", "sl:1", "tick:16", false, "" } +{ "msg_show", "sl:1", "tick:19", false, "" } +{ "msg_show", "sl:1", "tick:21", false, "" } +{ "msg_showcmd", "sl:1", "tick:51", false, { { 0, ":" } } } +{ "cmdline_show", "sl:1", "tick:52", "mode:c", { { 0, "" } } } +{ "cmdline_show", "sl:1", "tick:55", "mode:c", { { 0, "q" } } } +{ "cmdline_hide", "sl:1", "tick:57", false, 1 } +{ "msg_showcmd", "sl:1", "tick:3", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:5", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:7", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:8", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:10", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:12", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:14", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:16", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:18", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:20", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:21", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:23", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:25", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:27", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:29", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:31", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:33", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:35", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:37", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:39", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:40", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:42", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:44", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:46", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:48", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:50", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:52", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:54", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:56", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:58", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:60", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:62", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:64", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:66", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:68", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:70", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:72", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:74", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:76", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:78", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:80", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:82", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:83", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:85", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:87", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:89", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:91", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:93", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:95", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:97", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:99", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:101", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:103", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:105", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:107", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:109", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:111", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:113", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:115", false, { { 0, "i" } } } +{ "msg_showcmd", "sl:1", "tick:116", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:118", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:120", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:122", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:124", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:126", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:128", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:130", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:132", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:134", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:136", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:137", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:139", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:141", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:143", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:145", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:147", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:149", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:151", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:153", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:155", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:157", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:159", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:161", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:163", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:165", false, { { 0, "i" } } } +{ "msg_showcmd", "sl:1", "tick:167", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:169", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:171", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:173", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:175", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:177", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:179", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:180", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:182", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:184", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:186", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:188", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:190", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:192", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:194", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:196", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:198", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:200", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:202", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:204", false, { { 0, "i" } } } +{ "msg_showcmd", "sl:1", "tick:206", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:208", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:210", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:212", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:214", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:216", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:218", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:220", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:222", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:224", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:226", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:228", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:230", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:232", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:234", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:236", false, { { 0, "i" } } } +{ "msg_showcmd", "sl:1", "tick:238", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:240", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:242", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:244", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:246", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:248", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:250", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:252", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:254", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:256", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:258", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:260", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:262", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:264", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:266", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:267", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:269", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:271", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:273", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:275", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:277", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:279", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:281", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:283", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:285", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:286", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:288", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:290", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:292", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:294", false, { { 0, "^V" } } } +{ "msg_showcmd", "sl:1", "tick:295", false, { { 0, "1x1" } } } +{ "msg_showcmd", "sl:1", "tick:297", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:298", false, { { 0, "1x2" } } } +{ "msg_showcmd", "sl:1", "tick:300", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:301", false, { { 0, "1x3" } } } +{ "msg_showcmd", "sl:1", "tick:303", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:304", false, { { 0, "1x4" } } } +{ "msg_showcmd", "sl:1", "tick:306", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:307", false, { { 0, "1x5" } } } +{ "msg_showcmd", "sl:1", "tick:309", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:310", false, { { 0, "1x6" } } } +{ "msg_showcmd", "sl:1", "tick:312", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:313", false, { { 0, "1x7" } } } +{ "msg_showcmd", "sl:1", "tick:315", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:316", false, { { 0, "1x8" } } } +{ "msg_showcmd", "sl:1", "tick:317", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:318", false, { { 0, "1x9" } } } +{ "msg_showcmd", "sl:1", "tick:320", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:321", false, { { 0, "1x10" } } } +{ "msg_showcmd", "sl:1", "tick:323", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:324", false, { { 0, "1x11" } } } +{ "msg_showcmd", "sl:1", "tick:326", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:327", false, { { 0, "1x12" } } } +{ "msg_showcmd", "sl:1", "tick:328", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:329", false, { { 0, "1x13" } } } +{ "msg_showcmd", "sl:1", "tick:331", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:332", false, { { 0, "1x14" } } } +{ "msg_showcmd", "sl:1", "tick:334", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:335", false, { { 0, "1x15" } } } +{ "msg_showcmd", "sl:1", "tick:337", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:338", false, { { 0, "1x16" } } } +{ "msg_showcmd", "sl:1", "tick:340", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:341", false, { { 0, "1x17" } } } +{ "msg_showcmd", "sl:1", "tick:343", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:344", false, { { 0, "1x18" } } } +{ "msg_showcmd", "sl:1", "tick:345", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:346", false, { { 0, "1x19" } } } +{ "msg_showcmd", "sl:1", "tick:348", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:349", false, { { 0, "1x20" } } } +{ "msg_showcmd", "sl:1", "tick:351", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:352", false, { { 0, "1x21" } } } +{ "msg_showcmd", "sl:1", "tick:354", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:355", false, { { 0, "1x22" } } } +{ "msg_showcmd", "sl:1", "tick:357", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:358", false, { { 0, "1x23" } } } +{ "msg_showcmd", "sl:1", "tick:360", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:361", false, { { 0, "1x24" } } } +{ "msg_showcmd", "sl:1", "tick:363", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:364", false, { { 0, "1x25" } } } +{ "msg_showcmd", "sl:1", "tick:366", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:367", false, { { 0, "1x26" } } } +{ "msg_showcmd", "sl:1", "tick:368", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:369", false, { { 0, "1x27" } } } +{ "msg_showcmd", "sl:1", "tick:371", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:372", false, { { 0, "1x28" } } } +{ "msg_showcmd", "sl:1", "tick:374", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:375", false, { { 0, "1x29" } } } +{ "msg_showcmd", "sl:1", "tick:377", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:378", false, { { 0, "1x30" } } } +{ "msg_showcmd", "sl:1", "tick:380", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:381", false, { { 0, "1x31" } } } +{ "msg_showcmd", "sl:1", "tick:383", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:384", false, { { 0, "1x32" } } } +{ "msg_showcmd", "sl:1", "tick:386", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:387", false, { { 0, "1x33" } } } +{ "msg_showcmd", "sl:1", "tick:389", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:390", false, { { 0, "1x34" } } } +{ "msg_showcmd", "sl:1", "tick:391", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:392", false, { { 0, "1x35" } } } +{ "msg_showcmd", "sl:1", "tick:394", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:395", false, { { 0, "1x36" } } } +{ "msg_showcmd", "sl:1", "tick:397", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:398", false, { { 0, "1x37" } } } +{ "msg_showcmd", "sl:1", "tick:400", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:401", false, { { 0, "1x38" } } } +{ "msg_showcmd", "sl:1", "tick:403", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:404", false, { { 0, "1x39" } } } +{ "msg_showcmd", "sl:1", "tick:406", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:407", false, { { 0, "1x40" } } } +{ "msg_showcmd", "sl:1", "tick:409", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:410", false, { { 0, "1x41" } } } +{ "msg_showcmd", "sl:1", "tick:412", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:413", false, { { 0, "1x42" } } } +{ "msg_showcmd", "sl:1", "tick:414", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:415", false, { { 0, "1x43" } } } +{ "msg_showcmd", "sl:1", "tick:417", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:418", false, { { 0, "1x44" } } } +{ "msg_showcmd", "sl:1", "tick:420", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:421", false, { { 0, "1x45" } } } +{ "msg_showcmd", "sl:1", "tick:423", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:424", false, { { 0, "1x46" } } } +{ "msg_showcmd", "sl:1", "tick:426", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:427", false, { { 0, "1x47" } } } +{ "msg_showcmd", "sl:1", "tick:429", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:430", false, { { 0, "1x48" } } } +{ "msg_showcmd", "sl:1", "tick:432", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:433", false, { { 0, "1x49" } } } +{ "msg_showcmd", "sl:1", "tick:435", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:436", false, { { 0, "1x50" } } } +{ "msg_showcmd", "sl:1", "tick:438", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:439", false, { { 0, "1x51" } } } +{ "msg_showcmd", "sl:1", "tick:440", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:441", false, { { 0, "1x52" } } } +{ "msg_showcmd", "sl:1", "tick:443", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:444", false, { { 0, "1x53" } } } +{ "msg_showcmd", "sl:1", "tick:446", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:447", false, { { 0, "1x54" } } } +{ "msg_showcmd", "sl:1", "tick:449", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:450", false, { { 0, "1x55" } } } +{ "msg_showcmd", "sl:1", "tick:452", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:453", false, { { 0, "1x56" } } } +{ "msg_showcmd", "sl:1", "tick:455", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:456", false, { { 0, "1x57" } } } +{ "msg_showcmd", "sl:1", "tick:458", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:459", false, { { 0, "1x58" } } } +{ "msg_showcmd", "sl:1", "tick:460", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:461", false, { { 0, "1x59" } } } +{ "msg_showcmd", "sl:1", "tick:463", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:464", false, { { 0, "1x60" } } } +{ "msg_showcmd", "sl:1", "tick:466", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:467", false, { { 0, "1x61" } } } +{ "msg_showcmd", "sl:1", "tick:469", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:470", false, { { 0, "1x62" } } } +{ "msg_showcmd", "sl:1", "tick:472", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:473", false, { { 0, "1x63" } } } +{ "msg_showcmd", "sl:1", "tick:475", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:476", false, { { 0, "1x64" } } } +{ "msg_showcmd", "sl:1", "tick:478", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:479", false, { { 0, "1x65" } } } +{ "msg_showcmd", "sl:1", "tick:481", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:482", false, { { 0, "1x66" } } } +{ "msg_showcmd", "sl:1", "tick:483", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:484", false, { { 0, "1x67" } } } +{ "msg_showcmd", "sl:1", "tick:486", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:487", false, { { 0, "1x68" } } } +{ "msg_showcmd", "sl:1", "tick:489", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:490", false, { { 0, "1x69" } } } +{ "msg_showcmd", "sl:1", "tick:492", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:493", false, { { 0, "1x70" } } } +{ "msg_showcmd", "sl:1", "tick:495", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:496", false, { { 0, "1x71" } } } +{ "msg_showcmd", "sl:1", "tick:498", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:499", false, { { 0, "1x72" } } } +{ "msg_showcmd", "sl:1", "tick:501", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:502", false, { { 0, "1x73" } } } +{ "msg_showcmd", "sl:1", "tick:504", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:505", false, { { 0, "1x74" } } } +{ "msg_showcmd", "sl:1", "tick:507", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:508", false, { { 0, "1x75" } } } +{ "msg_showcmd", "sl:1", "tick:510", false, { { 0, "y" } } } +{ "msg_showcmd", "sl:1", "tick:512", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:514", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:516", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:518", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:520", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:522", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:524", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:526", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:528", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:530", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:532", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:534", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:536", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:538", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:540", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:542", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:544", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:546", false, { { 0, "p" } } } +{ "msg_showcmd", "sl:1", "tick:548", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:550", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:552", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:554", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:556", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:558", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:560", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:562", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:564", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:566", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:568", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:570", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:572", false, { { 0, "^V" } } } +{ "msg_showcmd", "sl:1", "tick:573", false, { { 0, "1x1" } } } +{ "msg_showcmd", "sl:1", "tick:575", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:576", false, { { 0, "1x2" } } } +{ "msg_showcmd", "sl:1", "tick:578", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:579", false, { { 0, "1x3" } } } +{ "msg_showcmd", "sl:1", "tick:581", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:582", false, { { 0, "1x4" } } } +{ "msg_showcmd", "sl:1", "tick:584", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:585", false, { { 0, "1x5" } } } +{ "msg_showcmd", "sl:1", "tick:587", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:588", false, { { 0, "1x6" } } } +{ "msg_showcmd", "sl:1", "tick:590", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:591", false, { { 0, "1x7" } } } +{ "msg_showcmd", "sl:1", "tick:592", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:593", false, { { 0, "1x8" } } } +{ "msg_showcmd", "sl:1", "tick:595", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:596", false, { { 0, "1x9" } } } +{ "msg_showcmd", "sl:1", "tick:598", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:599", false, { { 0, "1x10" } } } +{ "msg_showcmd", "sl:1", "tick:601", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:602", false, { { 0, "1x11" } } } +{ "msg_showcmd", "sl:1", "tick:604", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:605", false, { { 0, "1x12" } } } +{ "msg_showcmd", "sl:1", "tick:607", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:608", false, { { 0, "1x13" } } } +{ "msg_showcmd", "sl:1", "tick:610", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:611", false, { { 0, "1x14" } } } +{ "msg_showcmd", "sl:1", "tick:613", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:614", false, { { 0, "1x15" } } } +{ "msg_showcmd", "sl:1", "tick:616", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:617", false, { { 0, "1x16" } } } +{ "msg_showcmd", "sl:1", "tick:619", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:620", false, { { 0, "1x17" } } } +{ "msg_showcmd", "sl:1", "tick:621", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:622", false, { { 0, "1x18" } } } +{ "msg_showcmd", "sl:1", "tick:624", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:625", false, { { 0, "1x19" } } } +{ "msg_showcmd", "sl:1", "tick:627", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:628", false, { { 0, "1x20" } } } +{ "msg_showcmd", "sl:1", "tick:630", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:631", false, { { 0, "1x21" } } } +{ "msg_showcmd", "sl:1", "tick:633", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:634", false, { { 0, "1x22" } } } +{ "msg_showcmd", "sl:1", "tick:635", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:636", false, { { 0, "1x23" } } } +{ "msg_showcmd", "sl:1", "tick:638", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:639", false, { { 0, "1x24" } } } +{ "msg_showcmd", "sl:1", "tick:641", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:642", false, { { 0, "1x25" } } } +{ "msg_showcmd", "sl:1", "tick:644", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:645", false, { { 0, "1x26" } } } +{ "msg_showcmd", "sl:1", "tick:647", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:648", false, { { 0, "1x27" } } } +{ "msg_showcmd", "sl:1", "tick:650", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:651", false, { { 0, "1x28" } } } +{ "msg_showcmd", "sl:1", "tick:652", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:653", false, { { 0, "1x29" } } } +{ "msg_showcmd", "sl:1", "tick:655", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:656", false, { { 0, "1x30" } } } +{ "msg_showcmd", "sl:1", "tick:658", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:659", false, { { 0, "1x31" } } } +{ "msg_showcmd", "sl:1", "tick:660", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:661", false, { { 0, "1x32" } } } +{ "msg_showcmd", "sl:1", "tick:663", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:664", false, { { 0, "1x33" } } } +{ "msg_showcmd", "sl:1", "tick:666", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:667", false, { { 0, "1x34" } } } +{ "msg_showcmd", "sl:1", "tick:669", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:670", false, { { 0, "1x35" } } } +{ "msg_showcmd", "sl:1", "tick:672", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:673", false, { { 0, "1x36" } } } +{ "msg_showcmd", "sl:1", "tick:675", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:676", false, { { 0, "1x37" } } } +{ "msg_showcmd", "sl:1", "tick:678", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:679", false, { { 0, "1x38" } } } +{ "msg_showcmd", "sl:1", "tick:681", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:682", false, { { 0, "1x39" } } } +{ "msg_showcmd", "sl:1", "tick:683", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:684", false, { { 0, "1x40" } } } +{ "msg_showcmd", "sl:1", "tick:686", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:687", false, { { 0, "1x41" } } } +{ "msg_showcmd", "sl:1", "tick:689", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:690", false, { { 0, "1x42" } } } +{ "msg_showcmd", "sl:1", "tick:692", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:693", false, { { 0, "1x43" } } } +{ "msg_showcmd", "sl:1", "tick:694", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:695", false, { { 0, "1x44" } } } +{ "msg_showcmd", "sl:1", "tick:697", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:698", false, { { 0, "1x45" } } } +{ "msg_showcmd", "sl:1", "tick:700", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:701", false, { { 0, "1x46" } } } +{ "msg_showcmd", "sl:1", "tick:703", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:704", false, { { 0, "1x47" } } } +{ "msg_showcmd", "sl:1", "tick:706", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:707", false, { { 0, "1x48" } } } +{ "msg_showcmd", "sl:1", "tick:709", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:710", false, { { 0, "1x49" } } } +{ "msg_showcmd", "sl:1", "tick:712", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:713", false, { { 0, "1x50" } } } +{ "msg_showcmd", "sl:1", "tick:715", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:716", false, { { 0, "1x51" } } } +{ "msg_showcmd", "sl:1", "tick:718", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:719", false, { { 0, "1x52" } } } +{ "msg_showcmd", "sl:1", "tick:720", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:721", false, { { 0, "1x53" } } } +{ "msg_showcmd", "sl:1", "tick:723", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:724", false, { { 0, "1x54" } } } +{ "msg_showcmd", "sl:1", "tick:726", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:727", false, { { 0, "1x55" } } } +{ "msg_showcmd", "sl:1", "tick:729", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:730", false, { { 0, "1x56" } } } +{ "msg_showcmd", "sl:1", "tick:732", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:733", false, { { 0, "1x57" } } } +{ "msg_showcmd", "sl:1", "tick:735", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:736", false, { { 0, "1x58" } } } +{ "msg_showcmd", "sl:1", "tick:738", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:739", false, { { 0, "1x59" } } } +{ "msg_showcmd", "sl:1", "tick:740", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:741", false, { { 0, "1x60" } } } +{ "msg_showcmd", "sl:1", "tick:743", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:744", false, { { 0, "1x61" } } } +{ "msg_showcmd", "sl:1", "tick:746", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:747", false, { { 0, "1x62" } } } +{ "msg_showcmd", "sl:1", "tick:749", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:750", false, { { 0, "1x63" } } } +{ "msg_showcmd", "sl:1", "tick:752", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:753", false, { { 0, "1x64" } } } +{ "msg_showcmd", "sl:1", "tick:755", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:756", false, { { 0, "1x65" } } } +{ "msg_showcmd", "sl:1", "tick:758", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:759", false, { { 0, "1x66" } } } +{ "msg_showcmd", "sl:1", "tick:761", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:762", false, { { 0, "1x67" } } } +{ "msg_showcmd", "sl:1", "tick:764", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:765", false, { { 0, "1x68" } } } +{ "msg_showcmd", "sl:1", "tick:766", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:767", false, { { 0, "1x69" } } } +{ "msg_showcmd", "sl:1", "tick:769", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:770", false, { { 0, "1x70" } } } +{ "msg_showcmd", "sl:1", "tick:772", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:773", false, { { 0, "1x71" } } } +{ "msg_showcmd", "sl:1", "tick:775", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:776", false, { { 0, "1x72" } } } +{ "msg_showcmd", "sl:1", "tick:778", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:779", false, { { 0, "1x73" } } } +{ "msg_showcmd", "sl:1", "tick:781", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:782", false, { { 0, "1x74" } } } +{ "msg_showcmd", "sl:1", "tick:784", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:785", false, { { 0, "1x75" } } } +{ "msg_showcmd", "sl:1", "tick:787", false, { { 0, "y" } } } +{ "msg_showcmd", "sl:1", "tick:789", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:791", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:793", false, { { 0, "p" } } } +{ "msg_showcmd", "sl:1", "tick:795", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:797", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:799", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:801", false, { { 0, "x" } } } +{ "msg_showcmd", "sl:1", "tick:802", "mode:no", { { 0, "dl" } } } +{ "msg_showcmd", "sl:1", "tick:804", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:806", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:808", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:810", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:812", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:814", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:816", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:818", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:820", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:822", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:824", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:825", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:827", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:829", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:831", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:833", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:835", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:837", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:839", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:840", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:842", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:844", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:846", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:848", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:850", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:852", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:854", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:855", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:857", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:859", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:861", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:863", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:865", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:867", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:869", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:871", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:873", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:875", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:877", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:879", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:881", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:883", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:885", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:887", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:888", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:890", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:892", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:894", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:896", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:898", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:900", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:902", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:904", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:906", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:908", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:910", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:912", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:913", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:915", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:917", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:919", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:921", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:923", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:924", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:926", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:928", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:930", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:931", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:933", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:935", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:937", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:939", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:941", false, { { 0, "d" } } } +{ "msg_showcmd", "sl:1", "tick:943", "mode:no", { { 0, "dw" } } } +{ "msg_showcmd", "sl:1", "tick:945", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:947", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:949", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:950", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:952", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:954", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:956", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:958", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:960", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:962", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:964", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:966", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:968", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:970", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:972", false, { { 0, "i" } } } +{ "msg_showcmd", "sl:1", "tick:974", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:976", false, { { 0, "i" } } } +{ "msg_showcmd", "sl:1", "tick:978", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:980", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:982", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:984", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:986", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:988", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:990", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:992", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:994", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:996", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:998", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1000", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1002", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1004", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1006", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1007", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1009", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1011", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1013", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1015", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1017", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1019", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1021", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1023", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1025", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1026", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1028", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1030", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1032", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1034", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1036", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1037", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1039", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1041", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1043", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1045", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1047", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1049", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1051", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1053", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1055", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1057", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1059", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1061", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1063", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1065", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1067", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1069", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1071", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1073", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1075", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1077", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1079", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1081", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1083", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1085", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1086", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1088", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1090", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1092", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1094", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1096", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1098", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1100", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1102", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1104", false, { { 0, "~@k" } } } +{ "msg_showcmd", "sl:1", "tick:1106", false, { { 0, "gj" } } } +{ "msg_showcmd", "sl:1", "tick:1108", false, { { 0, "gk" } } } +{ "msg_showcmd", "sl:1", "tick:1110", false, { { 0, "x" } } } +{ "msg_showcmd", "sl:1", "tick:1111", "mode:no", { { 0, "dl" } } } +{ "msg_showcmd", "sl:1", "tick:1113", false, { { 0, ":" } } } +{ "cmdline_show", "sl:1", "tick:1114", "mode:c", { { 0, "" } } } +{ "cmdline_show", "sl:1", "tick:1117", "mode:c", { { 0, "w" } } } +{ "cmdline_show", "sl:1", "tick:1119", "mode:c", { { 0, "wq" } } } +{ "cmdline_hide", "sl:1", "tick:1121", false, 1 } +{ "msg_show", "sl:1", "tick:1122", false, "" } +{ "msg_show", "sl:1", "tick:1123", false, "" } diff --git a/app.py b/pacsdatequery.py old mode 100755 new mode 100644 similarity index 80% rename from app.py rename to pacsdatequery.py index 68e8e68..431f022 --- a/app.py +++ b/pacsdatequery.py @@ -8,7 +8,14 @@ __version__ = '1.0.0' DISPLAY_TITLE = r""" -ChRIS Plugin Template Title + _ _ _ + | | | | | | + _ __ | |______ _ __ __ _ ___ ___ __| | __ _| |_ ___ __ _ _ _ ___ _ __ _ _ +| '_ \| |______| '_ \ / _` |/ __/ __|/ _` |/ _` | __/ _ \/ _` | | | |/ _ \ '__| | | | +| |_) | | | |_) | (_| | (__\__ \ (_| | (_| | || __/ (_| | |_| | __/ | | |_| | +| .__/|_| | .__/ \__,_|\___|___/\__,_|\__,_|\__\___|\__, |\__,_|\___|_| \__, | +| | | | | | __/ | +|_| |_| |_| |___/ """ @@ -30,7 +37,7 @@ # documentation: https://fnndsc.github.io/chris_plugin/chris_plugin.html#chris_plugin @chris_plugin( parser=parser, - title='My ChRIS plugin', + title='A ChRIS PACS Query Plugin', category='', # ref. https://chrisstore.co/plugins min_memory_limit='100Mi', # supported units: Mi, Gi min_cpu_limit='1000m', # millicores, e.g. "1000m" = 1 CPU core diff --git a/setup.py b/setup.py index 240b0dd..6c4bac5 100644 --- a/setup.py +++ b/setup.py @@ -19,18 +19,18 @@ def get_version(rel_path: str) -> str: setup( - name='chris-plugin-template', - version=get_version('app.py'), - description='A ChRIS DS plugin template', + name='pacsdatequery', + version=get_version('pacsdatequery.py'), + description='A ChRIS PACS Plugin to query a PACS and store its responses in JSON format', author='FNNDSC', author_email='dev@babyMRI.org', - url='https://github.com/FNNDSC/python-chrisapp-template', - py_modules=['app'], + url='https://github.com/FNNDSC/pl-pacsdatequery', + py_modules=['pacsdatequery'], install_requires=['chris_plugin'], license='MIT', entry_points={ 'console_scripts': [ - 'commandname = app:main' + 'pacsdatequery = pacsdatequery:main' ] }, classifiers=[ diff --git a/tests/test_example.py b/tests/test_example.py index 83d3846..0f185f6 100644 --- a/tests/test_example.py +++ b/tests/test_example.py @@ -1,6 +1,6 @@ from pathlib import Path -from app import parser, main +from pacsdatequery import parser, main def test_main(tmp_path: Path):