diff --git a/Makefile b/Makefile index 3423f00..3191990 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: test test-stress test-unit test-e2e test-e2e-sequential test-file deps lint dev test-repo dev-repo setup-gh demo +.PHONY: test test-stress test-unit test-e2e test-e2e-sequential test-file deps lint dev test-repo dev-repo setup-gh demo demo-basics demo-advanced demo-forge # Run plugin in development mode dev: @@ -79,10 +79,20 @@ format: echo "stylua not installed"; \ fi -# Record demo and generate all output formats (cast, v2 cast, gif) +# Record all demos (basics, advanced, forge) demo: ./scripts/record-demo.sh +# Record individual demos +demo-basics: + ./scripts/record-demo.sh basics + +demo-advanced: + ./scripts/record-demo.sh advanced + +demo-forge: + ./scripts/record-demo.sh forge + # Clean test artifacts clean: rm -rf .tests/ diff --git a/README.md b/README.md index 18aa69e..09e6d96 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ A performance-focused, magit-inspired git interface for Neovim.

- gitlad.nvim demo + gitlad.nvim demo
- Interactive demo + Interactive demos — core workflow, advanced diff, and GitHub integration

## Installation diff --git a/docs/demo-advanced-v2.cast b/docs/demo-advanced-v2.cast new file mode 100644 index 0000000..292ef05 --- /dev/null +++ b/docs/demo-advanced-v2.cast @@ -0,0 +1,204 @@ +{"version":2,"width":130,"height":42,"timestamp":1772019855,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/nix/store/ngqf98amj0hv0jhzhz540p03wxjj0chj-bash-interactive-5.3p9/bin/bash"}} +[0.012, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] +[0.018, "o", "\u001b]11;?\u0007"] +[0.029, "o", "\u001bP+q4D73\u001b\\"] +[0.029, "o", "\u001b[?25l\u001b[?2031h\u001b[>4;2m\u001b[m\u000f\u001b[H \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.029, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.029, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.029, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.029, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.029, "o", " \r\n \r\n \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[H \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n "] +[0.029, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] +[0.029, "o", " \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] +[0.029, "o", " \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNvim is open source and freely distributable\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mhttps://neovim.io/#chat\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ "] +[0.029, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.029, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.029, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] +[0.111, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] +[1.731, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] +[1.744, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] +[1.8, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[1.8, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] +[1.82, "o", "\u001b[?25l"] +[1.848, "o", "\u001b[34h\u001b[?25h"] +[1.864, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] +[1.914, "o", "\u001b[?25l"] +[1.925, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138"] +[1.925, "o", ";169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js "] +[1.925, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] +[1.925, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;1"] +[1.925, "o", "13;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} "] +[1.925, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m"] +[1.925, "o", "\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/pr"] +[1.925, "o", "ivate/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31"] +[1.925, "o", ";31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[1.925, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[1.925, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and te"] +[1.925, "o", "st runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] +[4.033, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[4.235, "o", "\u001b[?25l\u001b[7B\u001b[34h\u001b[?25h"] +[4.436, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[5.846, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[5.846, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[5.846, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[5.846, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[5.846, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[5.846, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[5.846, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[5.846, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;"] +[5.846, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[5.846, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[18;46H╭\u001b[18;47H─\u001b[18;48H─\u001b[18;49H─\u001b[18;50H─\u001b[18;51H─\u001b[18;52H─\u001b[18;53H─\u001b[18;54H─\u001b[18;55H─\u001b[18;56H─\u001b[18;57H─\u001b[18;58H─\u001b[18;59H─\u001b[18;60H─\u001b[18;61H─\u001b[18;62H─\u001b[18;63H─\u001b[18;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[18;71H─\u001b[18;72H─\u001b[18;73H─\u001b[18;74H─\u001b[18;"] +[5.846, "o", "75H─\u001b[18;76H─\u001b[18;77H─\u001b[18;78H─\u001b[18;79H─\u001b[18;80H─\u001b[18;81H─\u001b[18;82H─\u001b[18;83H─\u001b[18;84H─\u001b[18;85H─\u001b[18;86H─\u001b[18;87H╮\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiffing\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff (dwim) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff staged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff unstaged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48"] +[5.846, "o", ";2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Build range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H╰\u001b[26;47H─\u001b[26;48H─\u001b[26;49H─\u001b[26;50H─\u001b[26;51H─\u001b[26;52H─\u001b[26;53H─\u001b[26;54H─\u001b[26;55H─\u001b[26;56H─\u001b[26;57H─\u001b[26;58H─\u001b[26;59H─\u001b[26;60H─\u001b[26;61H─\u001b[26;62H─\u001b[26;63H─\u001b[26;64H─\u001b[26;65H─\u001b[26;66H─\u001b[26;67H─\u001b[26;68H─\u001b[26;69H─\u001b[26;70H─\u001b[26;71H─\u001b[26;72H─\u001b[26;73H─\u001b[26;74H─\u001b[26;75H─\u001b[26;76H─\u001b[26;77H─\u001b[26;78H─\u001b[26;79H─\u001b[26;80H─\u001b[26;81H─\u001b[26;82H─\u001b[2"] +[5.846, "o", "6;83H─\u001b[26;84H─\u001b[26;85H─\u001b[26;86H─\u001b[26;87H╯\u001b[19;47H\u001b[34h\u001b[?25h"] +[7.041, "o", "\u001b[?25l\u001b[18;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;47H"] +[7.073, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[7.073, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] +[7.073, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] +[7.073, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] +[7.073, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[7.073, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[7.073, "o", ";2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[7.073, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;21"] +[7.073, "o", "5;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[7.073, "o", "1;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[23;3H\u001b[34h\u001b[?25h"] +[7.125, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ docs\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ R API.md -> API-REFERE..."] +[7.125, "o", " +4 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-1\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ components\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Card.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+19\r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ utils\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validator.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[7.125, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│"] +[7.125, "o", "\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42mAPI Documentation\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[7.125, "o", " \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a list of users. \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPOST /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mCreates a new user. \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 "] +[7.125, "o", " \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user. \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[17;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[18;37H~ \u001b[19;37H~ \u001b[20;37H~ \u001b[21;37H~ "] +[7.125, "o", " \u001b[22;37H~ \u001b[23;37H~ \u001b[24;37H~ \u001b[25;37H~ \u001b[26;37H~ \u001b[27;37H~ \u001b[28;37H~ \u001b[29;37H~ \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37"] +[7.125, "o", "H~ \u001b[40;37H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;88H│\u001b[4;88H│\u001b[5;88H│\u001b[6;88H│\u001b[7;88H│\u001b[8;88H│\u001b[9;88H│\u001b[10;88H│\u001b[11;88H│\u001b[12;88H│\u001b[13;88H│\u001b[14;88H│\u001b[15;88H│\u001b[16;88H│\u001b[17;88H│\u001b[18;88H│\u001b[19;88H│\u001b[20;88H│\u001b[21;88H│\u001b[22;88H│\u001b[23;88H│\u001b[24;88H│\u001b[25;88H│\u001b[26;88H│\u001b[27;88H│\u001b[28;88H│\u001b[29;88H│\u001b[30;88H│\u001b[31;88H│\u001b[32;88H│\u001b[33;88H│\u001b[34;88H│\u001b[35;88H│\u001b[36;88H│\u001b[37;88H│\u001b[38;88H│\u001b[39;88H│\u001b[40;88H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mAPI Reference\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[3;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48"] +[7.125, "o", ";2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a list of users. \u001b[8;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPOST /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;22"] +[7.125, "o", "0;215;186m\u001b[48;2;31;31;40mCreates a new user. \u001b[11;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user. \u001b[14;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[15;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mDELETE /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[16;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mDeletes a specific user. \u001b[17;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40"] +[7.125, "o", "m~ \u001b[18;89H~ \u001b[19;89H~ \u001b[20;89H~ \u001b[21;89H~ \u001b[22;89H~ \u001b[23;89H~ \u001b[24;89H~ \u001b[25;89H~ \u001b[26;89H~ \u001b[27;89H~ \u001b[28;89H~ \u001b[29;89H~ \u001b[30;89H~ \u001b[31;89H~ \u001b[32;89H~ \u001b[33;89H~ \u001b[34;89H~ \u001b[35;89H~ \u001b[36;89H~ \u001b[37;89H~ "] +[7.125, "o", " \u001b[38;89H~ \u001b[39;89H~ \u001b[40;89H~ \u001b[41;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://diff/docs/API-REFERENCE.md \r\u001b[39A\u001b[34h\u001b[?25h"] +[10.076, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m Files (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\n\n\u001b[34h\u001b[?25h"] +[11.478, "o", "\u001b[?25l\n\n\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m Card.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+19\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\u001b[8;1H\u001b[34h\u001b[?25h"] +[15.488, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;"] +[15.488, "o", "210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt "] +[15.488, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;1"] +[15.488, "o", "86m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m"] +[15.488, "o", "\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;1"] +[15.488, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[15.488, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] +[15.488, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[15.488, "o", "31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[15.489, "o", "3;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[15.489, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;"] +[15.489, "o", "42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[23;3H\u001b[34h\u001b[?25h"] +[16.586, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[16.786, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[18.192, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[18.192, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[18.192, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[18.192, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[18.192, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[18.192, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[18.192, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[18.193, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;"] +[18.193, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[18.193, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[18;46H╭\u001b[18;47H─\u001b[18;48H─\u001b[18;49H─\u001b[18;50H─\u001b[18;51H─\u001b[18;52H─\u001b[18;53H─\u001b[18;54H─\u001b[18;55H─\u001b[18;56H─\u001b[18;57H─\u001b[18;58H─\u001b[18;59H─\u001b[18;60H─\u001b[18;61H─\u001b[18;62H─\u001b[18;63H─\u001b[18;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[18;71H─\u001b[18;72H─\u001b[18;73H─\u001b[18;74H─\u001b[18;"] +[18.193, "o", "75H─\u001b[18;76H─\u001b[18;77H─\u001b[18;78H─\u001b[18;79H─\u001b[18;80H─\u001b[18;81H─\u001b[18;82H─\u001b[18;83H─\u001b[18;84H─\u001b[18;85H─\u001b[18;86H─\u001b[18;87H╮\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiffing\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff (dwim) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff staged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff unstaged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48"] +[18.193, "o", ";2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Build range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H╰\u001b[26;47H─\u001b[26;48H─\u001b[26;49H─\u001b[26;50H─\u001b[26;51H─\u001b[26;52H─\u001b[26;53H─\u001b[26;54H─\u001b[26;55H─\u001b[26;56H─\u001b[26;57H─\u001b[26;58H─\u001b[26;59H─\u001b[26;60H─\u001b[26;61H─\u001b[26;62H─\u001b[26;63H─\u001b[26;64H─\u001b[26;65H─\u001b[26;66H─\u001b[26;67H─\u001b[26;68H─\u001b[26;69H─\u001b[26;70H─\u001b[26;71H─\u001b[26;72H─\u001b[26;73H─\u001b[26;74H─\u001b[26;75H─\u001b[26;76H─\u001b[26;77H─\u001b[26;78H─\u001b[26;79H─\u001b[26;80H─\u001b[26;81H─\u001b[26;82H─\u001b[2"] +[18.193, "o", "6;83H─\u001b[26;84H─\u001b[26;85H─\u001b[26;86H─\u001b[26;87H╯\u001b[19;47H\u001b[34h\u001b[?25h"] +[19.393, "o", "\u001b[?25l\u001b[18;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;47H"] +[19.428, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[19.428, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] +[19.429, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] +[19.429, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] +[19.429, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[19.429, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[19.429, "o", ";2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[19.429, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;21"] +[19.429, "o", "5;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[19.429, "o", "1;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[33;3H\u001b[34h\u001b[?25h"] +[19.49, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (8)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ docs\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ R API-REFERENCE.md "] +[19.49, "o", " +4 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-1\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ components\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Button.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+12\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Card.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+19\r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ utils\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m helpers.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+13\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36"] +[19.49, "o", ";43m-1\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validator.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m config.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+4\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+16\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m lib \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+1\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-1\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ "] +[19.49, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[1"] +[19.49, "o", "4;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42mAPI Documentation\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42"] +[19.49, "o", ";55m 5 \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m ·\u001b[6;48H·\u001b[6;49H·\u001b[6;50H·\u001b[6;51H 5 unchanged li\u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user.\u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[13;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[14;37H~ \u001b[15;37H~ \u001b[16;37H~ "] +[19.49, "o", " \u001b[17;37H~ \u001b[18;37H~ \u001b[19;37H~ \u001b[20;37H~ \u001b[21;37H~ \u001b[22;37H~ \u001b[23;37H~ \u001b[24;37H~ \u001b[25;37H~ \u001b[26;37H~ \u001b[27;37H~ \u001b[28;37H~ \u001b[29;37H~ \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37H~ \u001b[40;37H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;66H│\u001b[4;66H│\u001b[5;66H│\u001b[6;66H│\u001b[7;66H│\u001b[8;66H│\u001b[9;66H│\u001b["] +[19.49, "o", "10;66H│\u001b[11;66H│\u001b[12;66H│\u001b[13;66H│\u001b[14;66H│\u001b[15;66H│\u001b[16;66H│\u001b[17;66H│\u001b[18;66H│\u001b[19;66H│\u001b[20;66H│\u001b[21;66H│\u001b[22;66H│\u001b[23;66H│\u001b[24;66H│\u001b[25;66H│\u001b[26;66H│\u001b[27;66H│\u001b[28;66H│\u001b[29;66H│\u001b[30;66H│\u001b[31;66H│\u001b[32;66H│\u001b[33;66H│\u001b[34;66H│\u001b[35;66H│\u001b[36;66H│\u001b[37;66H│\u001b[38;66H│\u001b[39;66H│\u001b[40;66H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mAPI Reference\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[3;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[19.49, "o", " \u001b[6;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m ·\u001b[6;78H·\u001b[6;79H·\u001b[6;80H·\u001b[6;81H 5 unchanged lines\u001b[7;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user. \u001b[10;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[11;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mDELETE /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[12;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mDeletes a specific user. \u001b[13;67H\u001b[m\u000f"] +[19.49, "o", "\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[14;67H~ \u001b[15;67H~ \u001b[16;67H~ \u001b[17;67H~ \u001b[18;67H~ \u001b[19;67H~ \u001b[20;67H~ \u001b[21;67H~ \u001b[22;67H~ \u001b[23;67H~ \u001b[24;67H~ \u001b[25;67H~ \u001b[26;67H~ \u001b[27;67H~ \u001b[28;67H~ \u001b[29;67H~ \u001b[30;67H~ \u001b[31;67H~ \u001b[32;67H~ \u001b[33;67H~ \u001b[34;67H~ \u001b[35;67H~ \u001b[36;67H~ \u001b[37;67H~ "] +[19.49, "o", "\u001b[38;67H~ \u001b[39;67H~ \u001b[40;67H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;99H│\u001b[4;99H│\u001b[5;99H│\u001b[6;99H│\u001b[7;99H│\u001b[8;99H│\u001b[9;99H│\u001b[10;99H│\u001b[11;99H│\u001b[12;99H│\u001b[13;99H│\u001b[14;99H│\u001b[15;99H│\u001b[16;99H│\u001b[17;99H│\u001b[18;99H│\u001b[19;99H│\u001b[20;99H│\u001b[21;99H│\u001b[22;99H│\u001b[23;99H│\u001b[24;99H│\u001b[25;99H│\u001b[26;99H│\u001b[27;99H│\u001b[28;99H│\u001b[29;99H│\u001b[30;99H│\u001b[31;99H│\u001b[32;99H│\u001b[33;99H│\u001b[34;99H│\u001b[35;99H│\u001b[36;99H│\u001b[37;99H│\u001b[38;99H│\u001b[39;99H│\u001b[40;99H│\u001b[41;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt "] +[25.534, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;1"] +[25.534, "o", "86m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m"] +[25.534, "o", "\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;1"] +[25.534, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[25.534, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] +[25.534, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[25.534, "o", "31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[25.534, "o", "3;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[25.534, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;"] +[25.534, "o", "42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[33;3H\u001b[34h\u001b[?25h"] +[26.833, "o", "\u001b[?25l"] +[26.948, "o", "\u001b[34h\u001b[?25h"] +[27.178, "o", "\u001b[?25l\u001b[32A\u001b[m\u000f\u001b[38;2;255;158;59m\u001b[48;2;42;42;42m⚠\u001b[1;4H Stale (gr to refresh)\u001b[33;3H\u001b[34h\u001b[?25h"] +[28.753, "o", "\u001b[?25l\u001b[32A\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[33;3H\u001b[34h\u001b[?25h"] +[28.791, "o", "\u001b[?25l"] +[28.824, "o", "\u001b[34h\u001b[?25h"] +[28.834, "o", "\u001b[?25l\u001b[32A\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠹\u001b[33;3H\u001b[34h\u001b[?25h"] +[28.892, "o", "\u001b[?25l"] +[28.904, "o", "\u001b[32A\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[4;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mMerging: 1246a66 Update App component (will conflict)\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (7)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;7Hassets/new-image.bin\u001b[8;7Hdocs/API-REFERENCE.md \u001b[9;7Hnotes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Card.js\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js\u001b[12;3H? src/utils/cache.js\u001b[13;3H? src/utils/validator.js\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40"] +[28.904, "o", "mUnstaged (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;7H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mConflicted (1)\u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m! src/components/App.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStashes (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mstash@{0}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWIP on main: 116d47b Wire up auth middleware and formatters\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[28.904, "o", " \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[27;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;4H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m16d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;1"] +[28.904, "o", "14;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;4H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m16d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[28.904, "o", "31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and"] +[28.904, "o", " test runner\u001b[34;3H\u001b[34h\u001b[?25h"] +[30.55, "o", "\u001b[?25l\u001b[33A\u001b[34h\u001b[?25h"] +[31.05, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[31.252, "o", "\u001b[?25l\u001b[9B\u001b[34h\u001b[?25h"] +[31.453, "o", "\u001b[?25l\n\n\n\u001b[34h\u001b[?25h"] +[32.555, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[34.158, "o", "\u001b[?25l"] +[34.191, "o", "\u001b[34h\u001b[?25h"] +[34.266, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src/components\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b["] +[34.266, "o", "m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;54;54;70mU\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m App.js +10 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-10\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[34.267, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48"] +[34.267, "o", ";2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mclass\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m App \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m constructor() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.name = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'MainApp\u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.version = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2"] +[34.267, "o", ";31;31;40m'1.5.\u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m run() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;220;"] +[34.267, "o", "215;186m\u001b[48;2;74;42;42m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;74;42;42m`Startin\u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.initialize(); \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m initialize() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;"] +[34.267, "o", "31;40m'Main br\u001b[21;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[22;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[23;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[24;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mmodule.exports = App; \u001b[28;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[29;37H~ "] +[34.267, "o", " \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37H~ \u001b[40;37H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;66H│\u001b[4;66H│\u001b[5;66H│\u001b[6;66H│\u001b[7;66H│\u001b[8;66H│\u001b[9;66H│\u001b[10;66H│\u001b[11;66H│\u001b[12;66H│\u001b[13;66H│\u001b[14;66H│\u001b[15;66H│\u001b[16;66H│\u001b[17;66H│\u001b[18;66H│\u001b[19;66H│\u001b[20;66H│\u001b[21;66H│\u001b[22;66H│\u001b[23;66H│\u001b[24;66H│\u001b[25;66H│\u001b[26;66H│\u001b[27;66H│\u001b[28;66H│\u001b[29;66H│\u001b[30;66H│\u001b[31;66H│\u001b[32;66H│\u001b[33;66H│\u001b[34;66H│\u001b[35;66H│\u001b[36;66H│\u001b[37;66H│\u001b[38;66H│\u001b[39;66H│\u001b[40;66H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;"] +[34.267, "o", "2;31;31;40mclass\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m App \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m constructor() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m<<<<<<< HEAD \u001b[5;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.name = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'MainApp'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m; \u001b[6;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.version = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'1.5.0'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m;\u001b[7;67H\u001b[m\u000f\u001b[38;2;8"] +[34.267, "o", "4;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m======= \u001b[8;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m.name = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'ConflictAp\u001b[9;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m.version = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'2.0.0'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m;\u001b[10;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m>>>>>>> feature/conflict-me\u001b[11;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[34.267, "o", " \u001b[13;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m run() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m`Running \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42m${\u001b[15;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.initialize(); \u001b[16;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m initialize() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48"] +[34.267, "o", ";2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m<<<<<<< HEAD \u001b[20;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'Main branc\u001b[21;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m======= \u001b[22;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'Conflict b\u001b[23;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m>>>>>>> feature/conflict-me\u001b[24;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;"] +[34.267, "o", "186m\u001b[48;2;31;31;40m \u001b[26;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mmodule.exports = App; \u001b[28;67H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[29;67H~ \u001b[30;67H~ \u001b[31;67H~ \u001b[32;67H~ \u001b[33;67H~ \u001b[34;67H~ \u001b[35;67H~ \u001b[36;67H~ \u001b[37;67H~ \u001b[38;67H~ \u001b[39;67H~ \u001b[40;67H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;99H│\u001b[4;99H│\u001b[5;99H│\u001b[6;99H│\u001b[7;99H│\u001b[8;99H│\u001b[9;99H│\u001b[10;99H│\u001b[11;99H│\u001b[12;99H│\u001b[13;99H│\u001b[14;99H│\u001b[15;99H│\u001b[16;99H"] +[34.267, "o", "│\u001b[17;99H│\u001b[18;99H│\u001b[19;99H│\u001b[20;99H│\u001b[21;99H│\u001b[22;99H│\u001b[23;99H│\u001b[24;99H│\u001b[25;99H│\u001b[26;99H│\u001b[27;99H│\u001b[28;99H│\u001b[29;99H│\u001b[30;99H│\u001b[31;99H│\u001b[32;99H│\u001b[33;99H│\u001b[34;99H│\u001b[35;99H│\u001b[36;99H│\u001b[37;99H│\u001b[38;99H│\u001b[39;99H│\u001b[40;99H│\u001b[41;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] +[48.52, "o", "\u001b[?25l\r\u001b[42;1H\u001b[?1049l\u001b[34h\u001b[?25h"] +[48.521, "x", "0"] diff --git a/docs/demo-advanced.cast b/docs/demo-advanced.cast new file mode 100644 index 0000000..bc93959 --- /dev/null +++ b/docs/demo-advanced.cast @@ -0,0 +1,204 @@ +{"version":3,"term":{"cols":130,"rows":42,"type":"tmux-256color","version":"tmux 3.6a"},"timestamp":1772019855,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/nix/store/ngqf98amj0hv0jhzhz540p03wxjj0chj-bash-interactive-5.3p9/bin/bash"}} +[0.012, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] +[0.006, "o", "\u001b]11;?\u0007"] +[0.011, "o", "\u001bP+q4D73\u001b\\"] +[0.000, "o", "\u001b[?25l\u001b[?2031h\u001b[>4;2m\u001b[m\u000f\u001b[H \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[H \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n "] +[0.000, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNvim is open source and freely distributable\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mhttps://neovim.io/#chat\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.000, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] +[0.082, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] +[1.620, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] +[0.013, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] +[0.056, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[0.000, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] +[0.020, "o", "\u001b[?25l"] +[0.028, "o", "\u001b[34h\u001b[?25h"] +[0.016, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] +[0.050, "o", "\u001b[?25l"] +[0.011, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138"] +[0.000, "o", ";169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;1"] +[0.000, "o", "13;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m"] +[0.000, "o", "\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/pr"] +[0.000, "o", "ivate/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31"] +[0.000, "o", ";31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and te"] +[0.000, "o", "st runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] +[2.108, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[0.202, "o", "\u001b[?25l\u001b[7B\u001b[34h\u001b[?25h"] +[0.201, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[1.410, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[0.000, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[18;46H╭\u001b[18;47H─\u001b[18;48H─\u001b[18;49H─\u001b[18;50H─\u001b[18;51H─\u001b[18;52H─\u001b[18;53H─\u001b[18;54H─\u001b[18;55H─\u001b[18;56H─\u001b[18;57H─\u001b[18;58H─\u001b[18;59H─\u001b[18;60H─\u001b[18;61H─\u001b[18;62H─\u001b[18;63H─\u001b[18;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[18;71H─\u001b[18;72H─\u001b[18;73H─\u001b[18;74H─\u001b[18;"] +[0.000, "o", "75H─\u001b[18;76H─\u001b[18;77H─\u001b[18;78H─\u001b[18;79H─\u001b[18;80H─\u001b[18;81H─\u001b[18;82H─\u001b[18;83H─\u001b[18;84H─\u001b[18;85H─\u001b[18;86H─\u001b[18;87H╮\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiffing\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff (dwim) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff staged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff unstaged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48"] +[0.000, "o", ";2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Build range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H╰\u001b[26;47H─\u001b[26;48H─\u001b[26;49H─\u001b[26;50H─\u001b[26;51H─\u001b[26;52H─\u001b[26;53H─\u001b[26;54H─\u001b[26;55H─\u001b[26;56H─\u001b[26;57H─\u001b[26;58H─\u001b[26;59H─\u001b[26;60H─\u001b[26;61H─\u001b[26;62H─\u001b[26;63H─\u001b[26;64H─\u001b[26;65H─\u001b[26;66H─\u001b[26;67H─\u001b[26;68H─\u001b[26;69H─\u001b[26;70H─\u001b[26;71H─\u001b[26;72H─\u001b[26;73H─\u001b[26;74H─\u001b[26;75H─\u001b[26;76H─\u001b[26;77H─\u001b[26;78H─\u001b[26;79H─\u001b[26;80H─\u001b[26;81H─\u001b[26;82H─\u001b[2"] +[0.000, "o", "6;83H─\u001b[26;84H─\u001b[26;85H─\u001b[26;86H─\u001b[26;87H╯\u001b[19;47H\u001b[34h\u001b[?25h"] +[1.195, "o", "\u001b[?25l\u001b[18;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;47H"] +[0.032, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] +[0.000, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] +[0.000, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] +[0.000, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[0.000, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[0.000, "o", ";2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;21"] +[0.000, "o", "5;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[0.000, "o", "1;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[23;3H\u001b[34h\u001b[?25h"] +[0.052, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ docs\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ R API.md -> API-REFERE..."] +[0.000, "o", " +4 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-1\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ components\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Card.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+19\r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ utils\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validator.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│"] +[0.000, "o", "\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42mAPI Documentation\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a list of users. \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPOST /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mCreates a new user. \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user. \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[17;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[18;37H~ \u001b[19;37H~ \u001b[20;37H~ \u001b[21;37H~ "] +[0.000, "o", " \u001b[22;37H~ \u001b[23;37H~ \u001b[24;37H~ \u001b[25;37H~ \u001b[26;37H~ \u001b[27;37H~ \u001b[28;37H~ \u001b[29;37H~ \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37"] +[0.000, "o", "H~ \u001b[40;37H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;88H│\u001b[4;88H│\u001b[5;88H│\u001b[6;88H│\u001b[7;88H│\u001b[8;88H│\u001b[9;88H│\u001b[10;88H│\u001b[11;88H│\u001b[12;88H│\u001b[13;88H│\u001b[14;88H│\u001b[15;88H│\u001b[16;88H│\u001b[17;88H│\u001b[18;88H│\u001b[19;88H│\u001b[20;88H│\u001b[21;88H│\u001b[22;88H│\u001b[23;88H│\u001b[24;88H│\u001b[25;88H│\u001b[26;88H│\u001b[27;88H│\u001b[28;88H│\u001b[29;88H│\u001b[30;88H│\u001b[31;88H│\u001b[32;88H│\u001b[33;88H│\u001b[34;88H│\u001b[35;88H│\u001b[36;88H│\u001b[37;88H│\u001b[38;88H│\u001b[39;88H│\u001b[40;88H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mAPI Reference\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[3;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48"] +[0.000, "o", ";2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a list of users. \u001b[8;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPOST /users\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;22"] +[0.000, "o", "0;215;186m\u001b[48;2;31;31;40mCreates a new user. \u001b[11;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user. \u001b[14;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[15;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mDELETE /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[16;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mDeletes a specific user. \u001b[17;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40"] +[0.000, "o", "m~ \u001b[18;89H~ \u001b[19;89H~ \u001b[20;89H~ \u001b[21;89H~ \u001b[22;89H~ \u001b[23;89H~ \u001b[24;89H~ \u001b[25;89H~ \u001b[26;89H~ \u001b[27;89H~ \u001b[28;89H~ \u001b[29;89H~ \u001b[30;89H~ \u001b[31;89H~ \u001b[32;89H~ \u001b[33;89H~ \u001b[34;89H~ \u001b[35;89H~ \u001b[36;89H~ \u001b[37;89H~ "] +[0.000, "o", " \u001b[38;89H~ \u001b[39;89H~ \u001b[40;89H~ \u001b[41;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://diff/docs/API-REFERENCE.md \r\u001b[39A\u001b[34h\u001b[?25h"] +[2.951, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m Files (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\n\n\u001b[34h\u001b[?25h"] +[1.402, "o", "\u001b[?25l\n\n\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m Card.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+19\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\u001b[8;1H\u001b[34h\u001b[?25h"] +[4.010, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;1"] +[0.000, "o", "86m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m"] +[0.000, "o", "\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;1"] +[0.000, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] +[0.000, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.000, "o", "31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[0.001, "o", "3;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;"] +[0.000, "o", "42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[23;3H\u001b[34h\u001b[?25h"] +[1.097, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[0.200, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[1.406, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.001, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[0.000, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[18;46H╭\u001b[18;47H─\u001b[18;48H─\u001b[18;49H─\u001b[18;50H─\u001b[18;51H─\u001b[18;52H─\u001b[18;53H─\u001b[18;54H─\u001b[18;55H─\u001b[18;56H─\u001b[18;57H─\u001b[18;58H─\u001b[18;59H─\u001b[18;60H─\u001b[18;61H─\u001b[18;62H─\u001b[18;63H─\u001b[18;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[18;71H─\u001b[18;72H─\u001b[18;73H─\u001b[18;74H─\u001b[18;"] +[0.000, "o", "75H─\u001b[18;76H─\u001b[18;77H─\u001b[18;78H─\u001b[18;79H─\u001b[18;80H─\u001b[18;81H─\u001b[18;82H─\u001b[18;83H─\u001b[18;84H─\u001b[18;85H─\u001b[18;86H─\u001b[18;87H╮\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiffing\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff (dwim) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff staged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff unstaged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48"] +[0.000, "o", ";2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Build range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H╰\u001b[26;47H─\u001b[26;48H─\u001b[26;49H─\u001b[26;50H─\u001b[26;51H─\u001b[26;52H─\u001b[26;53H─\u001b[26;54H─\u001b[26;55H─\u001b[26;56H─\u001b[26;57H─\u001b[26;58H─\u001b[26;59H─\u001b[26;60H─\u001b[26;61H─\u001b[26;62H─\u001b[26;63H─\u001b[26;64H─\u001b[26;65H─\u001b[26;66H─\u001b[26;67H─\u001b[26;68H─\u001b[26;69H─\u001b[26;70H─\u001b[26;71H─\u001b[26;72H─\u001b[26;73H─\u001b[26;74H─\u001b[26;75H─\u001b[26;76H─\u001b[26;77H─\u001b[26;78H─\u001b[26;79H─\u001b[26;80H─\u001b[26;81H─\u001b[26;82H─\u001b[2"] +[0.000, "o", "6;83H─\u001b[26;84H─\u001b[26;85H─\u001b[26;86H─\u001b[26;87H╯\u001b[19;47H\u001b[34h\u001b[?25h"] +[1.200, "o", "\u001b[?25l\u001b[18;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;47H"] +[0.035, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] +[0.001, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] +[0.000, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] +[0.000, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[0.000, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[0.000, "o", ";2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;21"] +[0.000, "o", "5;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[0.000, "o", "1;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[33;3H\u001b[34h\u001b[?25h"] +[0.061, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (8)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ docs\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ R API-REFERENCE.md "] +[0.000, "o", " +4 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-1\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ components\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Button.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+12\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Card.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+19\r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ utils\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m helpers.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+13\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36"] +[0.000, "o", ";43m-1\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validator.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m config.js \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+4\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+16\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m lib \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+1\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-1\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[1"] +[0.000, "o", "4;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42mAPI Documentation\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42"] +[0.000, "o", ";55m 5 \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m ·\u001b[6;48H·\u001b[6;49H·\u001b[6;50H·\u001b[6;51H 5 unchanged li\u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user.\u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[13;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[14;37H~ \u001b[15;37H~ \u001b[16;37H~ "] +[0.000, "o", " \u001b[17;37H~ \u001b[18;37H~ \u001b[19;37H~ \u001b[20;37H~ \u001b[21;37H~ \u001b[22;37H~ \u001b[23;37H~ \u001b[24;37H~ \u001b[25;37H~ \u001b[26;37H~ \u001b[27;37H~ \u001b[28;37H~ \u001b[29;37H~ \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37H~ \u001b[40;37H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;66H│\u001b[4;66H│\u001b[5;66H│\u001b[6;66H│\u001b[7;66H│\u001b[8;66H│\u001b[9;66H│\u001b["] +[0.000, "o", "10;66H│\u001b[11;66H│\u001b[12;66H│\u001b[13;66H│\u001b[14;66H│\u001b[15;66H│\u001b[16;66H│\u001b[17;66H│\u001b[18;66H│\u001b[19;66H│\u001b[20;66H│\u001b[21;66H│\u001b[22;66H│\u001b[23;66H│\u001b[24;66H│\u001b[25;66H│\u001b[26;66H│\u001b[27;66H│\u001b[28;66H│\u001b[29;66H│\u001b[30;66H│\u001b[31;66H│\u001b[32;66H│\u001b[33;66H│\u001b[34;66H│\u001b[35;66H│\u001b[36;66H│\u001b[37;66H│\u001b[38;66H│\u001b[39;66H│\u001b[40;66H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mAPI Reference\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[3;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m## \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mEndpoints\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[6;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m ·\u001b[6;78H·\u001b[6;79H·\u001b[6;80H·\u001b[6;81H 5 unchanged lines\u001b[7;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mGET /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mReturns a specific user. \u001b[10;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[11;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m### \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mDELETE /users/:id\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[12;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mDeletes a specific user. \u001b[13;67H\u001b[m\u000f"] +[0.000, "o", "\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[14;67H~ \u001b[15;67H~ \u001b[16;67H~ \u001b[17;67H~ \u001b[18;67H~ \u001b[19;67H~ \u001b[20;67H~ \u001b[21;67H~ \u001b[22;67H~ \u001b[23;67H~ \u001b[24;67H~ \u001b[25;67H~ \u001b[26;67H~ \u001b[27;67H~ \u001b[28;67H~ \u001b[29;67H~ \u001b[30;67H~ \u001b[31;67H~ \u001b[32;67H~ \u001b[33;67H~ \u001b[34;67H~ \u001b[35;67H~ \u001b[36;67H~ \u001b[37;67H~ "] +[0.000, "o", "\u001b[38;67H~ \u001b[39;67H~ \u001b[40;67H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;99H│\u001b[4;99H│\u001b[5;99H│\u001b[6;99H│\u001b[7;99H│\u001b[8;99H│\u001b[9;99H│\u001b[10;99H│\u001b[11;99H│\u001b[12;99H│\u001b[13;99H│\u001b[14;99H│\u001b[15;99H│\u001b[16;99H│\u001b[17;99H│\u001b[18;99H│\u001b[19;99H│\u001b[20;99H│\u001b[21;99H│\u001b[22;99H│\u001b[23;99H│\u001b[24;99H│\u001b[25;99H│\u001b[26;99H│\u001b[27;99H│\u001b[28;99H│\u001b[29;99H│\u001b[30;99H│\u001b[31;99H│\u001b[32;99H│\u001b[33;99H│\u001b[34;99H│\u001b[35;99H│\u001b[36;99H│\u001b[37;99H│\u001b[38;99H│\u001b[39;99H│\u001b[40;99H│\u001b[41;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;1"] +[0.000, "o", "86m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m"] +[0.000, "o", "\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;1"] +[0.000, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] +[0.000, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.000, "o", "31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[0.000, "o", "3;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m116d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;"] +[0.000, "o", "42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1696c52\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[33;3H\u001b[34h\u001b[?25h"] +[1.299, "o", "\u001b[?25l"] +[0.115, "o", "\u001b[34h\u001b[?25h"] +[0.230, "o", "\u001b[?25l\u001b[32A\u001b[m\u000f\u001b[38;2;255;158;59m\u001b[48;2;42;42;42m⚠\u001b[1;4H Stale (gr to refresh)\u001b[33;3H\u001b[34h\u001b[?25h"] +[1.575, "o", "\u001b[?25l\u001b[32A\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[33;3H\u001b[34h\u001b[?25h"] +[0.038, "o", "\u001b[?25l"] +[0.033, "o", "\u001b[34h\u001b[?25h"] +[0.010, "o", "\u001b[?25l\u001b[32A\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠹\u001b[33;3H\u001b[34h\u001b[?25h"] +[0.058, "o", "\u001b[?25l"] +[0.012, "o", "\u001b[32A\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[4;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mMerging: 1246a66 Update App component (will conflict)\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (7)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;7Hassets/new-image.bin\u001b[8;7Hdocs/API-REFERENCE.md \u001b[9;7Hnotes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Card.js\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js\u001b[12;3H? src/utils/cache.js\u001b[13;3H? src/utils/validator.js\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40"] +[0.000, "o", "mUnstaged (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;7H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mConflicted (1)\u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m! src/components/App.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStashes (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mstash@{0}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWIP on main: 116d47b Wire up auth middleware and formatters\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[27;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;4H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m16d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;1"] +[0.000, "o", "14;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;4H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m16d47b\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m13cde8e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[0.000, "o", "31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m989f949\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m22de096\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7398acf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m28dfd32\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and"] +[0.000, "o", " test runner\u001b[34;3H\u001b[34h\u001b[?25h"] +[1.646, "o", "\u001b[?25l\u001b[33A\u001b[34h\u001b[?25h"] +[0.500, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] +[0.202, "o", "\u001b[?25l\u001b[9B\u001b[34h\u001b[?25h"] +[0.201, "o", "\u001b[?25l\n\n\n\u001b[34h\u001b[?25h"] +[1.102, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[1.603, "o", "\u001b[?25l"] +[0.033, "o", "\u001b[34h\u001b[?25h"] +[0.075, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src/components\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b["] +[0.000, "o", "m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;54;54;70mU\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m App.js +10 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-10\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.001, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48"] +[0.000, "o", ";2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mclass\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m App \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m constructor() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.name = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'MainApp\u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.version = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2"] +[0.000, "o", ";31;31;40m'1.5.\u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m run() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;220;"] +[0.000, "o", "215;186m\u001b[48;2;74;42;42m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;74;42;42m`Startin\u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.initialize(); \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m initialize() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;"] +[0.000, "o", "31;40m'Main br\u001b[21;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[22;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[23;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[24;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mmodule.exports = App; \u001b[28;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[29;37H~ "] +[0.000, "o", " \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37H~ \u001b[40;37H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;66H│\u001b[4;66H│\u001b[5;66H│\u001b[6;66H│\u001b[7;66H│\u001b[8;66H│\u001b[9;66H│\u001b[10;66H│\u001b[11;66H│\u001b[12;66H│\u001b[13;66H│\u001b[14;66H│\u001b[15;66H│\u001b[16;66H│\u001b[17;66H│\u001b[18;66H│\u001b[19;66H│\u001b[20;66H│\u001b[21;66H│\u001b[22;66H│\u001b[23;66H│\u001b[24;66H│\u001b[25;66H│\u001b[26;66H│\u001b[27;66H│\u001b[28;66H│\u001b[29;66H│\u001b[30;66H│\u001b[31;66H│\u001b[32;66H│\u001b[33;66H│\u001b[34;66H│\u001b[35;66H│\u001b[36;66H│\u001b[37;66H│\u001b[38;66H│\u001b[39;66H│\u001b[40;66H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;"] +[0.000, "o", "2;31;31;40mclass\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m App \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m constructor() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m<<<<<<< HEAD \u001b[5;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.name = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'MainApp'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m; \u001b[6;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.version = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'1.5.0'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m;\u001b[7;67H\u001b[m\u000f\u001b[38;2;8"] +[0.000, "o", "4;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m======= \u001b[8;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m.name = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'ConflictAp\u001b[9;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m.version = \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'2.0.0'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m;\u001b[10;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m>>>>>>> feature/conflict-me\u001b[11;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[13;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m run() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m`Running \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42m${\u001b[15;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m.initialize(); \u001b[16;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m initialize() \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48"] +[0.000, "o", ";2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m<<<<<<< HEAD \u001b[20;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m'Main branc\u001b[21;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m======= \u001b[22;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m console.log(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'Conflict b\u001b[23;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m>>>>>>> feature/conflict-me\u001b[24;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;"] +[0.000, "o", "186m\u001b[48;2;31;31;40m \u001b[26;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mmodule.exports = App; \u001b[28;67H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[29;67H~ \u001b[30;67H~ \u001b[31;67H~ \u001b[32;67H~ \u001b[33;67H~ \u001b[34;67H~ \u001b[35;67H~ \u001b[36;67H~ \u001b[37;67H~ \u001b[38;67H~ \u001b[39;67H~ \u001b[40;67H~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;99H│\u001b[4;99H│\u001b[5;99H│\u001b[6;99H│\u001b[7;99H│\u001b[8;99H│\u001b[9;99H│\u001b[10;99H│\u001b[11;99H│\u001b[12;99H│\u001b[13;99H│\u001b[14;99H│\u001b[15;99H│\u001b[16;99H"] +[0.000, "o", "│\u001b[17;99H│\u001b[18;99H│\u001b[19;99H│\u001b[20;99H│\u001b[21;99H│\u001b[22;99H│\u001b[23;99H│\u001b[24;99H│\u001b[25;99H│\u001b[26;99H│\u001b[27;99H│\u001b[28;99H│\u001b[29;99H│\u001b[30;99H│\u001b[31;99H│\u001b[32;99H│\u001b[33;99H│\u001b[34;99H│\u001b[35;99H│\u001b[36;99H│\u001b[37;99H│\u001b[38;99H│\u001b[39;99H│\u001b[40;99H│\u001b[41;67H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] +[0.000, "o", "\u001b[?25l\r\u001b[42;1H\u001b[?1049l\u001b[34h\u001b[?25h"] +[0.001, "x", "0"] diff --git a/docs/demo-basics-preview.gif b/docs/demo-basics-preview.gif new file mode 100644 index 0000000..eb5973a Binary files /dev/null and b/docs/demo-basics-preview.gif differ diff --git a/docs/demo-v2.cast b/docs/demo-basics-v2.cast similarity index 51% rename from docs/demo-v2.cast rename to docs/demo-basics-v2.cast index 003716c..9ad7892 100644 --- a/docs/demo-v2.cast +++ b/docs/demo-basics-v2.cast @@ -1,6 +1,6 @@ -{"version":2,"width":130,"height":42,"timestamp":1771494277,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/bin/zsh"}} -[0.01, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] -[0.016, "o", "\u001b]11;?\u0007"] +{"version":2,"width":130,"height":42,"timestamp":1772019800,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/nix/store/ngqf98amj0hv0jhzhz540p03wxjj0chj-bash-interactive-5.3p9/bin/bash"}} +[0.012, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] +[0.017, "o", "\u001b]11;?\u0007"] [0.027, "o", "\u001bP+q4D73\u001b\\"] [0.027, "o", "\u001b[?25l\u001b[?2031h\u001b[>4;2m\u001b[m\u000f\u001b[H \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] [0.027, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] @@ -13,385 +13,280 @@ [0.027, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.027, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.027, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n "] -[0.027, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.5\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] +[0.027, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] [0.027, "o", " \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.027, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.5\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] +[0.027, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] [0.027, "o", " \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNvim is open source and freely distributable\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mhttps://neovim.io/#chat\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ "] -[0.027, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] -[0.027, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] -[0.027, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.027, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] -[0.109, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] -[1.728, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] -[1.74, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] -[1.762, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] -[1.762, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] -[1.775, "o", "\u001b[?25l"] -[1.785, "o", "\u001b[34h\u001b[?25h"] -[1.835, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] -[1.847, "o", "\u001b[?25l"] -[1.851, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138"] -[1.851, "o", ";169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js "] -[1.851, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] -[1.851, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;1"] -[1.851, "o", "13;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} "] -[1.851, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m"] -[1.851, "o", "\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/pr"] -[1.851, "o", "ivate/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31"] -[1.851, "o", ";31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[1.851, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[1.851, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and te"] -[1.851, "o", "st runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] -[5.034, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[5.034, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[5.034, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[5.034, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[5.034, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[5.034, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[5.034, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[5.034, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;"] -[5.034, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] -[5.034, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[10;32H╭\u001b[10;33H─\u001b[10;34H─\u001b[10;35H─\u001b[10;36H─\u001b[10;37H─\u001b[10;38H─\u001b[10;39H─\u001b[10;40H─\u001b[10;41H─\u001b[10;42H─\u001b[10;43H─\u001b[10;44H─\u001b[10;45H─\u001b[10;46H─\u001b[10;47H─\u001b[10;48H─\u001b[10;49H─\u001b[10;50H─\u001b[10;51H─\u001b[10;52H─\u001b[10;53H─\u001b[10;54H─\u001b[10;55H─\u001b[10;56H─\u001b[10;57H─\u001b[10;58H─\u001b[10;59H─\u001b[10;60H─\u001b[10;61H─\u001b[10;62H─\u001b["] -[5.034, "o", "10;63H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[10;70H─\u001b[10;71H─\u001b[10;72H─\u001b[10;73H─\u001b[10;74H─\u001b[10;75H─\u001b[10;76H─\u001b[10;77H─\u001b[10;78H─\u001b[10;79H─\u001b[10;80H─\u001b[10;81H─\u001b[10;82H─\u001b[10;83H─\u001b[10;84H─\u001b[10;85H─\u001b[10;86H─\u001b[10;87H─\u001b[10;88H─\u001b[10;89H─\u001b[10;90H─\u001b[10;91H─\u001b[10;92H─\u001b[10;93H─\u001b[10;94H─\u001b[10;95H─\u001b[10;96H─\u001b[10;97H─\u001b[10;98H─\u001b[10;99H─\u001b[10;100H╮\u001b[11;32H│\u001b[11;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mTransient commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[12;32H│\u001b[12;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log \u001b[m\u000f\u001b[38;2"] -[5.034, "o", ";84;84;109m\u001b[48;2;22;22;29m│\u001b[13;32H│\u001b[13;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Push \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Pull \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Fetch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;32H│\u001b[14;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Rebase \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Merge \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;32H│\u001b[15;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mz\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stash \u001b[m\u000f\u001b[3m\u001b[38;2"] -[5.034, "o", ";149;127;184m\u001b[48;2;22;22;29mA\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Cherry-pick \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m_\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Revert \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;32H│\u001b[16;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mX\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reset \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m'\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Submodule \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mZ\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;32H│\u001b[17;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mM\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Remotes \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mW\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Patch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Apply patches \u001b[m"] -[5.034, "o", "\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;32H│\u001b[18;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29myr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m References \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;32H│\u001b[19;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;32H│\u001b[20;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mApplying changes\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;32H│\u001b[21;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Intent to add "] -[5.035, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;32H│\u001b[22;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Discard \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mU\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;32H│\u001b[23;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;32H│\u001b[24;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mNavigation\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;32H│\u001b[25;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;2"] -[5.035, "o", "2;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next section \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;32H│\u001b[26;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;32H│\u001b[27;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m1\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Headers only \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m2\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show items \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diffs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;2"] -[5.035, "o", "2;22;29m│\u001b[28;32H│\u001b[28;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Visit file \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Edit file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;32H│\u001b[29;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;32H│\u001b[30;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEssential commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;32H│\u001b[31;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Refresh \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m$\u001b[m\u000f\u001b[38;2;200;192;147"] -[5.035, "o", "m\u001b[48;2;22;22;29m Git command history \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;32H│\u001b[32;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mys\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Yank section value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mq\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close buffer \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;32H│\u001b[33;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m?\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m This help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;32H╰\u001b[34;33H─\u001b[34;34H─\u001b[34;35H─\u001b[34;36H─\u001b[34;37H─\u001b[34;38H─\u001b[34;39H─\u001b[34;40H─\u001b[34;41H─\u001b[34;42H─\u001b[34;43H─\u001b[34;44H─\u001b[34;45H─\u001b[34;46H─\u001b[34;47H─\u001b[34;48H─\u001b[34;49H─\u001b[34;50H─\u001b[34;51H─\u001b[34;52H─\u001b[34;53H─\u001b[34;54H─\u001b[34;55H─\u001b[34;56H─\u001b[34;57H─\u001b[34;58H─\u001b[34;59H─\u001b[34;60H─\u001b[34;61H─\u001b[34;62H─\u001b[34;63H"] -[5.035, "o", "─\u001b[34;64H─\u001b[34;65H─\u001b[34;66H─\u001b[34;67H─\u001b[34;68H─\u001b[34;69H─\u001b[34;70H─\u001b[34;71H─\u001b[34;72H─\u001b[34;73H─\u001b[34;74H─\u001b[34;75H─\u001b[34;76H─\u001b[34;77H─\u001b[34;78H─\u001b[34;79H─\u001b[34;80H─\u001b[34;81H─\u001b[34;82H─\u001b[34;83H─\u001b[34;84H─\u001b[34;85H─\u001b[34;86H─\u001b[34;87H─\u001b[34;88H─\u001b[34;89H─\u001b[34;90H─\u001b[34;91H─\u001b[34;92H─\u001b[34;93H─\u001b[34;94H─\u001b[34;95H─\u001b[34;96H─\u001b[34;97H─\u001b[34;98H─\u001b[34;99H─\u001b[34;100H╯\u001b[11;33H\u001b[34h\u001b[?25h"] -[8.133, "o", "\u001b[?25l\u001b[10;32H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;32H \u001b[12;32H \u001b[13;32H \u001b[14;32H \u001b[15;32H \u001b[16;32H \u001b[17;32H \u001b[18;32H \u001b[19;32HENCE.md} \u001b[20;32H \u001b[21;32H \u001b[22;32H "] -[8.133, "o", " \u001b[23;32H \u001b[24;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;32H \u001b[28;32H \u001b[29;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mre and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mddleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[8.133, "o", " \u001b[31;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;32H \u001b[33;32H \u001b[34;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mre and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[8.133, "o", " \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt "] -[8.133, "o", " \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48"] -[8.133, "o", ";2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40"] -[8.133, "o", "mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js "] -[8.133, "o", " \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31"] -[8.133, "o", ";31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b["] -[8.133, "o", "48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and "] -[8.133, "o", "formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[8.133, "o", " \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;1"] -[8.133, "o", "47m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[6;3H\u001b[34h\u001b[?25h"] -[8.934, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[9.085, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[9.236, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[9.386, "o", "\u001b[?25l\n\n\n\u001b[34h\u001b[?25h"] -[9.537, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[9.688, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[10.3, "o", "\u001b[?25l"] -[10.364, "o", "\r\u001b[14;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv\r\nv \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;73;68;60m@@ -3,17 +3,27 @@ class Button {\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\u001b[17;8H\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40"] -[10.364, "o", "mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;3"] -[10.364, "o", "1;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;6H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrender\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m{\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;248;113;113m\u001b[48;2;74;42;42m-\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;74;42;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;74;42;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mconst\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[];\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[25;3H\u001b[m\u000f"] -[10.364, "o", "\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m||\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mpush\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'disabled'\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m);\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] -[10.364, "o", " \u001b[26;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mpush\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'data-loading'\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m);\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] -[10.364, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mconst\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'Loading...'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] -[10.365, "o", " \u001b[29;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[30;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;4"] -[10.365, "o", "0m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H \u001b[32;6H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mclick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m{\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;248;113;113m\u001b[48;2;74;42;42m-\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;74;42;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;74;42;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m&&\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;74;42;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;74;42;42monClick\u001b[m"] -[10.365, "o", "\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[34;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m&&\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m&&\u001b[m\u000f\u001b[38;2;220;215;"] -[10.365, "o", "186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m();\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] -[10.365, "o", " \u001b[39;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42msetLoading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[40;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74"] -[10.365, "o", ";42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[14;3H\u001b[34h\u001b[?25h"] -[11.992, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[12.143, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[12.294, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[12.445, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[12.596, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[12.747, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[12.898, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[13.048, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[14.252, "o", "\u001b[?25l"] -[14.26, "o", "\r\u001b[8A\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\r\n> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js\u001b[17;8H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b["] -[14.26, "o", "20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js\u001b[22;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;"] -[14.26, "o", "2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] -[14.26, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[32;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;"] -[14.26, "o", "105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] -[14.26, "o", ";2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;3H\u001b[34h\u001b[?25h"] -[15.854, "o", "\u001b[?25l\n\n\u001b[34h\u001b[?25h"] -[17.307, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[17.458, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[17.609, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[17.76, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[19.164, "o", "\u001b[?25l"] -[19.171, "o", "\r\u001b[28;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[29;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatter\u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2"] -[19.171, "o", ";31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[3"] -[19.171, "o", "8;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[28;3H\u001b[34h\u001b[?25h"] -[20.269, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[20.269, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[20.269, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[20.269, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[20.269, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[20.269, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[20.269, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[20.269, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[20.269, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[20.269, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;37H╭\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─"] -[20.269, "o", "\u001b[13;72H─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H─\u001b[13;88H─\u001b[13;89H─\u001b[13;90H─\u001b[13;91H─\u001b[13;92H─\u001b[13;93H─\u001b[13;94H─\u001b[13;95H╮\u001b[14;37H│\u001b[14;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;37H│\u001b[15;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all modified and deleted files (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--all\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;37H│\u001b[16;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-e\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Allow empty commit (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--allow-empty\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;2"] -[20.269, "o", "2;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;37H│\u001b[17;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-v\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diff of changes to be committed (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--verbose\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;37H│\u001b[18;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Disable hooks (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--no-verify\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;37H│\u001b[19;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=A\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Override the author \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--author=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;37H│\u001b"] -[20.269, "o", "[20;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=S\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Add Signed-off-by trailer \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--signoff)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;37H│\u001b[21;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;37H│\u001b[22;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;37H│\u001b[23;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;37H│\u001b[24;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEdit HEAD\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] -[20.269, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;37H│\u001b[25;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Extend \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;37H│\u001b[26;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reword \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;37H│\u001b[27;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ma\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Amend \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;37H│\u001b[28;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mInstant\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;37H│\u001b[29;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22"] -[20.269, "o", ";22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Instant fixup \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;37H│\u001b[30;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Instant squash \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;37H╰\u001b[31;38H─\u001b[31;39H─\u001b[31;40H─\u001b[31;41H─\u001b[31;42H─\u001b[31;43H─\u001b[31;44H─\u001b[31;45H─\u001b[31;46H─\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;77H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H─\u001b[31;88H─\u001b[31;89H─\u001b[31;90H─\u001b[31;91"] -[20.269, "o", "H─\u001b[31;92H─\u001b[31;93H─\u001b[31;94H─\u001b[31;95H╯\u001b[14;38H\u001b[34h\u001b[?25h"] -[22.869, "o", "\u001b[?25l\u001b[13;37H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H \u001b[15;37H \u001b[16;37H \u001b[17;37H \u001b[18;37H \u001b[19;37Hmd} \u001b[20;37H \u001b[21;37H \u001b[22;37H \u001b[23;37H \u001b[24;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;1"] -[22.869, "o", "86m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H \u001b[28;37H \u001b[29;37H \u001b[30;37H \u001b[31;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40md formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth "] -[22.869, "o", "middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin "] -[22.869, "o", " \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] -[22.869, "o", " \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H "] -[22.869, "o", " \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;5"] -[22.869, "o", "1;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b"] -[22.869, "o", "[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[22.869, "o", " \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;3"] -[22.869, "o", "1;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[22.869, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[22.869, "o", " \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] -[23.972, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[23.973, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[23.973, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[23.973, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[23.973, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[23.973, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[23.973, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[23.973, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[23.973, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[23.973, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[18;46H╭\u001b[18;47H─\u001b[18;48H─\u001b[18;49H─\u001b[18;50H─\u001b[18;51H─\u001b[18;52H─\u001b[18;53H─\u001b[18;54H─\u001b[18;55H─\u001b[18;56H─\u001b[18;57H─\u001b[18;58H─\u001b[18;59H─\u001b[18;60H─\u001b[18;61H─\u001b[18;62H─\u001b[18;63H─\u001b[18;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[18;71H─\u001b[18;72H─\u001b[18;73H─\u001b[18;74H─\u001b[18;75H─\u001b[18;76H─\u001b[18;77H─\u001b[18;78H─\u001b["] -[23.973, "o", "18;79H─\u001b[18;80H─\u001b[18;81H─\u001b[18;82H─\u001b[18;83H─\u001b[18;84H─\u001b[18;85H─\u001b[18;86H─\u001b[18;87H╮\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiffing\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff (dwim) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff staged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff unstaged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b"] -[23.973, "o", "[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Build range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H╰\u001b[26;47H─\u001b[26;48H─\u001b[26;49H─\u001b[26;50H─\u001b[26;51H─\u001b[26;52H─\u001b[26;53H─\u001b[26;54H─\u001b[26;55H─\u001b[26;56H─\u001b[26;57H─\u001b[26;58H─\u001b[26;59H─\u001b[26;60H─\u001b[26;61H─\u001b[26;62H─\u001b[26;63H─\u001b[26;64H─\u001b[26;65H─\u001b[26;66H─\u001b[26;67H─\u001b[26;68H─\u001b[26;69H─\u001b[26;70H─\u001b[26;71H─\u001b[26;72H─\u001b[26;73H─\u001b[26;74H─\u001b[26;75H─\u001b[26;76H─\u001b[26;77H─\u001b[26;78H─\u001b[26;79H─\u001b[26;80H─\u001b[26;81H─\u001b[26;82H─\u001b[26;83H─\u001b[26;84H─\u001b[26;85H─\u001b[26;86H─"] -[23.973, "o", "\u001b[26;87H╯\u001b[19;47H\u001b[34h\u001b[?25h"] -[26.084, "o", "\u001b[?25l\u001b[18;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;47H\u001b[34h\u001b[?25h"] -[26.102, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m d///p/0/DiffviewFilePanel \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;149;127;184m\u001b[48;2;54;54;70m…\u001b[2;4H/private/tmp/gitlad-demo-repo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mHelp: \u001b[0;1m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mg?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \r\n \u001b[0;1m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mChanges \u001b[0;1m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40m(0)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r"] -[26.102, "o", "\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[26.102, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt "] -[29.376, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;1"] -[29.376, "o", "86m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m"] -[29.376, "o", "\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;1"] -[29.376, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[29.376, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] -[29.376, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48"] -[29.376, "o", ";2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b["] -[29.376, "o", "38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b["] -[29.376, "o", "m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;"] -[29.376, "o", "31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[28;3H\u001b[34h\u001b[?25h"] -[30.979, "o", "\u001b[?25l"] -[31.021, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[31.021, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] -[31.021, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] -[31.021, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] -[31.021, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] -[31.021, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] -[31.021, "o", ";2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[31.021, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[31.021, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;"] -[31.021, "o", "2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;30H╭\u001b[13;31H─\u001b[13;32H─\u001b[13;33H─\u001b[13;34H─\u001b[13;35H─\u001b[13;36H─\u001b[13;37H─\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48"] -[31.021, "o", ";2;22;22;29m Branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─\u001b[13;72H─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H─\u001b[13;88H─\u001b[13;89H─\u001b[13;90H─\u001b[13;91H─\u001b[13;92H─\u001b[13;93H─\u001b[13;94H─\u001b[13;95H─\u001b[13;96H─\u001b[13;97H─\u001b[13;98H─\u001b[13;99H─\u001b[13;100H─\u001b[13;101H─\u001b[13;102H╮\u001b[14;30H│\u001b[14;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mConfigure main\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;30H│\u001b[15;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.description\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29munset\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b["] -[31.021, "o", "48;2;22;22;29m│\u001b[16;30H│\u001b[16;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.merge\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mrefs/heads/main\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;30H│\u001b[17;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch.main.remote origin \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;30H│\u001b[18;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.rebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[true|false|\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mdefault:false\u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22"] -[31.021, "o", ";29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;30H│\u001b[19;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.pushRemote\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[origin]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;30H│\u001b[20;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;30H│\u001b[21;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mConfigure repository defaults\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;30H│\u001b[22;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] -[31.021, "o", "[48;2;22;22;29mpull.rebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[true|false|\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mdefault:false\u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;30H│\u001b[23;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mP\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mremote.pushDefault\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[origin]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;30H│\u001b[24;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;30H│\u001b[25;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] -[31.021, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;30H│\u001b[26;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-f\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Force delete (even if not merged) (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--force\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;30H│\u001b[27;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;30H│\u001b[28;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCheckout \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;30H│\u001b[29;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b"] -[31.021, "o", "[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch/revision \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mn\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m rename \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;30H│\u001b[30;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m local branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new spin-off \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m delete \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;30H╰\u001b[31;31H─\u001b[31;32H─\u001b[31;33H─\u001b[31;34H─\u001b[31;35H─\u001b[31;36H─\u001b[31;37H─\u001b[31;38H─\u001b[31;39H─\u001b[31;40H─\u001b[31;41H─\u001b[31;42H─\u001b[31;43H─\u001b[31;44H─\u001b[31;45H─\u001b[31"] -[31.021, "o", ";46H─\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;77H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H─\u001b[31;88H─\u001b[31;89H─\u001b[31;90H─\u001b[31;91H─\u001b[31;92H─\u001b[31;93H─\u001b[31;94H─\u001b[31;95H─\u001b[31;96H─\u001b[31;97H─\u001b[31;98H─\u001b[31;99H─\u001b[31;100H─\u001b[31;101H─\u001b[31;102H╯\u001b[14;31H\u001b[34h\u001b[?25h"] -[33.078, "o", "\u001b[?25l\u001b[13;30H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;30Hs \u001b[15;30H \u001b[16;30H \u001b[17;30H \u001b[18;30H \u001b[19;30HERENCE.md} \u001b[20;30H \u001b[21;30H \u001b[22;30H \u001b[23;30H \u001b[24;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186"] -[33.078, "o", "m\u001b[48;2;31;31;40m \u001b[25;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;30H \u001b[28;30H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;30H \u001b[30;30H \u001b[31;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m "] -[33.078, "o", " \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[33.078, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2"] -[33.078, "o", ";31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js "] -[33.078, "o", " \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] -[33.079, "o", ";2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/git"] -[33.079, "o", "lad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[33.079, "o", " \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;1"] -[33.079, "o", "02m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;3"] -[33.079, "o", "1;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b"] -[33.079, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] -[34.182, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[34.182, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[34.182, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[34.182, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[34.182, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[34.182, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[34.182, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[34.182, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[34.182, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[34.182, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[20;46H╭\u001b[20;47H─\u001b[20;48H─\u001b[20;49H─\u001b[20;50H─\u001b[20;51H─\u001b[20;52H─\u001b[20;53H─\u001b[20;54H─\u001b[20;55H─\u001b[20;56H─\u001b[20;57H─\u001b[20;58H─\u001b[20;59H─\u001b[20;60H─\u001b[20;61H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m References \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[20;74H─\u001b[20;75H─\u001b[20;76H─\u001b[20;77H─\u001b[20;78H─\u001b[20;79H─\u001b[20;80H─\u001b[20;81H─\u001b[20;82H─\u001b[20;83H─\u001b[20;84"] -[34.182, "o", "H─\u001b[20;85H─\u001b[20;86H─\u001b[20;87H╮\u001b[21;46H│\u001b[21;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mShow refs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29my\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show refs at HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show refs at current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show refs at other ref... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H╰\u001b[25;47H─\u001b[25;48H─\u001b[25;49H─\u001b[25;50H─\u001b[25;51H─\u001b[25;52H─\u001b[25;53H─\u001b[25;54H─\u001b[25;55H─\u001b[25;56H─\u001b[25;57H─\u001b[25;58H─\u001b[25"] -[34.182, "o", ";59H─\u001b[25;60H─\u001b[25;61H─\u001b[25;62H─\u001b[25;63H─\u001b[25;64H─\u001b[25;65H─\u001b[25;66H─\u001b[25;67H─\u001b[25;68H─\u001b[25;69H─\u001b[25;70H─\u001b[25;71H─\u001b[25;72H─\u001b[25;73H─\u001b[25;74H─\u001b[25;75H─\u001b[25;76H─\u001b[25;77H─\u001b[25;78H─\u001b[25;79H─\u001b[25;80H─\u001b[25;81H─\u001b[25;82H─\u001b[25;83H─\u001b[25;84H─\u001b[25;85H─\u001b[25;86H─\u001b[25;87H╯\u001b[21;47H\u001b[34h\u001b[?25h"] -[35.689, "o", "\u001b[?25l\u001b[20;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[17B \r\u001b[42;1H[gitlad] Loading refs...\r\u001b[42;1H \r\u001b[42;1H[gitlad] Refreshing refs...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[1;3H \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ "] -[35.689, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[35.689, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[35.689, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n"] -[35.689, "o", "~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[35.689, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://refs[/private/tmp/gitlad-demo-repo/] \u001b[1;3H\u001b[34h\u001b[?25h"] -[35.698, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReferences (at main) \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mBranches (5) \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220"] -[35.698, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mfeature/clean-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd math utility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mfeature/conflict-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component (will conflict)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[35.698, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;158;59m\u001b[48;2;31;31;40m@\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRemote \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m (\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m/tmp/gitlad-demo-repo-origin\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m) \u001b[0;1m\u000f\u001b[38;2;126;156"] -[35.698, "o", ";216m\u001b[48;2;31;31;40m(3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mfeature/clean-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd math utility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mfeature/conflict-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component (will conflict)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220"] -[35.698, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mPress ? for help \u001b[1;3H\u001b[34h\u001b[?25h"] -[35.707, "o", "\u001b[?25l\r\n\n\n\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \r\n> \u001b[5A\u001b[34h\u001b[?25h"] -[38.285, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \u001b[5;3H? notes.txt \u001b[6;3H? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b"] -[38.285, "o", "[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \u001b[8;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js "] -[38.285, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js\r\n\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;"] -[38.285, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[38.285, "o", " \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] -[38.285, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;"] -[38.285, "o", "186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;"] -[38.285, "o", "2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b["] -[38.285, "o", "m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;"] -[38.285, "o", "31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[26;3H\u001b[34h\u001b[?25h"] -[38.886, "o", "\u001b[?25l\u001b[1;40r\u001b[H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[2L\u001b[1;42r\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;3H\u001b[34h\u001b[?25h"] -[39.187, "o", "\u001b[?25l\n\n\n\n\u001b[34h\u001b[?25h"] -[39.387, "o", "\u001b[?25l\u001b[6B\u001b[34h\u001b[?25h"] -[39.588, "o", "\u001b[?25l\u001b[7B\u001b[34h\u001b[?25h"] -[39.789, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] -[40.842, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[41.043, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[42.449, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[42.449, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[42.449, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[42.449, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[42.449, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[42.449, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[42.449, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[42.449, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[42.449, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[42.449, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;46H╭\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H"] -[42.449, "o", "─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H╮\u001b[14;46H│\u001b[14;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;46H│\u001b[15;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-f\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Force operations (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--force\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;46H│\u001b[16;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-d\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Detach HEAD (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--detach\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;46H│\u001b[17;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Lock after adding (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48"] -[42.449, "o", ";2;22;22;29m--lock\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;46H│\u001b[18;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate new\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch and worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCommands experiment\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;10"] -[42.449, "o", "9m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Move worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Delete worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mg\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Visit worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mLock\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Lock worktree "] -[42.449, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H│\u001b[28;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unlock worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;46H│\u001b[29;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mMaintenance\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;46H│\u001b[30;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Prune stale \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;46H╰\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;7"] -[42.449, "o", "7H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H╯\u001b[14;47H\u001b[34h\u001b[?25h"] -[45.047, "o", "\u001b[?25l\u001b[13;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;46H \u001b[15;46H \u001b[16;46H \u001b[17;46H \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;46H \u001b[28;46H \u001b[29;46H "] -[45.047, "o", " \u001b[30;46H \u001b[31;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mers\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38"] -[45.047, "o", ";2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js "] -[45.047, "o", " \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/co"] -[45.047, "o", "mponents/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;"] -[45.047, "o", "215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40"] -[45.047, "o", "m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H "] -[45.047, "o", " \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23"] -[45.047, "o", "a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38"] -[45.047, "o", ";2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m"] -[45.047, "o", "\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[25;3H\u001b[34h\u001b[?25h"] -[46.152, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[46.152, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[46.152, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[46.152, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[46.152, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[46.152, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[46.152, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[46.152, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[46.152, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[46.152, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[12;46H╭\u001b[12;47H─\u001b[12;48H─\u001b[12;49H─\u001b[12;50H─\u001b[12;51H─\u001b[12;52H─\u001b[12;53H─\u001b[12;54H─\u001b[12;55H─\u001b[12;56H─\u001b[12;57H─\u001b[12;58H─\u001b[12;59H─\u001b[12;60H─\u001b[12;61H─\u001b[12;62H─\u001b[12;63H─\u001b[12;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Log \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[12;70H─\u001b[12;71H─\u001b[12;72H─\u001b[12;73H─\u001b[12;74H─\u001b[12;75H─\u001b[12;76H─\u001b[12;77H─\u001b[1"] -[46.152, "o", "2;78H─\u001b[12;79H─\u001b[12;80H─\u001b[12;81H─\u001b[12;82H─\u001b[12;83H─\u001b[12;84H─\u001b[12;85H─\u001b[12;86H─\u001b[12;87H╮\u001b[13;46H│\u001b[13;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;46H│\u001b[14;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m All branches (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----all\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;46H│\u001b[15;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Only merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;46H│\u001b[16;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-M\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] -[46.152, "o", "No merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----no-merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;46H│\u001b[17;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Limit \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--limit=256)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;46H│\u001b[18;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Author \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--author=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=s\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Since \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--since=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84"] -[46.152, "o", ";84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=u\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Until \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--until=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mLog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log other branch "] -[46.152, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mh\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mL\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log all branches \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mReflog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H│\u001b[28;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reflog current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;46H│\u001b[29;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mO\u001b[m\u000f\u001b[38;2;200;192;147"] -[46.152, "o", "m\u001b[48;2;22;22;29m Reflog other ref \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;46H│\u001b[30;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mH\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reflog HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;46H│\u001b[31;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mToggle\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;46H│\u001b[32;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mt\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show tags in refs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;46H╰\u001b[33;47H─\u001b[33;48H─\u001b[33;49H─\u001b[33;50H─\u001b[33;51H─\u001b[33;52H─\u001b[33;53H─\u001b[33;54H─\u001b[33;55H─\u001b[33;56H─\u001b[33;57H─\u001b[33;58H─\u001b[33;59H─\u001b[33;60H─\u001b[33;61H─\u001b[33;62H─\u001b[33;63H─\u001b[33;64H─\u001b[33;65H─\u001b[33;66H─\u001b[33;67H─\u001b[33;68H─\u001b[33;69H─\u001b[33;70H─\u001b[33;71H─\u001b[33;72H─\u001b[33;73H─\u001b"] -[46.152, "o", "[33;74H─\u001b[33;75H─\u001b[33;76H─\u001b[33;77H─\u001b[33;78H─\u001b[33;79H─\u001b[33;80H─\u001b[33;81H─\u001b[33;82H─\u001b[33;83H─\u001b[33;84H─\u001b[33;85H─\u001b[33;86H─\u001b[33;87H╯\u001b[13;47H\u001b[34h\u001b[?25h"] -[47.652, "o", "\u001b[?25l\u001b[12;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;46H \u001b[14;46H \u001b[15;46H \u001b[16;46H \u001b[17;46H \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;46H \u001b[28;46H "] -[47.652, "o", " \u001b[29;46H \u001b[30;46H \u001b[31;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mers\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;46H \u001b[33;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mies\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[9B \r\u001b[42;1H[gitlad] Fetching log...\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[47.652, "o", " \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt "] -[47.652, "o", " \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;"] -[47.652, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H "] -[47.652, "o", " \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js "] -[47.652, "o", " \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[47.652, "o", " \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m"] -[47.652, "o", "\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;"] -[47.652, "o", "152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b"] -[47.652, "o", "[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b"] -[47.652, "o", "[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[25;3H\u001b[34h\u001b[?25h"] -[47.664, "o", "\u001b[?25l\u001b[23A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 49 seconds ago\u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 49 seconds ago\u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 49 seconds ago\r"] -[47.664, "o", "\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 50 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 50 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] -[47.665, "o", "[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;3"] -[47.665, "o", "1;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md26b8bf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 52 seconds ago\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ "] -[47.665, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[47.665, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[47.665, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[47.665, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mCommits in main (-256) (11) \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mlog[/private/tmp/gitlad-demo-repo/] \u001b[2;3H\u001b[34h\u001b[?25h"] -[52.056, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] -[52.067, "o", "\u001b[?25l\u001b[59C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m54\u001b[3;53H54\u001b[4;62H54\u001b[5;65H5\u001b[6;67H5\u001b[7;60H6\u001b[8;51H6\u001b[9;69H6\u001b[10;64H6\u001b[11;68H6\u001b[12;67H7\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m512\u001b[2;3H\u001b[34h\u001b[?25h"] -[53.459, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] -[53.469, "o", "\u001b[?25l\u001b[60C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m5\u001b[3;54H5\u001b[4;63H5\u001b[5;65H6\u001b[6;67H6\u001b[7;60H7\u001b[8;51H7\u001b[9;69H7\u001b[10;64H7\u001b[11;68H7\u001b[12;67H8\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m256\u001b[2;3H\u001b[34h\u001b[?25h"] -[54.512, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[54.713, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[54.914, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[56.118, "o", "\u001b[?25l"] -[56.126, "o", "\u001b[3A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] -[56.126, "o", "31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago "] -[56.126, "o", " \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;10"] -[56.126, "o", "8m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md26b8bf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial pr"] -[56.126, "o", "oject setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 58 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[56.126, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[56.126, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[56.126, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://log[/private/tmp/gitlad-demo-repo/] "] -[56.126, "o", " \u001b[11;28H╭\u001b[11;29H─\u001b[11;30H─\u001b[11;31H─\u001b[11;32H─\u001b[11;33H─\u001b[11;34H─\u001b[11;35H─\u001b[11;36H─\u001b[11;37H─\u001b[11;38H─\u001b[11;39H─\u001b[11;40H─\u001b[11;41H─\u001b[11;42H─\u001b[11;43H─\u001b[11;44H─\u001b[11;45H─\u001b[11;46H─\u001b[11;47H─\u001b[11;48H─\u001b[11;49H─\u001b[11;50H─\u001b[11;51H─\u001b[11;52H─\u001b[11;53H─\u001b[11;54H─\u001b[11;55H─\u001b[11;56H─\u001b[11;57H─\u001b[11;58H─\u001b[11;59H─\u001b[11;60H─\u001b[11;61H─\u001b[11;62H─\u001b[11;63H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Rebase \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[11;72H─\u001b[11;73H─\u001b[11;74H─\u001b[11;75H─\u001b[11;76H─\u001b[11;77H─\u001b[11;78H─\u001b[11;79H─\u001b[11;80H─\u001b[11;81H─\u001b[11;82H─\u001b[11;83H─\u001b[11;84H─\u001b[11;85H─\u001b[11;86H─\u001b[11;87H─\u001b[11;88H─\u001b[11;89H─\u001b[11;90H─\u001b[11;91H─\u001b[11;92H─\u001b[11;93H─\u001b[11;94H─\u001b[11;95H─\u001b[11;96H─\u001b[11;97H─\u001b[11;98H─\u001b[11;99H─\u001b[11;100H─\u001b[11;101H─\u001b[11;102H─\u001b[11;103H─\u001b[11;104H─\u001b[11;105H╮\u001b[12;28H│\u001b[12;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] -[56.126, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[13;28H│\u001b[13;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-k\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Keep empty commits (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--keep-empty\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;28H│\u001b[14;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-r\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Rebase merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--rebase-merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;28H│\u001b[15;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-u\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Update branches (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--update-refs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) "] -[56.126, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;28H│\u001b[16;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-d\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Use author date as committer date (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--committer-date-is-author-date\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;28H│\u001b[17;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-t\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Use current time as author date (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--ignore-date\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;28H│\u001b[18;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Autosquash (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--autosquash\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) "] -[56.126, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;28H│\u001b[19;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-A\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Autostash (\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m--autostash\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;28H│\u001b[20;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-i\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Interactive (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--interactive\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;28H│\u001b[21;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-h\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Disable hooks (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--no-verify\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b["] -[56.126, "o", "48;2;22;22;29m│\u001b[22;28H│\u001b[22;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;28H│\u001b[23;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mRebase main onto\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;28H│\u001b[24;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m origin/main \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;28H│\u001b[25;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m origin/main \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;28H│\u001b[26;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b["] -[56.126, "o", "m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m elsewhere \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;28H│\u001b[27;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mRebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;28H│\u001b[28;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mi\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m interactively \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;28H│\u001b[29;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m a subset \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;28H│\u001b[30;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to"] -[56.126, "o", " modify a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;28H│\u001b[31;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to reword a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;28H│\u001b[32;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to remove a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;28H│\u001b[33;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to autosquash \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;28H╰\u001b[34;29H─\u001b[34;30H─\u001b[34;31H─\u001b[34;32H─\u001b[34;33H─\u001b[34;34H─\u001b[34;35H─\u001b[34;36H─\u001b[34;37H─\u001b[34;38H─\u001b[34;39H─\u001b[34;40H─\u001b["] -[56.126, "o", "34;41H─\u001b[34;42H─\u001b[34;43H─\u001b[34;44H─\u001b[34;45H─\u001b[34;46H─\u001b[34;47H─\u001b[34;48H─\u001b[34;49H─\u001b[34;50H─\u001b[34;51H─\u001b[34;52H─\u001b[34;53H─\u001b[34;54H─\u001b[34;55H─\u001b[34;56H─\u001b[34;57H─\u001b[34;58H─\u001b[34;59H─\u001b[34;60H─\u001b[34;61H─\u001b[34;62H─\u001b[34;63H─\u001b[34;64H─\u001b[34;65H─\u001b[34;66H─\u001b[34;67H─\u001b[34;68H─\u001b[34;69H─\u001b[34;70H─\u001b[34;71H─\u001b[34;72H─\u001b[34;73H─\u001b[34;74H─\u001b[34;75H─\u001b[34;76H─\u001b[34;77H─\u001b[34;78H─\u001b[34;79H─\u001b[34;80H─\u001b[34;81H─\u001b[34;82H─\u001b[34;83H─\u001b[34;84H─\u001b[34;85H─\u001b[34;86H─\u001b[34;87H─\u001b[34;88H─\u001b[34;89H─\u001b[34;90H─\u001b[34;91H─\u001b[34;92H─\u001b[34;93H─\u001b[34;94H─\u001b[34;95H─\u001b[34;96H─\u001b[34;97H─\u001b[34;98H─\u001b[34;99H─\u001b[34;100H─\u001b[34;101H─\u001b[34;102H─\u001b[34;103H─\u001b[34;104H─\u001b[34;105H╯\u001b[12;29H\u001b[34h\u001b[?25h"] -[59.219, "o", "\u001b[?25l\u001b[11;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[12;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40metup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 58 seconds ago \u001b[13;28H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \u001b[14;28H \u001b[15;28H \u001b[16;28H \u001b[17;28H \u001b[18;28H "] -[59.219, "o", " \u001b[19;28H \u001b[20;28H \u001b[21;28H \u001b[22;28H \u001b[23;28H \u001b[24;28H \u001b[25;28H \u001b[26;28H \u001b[27;28H \u001b[28;28H \u001b[29;28H \u001b[30;28H "] -[59.219, "o", " \u001b[31;28H \u001b[32;28H \u001b[33;28H \u001b[34;28H \u001b[2;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;1"] -[59.219, "o", "86m\u001b[48;2;31;31;40m 55 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102"] -[59.219, "o", "m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;3"] -[59.219, "o", "1;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd"] -[59.219, "o", " configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md26b8bf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 58 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] -[59.219, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[59.219, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[59.219, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[59.219, "o", " \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://log[/private/tmp/gitlad-demo-repo/] \u001b[5;3H\u001b[34h\u001b[?25h"] -[60.121, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.t"] -[60.121, "o", "xt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \u001b[8;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] -[60.121, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js "] -[60.121, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b"] -[60.121, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;1"] -[60.121, "o", "95;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[60.121, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up au"] -[60.121, "o", "th middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m"] -[60.121, "o", "origin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] -[60.121, "o", "31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] -[60.121, "o", "3;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[23;3H\u001b[34h\u001b[?25h"] -[61.226, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[1;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[2;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[3;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[4;3H○\u001b[4;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] -[61.226, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[5;3H○\u001b[5;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[8;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186"] -[61.226, "o", "m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[9;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[10;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[10;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[61.226, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b["] -[61.226, "o", "m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[61.226, "o", " \u001b[20;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[61.226, "o", " \u001b[23;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:30]\u001b[m\u000f\u001b["] -[61.226, "o", "38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:29]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -512\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(11ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:24]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;"] -[61.226, "o", "186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main feature/conflict-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(9ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main experiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(8ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main feature/clean-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(8ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220"] -[61.226, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main hotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(7ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(6ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit for-each-ref --format=%(refname:short)|||%(objectname:short)|||%(refname)|||%(subject)|||%(HEAD)|||%(up"] -[61.226, "o", "stream:short) refs/heads refs/remotes refs/tags\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(9ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit remote -v\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(6ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(3ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215"] -[61.226, "o", ";186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get pull.rebase\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(4ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(4ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(4ms)\u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mhistory \r\u001b[15A\u001b[34h\u001b[?25h"] -[63.825, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H? assets/new-image.bin "] -[63.825, "o", " \u001b[5;3H? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[63.825, "o", " \u001b[10;3H○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m"] -[63.825, "o", "> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[15;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;1"] -[63.825, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[20;3H "] -[63.825, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[4"] -[63.825, "o", "8;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;3"] -[63.825, "o", "1;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42"] -[63.825, "o", ";42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\r\n\u001b[m\u000f\u001b[38;2"] -[63.825, "o", ";147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[23;3H\u001b[34h\u001b[?25h"] -[67.341, "o", "\u001b[?25l\u001b[?2031l\u001b[2 q\u001b[?1002l\u001b[?1006l\u001b[m\u000f\u001b[34h\u001b[?25h\u001b[?1l\u001b>\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] -[67.341, "o", "\u001b[?25l\r\u001b[19B\u001b[?1049l\u001b[34h\u001b[?25h"] -[67.342, "x", "0"] +[0.028, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.028, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] +[0.028, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.028, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] +[0.111, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] +[1.73, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] +[1.744, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] +[1.945, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[1.945, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] +[1.966, "o", "\u001b[?25l"] +[1.996, "o", "\u001b[34h\u001b[?25h"] +[2.008, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] +[2.088, "o", "\u001b[?25l⠸\b\u001b[34h\u001b[?25h"] +[2.099, "o", "\u001b[?25l"] +[2.111, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138"] +[2.111, "o", ";169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js "] +[2.111, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] +[2.111, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;1"] +[2.111, "o", "13;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} "] +[2.111, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m"] +[2.111, "o", "\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/pr"] +[2.111, "o", "ivate/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31"] +[2.111, "o", ";31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[2.111, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[2.111, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and te"] +[2.111, "o", "st runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] +[5.04, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[5.04, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[5.04, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[5.04, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[5.04, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[5.04, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[5.04, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[5.04, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;"] +[5.041, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[5.041, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[6;28H╭\u001b[6;29H─\u001b[6;30H─\u001b[6;31H─\u001b[6;32H─\u001b[6;33H─\u001b[6;34H─\u001b[6;35H─\u001b[6;36H─\u001b[6;37H─\u001b[6;38H─\u001b[6;39H─\u001b[6;40H─\u001b[6;41H─\u001b[6;42H─\u001b[6;43H─\u001b[6;44H─\u001b[6;45H─\u001b[6;46H─\u001b[6;47H─\u001b[6;48H─\u001b[6;49H─\u001b[6;50H─\u001b[6;51H─\u001b[6;52H─\u001b[6;53H─\u001b[6;54H─\u001b[6;55H─\u001b[6;56H─\u001b[6;57H─\u001b[6;58H─\u001b[6;59H─\u001b[6;60H─\u001b[6;61H─\u001b[6"] +[5.041, "o", ";62H─\u001b[6;63H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[6;70H─\u001b[6;71H─\u001b[6;72H─\u001b[6;73H─\u001b[6;74H─\u001b[6;75H─\u001b[6;76H─\u001b[6;77H─\u001b[6;78H─\u001b[6;79H─\u001b[6;80H─\u001b[6;81H─\u001b[6;82H─\u001b[6;83H─\u001b[6;84H─\u001b[6;85H─\u001b[6;86H─\u001b[6;87H─\u001b[6;88H─\u001b[6;89H─\u001b[6;90H─\u001b[6;91H─\u001b[6;92H─\u001b[6;93H─\u001b[6;94H─\u001b[6;95H─\u001b[6;96H─\u001b[6;97H─\u001b[6;98H─\u001b[6;99H─\u001b[6;100H─\u001b[6;101H─\u001b[6;102H─\u001b[6;103H─\u001b[6;104H╮\u001b[7;28H│\u001b[7;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mTransient commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[8;28H│\u001b[8;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log "] +[5.041, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[9;28H│\u001b[9;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Push \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Pull \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Fetch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[10;28H│\u001b[10;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Rebase \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Merge \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[11;28H│\u001b[11;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mz\u001b[m\u000f\u001b[38;2;200;192;147"] +[5.041, "o", "m\u001b[48;2;22;22;29m Stash \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mA\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Cherry-pick \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m_\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Revert \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[12;28H│\u001b[12;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mX\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reset \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m'\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Submodule \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mZ\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[13;28H│\u001b[13;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mM\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Remotes \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mW\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Patch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2"] +[5.041, "o", ";200;192;147m\u001b[48;2;22;22;29m Apply patches \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;28H│\u001b[14;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29myr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m References \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mB\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Blame \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mN\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Forge \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;28H│\u001b[15;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;28H│\u001b[16;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mApplying changes\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;28H│\u001b[17;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b["] +[5.041, "o", "38;2;200;192;147m\u001b[48;2;22;22;29m Stage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Intent to add \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;28H│\u001b[18;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Discard \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mU\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;28H│\u001b[19;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;28H│\u001b[20;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mNavigation\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] +[5.041, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;28H│\u001b[21;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next section \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;28H│\u001b[22;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;28H│\u001b[23;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;"] +[5.041, "o", "22;22;29m1\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Headers only \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m2\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show items \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diffs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;28H│\u001b[24;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Visit file \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Edit file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;28H│\u001b[25;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;28H│\u001b[26;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiff view\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;"] +[5.041, "o", "29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;28H│\u001b[27;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mq\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close diff view \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next file \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;28H│\u001b[28;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m]c\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next hunk \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m[c\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous hunk \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Select file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;28H│\u001b[29;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149"] +[5.041, "o", ";127;184m\u001b[48;2;22;22;29mgr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Refresh \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m:w\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Save edits \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next commit (PR) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;28H│\u001b[30;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Prev commit (PR) \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m]t\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next review thread \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m[t\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Prev review thread \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;28H│\u001b[31;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle thread \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Add review com"] +[5.041, "o", "ment \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reply to thread \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;28H│\u001b[32;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Submit review \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mP\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle pending mode \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage file (merge) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;28H│\u001b[33;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;28H│\u001b[34;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEssential commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[35;28H│\u001b[35;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b["] +[5.041, "o", "m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Refresh \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m$\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Git command history \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[36;28H│\u001b[36;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mys\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Yank section value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mq\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close buffer \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[37;28H│\u001b[37;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m?\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m This help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[38;28H╰\u001b[38;29H─\u001b[38;30H─\u001b[38;31H─\u001b[38;32H─\u001b[38;33H─\u001b[38;34H─\u001b[38;35H─\u001b[38;36H─\u001b[38;37H─\u001b[38;38H─\u001b[38;39H─\u001b[38;40H─\u001b[38;41H─\u001b["] +[5.041, "o", "38;42H─\u001b[38;43H─\u001b[38;44H─\u001b[38;45H─\u001b[38;46H─\u001b[38;47H─\u001b[38;48H─\u001b[38;49H─\u001b[38;50H─\u001b[38;51H─\u001b[38;52H─\u001b[38;53H─\u001b[38;54H─\u001b[38;55H─\u001b[38;56H─\u001b[38;57H─\u001b[38;58H─\u001b[38;59H─\u001b[38;60H─\u001b[38;61H─\u001b[38;62H─\u001b[38;63H─\u001b[38;64H─\u001b[38;65H─\u001b[38;66H─\u001b[38;67H─\u001b[38;68H─\u001b[38;69H─\u001b[38;70H─\u001b[38;71H─\u001b[38;72H─\u001b[38;73H─\u001b[38;74H─\u001b[38;75H─\u001b[38;76H─\u001b[38;77H─\u001b[38;78H─\u001b[38;79H─\u001b[38;80H─\u001b[38;81H─\u001b[38;82H─\u001b[38;83H─\u001b[38;84H─\u001b[38;85H─\u001b[38;86H─\u001b[38;87H─\u001b[38;88H─\u001b[38;89H─\u001b[38;90H─\u001b[38;91H─\u001b[38;92H─\u001b[38;93H─\u001b[38;94H─\u001b[38;95H─\u001b[38;96H─\u001b[38;97H─\u001b[38;98H─\u001b[38;99H─\u001b[38;100H─\u001b[38;101H─\u001b[38;102H─\u001b[38;103H─\u001b[38;104H╯\u001b[7;29H\u001b[34h\u001b[?25h"] +[8.136, "o", "\u001b[?25l\u001b[6;28H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;28H \u001b[8;28Hwn.js \u001b[9;28H \u001b[10;28H \u001b[11;28H \u001b[12;28H \u001b[13;28H \u001b[14;28H.js \u001b[15;28H \u001b[16;28H \u001b[17;28H "] +[8.137, "o", " \u001b[18;28H \u001b[19;28HEFERENCE.md} \u001b[20;28Hs \u001b[21;28Hs \u001b[22;28H \u001b[23;28H \u001b[24;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mgitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mgitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mgitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[8.137, "o", " \u001b[27;28H \u001b[28;28H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mn middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;28H \u001b[33;28H \u001b[34;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mleware and formatters\u001b[m\u000f\u001b["] +[8.137, "o", "38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mn middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40me App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m"] +[8.137, "o", "\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[8.137, "o", " \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;"] +[8.137, "o", "2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js "] +[8.137, "o", " \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js "] +[8.137, "o", " \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;21"] +[8.137, "o", "5;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middlew"] +[8.137, "o", "are and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[8.137, "o", " \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b"] +[8.137, "o", "[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m"] +[8.137, "o", "\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[6;3H\u001b[34h\u001b[?25h"] +[8.936, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[9.086, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[9.237, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[9.388, "o", "\u001b[?25l\n\n\n\u001b[34h\u001b[?25h"] +[9.539, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[9.69, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[10.33, "o", "\u001b[?25l"] +[10.398, "o", "\r\u001b[14;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv\r\nv \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;73;68;60m@@ -3,17 +3,27 @@ class Button {\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\u001b[17;8H\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40"] +[10.398, "o", "mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;3"] +[10.398, "o", "1;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;6H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrender\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m{\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;248;113;113m\u001b[48;2;74;42;42m-\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;74;42;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;74;42;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mconst\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[];\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[25;3H\u001b[m\u000f"] +[10.398, "o", "\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m||\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mpush\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'disabled'\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m);\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[10.398, "o", " \u001b[26;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mpush\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'data-loading'\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m);\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[10.398, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mconst\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'Loading...'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[10.398, "o", " \u001b[29;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[30;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;4"] +[10.398, "o", "0m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H \u001b[32;6H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mclick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m{\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;248;113;113m\u001b[48;2;74;42;42m-\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;74;42;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;74;42;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m&&\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;74;42;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;74;42;42monClick\u001b[m"] +[10.398, "o", "\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[34;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m&&\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m&&\u001b[m\u000f\u001b[38;2;220;215;"] +[10.398, "o", "186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m();\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[10.398, "o", " \u001b[39;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42msetLoading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[40;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74"] +[10.398, "o", ";42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[14;3H\u001b[34h\u001b[?25h"] +[11.993, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[12.145, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[12.296, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[12.447, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[12.599, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[12.75, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[12.901, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[13.053, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[14.259, "o", "\u001b[?25l"] +[14.279, "o", "\r\u001b[8A\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\r\n> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js\u001b[17;8H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b["] +[14.279, "o", "20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js\u001b[22;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;"] +[14.279, "o", "2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[14.279, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[32;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;"] +[14.279, "o", "105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[14.279, "o", ";2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;3H\u001b[34h\u001b[?25h"] +[15.859, "o", "\u001b[?25l\n\n\u001b[34h\u001b[?25h"] +[17.312, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[17.462, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[17.612, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[17.763, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[19.171, "o", "\u001b[?25l"] +[19.197, "o", "\r\u001b[28;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[29;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatter\u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2"] +[19.197, "o", ";31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[3"] +[19.197, "o", "8;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[28;3H\u001b[34h\u001b[?25h"] +[20.275, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[20.275, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[20.275, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[20.276, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[20.276, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[20.276, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[20.276, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[20.276, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[20.276, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] +[20.276, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;37H╭\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─"] +[20.276, "o", "\u001b[13;72H─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H─\u001b[13;88H─\u001b[13;89H─\u001b[13;90H─\u001b[13;91H─\u001b[13;92H─\u001b[13;93H─\u001b[13;94H─\u001b[13;95H╮\u001b[14;37H│\u001b[14;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;37H│\u001b[15;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all modified and deleted files (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--all\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;37H│\u001b[16;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-e\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Allow empty commit (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--allow-empty\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;2"] +[20.276, "o", "2;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;37H│\u001b[17;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-v\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diff of changes to be committed (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--verbose\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;37H│\u001b[18;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Disable hooks (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--no-verify\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;37H│\u001b[19;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=A\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Override the author \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--author=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;37H│\u001b"] +[20.276, "o", "[20;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=S\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Add Signed-off-by trailer \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--signoff)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;37H│\u001b[21;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;37H│\u001b[22;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;37H│\u001b[23;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;37H│\u001b[24;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEdit HEAD\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] +[20.276, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;37H│\u001b[25;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Extend \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;37H│\u001b[26;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reword \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;37H│\u001b[27;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ma\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Amend \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;37H│\u001b[28;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mInstant\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;37H│\u001b[29;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22"] +[20.276, "o", ";22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Instant fixup \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;37H│\u001b[30;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Instant squash \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;37H╰\u001b[31;38H─\u001b[31;39H─\u001b[31;40H─\u001b[31;41H─\u001b[31;42H─\u001b[31;43H─\u001b[31;44H─\u001b[31;45H─\u001b[31;46H─\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;77H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H─\u001b[31;88H─\u001b[31;89H─\u001b[31;90H─\u001b[31;91"] +[20.276, "o", "H─\u001b[31;92H─\u001b[31;93H─\u001b[31;94H─\u001b[31;95H╯\u001b[14;38H\u001b[34h\u001b[?25h"] +[22.873, "o", "\u001b[?25l\u001b[13;37H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H \u001b[15;37H \u001b[16;37H \u001b[17;37H \u001b[18;37H \u001b[19;37Hmd} \u001b[20;37H \u001b[21;37H \u001b[22;37H \u001b[23;37H \u001b[24;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;1"] +[22.873, "o", "86m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H \u001b[28;37H \u001b[29;37H \u001b[30;37H \u001b[31;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40md formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth "] +[22.873, "o", "middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin "] +[22.873, "o", " \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] +[22.873, "o", " \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H "] +[22.873, "o", " \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;5"] +[22.873, "o", "1;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b"] +[22.873, "o", "[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[22.873, "o", " \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;3"] +[22.873, "o", "1;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[22.873, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[22.873, "o", " \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] +[23.979, "o", "\u001b[?25l"] +[24.102, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[24.102, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] +[24.102, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] +[24.102, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] +[24.102, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[24.102, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[24.102, "o", ";2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[24.102, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[24.102, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;"] +[24.102, "o", "2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;30H╭\u001b[13;31H─\u001b[13;32H─\u001b[13;33H─\u001b[13;34H─\u001b[13;35H─\u001b[13;36H─\u001b[13;37H─\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48"] +[24.102, "o", ";2;22;22;29m Branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─\u001b[13;72H─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H─\u001b[13;88H─\u001b[13;89H─\u001b[13;90H─\u001b[13;91H─\u001b[13;92H─\u001b[13;93H─\u001b[13;94H─\u001b[13;95H─\u001b[13;96H─\u001b[13;97H─\u001b[13;98H─\u001b[13;99H─\u001b[13;100H─\u001b[13;101H─\u001b[13;102H╮\u001b[14;30H│\u001b[14;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mConfigure main\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;30H│\u001b[15;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.description\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29munset\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b["] +[24.102, "o", "48;2;22;22;29m│\u001b[16;30H│\u001b[16;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.merge\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mrefs/heads/main\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;30H│\u001b[17;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch.main.remote origin \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;30H│\u001b[18;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.rebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[true|false|\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mdefault:false\u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22"] +[24.102, "o", ";29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;30H│\u001b[19;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.pushRemote\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[origin]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;30H│\u001b[20;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;30H│\u001b[21;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mConfigure repository defaults\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;30H│\u001b[22;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] +[24.102, "o", "[48;2;22;22;29mpull.rebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[true|false|\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mdefault:false\u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;30H│\u001b[23;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mP\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mremote.pushDefault\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[origin]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;30H│\u001b[24;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;30H│\u001b[25;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] +[24.102, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;30H│\u001b[26;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-f\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Force delete (even if not merged) (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--force\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;30H│\u001b[27;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;30H│\u001b[28;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCheckout \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;30H│\u001b[29;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b"] +[24.102, "o", "[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch/revision \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mn\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m rename \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;30H│\u001b[30;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m local branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new spin-off \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m delete \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;30H╰\u001b[31;31H─\u001b[31;32H─\u001b[31;33H─\u001b[31;34H─\u001b[31;35H─\u001b[31;36H─\u001b[31;37H─\u001b[31;38H─\u001b[31;39H─\u001b[31;40H─\u001b[31;41H─\u001b[31;42H─\u001b[31;43H─\u001b[31;44H─\u001b[31;45H─\u001b[31"] +[24.102, "o", ";46H─\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;77H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H─\u001b[31;88H─\u001b[31;89H─\u001b[31;90H─\u001b[31;91H─\u001b[31;92H─\u001b[31;93H─\u001b[31;94H─\u001b[31;95H─\u001b[31;96H─\u001b[31;97H─\u001b[31;98H─\u001b[31;99H─\u001b[31;100H─\u001b[31;101H─\u001b[31;102H╯\u001b[14;31H\u001b[34h\u001b[?25h"] +[26.078, "o", "\u001b[?25l\u001b[13;30H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;30Hs \u001b[15;30H \u001b[16;30H \u001b[17;30H \u001b[18;30H \u001b[19;30HERENCE.md} \u001b[20;30H \u001b[21;30H \u001b[22;30H \u001b[23;30H \u001b[24;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186"] +[26.078, "o", "m\u001b[48;2;31;31;40m \u001b[25;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;30H \u001b[28;30H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;30H \u001b[30;30H \u001b[31;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m "] +[26.078, "o", " \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[26.078, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2"] +[26.078, "o", ";31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js "] +[26.078, "o", " \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[26.079, "o", ";2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/git"] +[26.079, "o", "lad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[26.079, "o", " \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;1"] +[26.079, "o", "02m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;3"] +[26.079, "o", "1;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b"] +[26.079, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] +[27.184, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[27.184, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] +[27.184, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] +[27.184, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[27.184, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[27.184, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] +[27.184, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[27.184, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[27.184, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] +[27.184, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[12;46H╭\u001b[12;47H─\u001b[12;48H─\u001b[12;49H─\u001b[12;50H─\u001b[12;51H─\u001b[12;52H─\u001b[12;53H─\u001b[12;54H─\u001b[12;55H─\u001b[12;56H─\u001b[12;57H─\u001b[12;58H─\u001b[12;59H─\u001b[12;60H─\u001b[12;61H─\u001b[12;62H─\u001b[12;63H─\u001b[12;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Log \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[12;70H─\u001b[12;71H─\u001b[12;72H─\u001b[12;73H─\u001b[12;74H─\u001b[12;75H─\u001b[12;76H─\u001b[12;77H─\u001b[1"] +[27.184, "o", "2;78H─\u001b[12;79H─\u001b[12;80H─\u001b[12;81H─\u001b[12;82H─\u001b[12;83H─\u001b[12;84H─\u001b[12;85H─\u001b[12;86H─\u001b[12;87H╮\u001b[13;46H│\u001b[13;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;46H│\u001b[14;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m All branches (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----all\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;46H│\u001b[15;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Only merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;46H│\u001b[16;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-M\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] +[27.184, "o", "No merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----no-merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;46H│\u001b[17;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Limit \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--limit=256)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;46H│\u001b[18;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Author \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--author=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=s\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Since \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--since=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84"] +[27.185, "o", ";84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=u\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Until \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--until=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mLog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log other branch "] +[27.185, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mh\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mL\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log all branches \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mReflog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H│\u001b[28;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reflog current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;46H│\u001b[29;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mO\u001b[m\u000f\u001b[38;2;200;192;147"] +[27.185, "o", "m\u001b[48;2;22;22;29m Reflog other ref \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;46H│\u001b[30;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mH\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reflog HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;46H│\u001b[31;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mToggle\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;46H│\u001b[32;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mt\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show tags in refs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;46H╰\u001b[33;47H─\u001b[33;48H─\u001b[33;49H─\u001b[33;50H─\u001b[33;51H─\u001b[33;52H─\u001b[33;53H─\u001b[33;54H─\u001b[33;55H─\u001b[33;56H─\u001b[33;57H─\u001b[33;58H─\u001b[33;59H─\u001b[33;60H─\u001b[33;61H─\u001b[33;62H─\u001b[33;63H─\u001b[33;64H─\u001b[33;65H─\u001b[33;66H─\u001b[33;67H─\u001b[33;68H─\u001b[33;69H─\u001b[33;70H─\u001b[33;71H─\u001b[33;72H─\u001b[33;73H─\u001b"] +[27.185, "o", "[33;74H─\u001b[33;75H─\u001b[33;76H─\u001b[33;77H─\u001b[33;78H─\u001b[33;79H─\u001b[33;80H─\u001b[33;81H─\u001b[33;82H─\u001b[33;83H─\u001b[33;84H─\u001b[33;85H─\u001b[33;86H─\u001b[33;87H╯\u001b[13;47H\u001b[34h\u001b[?25h"] +[28.685, "o", "\u001b[?25l\u001b[12;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;46H \u001b[14;46H \u001b[15;46H \u001b[16;46H \u001b[17;46H \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;46H \u001b[28;46H "] +[28.685, "o", " \u001b[29;46H \u001b[30;46H \u001b[31;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mers\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;46H \u001b[33;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mies\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[9B \r\u001b[42;1H[gitlad] Fetching log...\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[28.685, "o", " \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt "] +[28.685, "o", " \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[28.685, "o", "1;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1"] +[28.685, "o", "m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js "] +[28.685, "o", " \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2"] +[28.685, "o", "6;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m"] +[28.685, "o", "\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;3"] +[28.685, "o", "1;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;18"] +[28.685, "o", "6m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b["] +[28.685, "o", "48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] +[28.722, "o", "\u001b[?25l\u001b[26A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 30 seconds ago\u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 31 seconds ago\u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 31 seconds ago\r"] +[28.722, "o", "\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 31 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] +[28.722, "o", "[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;3"] +[28.722, "o", "1;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 33 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 33 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3b8c2a8\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 33 seconds ago\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ "] +[28.722, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[28.722, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[28.722, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[28.722, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mCommits in main (-256) (11) \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mlog[/private/tmp/gitlad-demo-repo/] \u001b[2;3H\u001b[34h\u001b[?25h"] +[33.088, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] +[33.123, "o", "\u001b[?25l\u001b[60C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m5\u001b[3;54H6\u001b[4;63H6\u001b[5;65H6\u001b[6;67H7\u001b[7;60H7\u001b[8;51H7\u001b[9;69H7\u001b[10;64H8\u001b[11;68H8\u001b[12;67H8\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m512\u001b[2;3H\u001b[34h\u001b[?25h"] +[34.49, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] +[34.526, "o", "\u001b[?25l\u001b[60C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m6\u001b[3;54H7\u001b[4;63H7\u001b[5;65H7\u001b[6;67H8\u001b[7;60H8\u001b[8;51H8\u001b[9;69H8\u001b[10;64H9\u001b[11;68H9\u001b[12;67H9\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m256\u001b[2;3H\u001b[34h\u001b[?25h"] +[35.541, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[35.741, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[35.942, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[37.149, "o", "\u001b[?25l"] +[37.179, "o", "\u001b[3A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 36 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[37.179, "o", "31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago "] +[37.179, "o", " \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;10"] +[37.179, "o", "8m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3b8c2a8\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial pr"] +[37.179, "o", "oject setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[37.179, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[37.179, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[37.179, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://log[/private/tmp/gitlad-demo-repo/] "] +[37.179, "o", " \u001b[11;28H╭\u001b[11;29H─\u001b[11;30H─\u001b[11;31H─\u001b[11;32H─\u001b[11;33H─\u001b[11;34H─\u001b[11;35H─\u001b[11;36H─\u001b[11;37H─\u001b[11;38H─\u001b[11;39H─\u001b[11;40H─\u001b[11;41H─\u001b[11;42H─\u001b[11;43H─\u001b[11;44H─\u001b[11;45H─\u001b[11;46H─\u001b[11;47H─\u001b[11;48H─\u001b[11;49H─\u001b[11;50H─\u001b[11;51H─\u001b[11;52H─\u001b[11;53H─\u001b[11;54H─\u001b[11;55H─\u001b[11;56H─\u001b[11;57H─\u001b[11;58H─\u001b[11;59H─\u001b[11;60H─\u001b[11;61H─\u001b[11;62H─\u001b[11;63H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Rebase \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[11;72H─\u001b[11;73H─\u001b[11;74H─\u001b[11;75H─\u001b[11;76H─\u001b[11;77H─\u001b[11;78H─\u001b[11;79H─\u001b[11;80H─\u001b[11;81H─\u001b[11;82H─\u001b[11;83H─\u001b[11;84H─\u001b[11;85H─\u001b[11;86H─\u001b[11;87H─\u001b[11;88H─\u001b[11;89H─\u001b[11;90H─\u001b[11;91H─\u001b[11;92H─\u001b[11;93H─\u001b[11;94H─\u001b[11;95H─\u001b[11;96H─\u001b[11;97H─\u001b[11;98H─\u001b[11;99H─\u001b[11;100H─\u001b[11;101H─\u001b[11;102H─\u001b[11;103H─\u001b[11;104H─\u001b[11;105H╮\u001b[12;28H│\u001b[12;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] +[37.179, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[13;28H│\u001b[13;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-k\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Keep empty commits (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--keep-empty\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;28H│\u001b[14;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-r\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Rebase merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--rebase-merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;28H│\u001b[15;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-u\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Update branches (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--update-refs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) "] +[37.179, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;28H│\u001b[16;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-d\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Use author date as committer date (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--committer-date-is-author-date\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;28H│\u001b[17;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-t\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Use current time as author date (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--ignore-date\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;28H│\u001b[18;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Autosquash (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--autosquash\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) "] +[37.179, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;28H│\u001b[19;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-A\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Autostash (\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m--autostash\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;28H│\u001b[20;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-i\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Interactive (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--interactive\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;28H│\u001b[21;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-h\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Disable hooks (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--no-verify\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b["] +[37.179, "o", "48;2;22;22;29m│\u001b[22;28H│\u001b[22;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;28H│\u001b[23;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mRebase main onto\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;28H│\u001b[24;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m origin/main \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;28H│\u001b[25;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m origin/main \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;28H│\u001b[26;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b["] +[37.179, "o", "m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m elsewhere \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;28H│\u001b[27;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mRebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;28H│\u001b[28;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mi\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m interactively \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;28H│\u001b[29;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m a subset \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;28H│\u001b[30;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to"] +[37.179, "o", " modify a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;28H│\u001b[31;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to reword a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;28H│\u001b[32;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to remove a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;28H│\u001b[33;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to autosquash \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;28H╰\u001b[34;29H─\u001b[34;30H─\u001b[34;31H─\u001b[34;32H─\u001b[34;33H─\u001b[34;34H─\u001b[34;35H─\u001b[34;36H─\u001b[34;37H─\u001b[34;38H─\u001b[34;39H─\u001b[34;40H─\u001b["] +[37.179, "o", "34;41H─\u001b[34;42H─\u001b[34;43H─\u001b[34;44H─\u001b[34;45H─\u001b[34;46H─\u001b[34;47H─\u001b[34;48H─\u001b[34;49H─\u001b[34;50H─\u001b[34;51H─\u001b[34;52H─\u001b[34;53H─\u001b[34;54H─\u001b[34;55H─\u001b[34;56H─\u001b[34;57H─\u001b[34;58H─\u001b[34;59H─\u001b[34;60H─\u001b[34;61H─\u001b[34;62H─\u001b[34;63H─\u001b[34;64H─\u001b[34;65H─\u001b[34;66H─\u001b[34;67H─\u001b[34;68H─\u001b[34;69H─\u001b[34;70H─\u001b[34;71H─\u001b[34;72H─\u001b[34;73H─\u001b[34;74H─\u001b[34;75H─\u001b[34;76H─\u001b[34;77H─\u001b[34;78H─\u001b[34;79H─\u001b[34;80H─\u001b[34;81H─\u001b[34;82H─\u001b[34;83H─\u001b[34;84H─\u001b[34;85H─\u001b[34;86H─\u001b[34;87H─\u001b[34;88H─\u001b[34;89H─\u001b[34;90H─\u001b[34;91H─\u001b[34;92H─\u001b[34;93H─\u001b[34;94H─\u001b[34;95H─\u001b[34;96H─\u001b[34;97H─\u001b[34;98H─\u001b[34;99H─\u001b[34;100H─\u001b[34;101H─\u001b[34;102H─\u001b[34;103H─\u001b[34;104H─\u001b[34;105H╯\u001b[12;29H\u001b[34h\u001b[?25h"] +[40.245, "o", "\u001b[?25l\u001b[11;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[12;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40metup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[13;28H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \u001b[14;28H \u001b[15;28H \u001b[16;28H \u001b[17;28H \u001b[18;28H "] +[40.245, "o", " \u001b[19;28H \u001b[20;28H \u001b[21;28H \u001b[22;28H \u001b[23;28H \u001b[24;28H \u001b[25;28H \u001b[26;28H \u001b[27;28H \u001b[28;28H \u001b[29;28H \u001b[30;28H "] +[40.245, "o", " \u001b[31;28H \u001b[32;28H \u001b[33;28H \u001b[34;28H \u001b[2;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 36 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;1"] +[40.245, "o", "86m\u001b[48;2;31;31;40m 37 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102"] +[40.246, "o", "m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;3"] +[40.246, "o", "1;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd"] +[40.246, "o", " configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3b8c2a8\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] +[40.246, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[40.246, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[40.246, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[40.246, "o", " \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://log[/private/tmp/gitlad-demo-repo/] \u001b[5;3H\u001b[34h\u001b[?25h"] +[41.148, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.t"] +[41.148, "o", "xt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \u001b[8;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] +[41.148, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js "] +[41.149, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b"] +[41.149, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;1"] +[41.149, "o", "95;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[41.149, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up au"] +[41.149, "o", "th middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m"] +[41.149, "o", "origin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[41.149, "o", "31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[41.149, "o", "3;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[26;3H\u001b[34h\u001b[?25h"] +[42.258, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[1;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[2;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[3;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[4;3H○\u001b[4;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] +[42.258, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[7;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43"] +[42.258, "o", ";51;40m●\u001b[8;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[9;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[42.258, "o", " \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[42.258, "o", " \u001b[15;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] +[42.258, "o", "[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main"] +[42.258, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;3"] +[42.258, "o", "1;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:54]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(38ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:53]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -512\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(37ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:48]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b["] +[42.258, "o", "m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(36ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get pull.rebase\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;"] +[42.258, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(11ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(11ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.pushRemote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(12ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;3"] +[42.258, "o", "1;31;40mgit config --default --get branch.main.rebase\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(12ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(13ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(15ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;4"] +[42.258, "o", "0m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.description\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(30ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:39]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(26ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:34]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(19ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:"] +[42.258, "o", "43:30]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(15ms)\u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mhistory \r\u001b[15A\u001b[34h\u001b[?25h"] +[44.854, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H? assets/new-image.bin "] +[44.854, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \u001b[7;3H? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[44.854, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js "] +[44.854, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[15;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[44.854, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b"] +[44.854, "o", "[20;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b"] +[44.854, "o", "[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[44.854, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;"] +[44.854, "o", "152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b"] +[44.855, "o", "[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40"] +[44.855, "o", "m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[26;3H\u001b[34h\u001b[?25h"] +[48.374, "o", "\u001b[?25l\u001b[?2031l\u001b[2 q\u001b[?1002l\u001b[?1006l\u001b[m\u000f\u001b[34h\u001b[?25h\u001b[?1l\u001b>\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] +[48.375, "o", "\u001b[?25l\r\u001b[16B\u001b[?1049l\u001b[34h\u001b[?25h"] +[48.376, "x", "0"] diff --git a/docs/demo.cast b/docs/demo-basics.cast similarity index 55% rename from docs/demo.cast rename to docs/demo-basics.cast index cacef5d..f1185bd 100644 --- a/docs/demo.cast +++ b/docs/demo-basics.cast @@ -1,7 +1,7 @@ -{"version":3,"term":{"cols":130,"rows":42,"type":"tmux-256color","version":"tmux 3.6a"},"timestamp":1771494277,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/bin/zsh"}} -[0.010, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] -[0.006, "o", "\u001b]11;?\u0007"] -[0.011, "o", "\u001bP+q4D73\u001b\\"] +{"version":3,"term":{"cols":130,"rows":42,"type":"tmux-256color","version":"tmux 3.6a"},"timestamp":1772019800,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/nix/store/ngqf98amj0hv0jhzhz540p03wxjj0chj-bash-interactive-5.3p9/bin/bash"}} +[0.012, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] +[0.005, "o", "\u001b]11;?\u0007"] +[0.010, "o", "\u001bP+q4D73\u001b\\"] [0.000, "o", "\u001b[?25l\u001b[?2031h\u001b[>4;2m\u001b[m\u000f\u001b[H \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] [0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] [0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] @@ -13,128 +13,133 @@ [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n "] -[0.000, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.5\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] +[0.000, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] [0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.5\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] [0.000, "o", " \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNvim is open source and freely distributable\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mhttps://neovim.io/#chat\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ "] -[0.000, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.001, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] [0.000, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] -[0.082, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] +[0.083, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] [1.619, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] -[0.012, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] -[0.022, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[0.014, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] +[0.201, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] [0.000, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] -[0.013, "o", "\u001b[?25l"] -[0.010, "o", "\u001b[34h\u001b[?25h"] -[0.050, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] -[0.012, "o", "\u001b[?25l"] -[0.004, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138"] +[0.021, "o", "\u001b[?25l"] +[0.030, "o", "\u001b[34h\u001b[?25h"] +[0.012, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] +[0.080, "o", "\u001b[?25l⠸\b\u001b[34h\u001b[?25h"] +[0.011, "o", "\u001b[?25l"] +[0.012, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138"] [0.000, "o", ";169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js "] [0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] [0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;1"] [0.000, "o", "13;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} "] [0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m"] [0.000, "o", "\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/pr"] -[0.000, "o", "ivate/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31"] -[0.000, "o", ";31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and te"] -[0.000, "o", "st runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] -[3.183, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[0.000, "o", "ivate/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31"] +[0.000, "o", ";31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and te"] +[0.000, "o", "st runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] +[2.929, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] [0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] [0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] [0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] [0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] [0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;"] -[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] -[0.000, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[10;32H╭\u001b[10;33H─\u001b[10;34H─\u001b[10;35H─\u001b[10;36H─\u001b[10;37H─\u001b[10;38H─\u001b[10;39H─\u001b[10;40H─\u001b[10;41H─\u001b[10;42H─\u001b[10;43H─\u001b[10;44H─\u001b[10;45H─\u001b[10;46H─\u001b[10;47H─\u001b[10;48H─\u001b[10;49H─\u001b[10;50H─\u001b[10;51H─\u001b[10;52H─\u001b[10;53H─\u001b[10;54H─\u001b[10;55H─\u001b[10;56H─\u001b[10;57H─\u001b[10;58H─\u001b[10;59H─\u001b[10;60H─\u001b[10;61H─\u001b[10;62H─\u001b["] -[0.000, "o", "10;63H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[10;70H─\u001b[10;71H─\u001b[10;72H─\u001b[10;73H─\u001b[10;74H─\u001b[10;75H─\u001b[10;76H─\u001b[10;77H─\u001b[10;78H─\u001b[10;79H─\u001b[10;80H─\u001b[10;81H─\u001b[10;82H─\u001b[10;83H─\u001b[10;84H─\u001b[10;85H─\u001b[10;86H─\u001b[10;87H─\u001b[10;88H─\u001b[10;89H─\u001b[10;90H─\u001b[10;91H─\u001b[10;92H─\u001b[10;93H─\u001b[10;94H─\u001b[10;95H─\u001b[10;96H─\u001b[10;97H─\u001b[10;98H─\u001b[10;99H─\u001b[10;100H╮\u001b[11;32H│\u001b[11;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mTransient commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[12;32H│\u001b[12;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log \u001b[m\u000f\u001b[38;2"] -[0.000, "o", ";84;84;109m\u001b[48;2;22;22;29m│\u001b[13;32H│\u001b[13;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Push \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Pull \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Fetch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;32H│\u001b[14;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Rebase \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Merge \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;32H│\u001b[15;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mz\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stash \u001b[m\u000f\u001b[3m\u001b[38;2"] -[0.000, "o", ";149;127;184m\u001b[48;2;22;22;29mA\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Cherry-pick \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m_\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Revert \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;32H│\u001b[16;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mX\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reset \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m'\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Submodule \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mZ\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;32H│\u001b[17;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mM\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Remotes \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mW\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Patch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Apply patches \u001b[m"] -[0.000, "o", "\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;32H│\u001b[18;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29myr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m References \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;32H│\u001b[19;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;32H│\u001b[20;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mApplying changes\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;32H│\u001b[21;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Intent to add "] -[0.001, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;32H│\u001b[22;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Discard \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mU\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;32H│\u001b[23;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;32H│\u001b[24;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mNavigation\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;32H│\u001b[25;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;2"] -[0.000, "o", "2;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next section \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;32H│\u001b[26;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;32H│\u001b[27;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m1\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Headers only \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m2\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show items \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diffs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;2"] -[0.000, "o", "2;22;29m│\u001b[28;32H│\u001b[28;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Visit file \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Edit file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;32H│\u001b[29;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;32H│\u001b[30;33H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEssential commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;32H│\u001b[31;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Refresh \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m$\u001b[m\u000f\u001b[38;2;200;192;147"] -[0.000, "o", "m\u001b[48;2;22;22;29m Git command history \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;32H│\u001b[32;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mys\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Yank section value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mq\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close buffer \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;32H│\u001b[33;33H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m?\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m This help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;32H╰\u001b[34;33H─\u001b[34;34H─\u001b[34;35H─\u001b[34;36H─\u001b[34;37H─\u001b[34;38H─\u001b[34;39H─\u001b[34;40H─\u001b[34;41H─\u001b[34;42H─\u001b[34;43H─\u001b[34;44H─\u001b[34;45H─\u001b[34;46H─\u001b[34;47H─\u001b[34;48H─\u001b[34;49H─\u001b[34;50H─\u001b[34;51H─\u001b[34;52H─\u001b[34;53H─\u001b[34;54H─\u001b[34;55H─\u001b[34;56H─\u001b[34;57H─\u001b[34;58H─\u001b[34;59H─\u001b[34;60H─\u001b[34;61H─\u001b[34;62H─\u001b[34;63H"] -[0.000, "o", "─\u001b[34;64H─\u001b[34;65H─\u001b[34;66H─\u001b[34;67H─\u001b[34;68H─\u001b[34;69H─\u001b[34;70H─\u001b[34;71H─\u001b[34;72H─\u001b[34;73H─\u001b[34;74H─\u001b[34;75H─\u001b[34;76H─\u001b[34;77H─\u001b[34;78H─\u001b[34;79H─\u001b[34;80H─\u001b[34;81H─\u001b[34;82H─\u001b[34;83H─\u001b[34;84H─\u001b[34;85H─\u001b[34;86H─\u001b[34;87H─\u001b[34;88H─\u001b[34;89H─\u001b[34;90H─\u001b[34;91H─\u001b[34;92H─\u001b[34;93H─\u001b[34;94H─\u001b[34;95H─\u001b[34;96H─\u001b[34;97H─\u001b[34;98H─\u001b[34;99H─\u001b[34;100H╯\u001b[11;33H\u001b[34h\u001b[?25h"] -[3.098, "o", "\u001b[?25l\u001b[10;32H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;32H \u001b[12;32H \u001b[13;32H \u001b[14;32H \u001b[15;32H \u001b[16;32H \u001b[17;32H \u001b[18;32H \u001b[19;32HENCE.md} \u001b[20;32H \u001b[21;32H \u001b[22;32H "] -[0.000, "o", " \u001b[23;32H \u001b[24;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;32H \u001b[28;32H \u001b[29;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mre and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mddleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[31;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;32H \u001b[33;32H \u001b[34;32H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mre and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt "] -[0.000, "o", " \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48"] -[0.000, "o", ";2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40"] -[0.000, "o", "mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js "] -[0.000, "o", " \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31"] -[0.000, "o", ";31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b["] -[0.000, "o", "48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and "] -[0.000, "o", "formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;1"] -[0.000, "o", "47m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[6;3H\u001b[34h\u001b[?25h"] -[0.801, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;"] +[0.001, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[0.000, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[6;28H╭\u001b[6;29H─\u001b[6;30H─\u001b[6;31H─\u001b[6;32H─\u001b[6;33H─\u001b[6;34H─\u001b[6;35H─\u001b[6;36H─\u001b[6;37H─\u001b[6;38H─\u001b[6;39H─\u001b[6;40H─\u001b[6;41H─\u001b[6;42H─\u001b[6;43H─\u001b[6;44H─\u001b[6;45H─\u001b[6;46H─\u001b[6;47H─\u001b[6;48H─\u001b[6;49H─\u001b[6;50H─\u001b[6;51H─\u001b[6;52H─\u001b[6;53H─\u001b[6;54H─\u001b[6;55H─\u001b[6;56H─\u001b[6;57H─\u001b[6;58H─\u001b[6;59H─\u001b[6;60H─\u001b[6;61H─\u001b[6"] +[0.000, "o", ";62H─\u001b[6;63H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[6;70H─\u001b[6;71H─\u001b[6;72H─\u001b[6;73H─\u001b[6;74H─\u001b[6;75H─\u001b[6;76H─\u001b[6;77H─\u001b[6;78H─\u001b[6;79H─\u001b[6;80H─\u001b[6;81H─\u001b[6;82H─\u001b[6;83H─\u001b[6;84H─\u001b[6;85H─\u001b[6;86H─\u001b[6;87H─\u001b[6;88H─\u001b[6;89H─\u001b[6;90H─\u001b[6;91H─\u001b[6;92H─\u001b[6;93H─\u001b[6;94H─\u001b[6;95H─\u001b[6;96H─\u001b[6;97H─\u001b[6;98H─\u001b[6;99H─\u001b[6;100H─\u001b[6;101H─\u001b[6;102H─\u001b[6;103H─\u001b[6;104H╮\u001b[7;28H│\u001b[7;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mTransient commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[8;28H│\u001b[8;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[9;28H│\u001b[9;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Push \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Pull \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Fetch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[10;28H│\u001b[10;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Rebase \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Merge \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[11;28H│\u001b[11;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mz\u001b[m\u000f\u001b[38;2;200;192;147"] +[0.000, "o", "m\u001b[48;2;22;22;29m Stash \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mA\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Cherry-pick \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m_\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Revert \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[12;28H│\u001b[12;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mX\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reset \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m'\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Submodule \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mZ\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[13;28H│\u001b[13;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mM\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Remotes \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mW\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Patch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2"] +[0.000, "o", ";200;192;147m\u001b[48;2;22;22;29m Apply patches \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;28H│\u001b[14;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29myr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m References \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mB\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Blame \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mN\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Forge \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;28H│\u001b[15;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;28H│\u001b[16;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mApplying changes\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;28H│\u001b[17;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b["] +[0.000, "o", "38;2;200;192;147m\u001b[48;2;22;22;29m Stage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Intent to add \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;28H│\u001b[18;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Discard \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mU\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unstage all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;28H│\u001b[19;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;28H│\u001b[20;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mNavigation\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;28H│\u001b[21;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous item \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next section \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;28H│\u001b[22;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle section \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle all \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;28H│\u001b[23;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;"] +[0.000, "o", "22;22;29m1\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Headers only \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m2\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show items \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diffs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;28H│\u001b[24;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show all \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Visit file \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Edit file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;28H│\u001b[25;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;28H│\u001b[26;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiff view\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;"] +[0.000, "o", "29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;28H│\u001b[27;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mq\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close diff view \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgj\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next file \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;28H│\u001b[28;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m]c\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next hunk \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m[c\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Previous hunk \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Select file \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;28H│\u001b[29;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149"] +[0.000, "o", ";127;184m\u001b[48;2;22;22;29mgr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Refresh \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m:w\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Save edits \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next commit (PR) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;28H│\u001b[30;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Prev commit (PR) \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m]t\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Next review thread \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m[t\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Prev review thread \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;28H│\u001b[31;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle thread \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Add review com"] +[0.000, "o", "ment \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reply to thread \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;28H│\u001b[32;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Submit review \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mP\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Toggle pending mode \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage file (merge) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;28H│\u001b[33;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;28H│\u001b[34;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEssential commands\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[35;28H│\u001b[35;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b["] +[0.000, "o", "m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mgr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Refresh \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m$\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Git command history \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[36;28H│\u001b[36;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mys\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Yank section value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mq\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close buffer \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[37;28H│\u001b[37;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m?\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m This help \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[38;28H╰\u001b[38;29H─\u001b[38;30H─\u001b[38;31H─\u001b[38;32H─\u001b[38;33H─\u001b[38;34H─\u001b[38;35H─\u001b[38;36H─\u001b[38;37H─\u001b[38;38H─\u001b[38;39H─\u001b[38;40H─\u001b[38;41H─\u001b["] +[0.000, "o", "38;42H─\u001b[38;43H─\u001b[38;44H─\u001b[38;45H─\u001b[38;46H─\u001b[38;47H─\u001b[38;48H─\u001b[38;49H─\u001b[38;50H─\u001b[38;51H─\u001b[38;52H─\u001b[38;53H─\u001b[38;54H─\u001b[38;55H─\u001b[38;56H─\u001b[38;57H─\u001b[38;58H─\u001b[38;59H─\u001b[38;60H─\u001b[38;61H─\u001b[38;62H─\u001b[38;63H─\u001b[38;64H─\u001b[38;65H─\u001b[38;66H─\u001b[38;67H─\u001b[38;68H─\u001b[38;69H─\u001b[38;70H─\u001b[38;71H─\u001b[38;72H─\u001b[38;73H─\u001b[38;74H─\u001b[38;75H─\u001b[38;76H─\u001b[38;77H─\u001b[38;78H─\u001b[38;79H─\u001b[38;80H─\u001b[38;81H─\u001b[38;82H─\u001b[38;83H─\u001b[38;84H─\u001b[38;85H─\u001b[38;86H─\u001b[38;87H─\u001b[38;88H─\u001b[38;89H─\u001b[38;90H─\u001b[38;91H─\u001b[38;92H─\u001b[38;93H─\u001b[38;94H─\u001b[38;95H─\u001b[38;96H─\u001b[38;97H─\u001b[38;98H─\u001b[38;99H─\u001b[38;100H─\u001b[38;101H─\u001b[38;102H─\u001b[38;103H─\u001b[38;104H╯\u001b[7;29H\u001b[34h\u001b[?25h"] +[3.095, "o", "\u001b[?25l\u001b[6;28H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;28H \u001b[8;28Hwn.js \u001b[9;28H \u001b[10;28H \u001b[11;28H \u001b[12;28H \u001b[13;28H \u001b[14;28H.js \u001b[15;28H \u001b[16;28H \u001b[17;28H "] +[0.001, "o", " \u001b[18;28H \u001b[19;28HEFERENCE.md} \u001b[20;28Hs \u001b[21;28Hs \u001b[22;28H \u001b[23;28H \u001b[24;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mgitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mgitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mgitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[27;28H \u001b[28;28H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mn middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;28H \u001b[33;28H \u001b[34;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mleware and formatters\u001b[m\u000f\u001b["] +[0.000, "o", "38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mn middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40me App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;"] +[0.000, "o", "2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js "] +[0.000, "o", " \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js "] +[0.000, "o", " \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;21"] +[0.000, "o", "5;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middlew"] +[0.000, "o", "are and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H \u001b[33;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b"] +[0.000, "o", "[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[6;3H\u001b[34h\u001b[?25h"] +[0.799, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.150, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.150, "o", "\u001b[?25l\n\n\n\u001b[34h\u001b[?25h"] +[0.151, "o", "\u001b[?25l\n\n\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.612, "o", "\u001b[?25l"] -[0.064, "o", "\r\u001b[14;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv\r\nv \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;73;68;60m@@ -3,17 +3,27 @@ class Button {\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\u001b[17;8H\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40"] +[0.640, "o", "\u001b[?25l"] +[0.068, "o", "\r\u001b[14;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv\r\nv \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;73;68;60m@@ -3,17 +3,27 @@ class Button {\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\u001b[17;8H\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40"] [0.000, "o", "mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m;\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;3"] [0.000, "o", "1;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;6H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrender\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m{\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;248;113;113m\u001b[48;2;74;42;42m-\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;74;42;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;74;42;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mconst\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[];\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[25;3H\u001b[m\u000f"] [0.000, "o", "\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m||\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mpush\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'disabled'\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m);\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] [0.000, "o", " \u001b[26;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mattrs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mpush\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'data-loading'\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m);\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] [0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mconst\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mlabel\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m'Loading...'\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mlabel\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] -[0.001, "o", " \u001b[29;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[30;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;4"] +[0.000, "o", " \u001b[29;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m``\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[30;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;4"] [0.000, "o", "0m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H \u001b[32;6H\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mclick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m{\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;248;113;113m\u001b[48;2;74;42;42m-\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;74;42;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;74;42;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m&&\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;74;42;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;74;42;42monClick\u001b[m"] [0.000, "o", "\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[34;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mdisabled\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m&&\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m!\u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m&&\u001b[m\u000f\u001b[38;2;220;215;"] [0.000, "o", "186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;31;31;40mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40monClick\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m();\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] [0.000, "o", " \u001b[39;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42msetLoading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[40;3H\u001b[m\u000f\u001b[38;2;74;222;128m\u001b[48;2;42;74;42m+\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;228;104;118m\u001b[48;2;42;74;42mthis\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mloading\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74"] [0.000, "o", ";42m;\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[14;3H\u001b[34h\u001b[?25h"] -[1.627, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[1.595, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.152, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.152, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.150, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[1.204, "o", "\u001b[?25l"] -[0.008, "o", "\r\u001b[8A\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\r\n> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js\u001b[17;8H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b["] +[0.152, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[1.206, "o", "\u001b[?25l"] +[0.020, "o", "\r\u001b[8A\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\r\n> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js\u001b[17;8H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b["] [0.000, "o", "20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js\u001b[22;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;"] -[0.000, "o", "2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] -[0.000, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[32;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;"] -[0.000, "o", "105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] -[0.000, "o", ";2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;3H\u001b[34h\u001b[?25h"] -[1.594, "o", "\u001b[?25l\n\n\u001b[34h\u001b[?25h"] +[0.000, "o", "2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[0.000, "o", "48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[32;6H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;"] +[0.000, "o", "105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] +[0.000, "o", ";2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;3H\u001b[34h\u001b[?25h"] +[1.580, "o", "\u001b[?25l\n\n\u001b[34h\u001b[?25h"] [1.453, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.150, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.150, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.151, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[1.404, "o", "\u001b[?25l"] -[0.007, "o", "\r\u001b[28;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[29;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatter\u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2"] -[0.000, "o", ";31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[3"] -[0.000, "o", "8;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[28;3H\u001b[34h\u001b[?25h"] -[1.098, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[1.408, "o", "\u001b[?25l"] +[0.026, "o", "\r\u001b[28;1H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m>\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[29;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatter\u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2"] +[0.000, "o", ";31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[3"] +[0.000, "o", "8;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[28;3H\u001b[34h\u001b[?25h"] +[1.078, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] [0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] [0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] +[0.001, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] [0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] [0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;37H╭\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─"] +[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] +[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;37H╭\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─"] [0.000, "o", "\u001b[13;72H─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H─\u001b[13;88H─\u001b[13;89H─\u001b[13;90H─\u001b[13;91H─\u001b[13;92H─\u001b[13;93H─\u001b[13;94H─\u001b[13;95H╮\u001b[14;37H│\u001b[14;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;37H│\u001b[15;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Stage all modified and deleted files (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--all\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;37H│\u001b[16;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-e\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Allow empty commit (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--allow-empty\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;2"] [0.000, "o", "2;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;37H│\u001b[17;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-v\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show diff of changes to be committed (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--verbose\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;37H│\u001b[18;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Disable hooks (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--no-verify\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;37H│\u001b[19;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=A\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Override the author \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--author=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;37H│\u001b"] [0.000, "o", "[20;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=S\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Add Signed-off-by trailer \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--signoff)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;37H│\u001b[21;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;37H│\u001b[22;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;37H│\u001b[23;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;37H│\u001b[24;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mEdit HEAD\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] [0.000, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;37H│\u001b[25;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29me\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Extend \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;37H│\u001b[26;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reword \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;37H│\u001b[27;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ma\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Amend \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;37H│\u001b[28;38H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mInstant\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;37H│\u001b[29;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22"] [0.000, "o", ";22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mF\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Instant fixup \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;37H│\u001b[30;38H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mS\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Instant squash \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;37H╰\u001b[31;38H─\u001b[31;39H─\u001b[31;40H─\u001b[31;41H─\u001b[31;42H─\u001b[31;43H─\u001b[31;44H─\u001b[31;45H─\u001b[31;46H─\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;77H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H─\u001b[31;88H─\u001b[31;89H─\u001b[31;90H─\u001b[31;91"] [0.000, "o", "H─\u001b[31;92H─\u001b[31;93H─\u001b[31;94H─\u001b[31;95H╯\u001b[14;38H\u001b[34h\u001b[?25h"] -[2.600, "o", "\u001b[?25l\u001b[13;37H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H \u001b[15;37H \u001b[16;37H \u001b[17;37H \u001b[18;37H \u001b[19;37Hmd} \u001b[20;37H \u001b[21;37H \u001b[22;37H \u001b[23;37H \u001b[24;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;1"] +[2.597, "o", "\u001b[?25l\u001b[13;37H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H \u001b[15;37H \u001b[16;37H \u001b[17;37H \u001b[18;37H \u001b[19;37Hmd} \u001b[20;37H \u001b[21;37H \u001b[22;37H \u001b[23;37H \u001b[24;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;1"] [0.000, "o", "86m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mmo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H \u001b[28;37H \u001b[29;37H \u001b[30;37H \u001b[31;37H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40md formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth "] [0.000, "o", "middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin "] [0.000, "o", " \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md "] @@ -142,66 +147,21 @@ [0.000, "o", " \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;5"] [0.000, "o", "1;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b"] [0.000, "o", "[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;3"] -[0.000, "o", "1;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;3"] +[0.000, "o", "1;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] [0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] -[1.103, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[0.001, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[18;46H╭\u001b[18;47H─\u001b[18;48H─\u001b[18;49H─\u001b[18;50H─\u001b[18;51H─\u001b[18;52H─\u001b[18;53H─\u001b[18;54H─\u001b[18;55H─\u001b[18;56H─\u001b[18;57H─\u001b[18;58H─\u001b[18;59H─\u001b[18;60H─\u001b[18;61H─\u001b[18;62H─\u001b[18;63H─\u001b[18;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Diff \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[18;71H─\u001b[18;72H─\u001b[18;73H─\u001b[18;74H─\u001b[18;75H─\u001b[18;76H─\u001b[18;77H─\u001b[18;78H─\u001b["] -[0.000, "o", "18;79H─\u001b[18;80H─\u001b[18;81H─\u001b[18;82H─\u001b[18;83H─\u001b[18;84H─\u001b[18;85H─\u001b[18;86H─\u001b[18;87H╮\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDiffing\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff (dwim) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff staged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff unstaged \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b"] -[0.000, "o", "[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Diff range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Build range... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H╰\u001b[26;47H─\u001b[26;48H─\u001b[26;49H─\u001b[26;50H─\u001b[26;51H─\u001b[26;52H─\u001b[26;53H─\u001b[26;54H─\u001b[26;55H─\u001b[26;56H─\u001b[26;57H─\u001b[26;58H─\u001b[26;59H─\u001b[26;60H─\u001b[26;61H─\u001b[26;62H─\u001b[26;63H─\u001b[26;64H─\u001b[26;65H─\u001b[26;66H─\u001b[26;67H─\u001b[26;68H─\u001b[26;69H─\u001b[26;70H─\u001b[26;71H─\u001b[26;72H─\u001b[26;73H─\u001b[26;74H─\u001b[26;75H─\u001b[26;76H─\u001b[26;77H─\u001b[26;78H─\u001b[26;79H─\u001b[26;80H─\u001b[26;81H─\u001b[26;82H─\u001b[26;83H─\u001b[26;84H─\u001b[26;85H─\u001b[26;86H─"] -[0.000, "o", "\u001b[26;87H╯\u001b[19;47H\u001b[34h\u001b[?25h"] -[2.111, "o", "\u001b[?25l\u001b[18;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;47H\u001b[34h\u001b[?25h"] -[0.018, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//s/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m d///p/0/DiffviewFilePanel \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;149;127;184m\u001b[48;2;54;54;70m…\u001b[2;4H/private/tmp/gitlad-demo-repo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mHelp: \u001b[0;1m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mg?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \r\n \u001b[0;1m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mChanges \u001b[0;1m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40m(0)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r"] -[0.000, "o", "\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11;36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;1"] -[0.000, "o", "86m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m"] -[0.000, "o", "\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;1"] -[0.000, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] -[0.000, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48"] -[0.000, "o", ";2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b["] -[0.000, "o", "38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b["] -[0.000, "o", "m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;"] -[0.000, "o", "31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[28;3H\u001b[34h\u001b[?25h"] -[1.603, "o", "\u001b[?25l"] -[0.042, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[1.106, "o", "\u001b[?25l"] +[0.123, "o", "\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] [0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b["] [0.000, "o", "48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s"] [0.000, "o", "rc/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;18"] [0.000, "o", "6m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] [0.000, "o", "\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] -[0.000, "o", ";2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;"] -[0.000, "o", "2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;30H╭\u001b[13;31H─\u001b[13;32H─\u001b[13;33H─\u001b[13;34H─\u001b[13;35H─\u001b[13;36H─\u001b[13;37H─\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48"] +[0.000, "o", ";2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;"] +[0.000, "o", "2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;30H╭\u001b[13;31H─\u001b[13;32H─\u001b[13;33H─\u001b[13;34H─\u001b[13;35H─\u001b[13;36H─\u001b[13;37H─\u001b[13;38H─\u001b[13;39H─\u001b[13;40H─\u001b[13;41H─\u001b[13;42H─\u001b[13;43H─\u001b[13;44H─\u001b[13;45H─\u001b[13;46H─\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48"] [0.000, "o", ";2;22;22;29m Branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;71H─\u001b[13;72H─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H─\u001b[13;88H─\u001b[13;89H─\u001b[13;90H─\u001b[13;91H─\u001b[13;92H─\u001b[13;93H─\u001b[13;94H─\u001b[13;95H─\u001b[13;96H─\u001b[13;97H─\u001b[13;98H─\u001b[13;99H─\u001b[13;100H─\u001b[13;101H─\u001b[13;102H╮\u001b[14;30H│\u001b[14;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mConfigure main\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;30H│\u001b[15;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29md\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.description\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29munset\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b["] [0.000, "o", "48;2;22;22;29m│\u001b[16;30H│\u001b[16;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.merge\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mrefs/heads/main\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;30H│\u001b[17;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch.main.remote origin \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;30H│\u001b[18;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.rebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[true|false|\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29mdefault:false\u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22"] [0.000, "o", ";29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;30H│\u001b[19;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29mbranch.main.pushRemote\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;122;168;159m\u001b[48;2;22;22;29m[origin]\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;30H│\u001b[20;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;30H│\u001b[21;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mConfigure repository defaults\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;30H│\u001b[22;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] @@ -209,7 +169,7 @@ [0.000, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;30H│\u001b[26;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-f\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Force delete (even if not merged) (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--force\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;30H│\u001b[27;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;30H│\u001b[28;31H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCheckout \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mDo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;30H│\u001b[29;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b"] [0.000, "o", "[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch/revision \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mn\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m rename \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;30H│\u001b[30;31H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m local branch \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m new spin-off \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mx\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m delete \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;30H╰\u001b[31;31H─\u001b[31;32H─\u001b[31;33H─\u001b[31;34H─\u001b[31;35H─\u001b[31;36H─\u001b[31;37H─\u001b[31;38H─\u001b[31;39H─\u001b[31;40H─\u001b[31;41H─\u001b[31;42H─\u001b[31;43H─\u001b[31;44H─\u001b[31;45H─\u001b[31"] [0.000, "o", ";46H─\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;77H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H─\u001b[31;88H─\u001b[31;89H─\u001b[31;90H─\u001b[31;91H─\u001b[31;92H─\u001b[31;93H─\u001b[31;94H─\u001b[31;95H─\u001b[31;96H─\u001b[31;97H─\u001b[31;98H─\u001b[31;99H─\u001b[31;100H─\u001b[31;101H─\u001b[31;102H╯\u001b[14;31H\u001b[34h\u001b[?25h"] -[2.057, "o", "\u001b[?25l\u001b[13;30H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;30Hs \u001b[15;30H \u001b[16;30H \u001b[17;30H \u001b[18;30H \u001b[19;30HERENCE.md} \u001b[20;30H \u001b[21;30H \u001b[22;30H \u001b[23;30H \u001b[24;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186"] +[1.976, "o", "\u001b[?25l\u001b[13;30H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;30Hs \u001b[15;30H \u001b[16;30H \u001b[17;30H \u001b[18;30H \u001b[19;30HERENCE.md} \u001b[20;30H \u001b[21;30H \u001b[22;30H \u001b[23;30H \u001b[24;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186"] [0.000, "o", "m\u001b[48;2;31;31;40m \u001b[25;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mtlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;30H \u001b[28;30H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;30H \u001b[30;30H \u001b[31;30H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m "] [0.000, "o", " \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] [0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2"] @@ -217,126 +177,59 @@ [0.000, "o", " \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48"] [0.001, "o", ";2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/git"] [0.000, "o", "lad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;1"] -[0.000, "o", "02m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;3"] -[0.000, "o", "1;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b"] -[0.000, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] -[1.103, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[20;46H╭\u001b[20;47H─\u001b[20;48H─\u001b[20;49H─\u001b[20;50H─\u001b[20;51H─\u001b[20;52H─\u001b[20;53H─\u001b[20;54H─\u001b[20;55H─\u001b[20;56H─\u001b[20;57H─\u001b[20;58H─\u001b[20;59H─\u001b[20;60H─\u001b[20;61H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m References \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[20;74H─\u001b[20;75H─\u001b[20;76H─\u001b[20;77H─\u001b[20;78H─\u001b[20;79H─\u001b[20;80H─\u001b[20;81H─\u001b[20;82H─\u001b[20;83H─\u001b[20;84"] -[0.000, "o", "H─\u001b[20;85H─\u001b[20;86H─\u001b[20;87H╮\u001b[21;46H│\u001b[21;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mShow refs\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29my\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show refs at HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show refs at current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show refs at other ref... \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H╰\u001b[25;47H─\u001b[25;48H─\u001b[25;49H─\u001b[25;50H─\u001b[25;51H─\u001b[25;52H─\u001b[25;53H─\u001b[25;54H─\u001b[25;55H─\u001b[25;56H─\u001b[25;57H─\u001b[25;58H─\u001b[25"] -[0.000, "o", ";59H─\u001b[25;60H─\u001b[25;61H─\u001b[25;62H─\u001b[25;63H─\u001b[25;64H─\u001b[25;65H─\u001b[25;66H─\u001b[25;67H─\u001b[25;68H─\u001b[25;69H─\u001b[25;70H─\u001b[25;71H─\u001b[25;72H─\u001b[25;73H─\u001b[25;74H─\u001b[25;75H─\u001b[25;76H─\u001b[25;77H─\u001b[25;78H─\u001b[25;79H─\u001b[25;80H─\u001b[25;81H─\u001b[25;82H─\u001b[25;83H─\u001b[25;84H─\u001b[25;85H─\u001b[25;86H─\u001b[25;87H╯\u001b[21;47H\u001b[34h\u001b[?25h"] -[1.507, "o", "\u001b[?25l\u001b[20;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[17B \r\u001b[42;1H[gitlad] Loading refs...\r\u001b[42;1H \r\u001b[42;1H[gitlad] Refreshing refs...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[1;3H \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ "] -[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n"] -[0.000, "o", "~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] -[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://refs[/private/tmp/gitlad-demo-repo/] \u001b[1;3H\u001b[34h\u001b[?25h"] -[0.009, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReferences (at main) \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mBranches (5) \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220"] -[0.000, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mfeature/clean-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd math utility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mfeature/conflict-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component (will conflict)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;158;59m\u001b[48;2;31;31;40m@\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRemote \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m (\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m/tmp/gitlad-demo-repo-origin\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m) \u001b[0;1m\u000f\u001b[38;2;126;156"] -[0.000, "o", ";216m\u001b[48;2;31;31;40m(3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mfeature/clean-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd math utility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mfeature/conflict-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component (will conflict)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220"] -[0.000, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mPress ? for help \u001b[1;3H\u001b[34h\u001b[?25h"] -[0.009, "o", "\u001b[?25l\r\n\n\n\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \r\n> \u001b[5A\u001b[34h\u001b[?25h"] -[2.578, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \u001b[5;3H? notes.txt \u001b[6;3H? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b"] -[0.000, "o", "[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \u001b[8;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js\r\n\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;"] -[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147"] -[0.000, "o", ";138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;"] -[0.000, "o", "186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;"] -[0.000, "o", "2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b["] -[0.000, "o", "m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;"] -[0.000, "o", "31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[26;3H\u001b[34h\u001b[?25h"] -[0.601, "o", "\u001b[?25l\u001b[1;40r\u001b[H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[2L\u001b[1;42r\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;3H\u001b[34h\u001b[?25h"] -[0.301, "o", "\u001b[?25l\n\n\n\n\u001b[34h\u001b[?25h"] -[0.200, "o", "\u001b[?25l\u001b[6B\u001b[34h\u001b[?25h"] -[0.201, "o", "\u001b[?25l\u001b[7B\u001b[34h\u001b[?25h"] -[0.201, "o", "\u001b[?25l\u001b[5B\u001b[34h\u001b[?25h"] -[1.053, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.201, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[1.406, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] -[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] -[0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] -[0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] -[0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[13;46H╭\u001b[13;47H─\u001b[13;48H─\u001b[13;49H─\u001b[13;50H─\u001b[13;51H─\u001b[13;52H─\u001b[13;53H─\u001b[13;54H─\u001b[13;55H─\u001b[13;56H─\u001b[13;57H─\u001b[13;58H─\u001b[13;59H─\u001b[13;60H─\u001b[13;61H─\u001b[13;62H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[13;73H─\u001b[13;74H─\u001b[13;75H─\u001b[13;76H─\u001b[13;77H─\u001b[13;78H─\u001b[13;79H─\u001b[13;80H─\u001b[13;81H─\u001b[13;82H"] -[0.000, "o", "─\u001b[13;83H─\u001b[13;84H─\u001b[13;85H─\u001b[13;86H─\u001b[13;87H╮\u001b[14;46H│\u001b[14;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;46H│\u001b[15;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-f\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Force operations (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--force\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;46H│\u001b[16;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-d\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Detach HEAD (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m--detach\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;46H│\u001b[17;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Lock after adding (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48"] -[0.000, "o", ";2;22;22;29m--lock\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;46H│\u001b[18;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCreate new\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mb\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m branch and worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mCommands experiment\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;10"] -[0.000, "o", "9m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Move worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Delete worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mg\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Visit worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mLock\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Lock worktree "] -[0.000, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H│\u001b[28;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mu\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Unlock worktree \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;46H│\u001b[29;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mMaintenance\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;46H│\u001b[30;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mp\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Prune stale \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;46H╰\u001b[31;47H─\u001b[31;48H─\u001b[31;49H─\u001b[31;50H─\u001b[31;51H─\u001b[31;52H─\u001b[31;53H─\u001b[31;54H─\u001b[31;55H─\u001b[31;56H─\u001b[31;57H─\u001b[31;58H─\u001b[31;59H─\u001b[31;60H─\u001b[31;61H─\u001b[31;62H─\u001b[31;63H─\u001b[31;64H─\u001b[31;65H─\u001b[31;66H─\u001b[31;67H─\u001b[31;68H─\u001b[31;69H─\u001b[31;70H─\u001b[31;71H─\u001b[31;72H─\u001b[31;73H─\u001b[31;74H─\u001b[31;75H─\u001b[31;76H─\u001b[31;7"] -[0.000, "o", "7H─\u001b[31;78H─\u001b[31;79H─\u001b[31;80H─\u001b[31;81H─\u001b[31;82H─\u001b[31;83H─\u001b[31;84H─\u001b[31;85H─\u001b[31;86H─\u001b[31;87H╯\u001b[14;47H\u001b[34h\u001b[?25h"] -[2.598, "o", "\u001b[?25l\u001b[13;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;46H \u001b[15;46H \u001b[16;46H \u001b[17;46H \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;46H \u001b[28;46H \u001b[29;46H "] -[0.000, "o", " \u001b[30;46H \u001b[31;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mers\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38"] -[0.000, "o", ";2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js "] -[0.000, "o", " \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/co"] -[0.000, "o", "mponents/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;"] -[0.000, "o", "215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40"] -[0.000, "o", "m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H "] -[0.000, "o", " \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23"] -[0.000, "o", "a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38"] -[0.000, "o", ";2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m"] -[0.000, "o", "\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[25;3H\u001b[34h\u001b[?25h"] +[0.000, "o", " \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;1"] +[0.000, "o", "02m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;3"] +[0.000, "o", "1;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b"] +[0.000, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] [1.105, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] [0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;"] [0.000, "o", "216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31"] [0.000, "o", ";40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;"] [0.000, "o", "215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] [0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;18"] -[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] -[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[12;46H╭\u001b[12;47H─\u001b[12;48H─\u001b[12;49H─\u001b[12;50H─\u001b[12;51H─\u001b[12;52H─\u001b[12;53H─\u001b[12;54H─\u001b[12;55H─\u001b[12;56H─\u001b[12;57H─\u001b[12;58H─\u001b[12;59H─\u001b[12;60H─\u001b[12;61H─\u001b[12;62H─\u001b[12;63H─\u001b[12;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Log \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[12;70H─\u001b[12;71H─\u001b[12;72H─\u001b[12;73H─\u001b[12;74H─\u001b[12;75H─\u001b[12;76H─\u001b[12;77H─\u001b[1"] +[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105"] +[0.000, "o", "m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[12;46H╭\u001b[12;47H─\u001b[12;48H─\u001b[12;49H─\u001b[12;50H─\u001b[12;51H─\u001b[12;52H─\u001b[12;53H─\u001b[12;54H─\u001b[12;55H─\u001b[12;56H─\u001b[12;57H─\u001b[12;58H─\u001b[12;59H─\u001b[12;60H─\u001b[12;61H─\u001b[12;62H─\u001b[12;63H─\u001b[12;64H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Log \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m─\u001b[12;70H─\u001b[12;71H─\u001b[12;72H─\u001b[12;73H─\u001b[12;74H─\u001b[12;75H─\u001b[12;76H─\u001b[12;77H─\u001b[1"] [0.000, "o", "2;78H─\u001b[12;79H─\u001b[12;80H─\u001b[12;81H─\u001b[12;82H─\u001b[12;83H─\u001b[12;84H─\u001b[12;85H─\u001b[12;86H─\u001b[12;87H╮\u001b[13;46H│\u001b[13;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mArguments\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[14;46H│\u001b[14;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m All branches (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----all\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[15;46H│\u001b[15;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-m\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Only merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[16;46H│\u001b[16;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;22;22;29m-M\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m "] [0.000, "o", "No merges (\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;22;22;29m----no-merges\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m) \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[17;46H│\u001b[17;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Limit \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--limit=256)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[18;46H│\u001b[18;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=a\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Author \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--author=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=s\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Since \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--since=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84"] -[0.000, "o", ";84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=u\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Until \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--until=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mLog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log other branch "] +[0.001, "o", ";84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29m=u\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Until \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;22;22;29m(--until=)\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mLog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log other branch "] [0.000, "o", " \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mh\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mL\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Log all branches \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mReflog\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H│\u001b[28;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mr\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reflog current branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;46H│\u001b[29;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mO\u001b[m\u000f\u001b[38;2;200;192;147"] [0.000, "o", "m\u001b[48;2;22;22;29m Reflog other ref \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;46H│\u001b[30;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mH\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reflog HEAD \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;46H│\u001b[31;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mToggle\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;46H│\u001b[32;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mt\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Show tags in refs \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;46H╰\u001b[33;47H─\u001b[33;48H─\u001b[33;49H─\u001b[33;50H─\u001b[33;51H─\u001b[33;52H─\u001b[33;53H─\u001b[33;54H─\u001b[33;55H─\u001b[33;56H─\u001b[33;57H─\u001b[33;58H─\u001b[33;59H─\u001b[33;60H─\u001b[33;61H─\u001b[33;62H─\u001b[33;63H─\u001b[33;64H─\u001b[33;65H─\u001b[33;66H─\u001b[33;67H─\u001b[33;68H─\u001b[33;69H─\u001b[33;70H─\u001b[33;71H─\u001b[33;72H─\u001b[33;73H─\u001b"] [0.000, "o", "[33;74H─\u001b[33;75H─\u001b[33;76H─\u001b[33;77H─\u001b[33;78H─\u001b[33;79H─\u001b[33;80H─\u001b[33;81H─\u001b[33;82H─\u001b[33;83H─\u001b[33;84H─\u001b[33;85H─\u001b[33;86H─\u001b[33;87H╯\u001b[13;47H\u001b[34h\u001b[?25h"] [1.500, "o", "\u001b[?25l\u001b[12;46H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;46H \u001b[14;46H \u001b[15;46H \u001b[16;46H \u001b[17;46H \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;46H \u001b[28;46H "] -[0.000, "o", " \u001b[29;46H \u001b[30;46H \u001b[31;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mers\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;46H \u001b[33;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mies\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[9B \r\u001b[42;1H[gitlad] Fetching log...\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt "] -[0.000, "o", " \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;"] -[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H "] -[0.000, "o", " \u001b[18;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js "] -[0.000, "o", " \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[26;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m"] -[0.000, "o", "\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;"] -[0.000, "o", "152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b"] -[0.000, "o", "[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b"] -[0.000, "o", "[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[25;3H\u001b[34h\u001b[?25h"] -[0.012, "o", "\u001b[?25l\u001b[23A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 49 seconds ago\u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 49 seconds ago\u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 49 seconds ago\r"] -[0.000, "o", "\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 50 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 50 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] -[0.001, "o", "[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;3"] -[0.000, "o", "1;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 51 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md26b8bf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 52 seconds ago\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ "] +[0.000, "o", " \u001b[29;46H \u001b[30;46H \u001b[31;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mers\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;46H \u001b[33;46H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mies\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[9B \r\u001b[42;1H[gitlad] Fetching log...\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H? assets/new-image.bin \u001b[7;3H? notes.txt "] +[0.000, "o", " \u001b[8;3H? src/components/Dropdown.js \u001b[9;3H? src/utils/cache.js \u001b[10;3H \u001b[11;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;3H○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \u001b[13;3H○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[0.000, "o", "1;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;3H○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[15;3H○\u001b[15;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[16;3H○\u001b[16;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[17;3H \u001b[18;3H\u001b[0;1"] +[0.000, "o", "m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \u001b[20;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[20;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[21;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[21;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js "] +[0.000, "o", " \u001b[22;3H \u001b[23;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2"] +[0.000, "o", "6;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;3H \u001b[28;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;3H \u001b[30;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;3H\u001b[m\u000f\u001b[38;2;255;160;102m"] +[0.000, "o", "\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[32;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[33;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[34;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;3"] +[0.000, "o", "1;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[35;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;18"] +[0.000, "o", "6m\u001b[48;2;31;31;40m \u001b[38;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b["] +[0.000, "o", "48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \u001b[28;3H\u001b[34h\u001b[?25h"] +[0.037, "o", "\u001b[?25l\u001b[26A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 30 seconds ago\u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 31 seconds ago\u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 31 seconds ago\r"] +[0.000, "o", "\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 31 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] +[0.000, "o", "[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 32 seconds ago\u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;3"] +[0.000, "o", "1;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 33 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 33 seconds ago\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3b8c2a8\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 33 seconds ago\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mCommits in main (-256) (11) \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mlog[/private/tmp/gitlad-demo-repo/] \u001b[2;3H\u001b[34h\u001b[?25h"] -[4.391, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] -[0.011, "o", "\u001b[?25l\u001b[59C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m54\u001b[3;53H54\u001b[4;62H54\u001b[5;65H5\u001b[6;67H5\u001b[7;60H6\u001b[8;51H6\u001b[9;69H6\u001b[10;64H6\u001b[11;68H6\u001b[12;67H7\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m512\u001b[2;3H\u001b[34h\u001b[?25h"] -[1.392, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] -[0.010, "o", "\u001b[?25l\u001b[60C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m5\u001b[3;54H5\u001b[4;63H5\u001b[5;65H6\u001b[6;67H6\u001b[7;60H7\u001b[8;51H7\u001b[9;69H7\u001b[10;64H7\u001b[11;68H7\u001b[12;67H8\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m256\u001b[2;3H\u001b[34h\u001b[?25h"] -[1.043, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[0.201, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[4.366, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] +[0.035, "o", "\u001b[?25l\u001b[60C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m5\u001b[3;54H6\u001b[4;63H6\u001b[5;65H6\u001b[6;67H7\u001b[7;60H7\u001b[8;51H7\u001b[9;69H7\u001b[10;64H8\u001b[11;68H8\u001b[12;67H8\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m512\u001b[2;3H\u001b[34h\u001b[?25h"] +[1.367, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Refreshing log...\u001b[2;3H\u001b[34h\u001b[?25h"] +[0.036, "o", "\u001b[?25l\u001b[60C\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m6\u001b[3;54H7\u001b[4;63H7\u001b[5;65H7\u001b[6;67H8\u001b[7;60H8\u001b[8;51H8\u001b[9;69H8\u001b[10;64H9\u001b[11;68H9\u001b[12;67H9\u001b[1;19H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m256\u001b[2;3H\u001b[34h\u001b[?25h"] +[1.015, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[0.200, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] [0.201, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] -[1.204, "o", "\u001b[?25l"] -[0.008, "o", "\u001b[3A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] -[0.000, "o", "31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago "] -[0.000, "o", " \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;10"] -[0.000, "o", "8m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md26b8bf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial pr"] -[0.000, "o", "oject setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 58 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[1.207, "o", "\u001b[?25l"] +[0.030, "o", "\u001b[3A\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 36 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.000, "o", "31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago "] +[0.000, "o", " \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;10"] +[0.000, "o", "8m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3b8c2a8\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial pr"] +[0.000, "o", "oject setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://log[/private/tmp/gitlad-demo-repo/] "] @@ -348,13 +241,13 @@ [0.000, "o", "m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m elsewhere \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;28H│\u001b[27;29H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mRebase\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;28H│\u001b[28;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mi\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m interactively \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[29;28H│\u001b[29;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ms\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m a subset \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[30;28H│\u001b[30;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to"] [0.000, "o", " modify a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[31;28H│\u001b[31;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mw\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to reword a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[32;28H│\u001b[32;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mk\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to remove a commit \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[33;28H│\u001b[33;29H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mf\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m to autosquash \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[34;28H╰\u001b[34;29H─\u001b[34;30H─\u001b[34;31H─\u001b[34;32H─\u001b[34;33H─\u001b[34;34H─\u001b[34;35H─\u001b[34;36H─\u001b[34;37H─\u001b[34;38H─\u001b[34;39H─\u001b[34;40H─\u001b["] [0.000, "o", "34;41H─\u001b[34;42H─\u001b[34;43H─\u001b[34;44H─\u001b[34;45H─\u001b[34;46H─\u001b[34;47H─\u001b[34;48H─\u001b[34;49H─\u001b[34;50H─\u001b[34;51H─\u001b[34;52H─\u001b[34;53H─\u001b[34;54H─\u001b[34;55H─\u001b[34;56H─\u001b[34;57H─\u001b[34;58H─\u001b[34;59H─\u001b[34;60H─\u001b[34;61H─\u001b[34;62H─\u001b[34;63H─\u001b[34;64H─\u001b[34;65H─\u001b[34;66H─\u001b[34;67H─\u001b[34;68H─\u001b[34;69H─\u001b[34;70H─\u001b[34;71H─\u001b[34;72H─\u001b[34;73H─\u001b[34;74H─\u001b[34;75H─\u001b[34;76H─\u001b[34;77H─\u001b[34;78H─\u001b[34;79H─\u001b[34;80H─\u001b[34;81H─\u001b[34;82H─\u001b[34;83H─\u001b[34;84H─\u001b[34;85H─\u001b[34;86H─\u001b[34;87H─\u001b[34;88H─\u001b[34;89H─\u001b[34;90H─\u001b[34;91H─\u001b[34;92H─\u001b[34;93H─\u001b[34;94H─\u001b[34;95H─\u001b[34;96H─\u001b[34;97H─\u001b[34;98H─\u001b[34;99H─\u001b[34;100H─\u001b[34;101H─\u001b[34;102H─\u001b[34;103H─\u001b[34;104H─\u001b[34;105H╯\u001b[12;29H\u001b[34h\u001b[?25h"] -[3.093, "o", "\u001b[?25l\u001b[11;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[12;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40metup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 58 seconds ago \u001b[13;28H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \u001b[14;28H \u001b[15;28H \u001b[16;28H \u001b[17;28H \u001b[18;28H "] +[3.066, "o", "\u001b[?25l\u001b[11;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[12;28H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40metup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[13;28H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \u001b[14;28H \u001b[15;28H \u001b[16;28H \u001b[17;28H \u001b[18;28H "] [0.000, "o", " \u001b[19;28H \u001b[20;28H \u001b[21;28H \u001b[22;28H \u001b[23;28H \u001b[24;28H \u001b[25;28H \u001b[26;28H \u001b[27;28H \u001b[28;28H \u001b[29;28H \u001b[30;28H "] -[0.000, "o", " \u001b[31;28H \u001b[32;28H \u001b[33;28H \u001b[34;28H \u001b[2;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;1"] -[0.000, "o", "86m\u001b[48;2;31;31;40m 55 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 55 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102"] -[0.000, "o", "m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 56 seconds ago \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;3"] -[0.000, "o", "1;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd"] -[0.000, "o", " configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 57 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md26b8bf\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 58 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] +[0.000, "o", " \u001b[31;28H \u001b[32;28H \u001b[33;28H \u001b[34;28H \u001b[2;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 36 seconds ago \u001b[3;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;1"] +[0.000, "o", "86m\u001b[48;2;31;31;40m 37 seconds ago \u001b[4;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[5;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 37 seconds ago \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102"] +[0.001, "o", "m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[8;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;3"] +[0.000, "o", "1;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[9;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 38 seconds ago \u001b[10;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[11;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd"] +[0.000, "o", " configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \u001b[12;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3b8c2a8\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project setup with basic structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m(Test User)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 39 seconds ago \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] [0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] @@ -362,36 +255,38 @@ [0.902, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? assets/new-image.bin \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.t"] [0.000, "o", "xt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \u001b[8;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] [0.000, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b"] +[0.001, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b"] [0.000, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;1"] [0.000, "o", "95;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up au"] -[0.000, "o", "th middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m"] -[0.000, "o", "origin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] -[0.000, "o", "31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] -[0.000, "o", "3;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[23;3H\u001b[34h\u001b[?25h"] -[1.105, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[1;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[2;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[3;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \u001b[4;3H○\u001b[4;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] -[0.000, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[5;3H○\u001b[5;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[8;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186"] -[0.000, "o", "m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[9;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \u001b[10;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[10;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b["] -[0.000, "o", "m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[20;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[23;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:30]\u001b[m\u000f\u001b["] -[0.000, "o", "38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:29]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -512\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(11ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:24]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;"] -[0.000, "o", "186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main feature/conflict-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(9ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main experiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(8ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main feature/clean-merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(8ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220"] -[0.000, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main hotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(7ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit cherry -v main main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(6ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit for-each-ref --format=%(refname:short)|||%(objectname:short)|||%(refname)|||%(subject)|||%(HEAD)|||%(up"] -[0.000, "o", "stream:short) refs/heads refs/remotes refs/tags\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(9ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:12]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit remote -v\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(6ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(3ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215"] -[0.000, "o", ";186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get pull.rebase\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(4ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(4ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[09:45:08]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(4ms)\u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mhistory \r\u001b[15A\u001b[34h\u001b[?25h"] -[2.599, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H? assets/new-image.bin "] -[0.000, "o", " \u001b[5;3H? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] -[0.000, "o", " \u001b[10;3H○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m"] -[0.000, "o", "> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[15;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;1"] -[0.000, "o", "86m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b[20;3H "] -[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[4"] -[0.000, "o", "8;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;3"] -[0.000, "o", "1;31;40m8b9932c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9d23a58\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m771f923\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m71fe692\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42"] -[0.000, "o", ";42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m1525f14\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mca1d1b7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m166d492\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0ebb5a0\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\r\n\u001b[m\u000f\u001b[38;2"] -[0.000, "o", ";147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma4e0349\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m9cd8c72\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[23;3H\u001b[34h\u001b[?25h"] -[3.516, "o", "\u001b[?25l\u001b[?2031l\u001b[2 q\u001b[?1002l\u001b[?1006l\u001b[m\u000f\u001b[34h\u001b[?25h\u001b[?1l\u001b>\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] -[0.000, "o", "\u001b[?25l\r\u001b[19B\u001b[?1049l\u001b[34h\u001b[?25h"] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up au"] +[0.000, "o", "th middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m"] +[0.000, "o", "origin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[0.000, "o", "31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[0.000, "o", "3;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[26;3H\u001b[34h\u001b[?25h"] +[1.109, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[1;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[2;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[3;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \u001b[4;3H○\u001b[4;4H \u001b[m\u000f\u001b[38;2;220;215;186m"] +[0.000, "o", "\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[7;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43"] +[0.000, "o", ";51;40m●\u001b[8;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[9;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[15;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b"] +[0.000, "o", "[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main"] +[0.000, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-demo-repo/] \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;3"] +[0.000, "o", "1;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:54]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(38ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:53]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -512\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(37ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:48]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit log --format=%x1e%H%x1f%D%x1f%an%x1f%ar%x1f%s%x1f%b -256\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b["] +[0.000, "o", "m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(36ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get pull.rebase\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(10ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get remote.pushDefault\u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(11ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(11ms)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.pushRemote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(12ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;3"] +[0.000, "o", "1;31;40mgit config --default --get branch.main.rebase\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(12ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(13ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(15ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:44]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;4"] +[0.000, "o", "0m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.description\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(30ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:39]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(26ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:43:34]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(19ms)\r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m✓\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m[11:"] +[0.000, "o", "43:30]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgit config --default --get branch.main.remote\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m(15ms)\u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mhistory \r\u001b[15A\u001b[34h\u001b[?25h"] +[2.596, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUpdate App component on main\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m[+3/-0]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUntracked (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H? assets/new-image.bin "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? notes.txt \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m? src/components/Dropdown.js \u001b[7;3H? src/utils/cache.js \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnstaged (5)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[10;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m README.md \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[11;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mlib\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[12;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Button.js "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[13;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/config.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m○\u001b[14;4H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/helpers.js \u001b[15;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mStaged (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[17;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mR\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m docs/{API.md => API-REFERENCE.md} \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[18;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/components/Card.js \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m●\u001b[19;4H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m src/utils/validator.js \u001b"] +[0.000, "o", "[20;3H \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mWorktrees (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;42;55m* \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;3H\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/experiment/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;3H\u001b"] +[0.000, "o", "[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m/private/tmp/gitlad-demo-repo-wt/hotfix/\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55m> \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mUnmerged into origin/main (3)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (10)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m597fa42\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mWire up auth middleware and formatters\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m85471a7\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd authentication middleware\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m7dd0e30\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mhotfix\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add string formatting utilities\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m4af3e80\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;"] +[0.000, "o", "152;187;108m\u001b[48;2;31;31;40morigin/main\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Update App component on main\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40md332e90\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mexperiment\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m Add shared library as submodule\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mc3dcd89\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd component tests and test runner\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m0d335cc\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd Python utility scripts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b"] +[0.001, "o", "[48;2;31;31;40ma3d3a22\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd binary assets: logo, icon, and data file\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m69c7de2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd UI components: Button, Input, Modal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m333b973\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module and logger utility\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40"] +[0.000, "o", "m \u001b[41;10H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mstatus[/private/tmp/gitlad-demo-repo/]\u001b[26;3H\u001b[34h\u001b[?25h"] +[3.519, "o", "\u001b[?25l\u001b[?2031l\u001b[2 q\u001b[?1002l\u001b[?1006l\u001b[m\u000f\u001b[34h\u001b[?25h\u001b[?1l\u001b>\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] +[0.001, "o", "\u001b[?25l\r\u001b[16B\u001b[?1049l\u001b[34h\u001b[?25h"] [0.001, "x", "0"] diff --git a/docs/demo-forge-v2.cast b/docs/demo-forge-v2.cast new file mode 100644 index 0000000..6b5e7ff --- /dev/null +++ b/docs/demo-forge-v2.cast @@ -0,0 +1,234 @@ +{"version":2,"width":130,"height":42,"timestamp":1772019908,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/nix/store/ngqf98amj0hv0jhzhz540p03wxjj0chj-bash-interactive-5.3p9/bin/bash"}} +[0.013, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] +[0.019, "o", "\u001b]11;?\u0007"] +[0.03, "o", "\u001bP+q4D73\u001b\\"] +[0.031, "o", "\u001b[?25l\u001b[?2031h\u001b[>4;2m\u001b[m\u000f\u001b[H \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.031, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.031, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.031, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.031, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.031, "o", " \r\n \r\n \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[H \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n "] +[0.031, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] +[0.031, "o", " \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] +[0.031, "o", " \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNvim is open source and freely distributable\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mhttps://neovim.io/#chat\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ "] +[0.031, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.031, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.031, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] +[0.112, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] +[1.733, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] +[1.745, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] +[1.8, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-forge-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[1.801, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] +[1.815, "o", "\u001b[?25l"] +[1.842, "o", "\u001b[34h\u001b[?25h"] +[1.865, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] +[1.896, "o", "\u001b[?25l"] +[1.907, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/\u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215"] +[1.907, "o", ";186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m45e1d3c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3aa5c4e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[1.907, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNothing to commit, working tree clean \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] +[5.039, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/\u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[5.039, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m45e1d3c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3aa5c4e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;3H \u001b[9;3HNothing to co"] +[5.04, "o", "mmit, working tree clean \u001b[10;3H \u001b[11;3H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ "] +[5.04, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[5.04, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[5.04, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[5.04, "o", " \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-forge-demo-repo/] \u001b[17;46H╭\u001b[17;47H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Forge (github: actionshrimp/gitlad-demo\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m╮\u001b[18;46H│\u001b[18;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mPull Requests\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m List pull requests \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;1"] +[5.04, "o", "27;184m\u001b[48;2;22;22;29mv\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m View current branch PR \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Checkout PR branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mActions\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mn\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Create pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Merge pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b"] +[5.04, "o", "[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mC\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reopen pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Open in browser \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H╰\u001b[28;47H─\u001b[28;48H─\u001b[28;49H─\u001b[28;50H─\u001b[28;51H─\u001b[28;52H─\u001b[28;53H─\u001b[28;54H─\u001b[28;55H─\u001b[28;56H─\u001b[28;57H─\u001b[28;58H─\u001b[28;59H─\u001b[28;60H─\u001b[28;61H─\u001b[28;62H─\u001b[28;63H─\u001b[28;64H─\u001b[28;65H─\u001b[28;66H─\u001b[28;67H─\u001b[28;68H─\u001b[28;69H─\u001b[28;70H─\u001b[28;71H─\u001b[28;72H─\u001b[28;73H─\u001b[28;74H─\u001b[28;75H─\u001b[28;76H─\u001b[28;77H─\u001b[28;78H─\u001b[28;79H─\u001b[28;80H─\u001b[28;81H─\u001b[28;82H─"] +[5.04, "o", "\u001b[28;83H─\u001b[28;84H─\u001b[28;85H─\u001b[28;86H─\u001b[28;87H╯\u001b[18;47H\u001b[34h\u001b[?25h"] +[7.546, "o", "\u001b[?25l\u001b[17;46H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H \u001b[26;46H \u001b[27;46H \u001b[28;46H \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[14B \r\u001b[42;1H[gitlad] Refreshing PR list...\u001b[1;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mLoading pull requests... \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ "] +[7.546, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[7.546, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[7.546, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[7.546, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[7.546, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://pr-li"] +[7.546, "o", "st[/private/tmp/gitlad-forge-demo-repo/] \u001b[1;3H\u001b[34h\u001b[?25h"] +[8.093, "o", "\u001b[?25l\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNo pull requests found. \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPull Requests (actionshrimp/gitlad-demo-repo) (0) \u001b[2;3H\u001b[34h\u001b[?25h"] +[8.205, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] PR list refreshed (1 PRs)\u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMy Pull Requests (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m#2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Add input validation module \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+95\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;48H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m1\u001b[2;3H\u001b[34h\u001b[?25h"] +[13.94, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[15.051, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[39B \r\u001b[42;1H[gitlad] Refreshing PR #2...\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mLoading PR #2... \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \u001b[41;13H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mdetail[/private/tmp/gitlad-forge-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[15.644, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[41B \r\u001b[42;1H[gitlad] PR #2 refreshed\r\u001b[40A\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m#2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mAdd input validation module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mAuthor: \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m State: \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mOPEN\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mBase: main <- feature/add-validation \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+95\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;"] +[15.644, "o", "195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mMerge: \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mReady to merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m---\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m## Summary \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[15.644, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mThis PR adds a validation module for input type checking and configuration \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mvalidation. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m### Changes \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- New `src"] +[15.644, "o", "/validate.lua` with type checks, range validation, and pattern \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mmatching \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- Updated `src/main.lua` to validate config on setup \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- Extended `src/utils.lua` with `map()` and `filter()` functions \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- Comprehensive tests in `tests/validate_test.lua` \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m"] +[15.644, "o", "\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m## Test plan \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [x] Unit tests for all validation functions \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [x] Config validation integration test \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [ ] Manual testing with edge cases \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55"] +[15.644, "o", "m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m---\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mComments (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[15.644, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Looks like a solid foundation for validation! A couple of thoughts: \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 1. The `validate_config` function is clean —\u001b[29;49H love that it returns both a \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m boolean and the error list. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 2. Have you considered adding a `validate_schema` function for more c"] +[15.644, "o", "omplex \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m nested configs? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice work overall. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@act"] +[15.645, "o", "ionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m One more thing —\u001b[37;21H the `matches_pattern` function uses Lua patterns, not \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m regex. Might be worth adding a note in the docstring so users don't get \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m confused by the difference. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[15.645, "o", " \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPR #2: Add input validation module \u001b[2;3H\u001b[34h\u001b[?25h"] +[19.293, "o", "\u001b[?25l\u001b[24B\u001b[34h\u001b[?25h"] +[20.045, "o", "\u001b[?25l\u001b[10B\u001b[34h\u001b[?25h"] +[20.797, "o", "\u001b[?25l\u001b[2;40r\u001b[2;1H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[3M\u001b[1;42r\u001b[38;1H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReviews (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 45 minutes ago \r\u001b[C\u001b[C\u001b[34h\u001b[?25h"] +[21.55, "o", "\u001b[?25l\u001b[2;40r\u001b[2;1H\u001b[16M\u001b[1;42r\u001b[25;1H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Good progress! Left a few inline suggestions. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/validate.lua:26\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Consider using `tonumber()` here as a fallback —\u001b[28;55H some callers might \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;21"] +[21.55, "o", "5;186m\u001b[48;2;31;31;40m pass string representations of numbers. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/main.lua:18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m This error message could be more descriptive. Maybe include which config \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m keys failed validation? "] +[21.55, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:38\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice addition! But the `map` function signature should probably document \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m that `fn` receives `(value, index)` —\u001b[37;44H it's not obvious from the name \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;"] +[21.55, "o", "2;220;215;186m\u001b[48;2;31;31;40m alone. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 24 minutes ago \r\u001b[C\u001b[C\u001b[34h\u001b[?25h"] +[22.553, "o", "\u001b[?25l\u001b[29C5\r\u001b[C\u001b[C\u001b[34h\u001b[?25h"] +[27.468, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n\n \r\u001b[42;1H[gitlad] Loading PR diff...\u001b[40;3H\u001b[34h\u001b[?25h"] +[27.52, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//p/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ M main.lua +"] +[27.52, "o", "12 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m utils.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+36\r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ tests\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate_test.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+29\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[27.52, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11"] +[27.52, "o", ";36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2"] +[27.52, "o", ";149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[27.52, "o", "1;31;40m \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;"] +[27.52, "o", "2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"info\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_ret"] +[27.52, "o", "ries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m3\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b["] +[27.52, "o", "48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mend \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m"] +[27.52, "o", "\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[27.52, "o", "\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[28;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40"] +[27.52, "o", "mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m10\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;4"] +[27.52, "o", "2m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[31;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;74;42;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m2\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[32;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[33;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[34;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;"] +[27.52, "o", "42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[35;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[37;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 27 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m"] +[27.52, "o", "\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;88H│\u001b[4;88H│\u001b[5;88H│\u001b[6;88H│\u001b[7;88H│\u001b[8;88H│\u001b[9;88H│\u001b[10;88H│\u001b[11;88H│\u001b[12;88H│\u001b[13;88H│\u001b[14;88H│\u001b[15;88H│\u001b[16;88H│\u001b[17;88H│\u001b[18;88H│\u001b[19;88H│\u001b[20;88H│\u001b[21;88H│\u001b[22;88H│\u001b[23;88H│\u001b[24;88H│\u001b[25;88H│\u001b[26;88H│\u001b[27;88H│\u001b[28;88H│\u001b[29;88H│\u001b[30;88H│\u001b[31;88H│\u001b[32;88H│\u001b[33;88H│\u001b[34;88H│\u001b[35;88H│\u001b[36;88H│\u001b[37;88H│\u001b[38;88H│\u001b[39;88H│\u001b[40;88H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[27.52, "o", "validate \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mrequire\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"src.validat\u001b[4;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[3"] +[27.52, "o", "8;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b["] +[27.52, "o", "38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m"] +[27.52, "o", "\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"in\u001b[11;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[12;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m5000\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;"] +[27.52, "o", "2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[13;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[15;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m errors \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mvalidat\u001b[16;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;1"] +[27.52, "o", "10m\u001b[48;2;42;74;42mnot\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[17;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42merror\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"Invalid config: \"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[18;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[19;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[4"] +[27.52, "o", "8;2;31;31;40m \u001b[21;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;"] +[27.52, "o", "40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;89H\u001b[m"] +[27.52, "o", "\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[28;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 27 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 29 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i \u001b["] +[27.52, "o", "m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[31;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[32;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55"] +[27.52, "o", "m 31 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mis_positive\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mth\u001b[33;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 32 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[34;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 33 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;"] +[27.52, "o", "2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 34 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 35 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[37;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 36 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 37 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;"] +[27.52, "o", "40m \u001b[40;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[41;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \r\u001b[39A\u001b[34h\u001b[?25h"] +[27.94, "o", "\u001b[?25l\u001b[41C\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[3;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[4;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[5;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[6;42H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[7;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[27.94, "o", " opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[8;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[9;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;"] +[27.94, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[10;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"info\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[11;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_re"] +[27.94, "o", "tries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m3\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[12;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[13;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[14;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[15;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[16;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[17;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[18;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[19;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mend\u001b[20;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[4"] +[27.94, "o", "8;2;26;26;42m \u001b[21;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;"] +[27.94, "o", "42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[25;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[27;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[28;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m0"] +[27.94, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[30;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;2"] +[27.94, "o", "10;126;153m\u001b[48;2;74;42;42m10\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[32;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;74;42;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m2\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[33;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[34;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[35;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26"] +[27.94, "o", ";26;42m~ \u001b[36;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results\u001b[38;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[39;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[3;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;"] +[27.94, "o", "42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mrequire\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"src.valid\u001b[4;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[5;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[6;94H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;1"] +[27.94, "o", "71;202m\u001b[48;2;31;31;40m)\u001b[7;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[8;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[9;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2"] +[27.94, "o", ";31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[10;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[11;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;2"] +[27.94, "o", "02m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m5000\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[13;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[14;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[15;94H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b"] +[27.94, "o", "[38;2;220;215;186m\u001b[48;2;42;74;42m errors \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mvalid\u001b[16;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42mnot\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[17;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42merror\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"Invalid config: \"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtab\u001b[18;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;1"] +[27.94, "o", "27;184m\u001b[48;2;42;74;42mend\u001b[19;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[20;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[20;97H─\u001b[20;98H @actionshrimp: This error messa\u001b[21;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m0 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m"] +[27.94, "o", "\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[25;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;4"] +[27.94, "o", "0m()\u001b[27;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[28;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[30;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m29 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;"] +[27.94, "o", "2;220;215;186m\u001b[48;2;42;74;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42md\u001b[32;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m0 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[33;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b["] +[27.94, "o", "m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mis_positive\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[34;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[35;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[36;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2"] +[27.94, "o", ";42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results\u001b[38;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[39;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\u001b[38A\u001b[34h\u001b[?25h"] +[32.96, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m Files (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\n\n\u001b[34h\u001b[?25h"] +[34.462, "o", "\u001b[?25l\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m utils.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\u001b[6;1H\u001b[34h\u001b[?25h"] +[35.983, "o", "\u001b[?25l\u001bM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m main.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+12\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ M utils.lua +18\u001b[2;47H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUtility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;39H"] +[35.983, "o", "\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mtrim\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[6;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m^%s*(.-)%s*$\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[7;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;39H\u001b[m\u000f\u001b[38;2;84;84;1"] +[35.983, "o", "09m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;38H\u001b[m\u000f\u001b[38;2;84;84;1"] +[35.984, "o", "09m\u001b[48;2;42;42;55m10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m sep \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"]+)\"\u001b[12;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;"] +[35.984, "o", "215;186m\u001b[48;2;31;31;40m part\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[14;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[15;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m14 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m16 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;15"] +[35.984, "o", "6;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;5"] +[35.984, "o", "5m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[20;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[21;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[22;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m21 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;3"] +[35.984, "o", "1;40m \u001b[23;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[25;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[26;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[27;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[28;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[29;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[30;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;4"] +[35.984, "o", "2m~ \u001b[31;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[32;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[36;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[37;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[38;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[39;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[40;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;99H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[4"] +[35.984, "o", "8;2;31;31;40mUtility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;96H \u001b[5;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mtrim\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[6;96H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mmatch\u001b[m\u000f\u001b["] +[35.984, "o", "38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m^%s*(.-)%s*$\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[7;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;98H \u001b[9;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;98H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m"] +[35.984, "o", " \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;98H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m sep\u001b[12;96H \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;98H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend"] +[35.984, "o", "\u001b[14;96H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[15;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;96H \u001b[17;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;96H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v "] +[35.984, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;96H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[20;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;90H\u001b[m\u000f\u001b[38;2;84;84;109m"] +[35.984, "o", "\u001b[48;2;42;42;55m20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[22;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mmap\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[25;91H\u001b"] +[35.984, "o", "[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[26;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;91H\u001b[m\u000f\u001b[38;2;84;84;109"] +[35.984, "o", "m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mi\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[28;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[29;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[30;91H\u001b[m"] +[35.984, "o", "\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[31;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[32;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfilter\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[33;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38"] +[35.984, "o", ";2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[34;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;"] +[35.984, "o", "42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[36;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresult\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[37;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[38;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74"] +[35.984, "o", ";42m \u001b[39;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[40;96H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[40;97H─\u001b[40;98H @actionshrimp: Nice addition! B\r\u001b[34A\u001b[34h\u001b[?25h"] +[36.771, "o", "\u001b[?25l\u001b[4A\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m Files (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m main.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+12\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ M utils.lua +18 \r\n\u001b[m\u000f\u001b[38;2;220;215;186m"] +[36.772, "o", "\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+36\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ tests\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate_test.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+29\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[36.772, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[2;44H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Utility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b"] +[36.772, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;44H \u001b[5;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mtrim\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;44H \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m^"] +[36.772, "o", "%s*(.-)%s*$\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;44H \u001b[9;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[36.772, "o", "31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"]+)\"\u001b[12;44H\u001b[m\u000f\u001b[38;2;220;215;186"] +[36.772, "o", "m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;44H \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;44H \u001b[17;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;3"] +[36.772, "o", "1;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m_\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31"] +[36.772, "o", ";40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;44H \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mr"] +[36.772, "o", "eturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;44H \u001b[24;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[25;44H~ \u001b[26;44H~ \u001b[27;44H~ \u001b[28;44H~ \u001b[29;44H~ \u001b[30;44H~ \u001b[31;44H~ \u001b[32;44H~ \u001b[33;44H~ \u001b[34;44H~ \u001b[35;44H~ \u001b[36;44H~ "] +[36.772, "o", " \u001b[37;44H~ \u001b[38;44H~ \u001b[39;44H~ \u001b[40;44H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;37H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[2;44H\u001b[34h\u001b[?25h"] +[38.769, "o", "\u001b[?25l\u001b[37B\u001b[34h\u001b[?25h"] +[40.471, "o", "\u001b[?25l\u001b[40;96H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[40;97H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;44H\u001b[34h\u001b[?25h"] +[42.476, "o", "\u001b[?25l\u001b[36;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[39;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[40;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m│\u001b[36;97H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m"] +[42.476, "o", "Nice addition! But the `map` func\u001b[37;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m└\u001b[37;97H─\u001b[37;98H─\u001b[37;99H─\u001b[37;100H─\u001b[37;101H─\u001b[37;102H─\u001b[37;103H─\u001b[37;104H─\u001b[37;105H─\u001b[37;106H─\u001b[37;107H─\u001b[37;108H─\u001b[37;109H─\u001b[37;110H─\u001b[37;111H─\u001b[37;112H─\u001b[37;113H─\u001b[37;114H─\u001b[37;115H─\u001b[37;116H─\u001b[37;117H─\u001b[37;118H─\u001b[37;119H─\u001b[37;120H─\u001b[37;121H─\u001b[37;122H─\u001b[37;123H─\u001b[37;124H─\u001b[37;125H─\u001b[37;126H─\u001b[37;127H─\u001b[37;128H─\u001b[37;129H─\u001b[37;130H─\u001b[38;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 39 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[39;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 40 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[40;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 41 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220"] +[42.476, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[2;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b["] +[42.476, "o", "48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m sep\u001b[7;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mins"] +[42.476, "o", "ert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[10;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[3m\u001b"] +[42.476, "o", "[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;2"] +[42.476, "o", "20;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;"] +[42.476, "o", "2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mmap\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[20;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 "] +[42.476, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[21;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[22;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[38;2;220"] +[42.477, "o", ";215;186m\u001b[48;2;42;74;42m result\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mi\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[23;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 27 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[24;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[25;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;5"] +[42.477, "o", "5m 29 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[26;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 31 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfilter\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[28;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 32 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b["] +[42.477, "o", "48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[29;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 33 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[30;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 34 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[3"] +[42.477, "o", "8;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[31;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 35 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresult\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[32;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 36 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[33;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 37 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[42.477, "o", "42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[34;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[35;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[35;97H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215"] +[42.477, "o", ";186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;3"] +[42.477, "o", "1;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"]+)\"\u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b"] +[42.477, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[42.477, "o", "31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m_\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;1"] +[42.477, "o", "84m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;"] +[42.477, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[4"] +[42.477, "o", "8;2;26;26;42m~ \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[21;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[22;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[23;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[24;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[25;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[26;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[27;37H\u001b[m\u000f\u001b[38;2;84;"] +[42.477, "o", "84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[28;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[29;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[30;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[31;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[32;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[33;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[34;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ "] +[42.477, "o", " \u001b[35;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;44H\u001b[34h\u001b[?25h"] +[44.176, "o", "\u001b[?25l\u001b[35;114H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m6\u001b[40;44H\u001b[34h\u001b[?25h"] +[46.177, "o", "\u001b[?25l\u001b[6A\u001b[34h\u001b[?25h"] +[47.679, "o", "\u001b[?25l\u001b[6B\u001b[34h\u001b[?25h"] +[48.804, "o", "\u001b[?25l\u001b[1;16H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m g//COMMENT_EDITMSG \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\n \u001b[3;37H \u001b[4;37H\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReview comment on src/utils.lua:23\u001b[5;37H\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPress C-c C-c to submit, C-c C-k to abort\u001b[6;37H\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mLines starting with '#' will be ignored\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[8;37H~ \u001b[9;37H~ \u001b[10;37H~ \u001b[11;37H~ \u001b[12;37H~ \u001b[13;37H~ "] +[48.804, "o", " \u001b[14;37H~ \u001b[15;37H~ \u001b[16;37H~ \u001b[17;37H~ \u001b[18;37H~ \u001b[19;37H~ \u001b[20;37H~ \u001b[21;37H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://COMMENT_EDITMSG \u001b[22;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[23;44H~ \u001b[24;44H~ \u001b[25;44H~ \u001b[26;44H~ \u001b[27;44H~ \u001b[28;44H~ \u001b[29;44H~ \u001b[30;44H~ "] +[48.804, "o", " \u001b[31;44H~ \u001b[32;44H~ \u001b[33;44H~ \u001b[34;44H~ \u001b[35;44H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[39;44H~ \u001b[40;44H\u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] "] +[48.804, "o", " \u001b[2;37H\u001b[34h\u001b[?25h"] +[50.285, "o", "\u001b[?25l\u001b[1;17H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m+ g//COMMENT_EDITMSG \u001b[2;37H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mShould we add a nil guard here?\u001b[21;62H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[+]\u001b[2 q\u001b[2;67H\u001b[34h\u001b[?25h"] +[52.293, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Submitting review comment...\u001b[1;16H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;2"] +[52.293, "o", "6;26;42m~ \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m"] +[52.293, "o", "\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;37"] +[52.293, "o", "H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[21;45H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 25 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m│\u001b[22;45H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mShould we add a nil guard here?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m└\u001b[23;45H─\u001b[23;46H─\u001b[23;47H─\u001b[23;48H─\u001b[23;49H─\u001b[23;50H─\u001b[23;51H─\u001b[23;52H─\u001b[23;53H─\u001b[23;54H─\u001b[23;55H─\u001b[23;56H─\u001b[23;57H─\u001b[23;58H─\u001b[23;59H─\u001b[23;60H─\u001b[23;61H─\u001b[23;62H─\u001b[23;63H─\u001b[23;64H─\u001b[23;65H─\u001b[23;66H─\u001b[23;67H─\u001b[23;68H─\u001b[23;69H─\u001b[23;70H─\u001b[23;71H─\u001b[23;72H─\u001b[23;73H─\u001b[23;74H─\u001b[23;75H─\u001b[23;76H─\u001b[23;77H─\u001b[23;78H─\u001b[23;79H─\u001b[23;80H─\u001b[23;81H─\u001b[23;82H─\u001b[23;83H─\u001b[23;84H"] +[52.293, "o", "─\u001b[23;85H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[25;37H~ \u001b[26;37H~ \u001b[27;37H~ \u001b[28;37H~ \u001b[29;37H~ \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37H~ "] +[52.293, "o", " \u001b[40;37H~ \u001b[41;37H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[2;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m26 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mi\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[3;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m27 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[4;90H\u001b[m\u000f\u001b[38;2;84;"] +[52.294, "o", "84;109m\u001b[48;2;42;42;55m28 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[5;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m29 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[6;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[7;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m31 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfilter\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[52.294, "o", " \u001b[8;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m32 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[9;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m33 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[10;90H\u001b[m\u000f"] +[52.294, "o", "\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m34 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[11;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m35 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresult\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[12;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m36 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[52.294, "o", "48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[13;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m37 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[14;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[15;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[15;97H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 46 minutes ago\u001b[16;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m│\u001b[16;97H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNice addition! But the `map` func\u001b[17;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;3"] +[52.294, "o", "1;31;40m└\u001b[17;97H─\u001b[17;98H─\u001b[17;99H─\u001b[17;100H─\u001b[17;101H─\u001b[17;102H─\u001b[17;103H─\u001b[17;104H─\u001b[17;105H─\u001b[17;106H─\u001b[17;107H─\u001b[17;108H─\u001b[17;109H─\u001b[17;110H─\u001b[17;111H─\u001b[17;112H─\u001b[17;113H─\u001b[17;114H─\u001b[17;115H─\u001b[17;116H─\u001b[17;117H─\u001b[17;118H─\u001b[17;119H─\u001b[17;120H─\u001b[17;121H─\u001b[17;122H─\u001b[17;123H─\u001b[17;124H─\u001b[17;125H─\u001b[17;126H─\u001b[17;127H─\u001b[17;128H─\u001b[17;129H─\u001b[17;130H─\u001b[18;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m39 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[19;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m40 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[20;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26"] +[52.294, "o", ";26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[25;89H~ \u001b[26;89H~ \u001b[27;89H~ \u001b[28;89H~ \u001b[29;89H~ \u001b[30;89H~ \u001b[31;89H~ \u001b[32;89H~ \u001b[33;89H~ \u001b[34;89H~ \u001b[35;89H~ "] +[52.294, "o", " \u001b[36;89H~ \u001b[37;89H~ \u001b[38;89H~ \u001b[39;89H~ \u001b[40;89H~ \u001b[20;44H\u001b[34h\u001b[?25h"] +[53.007, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[22B \r\u001b[42;1H[gitlad] Review comment added\u001b[20;44H\u001b[34h\u001b[?25h"] +[53.54, "o", "\u001b[?25l\u001b[4A\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[17;44H~ \u001b[18;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[19;45H─\u001b[19;46H @actionshrimp: Should we add a nil guard\u001b[20;44H─\u001b[20;45H─\u001b[20;46H @actionshrimp: Should we add a nil guard\u001b[21;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[22;37H~ \u001b[23;37H~ \u001b[15;96H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[15;97H─\u001b[15;98H @actionshrimp: Nice addition! B\u001b[16;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m"] +[53.54, "o", "\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[17;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m40 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[18;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;96H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[22;89H~ \u001b[23;89H~ \u001b[18;44H\u001b[34h\u001b[?25h"] +[55.402, "o", "\u001b[?25l\r\u001b[16A\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [x] Config validation integration test \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [ ] Manual testing with edge cases \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m---\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mComments (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[55.402, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Looks like a solid foundation for validation! A couple of thoughts: \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 1. The `validate_config` func"] +[55.402, "o", "tion is clean —\u001b[10;49H love that it returns both a \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m boolean and the error list. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 2. Have you considered adding a `validate_schema` function for more complex \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m nested configs? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;3"] +[55.402, "o", "1;40m Nice work overall. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m One more thing —\u001b[18;21H the `matches_pattern` function uses Lua patterns, not \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m regex. "] +[55.402, "o", "Might be worth adding a note in the docstring so users don't get \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m confused by the difference. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReviews (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;16"] +[55.402, "o", "9m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 45 minutes ago \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Good progress! Left a few inline suggestions. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/validate.lua:26\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[55.402, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Consider using `tonumber()` here as a fallback —\u001b[28;55H some callers might \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m pass string representations of numbers. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/main.lua:18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186"] +[55.402, "o", "m\u001b[48;2;31;31;40m This error message could be more descriptive. Maybe include which config \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m keys failed validation? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:38\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice addition! But the `map` function signature should probably document "] +[55.402, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m that `fn` receives `(value, index)` —\u001b[37;44H it's not obvious from the name \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m alone. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 25 minutes ago "] +[55.402, "o", " \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPR #2: Add input validation module \r\u001b[40B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://pr-detail[/private/tmp/gitlad-forge-demo-repo/] \u001b[40;3H\u001b[34h\u001b[?25h"] +[56.792, "o", "\u001b[?25l\u001b[38A\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMy Pull Requests (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m#2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Add input validation module \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+95\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ "] +[56.792, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[56.792, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[56.792, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r"] +[56.793, "o", "\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[56.793, "o", " \r\n~ \r\n~ \u001b[1;2H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mull Requests (actionshrimp/gitlad-demo-repo) (1)\u001b[41;13H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mlist[/private/tmp/gitlad-forge-demo-repo/] \u001b[3;3H\u001b[34h\u001b[?25h"] +[58.193, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001bM \u001b[3;5H\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Looks like a solid foundation for validation! A couple of thoughts: \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 1. The `validate_config` function is clean —\u001b[6;49H love that it returns both a \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[58.193, "o", "48;2;31;31;40m boolean and the error list. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 2. Have you considered adding a `validate_schema` function for more complex \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m nested configs? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice work overall. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m "] +[58.193, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m One more thing —\u001b[14;21H the `matches_pattern` function uses Lua patterns, not \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m regex. Might be worth adding a note in the docstring so users don't get \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;22"] +[58.193, "o", "0;215;186m\u001b[48;2;31;31;40m confused by the difference. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReviews (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[58.193, "o", "3;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 45 minutes ago \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Good progress! Left a few inline suggestions. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/validate.lua:26\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Consider using `tonumber()` here as a fallback —\u001b[24;55H"] +[58.193, "o", " some callers might \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m pass string representations of numbers. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/main.lua:18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m This error message could be more descriptive. Maybe include which config \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;"] +[58.193, "o", "2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m keys failed validation? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:38\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice addition! But the `map` function signature should probably document \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m that `fn` receives `(value, index)` —\u001b[33;44H it"] +[58.193, "o", "'s not obvious from the name \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m alone. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 25 minutes ago \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[58.193, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:23\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Should we add a nil guard here? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;2H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mR #2: Add input validation module \u001b[41;13H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mdetail[/private/tmp/gitlad-forge-demo-repo/]\u001b[36;3H\u001b[34h\u001b[?25h"] +[62.522, "o", "\u001b[?25l\u001b[?2031l\u001b[2 q\u001b[?1002l\u001b[?1006l\u001b[m\u000f\u001b[34h\u001b[?25h\u001b[?1l\u001b>\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] +[62.522, "o", "\u001b[?25l\r\u001b[6B\u001b[?1049l\u001b[34h\u001b[?25h"] +[62.523, "x", "0"] diff --git a/docs/demo-forge.cast b/docs/demo-forge.cast new file mode 100644 index 0000000..fdd674d --- /dev/null +++ b/docs/demo-forge.cast @@ -0,0 +1,234 @@ +{"version":3,"term":{"cols":130,"rows":42,"type":"tmux-256color","version":"tmux 3.6a"},"timestamp":1772019908,"command":"nvim -u '/Users/dave/dev/gitlad.nvim/main/scripts/demo-init.lua'","env":{"SHELL":"/nix/store/ngqf98amj0hv0jhzhz540p03wxjj0chj-bash-interactive-5.3p9/bin/bash"}} +[0.013, "o", "\u001b[?1049h\u001b[?1h\u001b=\u001b[H\u001b[J\u001b[?2004h\u001b[?2026$p\u001b[?2027$p\u001b[?2031$p\u001b[?2048$p\u001b[?u\u001b[c\u001b[34h\u001b[?25h"] +[0.006, "o", "\u001b]11;?\u0007"] +[0.011, "o", "\u001bP+q4D73\u001b\\"] +[0.001, "o", "\u001b[?25l\u001b[?2031h\u001b[>4;2m\u001b[m\u000f\u001b[H \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n "] +[0.000, "o", " \r\n \r\n \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[H \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n "] +[0.000, "o", " \u001b[15;60H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[17;44HNvim is open source and freely distributable\u001b[18;54Hhttps://neovim.io/#chat\u001b[20;43Htype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[21;43Htype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[22;43Htype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[23;43Htype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[25;42Htype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[27;51HHelp poor children in Uganda!\u001b[28;43Htype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[2 q\u001b[2 q\u001b[?1002h\u001b[?1006h\u001b[H "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNVIM v0.11.6\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNvim is open source and freely distributable\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mhttps://neovim.io/#chat\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help nvim\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m if you are new! \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :checkhealth\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to optimize Nvim\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :q\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to exit \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for help \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.000, "o", "31;40mtype :help news\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m to see changes in v0.11\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mHelp poor children in Uganda!\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtype :help Kuwasha\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;31;31;40m\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m for information \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[No Name] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n \u001b[H\u001b[34h\u001b[?25h"] +[0.081, "o", "\u001b[?25l\u001b[?1004h\u001b[34h\u001b[?25h"] +[1.621, "o", "\u001b[?25l\u001b[41B:Gitlad\u001b[2 q\u001b[?1002l\u001b[?1006l\r\u001b[42;1H\u001b[34h\u001b[?25h"] +[0.012, "o", "\u001b[?25l\u001b[2 q\u001b[?1002h\u001b[?1006h"] +[0.055, "o", "\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠋ Refreshing...\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m\u001b[15;60H \u001b[17;44H \u001b[18;54H \u001b[20;43H \u001b[21;43H \u001b[22;43H \u001b[23;43H \u001b[25;42H \u001b[27;51H \u001b[28;43H \r\u001b[13B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-forge-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[0.001, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;101;133;148m\u001b[48;2;42;42;42m⠙\b\u001b[34h\u001b[?25h"] +[0.014, "o", "\u001b[?25l"] +[0.027, "o", "\u001b[34h\u001b[?25h"] +[0.023, "o", "\u001b[?25l⠹\b\u001b[34h\u001b[?25h"] +[0.031, "o", "\u001b[?25l"] +[0.011, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;42m·\u001b[1;4H Idle\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/\u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215"] +[0.000, "o", ";186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;42;42;55mv \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m45e1d3c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3aa5c4e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNothing to commit, working tree clean \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[34h\u001b[?25h"] +[3.132, "o", "\u001b[?25l\u001b[1;9H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;42;42m \u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mHead:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMerge:\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40morigin/\u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;31;31;40mmain\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;3H "] +[0.000, "o", " \u001b[5;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mRecent commits (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m45e1d3c\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mAdd configuration module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;3H\u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m3aa5c4e\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mInitial project structure\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;3H \u001b[9;3HNothing to co"] +[0.001, "o", "mmit, working tree clean \u001b[10;3H \u001b[11;3H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mPress ? for help\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29mgitlad://status[/private/tmp/gitlad-forge-demo-repo/] \u001b[17;46H╭\u001b[17;47H\u001b[0;1m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m Forge (github: actionshrimp/gitlad-demo\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m╮\u001b[18;46H│\u001b[18;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mPull Requests\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[19;46H│\u001b[19;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29ml\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m List pull requests \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[20;46H│\u001b[20;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;1"] +[0.000, "o", "27;184m\u001b[48;2;22;22;29mv\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m View current branch PR \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[21;46H│\u001b[21;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mc\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Checkout PR branch \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[22;46H│\u001b[22;47H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;22;22;29mActions\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[23;46H│\u001b[23;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mn\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Create pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[24;46H│\u001b[24;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mm\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Merge pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[25;46H│\u001b[25;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b"] +[0.000, "o", "[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mC\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Close pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[26;46H│\u001b[26;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mR\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Reopen pull request \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[27;46H│\u001b[27;47H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;22;22;29mo\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m Open in browser \u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m│\u001b[28;46H╰\u001b[28;47H─\u001b[28;48H─\u001b[28;49H─\u001b[28;50H─\u001b[28;51H─\u001b[28;52H─\u001b[28;53H─\u001b[28;54H─\u001b[28;55H─\u001b[28;56H─\u001b[28;57H─\u001b[28;58H─\u001b[28;59H─\u001b[28;60H─\u001b[28;61H─\u001b[28;62H─\u001b[28;63H─\u001b[28;64H─\u001b[28;65H─\u001b[28;66H─\u001b[28;67H─\u001b[28;68H─\u001b[28;69H─\u001b[28;70H─\u001b[28;71H─\u001b[28;72H─\u001b[28;73H─\u001b[28;74H─\u001b[28;75H─\u001b[28;76H─\u001b[28;77H─\u001b[28;78H─\u001b[28;79H─\u001b[28;80H─\u001b[28;81H─\u001b[28;82H─"] +[0.000, "o", "\u001b[28;83H─\u001b[28;84H─\u001b[28;85H─\u001b[28;86H─\u001b[28;87H╯\u001b[18;47H\u001b[34h\u001b[?25h"] +[2.506, "o", "\u001b[?25l\u001b[17;46H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m \u001b[18;46H \u001b[19;46H \u001b[20;46H \u001b[21;46H \u001b[22;46H \u001b[23;46H \u001b[24;46H \u001b[25;46H \u001b[26;46H \u001b[27;46H \u001b[28;46H \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[14B \r\u001b[42;1H[gitlad] Refreshing PR list...\u001b[1;3H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mLoading pull requests... \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://pr-li"] +[0.000, "o", "st[/private/tmp/gitlad-forge-demo-repo/] \u001b[1;3H\u001b[34h\u001b[?25h"] +[0.547, "o", "\u001b[?25l\r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNo pull requests found. \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPull Requests (actionshrimp/gitlad-demo-repo) (0) \u001b[2;3H\u001b[34h\u001b[?25h"] +[0.112, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] PR list refreshed (1 PRs)\u001b[2;3H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMy Pull Requests (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m#2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Add input validation module \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+95\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;48H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m1\u001b[2;3H\u001b[34h\u001b[?25h"] +[5.735, "o", "\u001b[?25l\n\u001b[34h\u001b[?25h"] +[1.111, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[39B \r\u001b[42;1H[gitlad] Refreshing PR #2...\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mLoading PR #2... \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \u001b[41;13H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mdetail[/private/tmp/gitlad-forge-demo-repo/]\u001b[1;3H\u001b[34h\u001b[?25h"] +[0.593, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[41B \r\u001b[42;1H[gitlad] PR #2 refreshed\r\u001b[40A\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m#2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mAdd input validation module\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mAuthor: \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m State: \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mOPEN\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mBase: main <- feature/add-validation \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+95\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mMerge: \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mReady to merge\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m---\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m## Summary \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mThis PR adds a validation module for input type checking and configuration \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mvalidation. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m### Changes \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- New `src"] +[0.000, "o", "/validate.lua` with type checks, range validation, and pattern \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mmatching \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- Updated `src/main.lua` to validate config on setup \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- Extended `src/utils.lua` with `map()` and `filter()` functions \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- Comprehensive tests in `tests/validate_test.lua` \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m"] +[0.000, "o", "\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m## Test plan \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [x] Unit tests for all validation functions \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [x] Config validation integration test \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [ ] Manual testing with edge cases \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55"] +[0.000, "o", "m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m---\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mComments (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Looks like a solid foundation for validation! A couple of thoughts: \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 1. The `validate_config` function is clean —\u001b[29;49H love that it returns both a \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m boolean and the error list. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 2. Have you considered adding a `validate_schema` function for more c"] +[0.000, "o", "omplex \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m nested configs? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice work overall. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@act"] +[0.001, "o", "ionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m One more thing —\u001b[37;21H the `matches_pattern` function uses Lua patterns, not \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m regex. Might be worth adding a note in the docstring so users don't get \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m confused by the difference. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPR #2: Add input validation module \u001b[2;3H\u001b[34h\u001b[?25h"] +[3.648, "o", "\u001b[?25l\u001b[24B\u001b[34h\u001b[?25h"] +[0.752, "o", "\u001b[?25l\u001b[10B\u001b[34h\u001b[?25h"] +[0.752, "o", "\u001b[?25l\u001b[2;40r\u001b[2;1H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001b[3M\u001b[1;42r\u001b[38;1H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReviews (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 45 minutes ago \r\u001b[C\u001b[C\u001b[34h\u001b[?25h"] +[0.753, "o", "\u001b[?25l\u001b[2;40r\u001b[2;1H\u001b[16M\u001b[1;42r\u001b[25;1H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Good progress! Left a few inline suggestions. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/validate.lua:26\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Consider using `tonumber()` here as a fallback —\u001b[28;55H some callers might \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;21"] +[0.000, "o", "5;186m\u001b[48;2;31;31;40m pass string representations of numbers. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/main.lua:18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m This error message could be more descriptive. Maybe include which config \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m keys failed validation? "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:38\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice addition! But the `map` function signature should probably document \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m that `fn` receives `(value, index)` —\u001b[37;44H it's not obvious from the name \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;"] +[0.000, "o", "2;220;215;186m\u001b[48;2;31;31;40m alone. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 24 minutes ago \r\u001b[C\u001b[C\u001b[34h\u001b[?25h"] +[1.003, "o", "\u001b[?25l\u001b[29C5\r\u001b[C\u001b[C\u001b[34h\u001b[?25h"] +[4.915, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\n\n \r\u001b[42;1H[gitlad] Loading PR diff...\u001b[40;3H\u001b[34h\u001b[?25h"] +[0.052, "o", "\u001b[?25l\u001b[H\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29m g//p/p/t/g/] \u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;22;22;29mX\r\n\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;54;54;70m Files (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ M main.lua +"] +[0.000, "o", "12 \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;54;54;70m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m utils.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+36\r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ tests\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate_test.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+29\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;36H│\u001b[4;36H│\u001b[5;36H│\u001b[6;36H│\u001b[7;36H│\u001b[8;36H│\u001b[9;36H│\u001b[10;36H│\u001b[11"] +[0.000, "o", ";36H│\u001b[12;36H│\u001b[13;36H│\u001b[14;36H│\u001b[15;36H│\u001b[16;36H│\u001b[17;36H│\u001b[18;36H│\u001b[19;36H│\u001b[20;36H│\u001b[21;36H│\u001b[22;36H│\u001b[23;36H│\u001b[24;36H│\u001b[25;36H│\u001b[26;36H│\u001b[27;36H│\u001b[28;36H│\u001b[29;36H│\u001b[30;36H│\u001b[31;36H│\u001b[32;36H│\u001b[33;36H│\u001b[34;36H│\u001b[35;36H│\u001b[36;36H│\u001b[37;36H│\u001b[38;36H│\u001b[39;36H│\u001b[40;36H│\u001b[41;1H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2"] +[0.000, "o", ";149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;3"] +[0.000, "o", "1;31;40m \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;"] +[0.000, "o", "2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"info\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_ret"] +[0.000, "o", "ries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m3\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b["] +[0.000, "o", "48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mend \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f"] +[0.000, "o", "\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[28;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40"] +[0.000, "o", "mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m10\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;4"] +[0.000, "o", "2m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[31;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;74;42;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m2\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[32;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[33;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[34;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;"] +[0.000, "o", "42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[35;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[37;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 27 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[38A\u001b[m\u000f\u001b[38;2;22;22;29m\u001b[48;2;31;31;40m│\u001b[3;88H│\u001b[4;88H│\u001b[5;88H│\u001b[6;88H│\u001b[7;88H│\u001b[8;88H│\u001b[9;88H│\u001b[10;88H│\u001b[11;88H│\u001b[12;88H│\u001b[13;88H│\u001b[14;88H│\u001b[15;88H│\u001b[16;88H│\u001b[17;88H│\u001b[18;88H│\u001b[19;88H│\u001b[20;88H│\u001b[21;88H│\u001b[22;88H│\u001b[23;88H│\u001b[24;88H│\u001b[25;88H│\u001b[26;88H│\u001b[27;88H│\u001b[28;88H│\u001b[29;88H│\u001b[30;88H│\u001b[31;88H│\u001b[32;88H│\u001b[33;88H│\u001b[34;88H│\u001b[35;88H│\u001b[36;88H│\u001b[37;88H│\u001b[38;88H│\u001b[39;88H│\u001b[40;88H│\u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[39A\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 1 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 2 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[0.000, "o", "validate \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mrequire\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"src.validat\u001b[4;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 3 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 5 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[3"] +[0.000, "o", "8;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b["] +[0.000, "o", "38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"in\u001b[11;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[12;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m5000\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;"] +[0.000, "o", "2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[13;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[15;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m errors \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mvalidat\u001b[16;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;1"] +[0.000, "o", "10m\u001b[48;2;42;74;42mnot\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[17;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42merror\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"Invalid config: \"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[18;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[19;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[4"] +[0.000, "o", "8;2;31;31;40m \u001b[21;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;"] +[0.000, "o", "40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[25;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[27;89H\u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[28;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 27 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[30;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 29 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i \u001b["] +[0.000, "o", "m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[31;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[32;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55"] +[0.000, "o", "m 31 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mis_positive\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mth\u001b[33;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 32 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[34;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 33 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;"] +[0.000, "o", "2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 34 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 35 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[37;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 36 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 37 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;"] +[0.000, "o", "40m \u001b[40;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[41;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \r\u001b[39A\u001b[34h\u001b[?25h"] +[0.420, "o", "\u001b[?25l\u001b[41C\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[3;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[4;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[5;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[6;42H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[7;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[8;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[9;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[10;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"info\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[11;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_re"] +[0.000, "o", "tries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;31;31;40m3\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[12;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[13;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[14;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[15;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[16;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[17;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[18;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;26;26;42m~\u001b[19;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mend\u001b[20;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[4"] +[0.000, "o", "8;2;26;26;42m \u001b[21;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;"] +[0.000, "o", "42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[25;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[27;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[28;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m0"] +[0.000, "o", " \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[30;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;2"] +[0.000, "o", "10;126;153m\u001b[48;2;74;42;42m10\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;74;42;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[32;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;74;42;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;74;42;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;74;42;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;74;42;42m2\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;74;42;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;74;42;42m \u001b[33;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[34;42H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~\u001b[35;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26"] +[0.000, "o", ";26;42m~ \u001b[36;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results\u001b[38;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[39;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Main application entry point\u001b[3;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;"] +[0.000, "o", "42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mrequire\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"src.valid\u001b[4;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[5;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[6;94H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msetup\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mopts\u001b[m\u000f\u001b[38;2;156;1"] +[0.000, "o", "71;202m\u001b[48;2;31;31;40m)\u001b[7;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[8;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{\u001b[9;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2"] +[0.000, "o", ";31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[10;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mlog_level\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[11;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m opts\u001b[m\u000f\u001b[38;2;156;171;2"] +[0.000, "o", "02m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m opts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mtimeout\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42mor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m5000\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[13;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m}\u001b[14;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[15;94H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b"] +[0.000, "o", "[38;2;220;215;186m\u001b[48;2;42;74;42m errors \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mvalid\u001b[16;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[0;1m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42mnot\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m ok \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[17;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42merror\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;42;74;42m\"Invalid config: \"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtab\u001b[18;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;1"] +[0.000, "o", "27;184m\u001b[48;2;42;74;42mend\u001b[19;94H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[20;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[20;97H─\u001b[20;98H @actionshrimp: This error messa\u001b[21;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m0 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mrun\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mconfig\u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;31;31;40mdebug\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mprint\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"Running in debug mode\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[25;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[26;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;4"] +[0.000, "o", "0m()\u001b[27;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[28;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[29;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mprocess\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m()\u001b[30;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[31;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m29 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;"] +[0.000, "o", "2;220;215;186m\u001b[48;2;42;74;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m1\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mconfig\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;230;195;132m\u001b[48;2;42;74;42mmax_retries\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42md\u001b[32;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m0 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m*\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;210;126;153m\u001b[48;2;42;74;42m2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[33;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b["] +[0.000, "o", "m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m validate\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mis_positive\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[34;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresults\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m value\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[35;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[36;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2"] +[0.000, "o", ";42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m results\u001b[38;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[39;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\u001b[38A\u001b[34h\u001b[?25h"] +[5.020, "o", "\u001b[?25l\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m Files (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\n\n\u001b[34h\u001b[?25h"] +[1.502, "o", "\u001b[?25l\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m utils.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m \r\u001b[6;1H\u001b[34h\u001b[?25h"] +[1.521, "o", "\u001b[?25l\u001bM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m main.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+12\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ M utils.lua +18\u001b[2;47H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mUtility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;39H"] +[0.000, "o", "\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mtrim\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[6;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m^%s*(.-)%s*$\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[7;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;39H\u001b[m\u000f\u001b[38;2;84;84;1"] +[0.000, "o", "09m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;38H\u001b[m\u000f\u001b[38;2;84;84;1"] +[0.001, "o", "09m\u001b[48;2;42;42;55m10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m sep \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"]+)\"\u001b[12;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;"] +[0.000, "o", "215;186m\u001b[48;2;31;31;40m part\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[14;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[15;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m14 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m16 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;15"] +[0.000, "o", "6;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;5"] +[0.000, "o", "5m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[20;39H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[21;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[22;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m21 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;3"] +[0.000, "o", "1;40m \u001b[23;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[25;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[26;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[27;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[28;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[29;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[30;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;4"] +[0.000, "o", "2m~ \u001b[31;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[32;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[36;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[37;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[38;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[39;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[40;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;99H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[4"] +[0.000, "o", "8;2;31;31;40mUtility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;96H \u001b[5;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mtrim\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[6;96H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mmatch\u001b[m\u000f\u001b["] +[0.000, "o", "38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m^%s*(.-)%s*$\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[7;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;98H \u001b[9;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;98H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m"] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;98H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m sep\u001b[12;96H \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;98H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend"] +[0.000, "o", "\u001b[14;96H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[15;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;96H \u001b[17;96H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;96H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v "] +[0.000, "o", "\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;96H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[20;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;90H\u001b[m\u000f\u001b[38;2;84;84;109m"] +[0.000, "o", "\u001b[48;2;42;42;55m20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[22;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mmap\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[25;91H\u001b"] +[0.000, "o", "[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[26;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;91H\u001b[m\u000f\u001b[38;2;84;84;109"] +[0.000, "o", "m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mi\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[28;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[29;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[30;91H\u001b[m"] +[0.000, "o", "\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[31;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[32;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfilter\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[33;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m2 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38"] +[0.000, "o", ";2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[34;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m3 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[35;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m4 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;"] +[0.000, "o", "42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[36;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m5 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresult\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[37;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m6 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[38;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74"] +[0.000, "o", ";42m \u001b[39;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m8 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[40;96H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[40;97H─\u001b[40;98H @actionshrimp: Nice addition! B\r\u001b[34A\u001b[34h\u001b[?25h"] +[0.787, "o", "\u001b[?25l\u001b[4A\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m Files (4)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m ─\u001b[3;3H─\u001b[3;4H─\u001b[3;5H─\u001b[3;6H─\u001b[3;7H─\u001b[3;8H─\u001b[3;9H─\u001b[3;10H─\u001b[3;11H─\u001b[3;12H─\u001b[3;13H─\u001b[3;14H─\u001b[3;15H─\u001b[3;16H─\u001b[3;17H─\u001b[3;18H─\u001b[3;19H─\u001b[3;20H─\u001b[3;21H─\u001b[3;22H─\u001b[3;23H─\u001b[3;24H─\u001b[3;25H─\u001b[3;26H─\u001b[3;27H─\u001b[3;28H─\u001b[3;29H─\u001b[3;30H─\u001b[3;31H─\u001b[3;32H─\u001b[3;33H─\u001b[3;34H─\u001b[3;35H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ src\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;37;37;53mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m main.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+12\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;54;54;70m▸ M utils.lua +18 \r\n\u001b[m\u000f\u001b[38;2;220;215;186m"] +[0.001, "o", "\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+36\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40m ▾ tests\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40mA\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m validate_test.lua \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+29\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] \u001b[2;44H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m-- Utility functions\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b"] +[0.000, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;44H \u001b[5;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mtrim\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;44H \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m^"] +[0.000, "o", "%s*(.-)%s*$\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;44H \u001b[9;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;"] +[0.000, "o", "31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"]+)\"\u001b[12;44H\u001b[m\u000f\u001b[38;2;220;215;186"] +[0.000, "o", "m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;44H \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;44H \u001b[17;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;3"] +[0.000, "o", "1;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m_\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31"] +[0.000, "o", ";40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;44H \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;44H \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mr"] +[0.000, "o", "eturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;44H\u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;44H \u001b[24;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[25;44H~ \u001b[26;44H~ \u001b[27;44H~ \u001b[28;44H~ \u001b[29;44H~ \u001b[30;44H~ \u001b[31;44H~ \u001b[32;44H~ \u001b[33;44H~ \u001b[34;44H~ \u001b[35;44H~ \u001b[36;44H~ "] +[0.000, "o", " \u001b[37;44H~ \u001b[38;44H~ \u001b[39;44H~ \u001b[40;44H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;37H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[2;44H\u001b[34h\u001b[?25h"] +[1.997, "o", "\u001b[?25l\u001b[37B\u001b[34h\u001b[?25h"] +[1.702, "o", "\u001b[?25l\u001b[40;96H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[40;97H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[39;44H\u001b[34h\u001b[?25h"] +[2.005, "o", "\u001b[?25l\u001b[36;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[39;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[40;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m│\u001b[36;97H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m"] +[0.000, "o", "Nice addition! But the `map` func\u001b[37;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m└\u001b[37;97H─\u001b[37;98H─\u001b[37;99H─\u001b[37;100H─\u001b[37;101H─\u001b[37;102H─\u001b[37;103H─\u001b[37;104H─\u001b[37;105H─\u001b[37;106H─\u001b[37;107H─\u001b[37;108H─\u001b[37;109H─\u001b[37;110H─\u001b[37;111H─\u001b[37;112H─\u001b[37;113H─\u001b[37;114H─\u001b[37;115H─\u001b[37;116H─\u001b[37;117H─\u001b[37;118H─\u001b[37;119H─\u001b[37;120H─\u001b[37;121H─\u001b[37;122H─\u001b[37;123H─\u001b[37;124H─\u001b[37;125H─\u001b[37;126H─\u001b[37;127H─\u001b[37;128H─\u001b[37;129H─\u001b[37;130H─\u001b[38;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 39 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[39;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 40 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[40;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 41 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220"] +[0.000, "o", ";215;186m\u001b[48;2;31;31;40m \u001b[2;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b["] +[0.000, "o", "48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m s\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m sep\u001b[7;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mins"] +[0.000, "o", "ert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m part\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m parts \u001b[10;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[12;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[3m\u001b"] +[0.000, "o", "[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;2"] +[0.000, "o", "20;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m v \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m value \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;"] +[0.000, "o", "2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mmap\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[20;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 24 "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[21;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 25 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[22;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 26 \u001b[m\u000f\u001b[38;2;220"] +[0.001, "o", ";215;186m\u001b[48;2;42;74;42m result\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mi\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[23;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 27 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[24;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 28 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[25;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;5"] +[0.000, "o", "5m 29 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[26;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[27;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 31 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfilter\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[28;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 32 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b["] +[0.000, "o", "48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[29;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 33 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[30;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 34 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[3"] +[0.000, "o", "8;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[31;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 35 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresult\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[32;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 36 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[33;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 37 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[0.000, "o", "42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[34;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[35;89H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[35;97H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 6 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 7 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 8 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215"] +[0.000, "o", ";186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msplit\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 9 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;31;31;40m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 10 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;3"] +[0.000, "o", "1;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40ms\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m:\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mgmatch\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"([^\"\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40msep\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m..\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m\"]+)\"\u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 11 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b"] +[0.000, "o", "[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mpart\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 12 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 13 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mparts\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 14 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 15 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;"] +[0.000, "o", "31;31;40m \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 16 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mcontains\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 17 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m_\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;1"] +[0.000, "o", "84m\u001b[48;2;31;31;40min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;31;31;40mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 18 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mv\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;31;31;40m==\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mvalue\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mtrue\u001b[m\u000f\u001b[38;2;"] +[0.000, "o", "220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 19 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 20 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[0;1m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mfalse\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 21 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;31;31;40mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 22 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[4"] +[0.000, "o", "8;2;26;26;42m~ \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[21;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[22;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[23;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[24;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[25;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[26;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[27;37H\u001b[m\u000f\u001b[38;2;84;"] +[0.000, "o", "84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[28;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[29;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[30;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[31;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[32;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[33;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[34;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ "] +[0.000, "o", " \u001b[35;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[40;44H\u001b[34h\u001b[?25h"] +[1.699, "o", "\u001b[?25l\u001b[35;114H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m6\u001b[40;44H\u001b[34h\u001b[?25h"] +[2.001, "o", "\u001b[?25l\u001b[6A\u001b[34h\u001b[?25h"] +[1.502, "o", "\u001b[?25l\u001b[6B\u001b[34h\u001b[?25h"] +[1.125, "o", "\u001b[?25l\u001b[1;16H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m4\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m g//COMMENT_EDITMSG \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\n \u001b[3;37H \u001b[4;37H\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReview comment on src/utils.lua:23\u001b[5;37H\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPress C-c C-c to submit, C-c C-k to abort\u001b[6;37H\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;31;31;40m# \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mLines starting with '#' will be ignored\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[7;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[8;37H~ \u001b[9;37H~ \u001b[10;37H~ \u001b[11;37H~ \u001b[12;37H~ \u001b[13;37H~ "] +[0.000, "o", " \u001b[14;37H~ \u001b[15;37H~ \u001b[16;37H~ \u001b[17;37H~ \u001b[18;37H~ \u001b[19;37H~ \u001b[20;37H~ \u001b[21;37H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://COMMENT_EDITMSG \u001b[22;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[23;44H~ \u001b[24;44H~ \u001b[25;44H~ \u001b[26;44H~ \u001b[27;44H~ \u001b[28;44H~ \u001b[29;44H~ \u001b[30;44H~ "] +[0.000, "o", " \u001b[31;44H~ \u001b[32;44H~ \u001b[33;44H~ \u001b[34;44H~ \u001b[35;44H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[36;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[37;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[38;44H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[39;44H~ \u001b[40;44H\u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[41;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;22;22;29m[Scratch] "] +[0.000, "o", " \u001b[2;37H\u001b[34h\u001b[?25h"] +[1.481, "o", "\u001b[?25l\u001b[1;17H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m+ g//COMMENT_EDITMSG \u001b[2;37H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mShould we add a nil guard here?\u001b[21;62H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[+]\u001b[2 q\u001b[2;67H\u001b[34h\u001b[?25h"] +[2.008, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[40B \r\u001b[42;1H[gitlad] Submitting review comment...\u001b[1;16H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;42;55m3\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;42;42;55m [Scratch] \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[2;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[3;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[4;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[5;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[6;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[7;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;2"] +[0.000, "o", "6;26;42m~ \u001b[8;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[9;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[10;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[11;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[12;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[13;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[14;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[15;37H\u001b[m\u000f\u001b[38;2;84;84;109m"] +[0.000, "o", "\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[16;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[17;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[18;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[19;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[20;37H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;37"] +[0.000, "o", "H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m 23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[21;45H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 25 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m│\u001b[22;45H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mShould we add a nil guard here?\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m└\u001b[23;45H─\u001b[23;46H─\u001b[23;47H─\u001b[23;48H─\u001b[23;49H─\u001b[23;50H─\u001b[23;51H─\u001b[23;52H─\u001b[23;53H─\u001b[23;54H─\u001b[23;55H─\u001b[23;56H─\u001b[23;57H─\u001b[23;58H─\u001b[23;59H─\u001b[23;60H─\u001b[23;61H─\u001b[23;62H─\u001b[23;63H─\u001b[23;64H─\u001b[23;65H─\u001b[23;66H─\u001b[23;67H─\u001b[23;68H─\u001b[23;69H─\u001b[23;70H─\u001b[23;71H─\u001b[23;72H─\u001b[23;73H─\u001b[23;74H─\u001b[23;75H─\u001b[23;76H─\u001b[23;77H─\u001b[23;78H─\u001b[23;79H─\u001b[23;80H─\u001b[23;81H─\u001b[23;82H─\u001b[23;83H─\u001b[23;84H"] +[0.000, "o", "─\u001b[23;85H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[25;37H~ \u001b[26;37H~ \u001b[27;37H~ \u001b[28;37H~ \u001b[29;37H~ \u001b[30;37H~ \u001b[31;37H~ \u001b[32;37H~ \u001b[33;37H~ \u001b[34;37H~ \u001b[35;37H~ \u001b[36;37H~ \u001b[37;37H~ \u001b[38;37H~ \u001b[39;37H~ "] +[0.000, "o", " \u001b[40;37H~ \u001b[41;37H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29m[Scratch] \u001b[2;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m26 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m[\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mi\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m]\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m i\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[3;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m27 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[4;90H\u001b[m\u000f\u001b[38;2;84;"] +[0.001, "o", "84;109m\u001b[48;2;42;42;55m28 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[5;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m29 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[6;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m30 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[7;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m31 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfunction\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;42;74;42mM\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfilter\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;184;180;208m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m "] +[0.000, "o", " \u001b[8;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m32 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mlocal\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[m\u000f\u001b[38;2;192;163;110m\u001b[48;2;42;74;42m=\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;149;127;184m\u001b[48;2;42;74;42m{}\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[9;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m33 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mfor\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m _\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42min\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mipairs\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mtbl\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mdo\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[10;90H\u001b[m\u000f"] +[0.000, "o", "\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m34 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mif\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42mfn\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mv\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mthen\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[11;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m35 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[38;2;127;180;202m\u001b[48;2;42;74;42mtable\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m.\u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;42;74;42minsert\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m(\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42mresult\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m,\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m v\u001b[m\u000f\u001b[38;2;156;171;202m\u001b[48;2;42;74;42m)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[12;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m36 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[0.000, "o", "48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[13;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m37 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[14;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;42;74;42mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m result \u001b[15;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m┌\u001b[15;97H @\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40mactionshrimp\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m 46 minutes ago\u001b[16;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m│\u001b[16;97H \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40mNice addition! But the `map` func\u001b[17;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m38 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;3"] +[0.000, "o", "1;31;40m└\u001b[17;97H─\u001b[17;98H─\u001b[17;99H─\u001b[17;100H─\u001b[17;101H─\u001b[17;102H─\u001b[17;103H─\u001b[17;104H─\u001b[17;105H─\u001b[17;106H─\u001b[17;107H─\u001b[17;108H─\u001b[17;109H─\u001b[17;110H─\u001b[17;111H─\u001b[17;112H─\u001b[17;113H─\u001b[17;114H─\u001b[17;115H─\u001b[17;116H─\u001b[17;117H─\u001b[17;118H─\u001b[17;119H─\u001b[17;120H─\u001b[17;121H─\u001b[17;122H─\u001b[17;123H─\u001b[17;124H─\u001b[17;125H─\u001b[17;126H─\u001b[17;127H─\u001b[17;128H─\u001b[17;129H─\u001b[17;130H─\u001b[18;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m39 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[19;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m40 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[20;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26"] +[0.000, "o", ";26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[22;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[23;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[24;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[25;89H~ \u001b[26;89H~ \u001b[27;89H~ \u001b[28;89H~ \u001b[29;89H~ \u001b[30;89H~ \u001b[31;89H~ \u001b[32;89H~ \u001b[33;89H~ \u001b[34;89H~ \u001b[35;89H~ "] +[0.000, "o", " \u001b[36;89H~ \u001b[37;89H~ \u001b[38;89H~ \u001b[39;89H~ \u001b[40;89H~ \u001b[20;44H\u001b[34h\u001b[?25h"] +[0.713, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;31;31;40m\r\u001b[22B \r\u001b[42;1H[gitlad] Review comment added\u001b[20;44H\u001b[34h\u001b[?25h"] +[0.533, "o", "\u001b[?25l\u001b[4A\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m~ \u001b[17;44H~ \u001b[18;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;38H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m23 \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[19;45H─\u001b[19;46H @actionshrimp: Should we add a nil guard\u001b[20;44H─\u001b[20;45H─\u001b[20;46H @actionshrimp: Should we add a nil guard\u001b[21;37H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[22;37H~ \u001b[23;37H~ \u001b[15;96H\u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m─\u001b[15;97H─\u001b[15;98H @actionshrimp: Nice addition! B\u001b[16;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m9 \u001b[m\u000f\u001b[3m\u001b[38;2;149;127;184m"] +[0.000, "o", "\u001b[48;2;42;74;42mend\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[17;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m40 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;42;74;42m \u001b[18;90H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m41 \u001b[m\u000f\u001b[3m\u001b[38;2;255;93;98m\u001b[48;2;31;31;40mreturn\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40mM\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[19;91H\u001b[m\u000f\u001b[38;2;84;84;109m\u001b[48;2;42;42;55m1 \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[20;96H\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;26;26;42m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[21;89H\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \u001b[22;89H~ \u001b[23;89H~ \u001b[18;44H\u001b[34h\u001b[?25h"] +[1.862, "o", "\u001b[?25l\r\u001b[16A\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [x] Config validation integration test \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m- [ ] Manual testing with edge cases \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m---\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mComments (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Looks like a solid foundation for validation! A couple of thoughts: \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 1. The `validate_config` func"] +[0.000, "o", "tion is clean —\u001b[10;49H love that it returns both a \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m boolean and the error list. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 2. Have you considered adding a `validate_schema` function for more complex \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m nested configs? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;3"] +[0.000, "o", "1;40m Nice work overall. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m One more thing —\u001b[18;21H the `matches_pattern` function uses Lua patterns, not \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m regex. "] +[0.000, "o", "Might be worth adding a note in the docstring so users don't get \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m confused by the difference. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReviews (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;16"] +[0.000, "o", "9m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 45 minutes ago \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Good progress! Left a few inline suggestions. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/validate.lua:26\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Consider using `tonumber()` here as a fallback —\u001b[28;55H some callers might \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m pass string representations of numbers. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/main.lua:18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186"] +[0.000, "o", "m\u001b[48;2;31;31;40m This error message could be more descriptive. Maybe include which config \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m keys failed validation? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:38\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice addition! But the `map` function signature should probably document "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m that `fn` receives `(value, index)` —\u001b[37;44H it's not obvious from the name \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m alone. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 25 minutes ago "] +[0.000, "o", " \u001b[H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mPR #2: Add input validation module \r\u001b[40B\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mgitlad://pr-detail[/private/tmp/gitlad-forge-demo-repo/] \u001b[40;3H\u001b[34h\u001b[?25h"] +[1.390, "o", "\u001b[?25l\u001b[38A\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mMy Pull Requests (1)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[3;3H \u001b[m\u000f\u001b[38;2;255;160;102m\u001b[48;2;31;31;40m#2\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Add input validation module \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;43;51;40m+95\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;195;64;67m\u001b[48;2;67;36;43m-2\r\n\u001b[m\u000f\u001b[38;2;31;31;40m\u001b[48;2;31;31;40m~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r"] +[0.001, "o", "\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ \r\n~ "] +[0.000, "o", " \r\n~ \r\n~ \u001b[1;2H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mull Requests (actionshrimp/gitlad-demo-repo) (1)\u001b[41;13H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mlist[/private/tmp/gitlad-forge-demo-repo/] \u001b[3;3H\u001b[34h\u001b[?25h"] +[1.400, "o", "\u001b[?25l\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m\u001bM \u001b[3;5H\u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Looks like a solid foundation for validation! A couple of thoughts: \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 1. The `validate_config` function is clean —\u001b[6;49H love that it returns both a \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b["] +[0.000, "o", "48;2;31;31;40m boolean and the error list. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 2. Have you considered adding a `validate_schema` function for more complex \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m nested configs? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice work overall. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m "] +[0.000, "o", " \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40m45 minutes ago\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m One more thing —\u001b[14;21H the `matches_pattern` function uses Lua patterns, not \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m regex. Might be worth adding a note in the docstring so users don't get \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;22"] +[0.000, "o", "0;215;186m\u001b[48;2;31;31;40m confused by the difference. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mReviews (2)\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;11"] +[0.000, "o", "3;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 45 minutes ago \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Good progress! Left a few inline suggestions. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/validate.lua:26\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Consider using `tonumber()` here as a fallback —\u001b[24;55H"] +[0.000, "o", " some callers might \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m pass string representations of numbers. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/main.lua:18\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m This error message could be more descriptive. Maybe include which config \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;"] +[0.000, "o", "2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m keys failed validation? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:38\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Nice addition! But the `map` function signature should probably document \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m that `fn` receives `(value, index)` —\u001b[33;44H it"] +[0.000, "o", "'s not obvious from the name \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m alone. \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;152;187;108m\u001b[48;2;31;31;40m@actionshrimp\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[3m\u001b[38;2;114;113;105m\u001b[48;2;31;31;40mCOMMENTED\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m 25 minutes ago \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m "] +[0.000, "o", " \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40msrc/utils.lua:23\u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m Should we add a nil guard here? \r\n\u001b[m\u000f\u001b[38;2;147;138;169m\u001b[48;2;42;42;55m \u001b[m\u000f\u001b[38;2;220;215;186m\u001b[48;2;31;31;40m \u001b[1;2H\u001b[0;1m\u000f\u001b[38;2;126;156;216m\u001b[48;2;31;31;40mR #2: Add input validation module \u001b[41;13H\u001b[m\u000f\u001b[38;2;200;192;147m\u001b[48;2;22;22;29mdetail[/private/tmp/gitlad-forge-demo-repo/]\u001b[36;3H\u001b[34h\u001b[?25h"] +[4.329, "o", "\u001b[?25l\u001b[?2031l\u001b[2 q\u001b[?1002l\u001b[?1006l\u001b[m\u000f\u001b[34h\u001b[?25h\u001b[?1l\u001b>\u001b[>4;0m\u001b[?2004l\u001b[?1004l\u001b[c\u001b[34h\u001b[?25h"] +[0.000, "o", "\u001b[?25l\r\u001b[6B\u001b[?1049l\u001b[34h\u001b[?25h"] +[0.001, "x", "0"] diff --git a/docs/demo-preview.gif b/docs/demo-preview.gif deleted file mode 100644 index bd78bd6..0000000 Binary files a/docs/demo-preview.gif and /dev/null differ diff --git a/docs/index.html b/docs/index.html index 1bb09a1..71a31f6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -340,7 +340,17 @@

