Добавлена поддержка python. Обновлена библиотека иконок.

master
svkalinin 2022-08-26 12:29:19 +03:00
parent dacccf2fb9
commit 8a541c0339
6 changed files with 332 additions and 36 deletions

View File

@ -543,8 +543,9 @@ namespace eval Editor {
set line [$txt get $lineNumber.0 $lineNumber.end]
if {[dict exists $lexers $fileType procRegexpCommand] != 0 } {
if {[eval [dict get $lexers $fileType procRegexpCommand]]} {
puts [Tree::InsertItem $tree $treeItemName $procName "procedure" "$procName ($params)"]
lappend l [list $procName $params]
set procName_ [string trim $procName]
puts [Tree::InsertItem $tree $treeItemName $procName_ "procedure" "$procName_ ($params)"]
lappend l [list $procName_ $params]
}
}
}

View File

@ -55,4 +55,17 @@ namespace eval Highlight {} {
ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}
ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
}
proc PY {txt} {
ctext::addHighlightClassForRegexp $txt flags orange {-+[a-zA-Z\-_]+}
ctext::addHighlightClass $txt stackControl #19a2a6 {if else for while case switch def import from return make break defer continue package len print with open}
ctext::addHighlightClass $txt types #7187d5 {string int int16 int32 int64 float bool byte}
ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\&"
ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\*"
# ctext::addHighlightClass $txt variable_funcs gold {var type struct}
ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}
ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
}
}

View File

@ -317,21 +317,7 @@ image create photo pixel -data {
cEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfmCAENMR0phoajAAAAGXRFWHRDb21tZW50AENyZWF0
ZWQgd2l0aCBHSU1QV4EOFwAAAAtJREFUCNdjYAACAAAFAAHiJgWbAAAAAElFTkSuQmCC
}
image create photo md_10x20 -data {
iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw1AUhU9bpUVaHOwg4pChOlkpKuKoVShChVArtOpg8tI/aNKQpLg4Cq4FB38Wqw4uzro6uAqC
4A+Io5OToouUeF9SaBHjhcf7OO+ew3v3Af5mlalmTwJQNcvIpJJCLr8qBF8Rgg8RJDAuMVOfE8U0
POvrnnqp7uI8y7vvz4ooBZMBPoF4lumGRbxBPL1p6Zz3iaOsLCnE58RjBl2Q+JHrsstvnEsO+3lm
1Mhm5omjxEKpi+UuZmVDJZ4ijimqRvn+nMsK5y3OarXO2vfkLwwXtJVlrtMaRgqLWIIIATLqqKAK
C3HaNVJMZOg86eEfcvwiuWRyVcDIsYAaVEiOH/wPfs/WLE5OuEnhJND7YtsfI0BwF2g1bPv72LZb
J0DgGbjSOv5aE5j5JL3R0WJHQP82cHHd0eQ94HIHGHzSJUNypAAtf7EIvJ/RN+WBgVugb82dW/sc
pw9AlmaVvgEODoHREmWve7w71D23f3va8/sBkKtys2tcKkcAAAAGYktHRAC8ALwAvCLnprkAAAAJ
cEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfmCAMHKjhsKtQjAAAAGXRFWHRDb21tZW50AENyZWF0
ZWQgd2l0aCBHSU1QV4EOFwAAAKdJREFUKM+1kbEOwjAMRF8iZUkYy1fCCmwp5BvKzBeytWTIEJZW
ioyLykCkSJHPd/bl4B/HReovuIvU5cpeK0j+i9hBw4FTW7eCPLWg2KADjCIY2rpVNpoAr9gxLjIq
9nsXGVXBkrg1opTEUeA77Y9L4rJYtwq4b5q6jbl64AFkq4C5JML8visDjeYKyEC1KxNfwAA8VywG
ITbMnI/4r3NqWzAPnGX6b2yqOG5VFYg/AAAAAElFTkSuQmCC
}
image create photo html_10x20 -data {
iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw1AUhU9bpUVaHOwg4pChOlkpKuKoVShChVArtOpg8tI/aNKQpLg4Cq4FB38Wqw4uzro6uAqC
@ -362,22 +348,252 @@ image create photo htm_10x20 -data {
AvqUUBuBXYAHzPvCzvlsBMYQ1P6CKTvnrZfsC2qU4V7DFruspvE1bHLx7mn9ZHHKHcj1n4vY6apy
4Gpj6onuSPUur00QGrL7t3eETeMf5+9jARg1VwGdzj5HHW6sd2btFQAAAABJRU5ErkJggg==
}
image create photo json_10x20 -data {
iVBORw0KGgoAAAANSUhEUgAAAA0AAAAKCAYAAABv7tTEAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw1AUhU9bpUVaHOwg4pChOlkpKuKoVShChVArtOpg8tI/aNKQpLg4Cq4FB38Wqw4uzro6uAqC
4A+Io5OToouUeF9SaBHjhcf7OO+ew3v3Af5mlalmTwJQNcvIpJJCLr8qBF8Rgg8RJDAuMVOfE8U0
POvrnnqp7uI8y7vvz4ooBZMBPoF4lumGRbxBPL1p6Zz3iaOsLCnE58RjBl2Q+JHrsstvnEsO+3lm
1Mhm5omjxEKpi+UuZmVDJZ4ijimqRvn+nMsK5y3OarXO2vfkLwwXtJVlrtMaRgqLWIIIATLqqKAK
C3HaNVJMZOg86eEfcvwiuWRyVcDIsYAaVEiOH/wPfs/WLE5OuEnhJND7YtsfI0BwF2g1bPv72LZb
J0DgGbjSOv5aE5j5JL3R0WJHQP82cHHd0eQ94HIHGHzSJUNypAAtf7EIvJ/RN+WBgVugb82dW/sc
pw9AlmaVvgEODoHREmWve7w71D23f3va8/sBkKtys2tcKkcAAAAGYktHRAC8ALwAvCLnprkAAAAJ
cEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfmCAMIBRhOBIu7AAAAGXRFWHRDb21tZW50AENyZWF0
ZWQgd2l0aCBHSU1QV4EOFwAAAI5JREFUKM91kTESgzAMBDfuoA5fofBz0poWKPlE0sJvXPgvaUMJ
RWRGoxFXeXQ+aTUCUckcJXOg5NU8MwEj0DreVQsm/wQ2YHd6DzVoQw8JeEit+ITK3EcmD72P/48l
s+jOqGAHfPUk5c1Selu8F9DgqwFWYA933I6ufcMdt0GbbFpPGSo38JN3klN86r4nGhw3nFGCTP4A
AAAASUVORK5CYII=
image create photo docker_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw0AcxV9bxVJaHCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC
4AeIo5OToouU+L+k0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC
5/i6h4+vd3Ge5X3uzxFR8iYDfALxLNMNi3iDeHrT0jnvE0dZSVKIz4nHDLog8SPXZZffOBcd9vPM
qJFJzxNHiYViB8sdzEqGSjxFHFNUjfL9WZcVzluc1UqNte7JXxjOayvLXKc5jCQWsQQRAmTUUEYF
FuK0aqSYSNN+wsM/5PhFcsnkKoORYwFVqJAcP/gf/O7WLExOuEnhBND9YtsfI0DPLtCs2/b3sW03
T4DAM3Cltf3VBjDzSXq9rcWOgN5t4OK6rcl7wOUOMPCkS4bkSAGa/kIBeD+jb8oBfbdAaM3trbWP
0wcgQ12lboCDQ2C0SNnrHu8Odvb275lWfz803nKOXMrtNAAAAAZiS0dEALwAvAC8IuemuQAAAAlw
SFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+YIGgUkLbHh0T0AAAAZdEVYdENvbW1lbnQAQ3JlYXRl
ZCB3aXRoIEdJTVBXgQ4XAAABvElEQVQoz32ST2gTURDGf/Py7KbbdTWlFEFEjxYEPUjwJF4l0FsR
RD22tUdFBK+KiAgelDYoePSgp0IE8SBeSqBQ8A9UEBGKFjRWaDcx2e6/8bCxJGIzMIeZ+d7HfN88
GBDF8zfVuXhbB2HsoGFaOgCFgZB+AufCLU0On8AEDdTxIAkhTfseeOWKtpZfyN/aAMwvVKf9ibJK
HGFav5BOgHQ2kU4TCZv4R8s6v1Cd9o+f0dal+7hnZ3ZkCUBx6oZun5zEflsl80YxvzfRogfJNqJK
5pYo/PxCsf6cYPYJEjSwG2vYz8sUvFOTmo4fQZIYidpImiBxCGmMicO8HwaYKERdn/TgBOqPoSP7
2fNpCZE7dVWvhEQhaiyQdZVpvl/vso4LaYz78gH3Ksdm5i7PPrJmq0Hqj6F2CER2OYxCluSur72n
XXsoc7WuifbrBzA2dzvLQP+TSQLWQaI2w68f91EbZ6WGBBsw7OXgXpIsy1HuXiQKcRfv0lx5Jb0E
AjBy+px2KlfI9o2DKXSlAFkK7SZ2fZXi0lNa9UX5V9xO4+q168+qb39MpaOH0CEHSVLM1nfs+keC
d29kt5/4B76/v5CyRGUnAAAAAElFTkSuQmCC
}
image create photo sh_10x20 -data {
image create photo json_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAADeHpUWHRSYXcgcHJvZmlsZSB0eXBl
IGV4aWYAAHja1ZdtjuQoDIb/c4o9ArYBm+MQCNLeYI+/L4SkPqan1VNdvdIGFQGXMcaPTanc/s/f
3f2Fh7J4F6Jayil5PCGHzAUD88ezzZ58mP2a+HPwIHe+ri8YIsFbjmnmJd8hx5jWPK9N6NS/DJ07
FYzi7YtSlnx7lG/LINuzoeWB0LGzb2vBMiS8PArHvC6PUjZ9OFpbR4PiIbLbJ4hyiok0oA/sVVPG
2NgHRTzbcLRXztNQPAJ6Cc75qcrwiXch8ehZ+PBSxoel4G3oWZKD4jEJEmefZ+A9UMIFeJrXRsVf
wbyPzS1Gv3m+cqyVJjMN3C0x1ugpP87seE4PLUtDDvnNULreD1hPOcUnuVzb84NHdqrw8cXdgvRw
5juqvTfrfZ/KLpSQcOa0DnUecY6guI1ozWUJTfGJGOtsGc188RWp00aJbGiVMjEYdwrUqFCnfb4r
VbgYeGfFm7myTJmBReYK4gTSaI46q2RpSAGWilwRiPnyhea+eW5XyZD3jaDJBGM0c2k1dz/5TvvF
UO8DONEIZj1iBb94ZDTcGORGDy0Aob5iCqJuhpiuQN8/A6yAYJxhNhyw+O0wsUW65ZYMzqP6I1rw
R3WTtmUAIcLeEc6QgIBPJJESeWVWIsTRwKfAc5bAG7lKFCM3eMlBJAEOqgB7Y43S1OXIhxi356zI
JAo0WQpghRCRPhrMIYdKlBhijClqtJhjSZJGhaWkaVzDRUWDRk2qapq1mFiwaMnUzLKVzFkcrumY
UY/Zcs6lYNMCywWrCzRK2XiTLWxxS5tutuWtVKRPDTXWVLVazbU0buIaCrmlps1abmWnHam0hz3u
adfd9ryXjlTr0kOPPXXt1nMvF7VF9ZHaM7nPqdGixhOUOHR6UYNY9TRB4zqJgxmIcSAQ10EACc2D
mTcKgQe5DVXj8LuDqogML+OA02gQA8GwE8dOF7sbuQ+5uWAvceNncm6gewc5N9A9kfuV2wfUWpn3
sExAqEI3g+oF5QeF3QpbGT+jf/x2ry783FAvNc1hr9l6uMkB6JC3FDruvydDWOdeWvjlo73g2Q8b
esGw+1IM3mboC4bdS5TeZugDg+67+fNI7dWMfnuJ/Jyhb2T4f2ToDwy77ybia4Y+2cC9eiO+t0R+
/vL//xjq+GXF3y33LwIwqJgWmBH3AAAAZnpUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHjaPUpB
DoAwDLr3FT6hQje35yydB28e/H/saiKkQKBy3Y/LlrAqbAbrNtWCP4DdFTwiDoIaB8zwFgrWXD3W
c3UcNGFZxv69ZS7yAvgbF3rahzdDAAABhGlDQ1BJQ0MgcHJvZmlsZQAAeJx9kT1Iw0AcxV9bxVJa
HCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC4AeIo5OToouU+L+k
0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC5/i6h4+vd3Ge5X3u
zxFR8iYDfALxLNMNi3iDeHrT0jnvE0dZSVKIz4nHDLog8SPXZZffOBcd9vPMqJFJzxNHiYViB8sd
zEqGSjxFHFNUjfL9WZcVzluc1UqNte7JXxjOayvLXKc5jCQWsQQRAmTUUEYFFuK0aqSYSNN+wsM/
5PhFcsnkKoORYwFVqJAcP/gf/O7WLExOuEnhBND9YtsfI0DPLtCs2/b3sW03T4DAM3Cltf3VBjDz
SXq9rcWOgN5t4OK6rcl7wOUOMPCkS4bkSAGa/kIBeD+jb8oBfbdAaM3trbWP0wcgQ12lboCDQ2C0
SNnrHu8Odvb275lWfz803nKO4j0HeQAAD4tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBh
Y2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1l
dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYy
Ij4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYt
c3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOmlw
dGNFeHQ9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBFeHQvMjAwOC0wMi0yOS8iCiAgICB4
bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0
RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAg
ICB4bWxuczpwbHVzPSJodHRwOi8vbnMudXNlcGx1cy5vcmcvbGRmL3htcC8xLjAvIgogICAgeG1s
bnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9w
dXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2Jl
LmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
MC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDoxZDY5NWU0Yi00YjBmLTQ5
NjktOGI1Ni1jNTdjMjAyZDBhNDgiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Y2M4MmVh
MmUtZGFiZS00YjQ5LTk5YWMtMGNkZjdkNjRjZjlkIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50
SUQ9InhtcC5kaWQ6YmFmNTMwZmItODY5ZS00ZTA4LThmNmUtMjE2OGJkMTFlNjIxIgogICBHSU1Q
OkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE2
NjE0OTI3NDkwMjAzMjEiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4yMiIKICAgZGM6Rm9ybWF0PSJp
bWFnZS9wbmciCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lN
UCAyLjEwIj4KICAgPGlwdGNFeHQ6TG9jYXRpb25DcmVhdGVkPgogICAgPHJkZjpCYWcvPgogICA8
L2lwdGNFeHQ6TG9jYXRpb25DcmVhdGVkPgogICA8aXB0Y0V4dDpMb2NhdGlvblNob3duPgogICAg
PHJkZjpCYWcvPgogICA8L2lwdGNFeHQ6TG9jYXRpb25TaG93bj4KICAgPGlwdGNFeHQ6QXJ0d29y
a09yT2JqZWN0PgogICAgPHJkZjpCYWcvPgogICA8L2lwdGNFeHQ6QXJ0d29ya09yT2JqZWN0Pgog
ICA8aXB0Y0V4dDpSZWdpc3RyeUlkPgogICAgPHJkZjpCYWcvPgogICA8L2lwdGNFeHQ6UmVnaXN0
cnlJZD4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAg
IHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0
Omluc3RhbmNlSUQ9InhtcC5paWQ6MmE1ZGRkMGUtMTc1Zi00OGUyLWJmMmMtOGNkY2M0NzI5MmU2
IgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RF
dnQ6d2hlbj0iKzAzOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICAg
PHBsdXM6SW1hZ2VTdXBwbGllcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkltYWdlU3VwcGxp
ZXI+CiAgIDxwbHVzOkltYWdlQ3JlYXRvcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkltYWdl
Q3JlYXRvcj4KICAgPHBsdXM6Q29weXJpZ2h0T3duZXI+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1
czpDb3B5cmlnaHRPd25lcj4KICAgPHBsdXM6TGljZW5zb3I+CiAgICA8cmRmOlNlcS8+CiAgIDwv
cGx1czpMaWNlbnNvcj4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1l
dGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAK
PD94cGFja2V0IGVuZD0idyI/PinPFKgAAAAGYktHRAC8ALwAvCLnprkAAAAJcEhZcwAALiMAAC4j
AXilP3YAAAAHdElNRQfmCBoFLTF0IjY7AAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1Q
V4EOFwAAAJZJREFUKM+tkTEOgzAMRR/Z8MxZGDgOK13L2kuUFW6TIXfp2o4w1JVayySowlKkOM7/
9v+GsyJF1hRZS28l8ABcAXFq4mGDyRtgAV7O34tHYgkqBXtji9Z/CT4a247RG7Ht3qAUuR3xoLFd
vmqjHslJ6IF6p08NzNafcERnzp+Q01nyB9NNdFUAd+Cp90G9mYDHzob+jw2qcDnYr/e2IQAAAABJ
RU5ErkJggg==
}
image create photo md_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAADp3pUWHRSYXcgcHJvZmlsZSB0eXBl
IGV4aWYAAHja3ZddkvMoDEXfWcUsAUmAYDn8mKrZwSx/Lhg7HXe6O0l/D1NjKoBlIYSOZFfM9s/f
3fyFi1IIxnmNAROLyyWXOGMS7X6V2ZN1s1839pjcyY2t6wFDJBhlv0285BvkmNO6T2sTOvRPQ8dO
GTN/e5Dzkpd7eVkGOV4NLQ+E9p1tWwuWIeHlkdvv6/IopKh3R2vraFDcRfH2c6IcfCB16B1b1ZAw
j2ydIp5tONorp2nI7wE9Bcf9ocrwiTchsehZePdSxo8lY4zoWYKB4n7joJzFi8zAW6CEC/A0rY2y
PYP5MTa3GH1xPXOslSYzDcwtMdbskh9HdlzTQ/PSkF1+MxTO8Q7rISd/kcu5Pd95FA8V3h8cctZz
C3ul2nuLvW9T2bjsAs4c1qGOI84ZFMuI1lwW0IZRj7nOltCizbYiddookYJWKRGDcSdHjTJ12uZY
qcJFxxsrRubKMmURLBJXECfwRjPUWSVJQwqwVOSKQMynLzT3TXO7ShF53wiaTDBGM5dWMx9vftM+
Gep9ACcawax7rOAXj4yGG4Pc6KEFINRXTEHUzBDTGeiP1wArIOhnmCMOmG3ZTRRPt9ySwXlUv0dz
dq9u0rYMIETY28MZEhCwgcRTIKvMSoQ4RvDJ8JzFcSFTibznBi/ZiQTAQRVgb6xRmrrseRfj7QkQ
XoIo0CTJgOWcR/qoiwY5lL14570PXn30yecgYVRYCBrGazirqFOvQVWjJs1Roos+hqgxxhRz4iQG
r2mfUI8pppRyxqYZljNWZ2jkXLhIccWXULTEkkquSJ/qqq+hao011dy4iWko5BaatthSyxttSKXN
bX4Lm25xS1vuSLUu3XXfQ9cee+r5pLao3lO7kvueGi1qPEGJQacnNYhVDxM0Xid+MAMxdgTiOggg
oXkws5Gc40GuoGoMvjuoCs/w0g84jQYxEHQbse90sruRe8jNuPgWN76SMwPdnyBnBroLuc/cHlBr
eb6HZQJCFZoZVCsoPyhsMXPM4zP68mjeXfgfM9RdGRMuW3A9idTGZj7q4L2Vd+3YvHtkh8FH9h7p
Q/067svNbf0X677a5jKad9dfl5mHfr58TKnmzXWflpkfcTzprnkCy0/jtG/yj9ieG81XefFqWryM
/yu3zbfp+oJb5qWs/kbN/KLIXqX2XLEZ+4eKzdjfFdupbn54pz3trnn6XfpDmP4vX5G3DXV8ovG/
zfwLO82+8pGVLJ4AAABmelRYdFJhdyBwcm9maWxlIHR5cGUgaXB0YwAAeNo9SkEOgDAMuvcVPmGF
Oudzlm0Hbx78f2QzEVIgULvup9m2ENlYAnFGTyH+ALwl8FCsBJMO6PIiBfNam9YxO1aG0WU7+b3N
im4v938XbRS3iXkAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1vFUlocLPiBQ4bqZEFU
xFGrUIQKoVZo1cHk0i9o0pCkuDgKrgUHPxarDi7Oujq4CoLgB4ijk5Oii5T4v6TQIsaD4368u/e4
ewf4GxWmml3jgKpZRjqZELK5VaHnFUEMIoIQ+iVm6nOimILn+LqHj693cZ7lfe7PEVHyJgN8AvEs
0w2LeIN4etPSOe8TR1lJUojPiccMuiDxI9dll984Fx3288yokUnPE0eJhWIHyx3MSoZKPEUcU1SN
8v1ZlxXOW5zVSo217slfGM5rK8tcpzmMJBaxBBECZNRQRgUW4rRqpJhI037Cwz/k+EVyyeQqg5Fj
AVWokBw/+B/87tYsTE64SeEE0P1i2x8jQM8u0Kzb9vexbTdPgMAzcKW1/dUGMPNJer2txY6A3m3g
4rqtyXvA5Q4w8KRLhuRIAZr+QgF4P6NvygF9t0Boze2ttY/TByBDXaVugINDYLRI2ese7w529vbv
mVZ/PzTeco7iPQd5AAAPi2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2lu
PSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4
PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpS
REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMj
Ij4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6aXB0Y0V4dD0iaHR0
cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5LyIKICAgIHhtbG5zOnhtcE1N
PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6
Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOnBs
dXM9Imh0dHA6Ly9ucy51c2VwbHVzLm9yZy9sZGYveG1wLzEuMC8iCiAgICB4bWxuczpHSU1QPSJo
dHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2Rj
L2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYv
MS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1w
TU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmQyZjcyMmEwLThlMWEtNDE2NS1hMzcxLTc5
Y2Q5ZmMyNWM1NiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NzRiYmZjNS1mMmRiLTQw
MDgtOWY1ZS03ZDNhOGUyMjc1MTQiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRp
ZDoxMGVkYWExOS0yZjU4LTRiOWMtODI5YS1kYjg4YzFiMjBkZDciCiAgIEdJTVA6QVBJPSIyLjAi
CiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVTdGFtcD0iMTY2MTQ5MjUxNDU3
NTQ5MCIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjIyIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIK
ICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgog
ICA8aXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpM
b2NhdGlvbkNyZWF0ZWQ+CiAgIDxpcHRjRXh0OkxvY2F0aW9uU2hvd24+CiAgICA8cmRmOkJhZy8+
CiAgIDwvaXB0Y0V4dDpMb2NhdGlvblNob3duPgogICA8aXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+
CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgIDxpcHRjRXh0
OlJlZ2lzdHJ5SWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpSZWdpc3RyeUlkPgogICA8
eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0
aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJ
RD0ieG1wLmlpZDowZjI0NzU0My1mNmVmLTQyZDYtOGNkZS1hZGNmNjQ5MmFiNzIiCiAgICAgIHN0
RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIr
MDM6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8cGx1czpJbWFn
ZVN1cHBsaWVyPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VTdXBwbGllcj4KICAgPHBs
dXM6SW1hZ2VDcmVhdG9yPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VDcmVhdG9yPgog
ICA8cGx1czpDb3B5cmlnaHRPd25lcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkNvcHlyaWdo
dE93bmVyPgogICA8cGx1czpMaWNlbnNvcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkxpY2Vu
c29yPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQg
ZW5kPSJ3Ij8+ZvNcrAAAAAZiS0dEALwAvAC8IuemuQAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0
SU1FB+YIGgUpNo4qZpwAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAk0lE
QVQoz8WROwrDMBBEnxbUyCl9y6S10wQlNuQGyTFTunLhNBJsFq9xKg8IxH5mNBo4HDGz7O3FzFJP
rYkaTM7y2fYKOiCJWpjqoFFugbBC0AAhbFkAmEeGmLl7fdGD6n4xJCeH/CoOcbszgyRWaR65Ae8V
tWCt/VgomIAn8HGe3Bi7Lx3Jo/ysjcrWE9BvpPMfvsHSK2xR37yRAAAAAElFTkSuQmCC
}
image create photo py_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw0AcxV9bxVJaHCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC
4AeIo5OToouU+L+k0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC
5/i6h4+vd3Ge5X3uzxFR8iYDfALxLNMNi3iDeHrT0jnvE0dZSVKIz4nHDLog8SPXZZffOBcd9vPM
qJFJzxNHiYViB8sdzEqGSjxFHFNUjfL9WZcVzluc1UqNte7JXxjOayvLXKc5jCQWsQQRAmTUUEYF
FuK0aqSYSNN+wsM/5PhFcsnkKoORYwFVqJAcP/gf/O7WLExOuEnhBND9YtsfI0DPLtCs2/b3sW03
T4DAM3Cltf3VBjDzSXq9rcWOgN5t4OK6rcl7wOUOMPCkS4bkSAGa/kIBeD+jb8oBfbdAaM3trbWP
0wcgQ12lboCDQ2C0SNnrHu8Odvb275lWfz803nKOXMrtNAAAAAZiS0dEALwAvAC8IuemuQAAAAlw
SFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YIGgUmCibdBtQAAAGdSURBVCjPjZJPS1RhFMZ/750r
VNwZbqOFmAUuBlwkNZs2Ua1KCBJaKELZJoboa0QfImpcBIW2KmtVOwPBQBwHuWo0G/9go1HTOLfu
eN9/LSpwZq7U2b2Hc37nOc97BAkxMrmW9qzJA4TCKb2+O9jgkHDaE2PFlcuD3e52Q+nZulSz6Hhj
/Elw6b8BYSwnUnHoGatRxrIvrb8n1Z3DAO7ByVqY21Gsryx+ES1FJ480+uzCxGOM80xcePq+Q8HI
5Fr6p1IzYVMXtCHXPuWYaKRRYQERvbLBqNcBMDI+K7X1kyQKo/eu+3NpALQ8TshQxwpKKRApALrF
TunhmWLuqCs9ANchk/U4/7chiqJOE6uV8qo1pgYwfGL1x0CP9Hp96PWhJwPOH6u1sbW5j59XDgJS
ANX5mWY2ly8LIdSNU8tdA963Fh+iff1pc6f5ZqlSf3D1/oegZcX2b1XzNx+loPD71QWZc+ivC0X3
4st7gPnXHZig8v2FNrYGYLSiursbBuv1qaTmJAUAYvxaX/+t4dNDAM/fbi5Pv9veAmwS4Be1FK/D
h01lLQAAAABJRU5ErkJggg==
}
image create photo sh_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw0AcxV9bxVJaHCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC
4AeIo5OToouU+L+k0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC
@ -394,4 +610,54 @@ image create photo sh_10x20 -data {
kLquwluPh82QWo/Ge+R+gKt/8B4mGMc01rCAE5yjEyltYCW20ddLLHCaDCzUaFyYXsRW1BLJV2Es
ok5+zaaLt28c01CGU8sqIAAAAABJRU5ErkJggg==
}
image create photo debian_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw0AcxV9bxVJaHCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC
4AeIo5OToouU+L+k0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC
5/i6h4+vd3Ge5X3uzxFR8iYDfALxLNMNi3iDeHrT0jnvE0dZSVKIz4nHDLog8SPXZZffOBcd9vPM
qJFJzxNHiYViB8sdzEqGSjxFHFNUjfL9WZcVzluc1UqNte7JXxjOayvLXKc5jCQWsQQRAmTUUEYF
FuK0aqSYSNN+wsM/5PhFcsnkKoORYwFVqJAcP/gf/O7WLExOuEnhBND9YtsfI0DPLtCs2/b3sW03
T4DAM3Cltf3VBjDzSXq9rcWOgN5t4OK6rcl7wOUOMPCkS4bkSAGa/kIBeD+jb8oBfbdAaM3trbWP
0wcgQ12lboCDQ2C0SNnrHu8Odvb275lWfz803nKOXMrtNAAAAAZiS0dEALwAvAC8IuemuQAAAAlw
SFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YIGgYBD440/mcAAADnSURBVCjPlZIxbsIwGIU/O6Ei
CEGkzukJOkRi4A7sCIYuPQlcgx2J0FNwBNQVpogVRKuqCQhsFixZjkHwNj89f37/LwtuKCPV9vmE
Sj743rg54RpTuq2Qww+QA2/G17AV8DpkKW4CJnRqbc5HgII4+mRR+hrZkNAGmMsmMOM9EYS58dyx
KgBbX/QDxSo3sDFIX65iFsQRgGJ1Mt4Y5Ai0D1Bp8MI2AsoWf/VfmmVGqiVRY07x787vbRAQ7AB6
rA8mrK6XByzl3QaSIFac9xqEuFa2XxzygDJS7dv2U3oGIh75yu7ibF0AAN5NOFR9hOAAAAAASUVO
RK5CYII=
}
image create photo redhat_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw0AcxV9bxVJaHCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC
4AeIo5OToouU+L+k0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC
5/i6h4+vd3Ge5X3uzxFR8iYDfALxLNMNi3iDeHrT0jnvE0dZSVKIz4nHDLog8SPXZZffOBcd9vPM
qJFJzxNHiYViB8sdzEqGSjxFHFNUjfL9WZcVzluc1UqNte7JXxjOayvLXKc5jCQWsQQRAmTUUEYF
FuK0aqSYSNN+wsM/5PhFcsnkKoORYwFVqJAcP/gf/O7WLExOuEnhBND9YtsfI0DPLtCs2/b3sW03
T4DAM3Cltf3VBjDzSXq9rcWOgN5t4OK6rcl7wOUOMPCkS4bkSAGa/kIBeD+jb8oBfbdAaM3trbWP
0wcgQ12lboCDQ2C0SNnrHu8Odvb275lWfz803nKOXMrtNAAAAAZiS0dEALwAvAC8IuemuQAAAAlw
SFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YIGgYbDKcQVQYAAAH8SURBVCjPhZJNSJMBGMd//3dr
01KpQGdqRUF1CsrNBq1IXwnxYFFRl255jKhDhzp2qGvXAqFLFBL0YUWg6aSCIB3aoUsUpYFsM0kL
rc33fZ8ObrSE6A8PPP/ni+dLrMKn9vaqdT+cHmRdJqcFgMCmJQ0uzEce7/jwrFAZr0qSS3ScMLgu
tLnC/Ksk64Epw843jqcflZ1OWcnH3Uuge0JNwmltsIVItFDc6Cm8EyMt4zKwVehBrs29+FcH+bh7
0kT/CtckZjeRtpsFk42Z9B0rxyXc10ASMEzHY5nhh5qJ96wNsfge0QzMI4a0FJyxKicWy4x8rBwx
m+jsFdZXotNLNcEuJ+QsHUNEzQlvj42PbJBZQLX6JO2dTaVqKwuYXxyooFuqF0NHHcy6gMgaFZcB
fN87ZzBv2K2gEM3m2tz95YxIJBQ1gt3IzgIeZl3KJtxRwSFgGseOxN6k3wLMJbvrPK/oOgTL9Zn0
09XnzifcAaBGuUTHS9CB0kq/EeiqEzh36yeGZvgH5pLddZ5feAf2OYwxhVgpYDyx5dANP+pfyyXc
JoP7vsKvmscGvwDMplK1fiHiel7hCqIFNKp8a+dBC1kyMF5IOm1we9PY8Fgu0XnYsAsSizJ8Q9+B
fWB7/vyA9Yr/YLa1I25OKGgYfz6Rjbv9EqdKrq/6GWz7DaI/0EnQtYARAAAAAElFTkSuQmCC
}
image create photo spec_16x12 -data {
iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw0AcxV9bxVJaHCz4gUOG6mRBVMRRq1CECqFWaNXB5NIvaNKQpLg4Cq4FBz8Wqw4uzro6uAqC
4AeIo5OToouU+L+k0CLGg+N+vLv3uHsH+BsVpppd44CqWUY6mRCyuVWh5xVBDCKCEPolZupzopiC
5/i6h4+vd3Ge5X3uzxFR8iYDfALxLNMNi3iDeHrT0jnvE0dZSVKIz4nHDLog8SPXZZffOBcd9vPM
qJFJzxNHiYViB8sdzEqGSjxFHFNUjfL9WZcVzluc1UqNte7JXxjOayvLXKc5jCQWsQQRAmTUUEYF
FuK0aqSYSNN+wsM/5PhFcsnkKoORYwFVqJAcP/gf/O7WLExOuEnhBND9YtsfI0DPLtCs2/b3sW03
T4DAM3Cltf3VBjDzSXq9rcWOgN5t4OK6rcl7wOUOMPCkS4bkSAGa/kIBeD+jb8oBfbdAaM3trbWP
0wcgQ12lboCDQ2C0SNnrHu8Odvb275lWfz803nKOXMrtNAAAAAZiS0dEALwAvAC8IuemuQAAAAlw
SFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YIGgYlKa3RmjwAAAC7SURBVCjPzZGxCsJAEETfHTYp
UigoAUE0pSnyDVaW/pSVP+QXWAgpFGytE0hyucZKvLULGg/RSrfaHYbZmV34yzJaSxOGYkBsHMs7
ruoCNorEFcULceDhAugucKnrr9y2AkYpMSCL65W9h5gliTdKD8CAIAJKsUlTVscjcxGWwASwwCnP
MSDdKO1goN1wGw7ZTadsy5KsqhgFAevxmNnh8HKPtnFNE9t+/4zW4Nzb3F6Bpzc+uPn0G7+rO3zt
PNdb1iTgAAAAAElFTkSuQmCC
}