gitlad.nvim

-
+

Core workflow

+

Status view, staging, commit, branch, log, and git command history.

+
+ +

Advanced diff

+

Native side-by-side diff viewer, 3-way staging, and merge conflict resolution.

+
+ +

GitHub integration

+

PR list, detail view, inline review comments, and thread navigation.

+
@@ -479,16 +489,24 @@

Feedback welcome

diff --git a/lua/gitlad/forge/github/graphql.lua b/lua/gitlad/forge/github/graphql.lua index fd7707a..4357e25 100644 --- a/lua/gitlad/forge/github/graphql.lua +++ b/lua/gitlad/forge/github/graphql.lua @@ -388,7 +388,7 @@ local function parse_checks_summary(commits_node, include_details) end local rollup = commit_node.commit.statusCheckRollup - if not rollup then + if not rollup or rollup == vim.NIL then return nil end diff --git a/scripts/create-forge-test-repo.sh b/scripts/create-forge-test-repo.sh new file mode 100755 index 0000000..6b0c5d1 --- /dev/null +++ b/scripts/create-forge-test-repo.sh @@ -0,0 +1,446 @@ +#!/usr/bin/env bash +# Creates a real GitHub repository for the forge/GitHub demo. +# Sets up a PR with comments, code reviews, and inline diff comments. +# +# Prerequisites: gh CLI authenticated (gh auth token must succeed) +# +# Usage: ./create-forge-test-repo.sh [clone-dir] +set -e + +CLONE_DIR="${1:-/tmp/gitlad-forge-demo-repo}" +REPO_NAME="actionshrimp/gitlad-demo-repo" + +# Check prerequisites +if ! command -v gh &>/dev/null; then + echo "Error: gh CLI is required. Install with: brew install gh" + exit 1 +fi + +if ! gh auth token &>/dev/null; then + echo "Error: gh is not authenticated. Run: gh auth login" + exit 1 +fi + +echo "==> Setting up forge demo repo: $REPO_NAME" + +# --------------------------------------------------------------------------- +# Check if repo + PR already exist — skip setup if so +# --------------------------------------------------------------------------- +NEED_SETUP=true +if gh repo view "$REPO_NAME" &>/dev/null; then + EXISTING_PR=$(gh pr list --repo "$REPO_NAME" --head feature/add-validation --state open --json number --jq '.[0].number' 2>/dev/null) + if [ -n "$EXISTING_PR" ]; then + echo " Repo exists with open PR #$EXISTING_PR, skipping setup." + NEED_SETUP=false + fi +else + echo " Creating private repo..." + gh repo create "$REPO_NAME" --private --description "Demo repo for gitlad.nvim forge features" +fi + +if [ "$NEED_SETUP" = true ]; then + # Close any stale PRs and delete feature branch + if gh repo view "$REPO_NAME" &>/dev/null; then + for pr in $(gh pr list --repo "$REPO_NAME" --state open --json number --jq '.[].number'); do + gh pr close "$pr" --repo "$REPO_NAME" 2>/dev/null || true + done + gh api "repos/$REPO_NAME/git/refs/heads/feature/add-validation" -X DELETE 2>/dev/null || true + fi + + # --------------------------------------------------------------------------- + # Create local repo and push initial content + # --------------------------------------------------------------------------- + WORK_DIR=$(mktemp -d) + cd "$WORK_DIR" + git init + git config user.email "demo@gitlad.nvim" + git config user.name "gitlad demo" + + # Initial commit: simple project structure + mkdir -p src tests + cat > src/main.lua << 'EOF' +-- Main application entry point +local M = {} + +function M.setup(opts) + opts = opts or {} + M.config = { + debug = opts.debug or false, + log_level = opts.log_level or "info", + max_retries = opts.max_retries or 3, + } +end + +function M.run() + if M.config.debug then + print("Running in debug mode") + end + return M.process() +end + +function M.process() + local results = {} + for i = 1, 10 do + table.insert(results, i * 2) + end + return results +end + +return M +EOF + + cat > src/utils.lua << 'EOF' +-- Utility functions +local M = {} + +function M.trim(s) + return s:match("^%s*(.-)%s*$") +end + +function M.split(s, sep) + local parts = {} + for part in s:gmatch("([^" .. sep .. "]+)") do + table.insert(parts, part) + end + return parts +end + +function M.contains(tbl, value) + for _, v in ipairs(tbl) do + if v == value then return true end + end + return false +end + +return M +EOF + + cat > tests/main_test.lua << 'EOF' +-- Tests for main module +local main = require("src.main") + +main.setup() +assert(main.config.debug == false) +assert(main.config.log_level == "info") + +main.setup({ debug = true }) +assert(main.config.debug == true) + +local results = main.run() +assert(#results == 10) +assert(results[1] == 2) + +print("All tests passed!") +EOF + + cat > README.md << 'EOF' +# Demo Project + +A sample project for demonstrating gitlad.nvim forge features. +EOF + + git add . + git commit -m "Initial project structure" + + # Second commit + cat > src/config.lua << 'EOF' +-- Configuration module +local M = {} + +M.defaults = { + timeout = 5000, + retries = 3, + verbose = false, +} + +function M.merge(user_opts) + local config = {} + for k, v in pairs(M.defaults) do + config[k] = v + end + if user_opts then + for k, v in pairs(user_opts) do + config[k] = v + end + end + return config +end + +return M +EOF + + git add . + git commit -m "Add configuration module" + + # Push main branch + git remote add origin "git@github.com:$REPO_NAME.git" + git branch -M main + git push -u origin main --force + + # --------------------------------------------------------------------------- + # Create feature branch with meaningful changes + # --------------------------------------------------------------------------- + git checkout -b feature/add-validation + + # Commit 1: Add validation module + cat > src/validate.lua << 'EOF' +-- Input validation utilities +local M = {} + +function M.is_string(value) + return type(value) == "string" +end + +function M.is_number(value) + return type(value) == "number" +end + +function M.is_positive(value) + return type(value) == "number" and value > 0 +end + +function M.in_range(value, min, max) + return type(value) == "number" and value >= min and value <= max +end + +function M.matches_pattern(value, pattern) + if type(value) ~= "string" then return false end + return value:match(pattern) ~= nil +end + +function M.validate_config(config) + local errors = {} + if not M.is_positive(config.timeout) then + table.insert(errors, "timeout must be a positive number") + end + if not M.in_range(config.retries, 0, 10) then + table.insert(errors, "retries must be between 0 and 10") + end + return #errors == 0, errors +end + +return M +EOF + + # Commit 1: Also modify main.lua to use validation + cat > src/main.lua << 'EOF' +-- Main application entry point +local validate = require("src.validate") +local M = {} + +function M.setup(opts) + opts = opts or {} + M.config = { + debug = opts.debug or false, + log_level = opts.log_level or "info", + max_retries = opts.max_retries or 3, + timeout = opts.timeout or 5000, + } + + local ok, errors = validate.validate_config(M.config) + if not ok then + error("Invalid config: " .. table.concat(errors, ", ")) + end +end + +function M.run() + if M.config.debug then + print("Running in debug mode") + end + return M.process() +end + +function M.process() + local results = {} + for i = 1, M.config.max_retries do + local value = i * 2 + if validate.is_positive(value) then + table.insert(results, value) + end + end + return results +end + +return M +EOF + + git add . + git commit -m "Add input validation module + +Introduces a validation library for type checking and config validation. +Updated main.lua to validate configuration on setup." + + # Commit 2: Add tests for validation + cat > tests/validate_test.lua << 'EOF' +-- Tests for validation module +local validate = require("src.validate") + +-- Type checks +assert(validate.is_string("hello") == true) +assert(validate.is_string(42) == false) +assert(validate.is_number(42) == true) +assert(validate.is_number("42") == false) + +-- Range checks +assert(validate.is_positive(5) == true) +assert(validate.is_positive(-1) == false) +assert(validate.in_range(5, 1, 10) == true) +assert(validate.in_range(15, 1, 10) == false) + +-- Pattern matching +assert(validate.matches_pattern("hello@world.com", "%w+@%w+%.%w+") == true) +assert(validate.matches_pattern("not-an-email", "%w+@%w+%.%w+") == false) + +-- Config validation +local ok, errors = validate.validate_config({ timeout = 5000, retries = 3 }) +assert(ok == true) +assert(#errors == 0) + +local ok2, errors2 = validate.validate_config({ timeout = -1, retries = 3 }) +assert(ok2 == false) +assert(#errors2 == 1) + +print("All validation tests passed!") +EOF + + # Also update utils with a new function + cat > src/utils.lua << 'EOF' +-- Utility functions +local M = {} + +function M.trim(s) + return s:match("^%s*(.-)%s*$") +end + +function M.split(s, sep) + local parts = {} + for part in s:gmatch("([^" .. sep .. "]+)") do + table.insert(parts, part) + end + return parts +end + +function M.contains(tbl, value) + for _, v in ipairs(tbl) do + if v == value then return true end + end + return false +end + +function M.map(tbl, fn) + local result = {} + for i, v in ipairs(tbl) do + result[i] = fn(v, i) + end + return result +end + +function M.filter(tbl, fn) + local result = {} + for _, v in ipairs(tbl) do + if fn(v) then + table.insert(result, v) + end + end + return result +end + +return M +EOF + + git add . + git commit -m "Add validation tests and extend utils + +Comprehensive tests for the validation module. +Added map() and filter() utility functions." + + # Push the feature branch + git push -u origin feature/add-validation --force + + # --------------------------------------------------------------------------- + # Create PR + # --------------------------------------------------------------------------- + echo " Creating pull request..." + PR_URL=$(gh pr create \ + --title "Add input validation module" \ + --body "$(cat <<'PRBODY' +## Summary + +This PR adds a validation module for input type checking and configuration validation. + +### Changes +- New `src/validate.lua` with type checks, range validation, and pattern matching +- Updated `src/main.lua` to validate config on setup +- Extended `src/utils.lua` with `map()` and `filter()` functions +- Comprehensive tests in `tests/validate_test.lua` + +## Test plan +- [x] Unit tests for all validation functions +- [x] Config validation integration test +- [ ] Manual testing with edge cases +PRBODY +)" \ + --head feature/add-validation \ + --base main) + + PR_NUMBER=$(echo "$PR_URL" | grep -o '[0-9]*$') + echo " Created PR #$PR_NUMBER: $PR_URL" + + # --------------------------------------------------------------------------- + # Add PR comments and reviews via API + # --------------------------------------------------------------------------- + echo " Adding PR comments..." + + # General PR comment + gh api "repos/$REPO_NAME/issues/$PR_NUMBER/comments" \ + -f body="Looks like a solid foundation for validation! A couple of thoughts: + +1. The \`validate_config\` function is clean — love that it returns both a boolean and the error list. +2. Have you considered adding a \`validate_schema\` function for more complex nested configs? + +Nice work overall." > /dev/null + + # Code review with inline comments + echo " Adding code review with inline comments..." + + # Get the latest commit SHA for the PR + HEAD_SHA=$(gh api "repos/$REPO_NAME/pulls/$PR_NUMBER" --jq '.head.sha') + + # Create a review with inline comments + gh api "repos/$REPO_NAME/pulls/$PR_NUMBER/reviews" \ + -f event="COMMENT" \ + -f body="Good progress! Left a few inline suggestions." \ + -f commit_id="$HEAD_SHA" \ + --jq '.id' \ + -F "comments[][path]=src/validate.lua" \ + -F "comments[][line]=26" \ + -F "comments[][body]=Consider using \`tonumber()\` here as a fallback — some callers might pass string representations of numbers." \ + -F "comments[][path]=src/main.lua" \ + -F "comments[][line]=18" \ + -F "comments[][body]=This error message could be more descriptive. Maybe include which config keys failed validation?" \ + -F "comments[][path]=src/utils.lua" \ + -F "comments[][line]=38" \ + -F "comments[][body]=Nice addition! But the \`map\` function signature should probably document that \`fn\` receives \`(value, index)\` — it's not obvious from the name alone." > /dev/null + + # Add another general comment as a follow-up + gh api "repos/$REPO_NAME/issues/$PR_NUMBER/comments" \ + -f body="One more thing — the \`matches_pattern\` function uses Lua patterns, not regex. Might be worth adding a note in the docstring so users don't get confused by the difference." > /dev/null + + # Clean up temp dir + rm -rf "$WORK_DIR" +fi + +# --------------------------------------------------------------------------- +# Clone to target directory +# --------------------------------------------------------------------------- +echo " Cloning to $CLONE_DIR..." +rm -rf "$CLONE_DIR" +gh repo clone "$REPO_NAME" "$CLONE_DIR" -- --quiet +cd "$CLONE_DIR" +git config user.email "demo@gitlad.nvim" +git config user.name "gitlad demo" + +echo "" +echo "==========================================" +echo "Forge demo repo ready: $CLONE_DIR" +echo "==========================================" diff --git a/scripts/demo-advanced-driver.lua b/scripts/demo-advanced-driver.lua new file mode 100644 index 0000000..aa61eb8 --- /dev/null +++ b/scripts/demo-advanced-driver.lua @@ -0,0 +1,228 @@ +-- Demo driver: Advanced Diff (~50-60s) +-- Covers: native side-by-side diff viewer, file panel navigation, +-- hunk navigation, 3-way staging view, editing the index, +-- merge conflict 3-way resolution. +-- +-- Usage: GITLAD_DEMO_DRIVER=demo-advanced-driver.lua nvim -u scripts/demo-init.lua + +local function type_keys(keys) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(keys, true, false, true), "m", false) +end + +local queue = {} +local idx = 1 + +local function step(delay_ms, fn) + table.insert(queue, { delay = delay_ms, fn = fn }) +end + +local function keys(delay_ms, k) + step(delay_ms, function() + type_keys(k) + end) +end + +local function run_next() + if idx > #queue then + vim.defer_fn(function() + vim.cmd("qa!") + end, 2000) + return + end + local s = queue[idx] + idx = idx + 1 + vim.defer_fn(function() + s.fn() + vim.schedule(run_next) + end, s.delay) +end + +-- ============================================================================ +-- Part A: Native diff viewer (~20s) +-- ============================================================================ + +-- Open status view +keys(1200, ":Gitlad") +step(2000, function() end) + +-- Navigate to staged section (past untracked + unstaged files) +-- Use M-n to jump by section: Untracked → Unstaged → Staged +keys(300, "") +keys(200, "") +keys(200, "") +step(800, function() end) + +-- Open diff popup and trigger staged diff action directly. +-- nvim_feedkeys can't reliably deliver keys to popup floating windows, +-- so we open the popup (for visual effect) then call the action via Lua. +keys(600, "d") +step(1200, function() + -- Close the popup and open staged diff directly + local popup_win = vim.api.nvim_get_current_win() + local popup_config = vim.api.nvim_win_get_config(popup_win) + if popup_config.relative and popup_config.relative ~= "" then + vim.api.nvim_win_close(popup_win, true) + end + local diff_popup = require("gitlad.popups.diff") + local state = require("gitlad.state") + local repo_state = state.get(vim.fn.getcwd()) + diff_popup._diff_staged(repo_state) +end) +step(2500, function() end) + +-- Navigate files in the panel +keys(500, "gj") +step(1000, function() end) +keys(400, "gj") +step(1000, function() end) + +-- Navigate hunks +keys(400, "]c") +step(800, function() end) +keys(400, "]c") +step(800, function() end) + +-- Close the diff viewer +keys(600, "q") +step(800, function() end) + +-- ============================================================================ +-- Part B: 3-way staging view (~15s) +-- ============================================================================ + +-- Navigate to a staged/unstaged file for 3-way view +-- We're back in status — go to staged section +keys(300, "") +keys(200, "") +keys(200, "") +step(600, function() end) + +-- Open diff popup and trigger 3-way action directly +keys(600, "d") +step(1200, function() + local popup_win = vim.api.nvim_get_current_win() + local popup_config = vim.api.nvim_win_get_config(popup_win) + if popup_config.relative and popup_config.relative ~= "" then + vim.api.nvim_win_close(popup_win, true) + end + local diff_popup = require("gitlad.popups.diff") + local state = require("gitlad.state") + local repo_state = state.get(vim.fn.getcwd()) + diff_popup._diff_3way(repo_state) +end) +step(2500, function() end) + +-- Pause to show the 3-pane layout +step(3000, function() end) + +-- Close the 3-way view +keys(600, "q") +step(800, function() end) + +-- ============================================================================ +-- Part C: Merge conflict resolution (~20s) +-- ============================================================================ + +-- Create a merge conflict by merging feature/conflict-merge +step(500, function() + local repo = vim.fn.getcwd() + -- Reset any leftover state from previous parts + vim.fn.system("cd " .. vim.fn.shellescape(repo) .. " && git checkout -- . && git reset HEAD -- . 2>/dev/null") + vim.fn.system("cd " .. vim.fn.shellescape(repo) .. " && git stash 2>/dev/null") + -- Attempt merge (will conflict on App.js) + vim.fn.system("cd " .. vim.fn.shellescape(repo) .. " && git merge feature/conflict-merge 2>/dev/null || true") +end) + +-- Refresh status to show the conflicted section +keys(800, "gr") +step(2500, function() end) + +-- Navigate to the conflicted section for visual effect +-- After merge: Untracked → Unstaged (lib) → Conflicted (App.js) → 3 M-n presses +keys(300, "gg") +step(200, function() end) +keys(300, "") +keys(200, "") +keys(200, "") +step(800, function() end) + +-- Navigate to the conflicted file entry +keys(300, "gj") +step(1000, function() end) + +-- Open 3-way merge view directly via Lua (same approach as Parts A/B) +step(600, function() + local diff_popup = require("gitlad.popups.diff") + local state = require("gitlad.state") + local repo_state = state.get(vim.fn.getcwd()) + diff_popup._diff_merge_3way(repo_state) +end) +step(3000, function() end) + +-- Pause to show the 3-pane merge layout (OURS | WORKTREE | THEIRS) +step(1500, function() end) + +-- Resolve all conflicts: delete marker lines, keep "ours" version. +-- Write resolved content directly to disk (bypasses diff view's BufWriteCmd +-- which has focus/timing issues when called from the demo driver). +step(400, function() + local file_path = vim.fn.getcwd() .. "/src/components/App.js" + local f = io.open(file_path, "r") + if not f then return end + local content = f:read("*a") + f:close() + + -- Strip conflict markers, keeping "ours" version + local resolved = {} + local in_theirs = false + for line in content:gmatch("([^\n]*)\n?") do + if line:match("^<<<<<<<") then + -- skip + elseif line:match("^=======$") then + in_theirs = true + elseif line:match("^>>>>>>>") then + in_theirs = false + elseif not in_theirs then + table.insert(resolved, line) + end + end + + -- Write resolved content to disk + f = io.open(file_path, "w") + f:write(table.concat(resolved, "\n")) + f:close() + + -- Update the worktree buffer to match and mark it as saved + local wins = vim.api.nvim_tabpage_list_wins(0) + for _, win in ipairs(wins) do + local buf = vim.api.nvim_win_get_buf(win) + local name = vim.api.nvim_buf_get_name(buf) + if name:match("worktree") then + vim.api.nvim_set_current_win(win) + vim.api.nvim_buf_set_lines(buf, 0, -1, false, resolved) + vim.bo[buf].modified = false + break + end + end +end) +step(2500, function() end) + +-- Stage the resolved file +keys(500, "s") +step(1500, function() end) + +-- Close the merge view +keys(600, "q") +step(800, function() end) + +-- Final pause on status +step(1500, function() end) + +-- ============================================================================ +-- Start the demo +-- ============================================================================ +vim.api.nvim_create_autocmd("VimEnter", { + callback = function() + vim.defer_fn(run_next, 500) + end, +}) diff --git a/scripts/demo-driver.lua b/scripts/demo-basics-driver.lua similarity index 74% rename from scripts/demo-driver.lua rename to scripts/demo-basics-driver.lua index 14f2355..b8af152 100644 --- a/scripts/demo-driver.lua +++ b/scripts/demo-basics-driver.lua @@ -1,5 +1,6 @@ --- Demo driver for asciinema recording --- Sends keystrokes with delays to showcase gitlad features +-- Demo driver: Basics (~45-50s) +-- Covers: status view, help popup, staging workflow (file + hunk), +-- commit popup, branch popup, log view, git command history. -- -- Usage: nvim -u scripts/demo-init.lua @@ -36,7 +37,7 @@ local function run_next() end -- ============================================================================ --- Demo sequence (~60s) +-- Demo sequence (~45-50s) -- ============================================================================ -- Phase 1: Status overview — shows Head + Merge with remote tracking @@ -106,49 +107,13 @@ step(2000, function() end) keys(600, "q") step(300, function() end) --- Phase 5: Diffview integration — show staged diff side-by-side -keys(800, "d") -step(1500, function() end) -keys(600, "s") -step(3000, function() end) -keys(300, ":DiffviewClose") -step(800, function() end) - --- Phase 6: Branch popup +-- Phase 5: Branch popup keys(800, "b") step(1500, function() end) keys(600, "q") step(300, function() end) --- Phase 7: Refs popup → refs view -keys(800, "yr") -step(1000, function() end) -keys(500, "r") -step(2000, function() end) -keys(600, "q") -step(300, function() end) - --- Phase 8: Worktrees — navigate to section via M-n (section jump) --- Sections: Untracked → Unstaged → Staged → Worktrees (4th with M-n) -keys(300, "gg") -keys(300, "") -keys(200, "") -keys(200, "") -keys(200, "") -step(800, function() end) - --- Browse worktree entries -keys(250, "gj") -keys(200, "gj") -step(800, function() end) - --- Worktree popup -keys(600, "Z") -step(2000, function() end) -keys(600, "q") -step(300, function() end) - --- Phase 9: Log + Rebase popup +-- Phase 6: Log + Rebase popup keys(800, "l") step(1000, function() end) keys(500, "l") @@ -183,12 +148,12 @@ step(300, function() end) keys(600, "q") step(300, function() end) --- Phase 10: Git command history +-- Phase 7: Git command history keys(800, "$") step(2000, function() end) keys(600, "q") --- Phase 11: Final pause on status +-- Phase 8: Final pause on status step(1500, function() end) -- ============================================================================ diff --git a/scripts/demo-forge-driver.lua b/scripts/demo-forge-driver.lua new file mode 100644 index 0000000..6e09a53 --- /dev/null +++ b/scripts/demo-forge-driver.lua @@ -0,0 +1,164 @@ +-- Demo driver: Forge/GitHub (~45-60s) +-- Covers: forge popup, PR list dashboard, PR detail view (comments, checks), +-- PR diff in native viewer with inline review threads, thread navigation, +-- and adding a review comment. +-- +-- Uses a real GitHub repo (set up by create-forge-test-repo.sh). +-- +-- Usage: GITLAD_DEMO_DRIVER=demo-forge-driver.lua nvim -u scripts/demo-init.lua + +local function type_keys(keys) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(keys, true, false, true), "m", false) +end + +local queue = {} +local idx = 1 + +local function step(delay_ms, fn) + table.insert(queue, { delay = delay_ms, fn = fn }) +end + +local function keys(delay_ms, k) + step(delay_ms, function() + type_keys(k) + end) +end + +local function run_next() + if idx > #queue then + vim.defer_fn(function() + vim.cmd("qa!") + end, 2000) + return + end + local s = queue[idx] + idx = idx + 1 + vim.defer_fn(function() + s.fn() + vim.schedule(run_next) + end, s.delay) +end + +-- ============================================================================ +-- Demo sequence (~45-60s) +-- ============================================================================ + +-- Phase 1: Open status view +keys(1200, ":Gitlad") +step(2500, function() end) + +-- Phase 2: Forge popup — show provider detection +keys(800, "N") +step(2000, function() end) + +-- Phase 3: List PRs — triggers API call +keys(500, "l") +-- Wait generously for API response +step(4000, function() end) + +-- Pause to show the PR list dashboard +step(2000, function() end) + +-- Phase 4: Navigate to the PR and open detail view +keys(400, "gj") +step(600, function() end) +keys(500, "") +-- Wait for PR detail to load +step(4000, function() end) + +-- Phase 5: Browse the PR detail +-- Scroll through comments +keys(250, "gj") +step(500, function() end) +keys(250, "gj") +step(500, function() end) +keys(250, "gj") +step(500, function() end) +keys(250, "gj") +step(500, function() end) + +-- Toggle the checks section +keys(500, "") +step(1500, function() end) +keys(500, "") +step(800, function() end) + +-- Continue scrolling +keys(250, "gj") +step(500, function() end) +keys(250, "gj") +step(500, function() end) + +-- Phase 6: Open PR diff in native viewer +keys(600, "d") +-- Wait for diff + review threads to load from API +step(5000, function() end) + +-- Navigate files in panel +keys(500, "gj") +step(1000, function() end) +keys(500, "gj") +step(1000, function() end) + +-- Select file and move focus to the diff buffer +keys(500, "") +step(500, function() end) +keys(300, "l") +step(1500, function() end) + +-- Navigate review threads +keys(500, "]t") +step(1200, function() end) + +-- Expand/collapse thread +keys(500, "") +step(1500, function() end) + +-- Next thread +keys(500, "]t") +step(1200, function() end) +keys(500, "") +step(1500, function() end) + +-- Previous thread +keys(500, "[t") +step(1000, function() end) + +-- Phase 7: Add a review comment +-- Move to a line in the diff and press c to open comment editor +keys(500, "5j") +step(600, function() end) +keys(500, "c") +step(1200, function() end) + +-- Type a comment +keys(300, "iShould we add a nil guard here?") +step(1500, function() end) + +-- Submit with ZZ +keys(500, "ZZ") +step(2500, function() end) + +-- Close the diff viewer +keys(600, "q") +step(800, function() end) + +-- Close PR detail +keys(600, "q") +step(800, function() end) + +-- Close PR list +keys(600, "q") +step(800, function() end) + +-- Final pause on status +step(1500, function() end) + +-- ============================================================================ +-- Start the demo +-- ============================================================================ +vim.api.nvim_create_autocmd("VimEnter", { + callback = function() + vim.defer_fn(run_next, 500) + end, +}) diff --git a/scripts/demo-init.lua b/scripts/demo-init.lua index 3b64c25..9893bad 100644 --- a/scripts/demo-init.lua +++ b/scripts/demo-init.lua @@ -66,5 +66,6 @@ require("gitlad").setup() -- Demo driver (skip during warmup) -- --------------------------------------------------------------------------- if not vim.env.GITLAD_DEMO_WARMUP then - dofile(plugin_root .. "/scripts/demo-driver.lua") + local driver = vim.env.GITLAD_DEMO_DRIVER or "demo-basics-driver.lua" + dofile(plugin_root .. "/scripts/" .. driver) end diff --git a/scripts/record-demo.sh b/scripts/record-demo.sh index e5f2a14..c622ea0 100755 --- a/scripts/record-demo.sh +++ b/scripts/record-demo.sh @@ -1,38 +1,57 @@ #!/usr/bin/env bash -# Record an asciinema demo of gitlad.nvim +# Record asciinema demos of gitlad.nvim # Uses tmux to create a terminal of the correct dimensions # -# Prerequisites: brew install asciinema tmux agg; npm install -g tree-sitter-cli -# # Dependencies (lazy.nvim, kanagawa, treesitter) are bootstrapped by # demo-init.lua and cached in /tmp/gitlad-demo-deps/ across runs. # -# Output: docs/demo.cast +# Usage: +# ./record-demo.sh # Record all demos +# ./record-demo.sh basics # Record only basics demo +# ./record-demo.sh advanced # Record only advanced diff demo +# ./record-demo.sh forge # Record only forge/GitHub demo +# +# Output: docs/demo-{basics,advanced,forge}.cast + v2 variants set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" -REPO_DIR="/tmp/gitlad-demo-repo" -OUTPUT="${PROJECT_ROOT}/docs/demo.cast" -OUTPUT_V2="${PROJECT_ROOT}/docs/demo-v2.cast" -OUTPUT_GIF="${PROJECT_ROOT}/docs/demo-preview.gif" COLS=130 ROWS=42 SESSION="gitlad-demo" -# Check prerequisites -for cmd in asciinema tmux tree-sitter nvim agg; do +DEMO="${1:-all}" + +# --------------------------------------------------------------------------- +# Enter nix-shell if not already inside one +# --------------------------------------------------------------------------- +if [ -z "$IN_NIX_SHELL" ]; then + exec nix-shell -p asciinema_3 asciinema-agg tmux --run "IN_NIX_SHELL=1 $0 $*" +fi + +# Check prerequisites not provided by nix +for cmd in tree-sitter nvim; do if ! command -v "$cmd" &>/dev/null; then - echo "Error: $cmd is required. Install with: brew install $cmd" + echo "Error: $cmd is required but not found on PATH" exit 1 fi done -echo "==> Creating test repo..." -"$SCRIPT_DIR/create-test-repo.sh" "$REPO_DIR" > /dev/null 2>&1 +# gh is needed for forge demo +if [[ "$DEMO" == "all" || "$DEMO" == "forge" ]]; then + if ! command -v gh &>/dev/null; then + echo "Error: gh CLI is required for forge demo. Install with: brew install gh" + exit 1 + fi + if ! gh auth token &>/dev/null; then + echo "Error: gh is not authenticated. Run: gh auth login" + exit 1 + fi +fi -# Pre-clone plugins so lazy.nvim finds them on disk (lazy's headless install -# is unreliable). Subsequent runs skip already-cached plugins. +# --------------------------------------------------------------------------- +# Pre-cache plugins (shared by all demos) +# --------------------------------------------------------------------------- DEPS_DIR="/tmp/gitlad-demo-deps" PLUGIN_DIR="$DEPS_DIR/plugins" LAZY_PATH="$DEPS_DIR/lazy.nvim" @@ -53,48 +72,100 @@ for plugin in rebelot/kanagawa.nvim nvim-treesitter/nvim-treesitter; do fi done -# Warmup: compile treesitter parsers (plugins are already on disk). -echo "==> Installing demo dependencies (cached after first run)..." -cd "$REPO_DIR" -GITLAD_DEMO_WARMUP=1 nvim \ - -u "${PROJECT_ROOT}/scripts/demo-init.lua" \ - --headless \ - -S "${PROJECT_ROOT}/scripts/demo-warmup.lua" \ - 2>&1 | grep -E '^\[|^All|^Timeout|^Error' || true - -# Kill any existing demo session -tmux kill-session -t "$SESSION" 2>/dev/null || true - -echo "==> Recording demo at ${COLS}x${ROWS}..." - -# Create a detached tmux session with the exact dimensions we want -tmux new-session -d -s "$SESSION" -x "$COLS" -y "$ROWS" - -# Run the recording inside tmux (cd to repo, then record) -tmux send-keys -t "$SESSION" \ - "cd '$REPO_DIR' && asciinema rec '$OUTPUT' --overwrite --command \"nvim -u '${PROJECT_ROOT}/scripts/demo-init.lua'\" ; tmux wait-for -S demo-done" Enter +# --------------------------------------------------------------------------- +# Helper: record a single demo +# --------------------------------------------------------------------------- +record_demo() { + local name="$1" # e.g. "basics" + local driver="$2" # e.g. "demo-basics-driver.lua" + local repo_dir="$3" # working directory for the recording + local gen_gif="$4" # "yes" to generate GIF + + local output="${PROJECT_ROOT}/docs/demo-${name}.cast" + local output_v2="${PROJECT_ROOT}/docs/demo-${name}-v2.cast" + + echo "" + echo "==> Recording '$name' demo..." + + # Warmup: compile treesitter parsers + echo " Warming up (treesitter parsers)..." + cd "$repo_dir" + GITLAD_DEMO_WARMUP=1 nvim \ + -u "${PROJECT_ROOT}/scripts/demo-init.lua" \ + --headless \ + -S "${PROJECT_ROOT}/scripts/demo-warmup.lua" \ + 2>&1 | grep -E '^\[|^All|^Timeout|^Error' || true + + # Kill any existing demo session + tmux kill-session -t "$SESSION" 2>/dev/null || true + + echo " Recording at ${COLS}x${ROWS}..." + + # Create a detached tmux session with the exact dimensions + tmux new-session -d -s "$SESSION" -x "$COLS" -y "$ROWS" + + # Run the recording inside tmux + tmux send-keys -t "$SESSION" \ + "cd '$repo_dir' && GITLAD_DEMO_DRIVER='$driver' asciinema rec '$output' --overwrite --command \"nvim -u '${PROJECT_ROOT}/scripts/demo-init.lua'\" ; tmux wait-for -S demo-done" Enter + + # Wait for the recording to finish + tmux wait-for demo-done + + # Clean up tmux + tmux kill-session -t "$SESSION" 2>/dev/null || true + + # Convert to v2 format for the web player + echo " Converting to v2 format..." + asciinema convert -f asciicast-v2 "$output" "$output_v2" --overwrite + + # Generate GIF if requested (for README) + if [[ "$gen_gif" == "yes" ]]; then + local output_gif="${PROJECT_ROOT}/docs/demo-${name}-preview.gif" + echo " Generating GIF..." + agg "$output_v2" "$output_gif" --font-size 14 + echo " Output: $output, $output_v2, $output_gif" + ls -lh "$output" "$output_v2" "$output_gif" + else + echo " Output: $output, $output_v2" + ls -lh "$output" "$output_v2" + fi +} -# Wait for the recording to finish -tmux wait-for demo-done +# --------------------------------------------------------------------------- +# Record requested demos +# --------------------------------------------------------------------------- -# Clean up -tmux kill-session -t "$SESSION" 2>/dev/null || true +if [[ "$DEMO" == "all" || "$DEMO" == "basics" ]]; then + REPO_DIR="/tmp/gitlad-demo-repo" + echo "==> Creating test repo for basics demo..." + "$SCRIPT_DIR/create-test-repo.sh" "$REPO_DIR" > /dev/null 2>&1 + record_demo "basics" "demo-basics-driver.lua" "$REPO_DIR" "yes" +fi -# Convert to v2 format for the web player (asciinema-player 3.x) -echo "==> Converting to v2 format for web player..." -asciinema convert -f asciicast-v2 "$OUTPUT" "$OUTPUT_V2" --overwrite +if [[ "$DEMO" == "all" || "$DEMO" == "advanced" ]]; then + REPO_DIR="/tmp/gitlad-demo-repo" + echo "==> Creating test repo for advanced demo..." + "$SCRIPT_DIR/create-test-repo.sh" "$REPO_DIR" > /dev/null 2>&1 + record_demo "advanced" "demo-advanced-driver.lua" "$REPO_DIR" "yes" +fi -# Generate GIF for README (renders pixel-perfect on GitHub, unlike SVG) -echo "==> Generating GIF for README..." -agg "$OUTPUT_V2" "$OUTPUT_GIF" --font-size 14 +if [[ "$DEMO" == "all" || "$DEMO" == "forge" ]]; then + FORGE_REPO_DIR="/tmp/gitlad-forge-demo-repo" + echo "==> Creating forge test repo (requires GitHub API)..." + "$SCRIPT_DIR/create-forge-test-repo.sh" "$FORGE_REPO_DIR" + record_demo "forge" "demo-forge-driver.lua" "$FORGE_REPO_DIR" "yes" +fi echo "" -echo "==> Demo recorded to:" -echo " v3: $OUTPUT" -echo " v2: $OUTPUT_V2" -echo " gif: $OUTPUT_GIF" +echo "==> Done!" echo "" echo "Preview locally:" -echo " asciinema play $OUTPUT" -echo "" -ls -lh "$OUTPUT" "$OUTPUT_V2" "$OUTPUT_GIF" +if [[ "$DEMO" == "all" || "$DEMO" == "basics" ]]; then + echo " asciinema play ${PROJECT_ROOT}/docs/demo-basics.cast" +fi +if [[ "$DEMO" == "all" || "$DEMO" == "advanced" ]]; then + echo " asciinema play ${PROJECT_ROOT}/docs/demo-advanced.cast" +fi +if [[ "$DEMO" == "all" || "$DEMO" == "forge" ]]; then + echo " asciinema play ${PROJECT_ROOT}/docs/demo-forge.cast" +fi