View File

@ -21,3 +21,8 @@ dict set lexers SH commentSymbol {#}
dict set lexers SH procFindString {(function |)\s*?PROCNAME\(\)}
dict set lexers SH procRegexpCommand {regexp -nocase -all -- {^\s*?(function |)\s*?(.*?)\(()\)} $line match keyWord procName params}
#--------------------------------------------------
# Python
dict set lexers PY commentSymbol {#}
dict set lexers PY procFindString {(def )\s*?PROCNAME}
dict set lexers PY procRegexpCommand {regexp -nocase -all -- {^\s*?(def)\s*?(.*?)\((.*?)\):} $line match keyWord procName params}

View File

@ -21,9 +21,14 @@ namespace eval Tree {
regsub -all {\.|/|\\|\s} $item "_" subNode
# puts "Inserted tree node: $subNode"
set fileExt [string trimleft [file extension $text] "."]
#set fileName [string trimleft [file extension $text] "."]
set findImg [::FindImage $fileExt]
# puts "Extention $fileExt, find image: $findImg"
if {$fileExt ne "" && $findImg ne ""} {
# puts ">>>>>>>>>>> [string tolower $text]; [string match {*docker*} [string tolower $text]]"
if {[string match {*docker*} [string tolower $text]]} {
set findImg [::FindImage docker]
}
if {$fileExt ne "" || $findImg ne ""} {
set image $findImg
} else {
set image imgFile
@ -32,7 +37,13 @@ namespace eval Tree {
directory {
regsub -all {\.|/|\\|\s} $item "_" subNode
# puts $subNode
set image pixel
if {[string match {*debian*} [string tolower $item]]} {
set image [::FindImage debian]
} elseif {[string match {*redhat*} [string tolower $item]]} {
set image [::FindImage redhat]
} else {
set image pixel
}
}
func {
regsub -all {:} $item "_" subNode

View File

@ -10,7 +10,7 @@ exec wish "$0" -- "$@"
######################################################
# Version: 2.0.0
# Release: alpha
# Build: 25082022131123
# Build: 26082022111459
######################################################
# определим текущую версию, релиз и т.д.