diff --git a/README.md b/README.md
index 96dfbce..75c2116 100644
--- a/README.md
+++ b/README.md
@@ -5,4 +5,5 @@ zlorfi's dotfiles
* create symlinks via the `make_my_dotfiles.sh` script
* install patched `Source Code Pro` font for the `vim-airline` plugin
* change the font of your default terminal app to patched `Source Code Pro`
+* download plug.vim into autoload directory `curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim`
* launch `vim` with `vim +PlugInstall +qall` to install plugins
diff --git a/gvimrc b/gvimrc
index 9638191..bf40c06 100644
--- a/gvimrc
+++ b/gvimrc
@@ -16,7 +16,7 @@ set transp=1
" let g:molokai_original = 1
" colorscheme molokai
set background=light
-colorscheme one
+colorscheme solarized
"set cmdheight=2
diff --git a/terminal_setting/Michi_terminal_solarized.terminal b/terminal_setting/Michi_terminal_solarized.terminal
new file mode 100644
index 0000000..bdfde60
--- /dev/null
+++ b/terminal_setting/Michi_terminal_solarized.terminal
@@ -0,0 +1,1691 @@
+
+
+
+
+ ANSIBlackColor
+
+ YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECgw
+ LjAyNzQ1MDk4MDM5IDAuMjExNzY0NzA1OSAwLjI1ODgyMzUyOTQAEAGAAtIQERITWiRj
+ bGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo
+ aXZlctEXGFRyb290gAEIERojLTI3O0FITltijY+RlqGqsrW+0NPYAAAAAAAAAQEAAAAA
+ AAAAGQAAAAAAAAAAAAAAAAAAANo=
+
+ ANSIBlueColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjE0OTAxOTYw
+ NzggMC41NDUwOTgwMzkyIDAuODIzNTI5NDExOCAxTxAnMC4xMDM5MTkwNDQxIDAuNDU1
+ NDA1NDE0MSAwLjc5NDcxNzQzMTEAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ ANSIBrightBlackColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPEBwwIDAuMTY4NjI3
+ NDUxIDAuMjExNzY0NzA1OSAxTxAcMCAwLjEyNjA2MzczNDMgMC4xNjE2MDI5NDQxABAB
+ gAKABtIUDRUWVU5TSUNDgAOABdIYDRkaV05TLmRhdGFPEQ8wAAAPMGFwcGwCEAAAbW50
+ clJHQiBYWVogB+AACgAZABcACgA6YWNzcEFQUEwAAAAAQVBQTAAAAAAAAAAAAAAAAAAA
+ AAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAARZGVzYwAAAVAAAABiZHNjbQAAAbQAAAQYY3BydAAABcwAAAAj
+ d3RwdAAABfAAAAAUclhZWgAABgQAAAAUZ1hZWgAABhgAAAAUYlhZWgAABiwAAAAUclRS
+ QwAABkAAAAgMYWFyZwAADkwAAAAgdmNndAAADmwAAAAwbmRpbgAADpwAAAA+Y2hhZAAA
+ DtwAAAAsbW1vZAAADwgAAAAoYlRSQwAABkAAAAgMZ1RSQwAABkAAAAgMYWFiZwAADkwA
+ AAAgYWFnZwAADkwAAAAgZGVzYwAAAAAAAAAIRGlzcGxheQAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAIgAAAAxockhSAAAAFAAAAahrb0tSAAAADAAA
+ AbxuYk5PAAAAEgAAAchpZAAAAAAAEgAAAdpodUhVAAAAFAAAAexjc0NaAAAAFgAAAgBk
+ YURLAAAAHAAAAhZ1a1VBAAAAHAAAAjJhcgAAAAAAFAAAAk5pdElUAAAAFAAAAmJyb1JP
+ AAAAEgAAAnZubE5MAAAAFgAAAohoZUlMAAAAFgAAAp5lc0VTAAAAEgAAAnZmaUZJAAAA
+ EAAAArR6aFRXAAAADAAAAsR2aVZOAAAADgAAAtBza1NLAAAAFgAAAt56aENOAAAADAAA
+ AsRydVJVAAAAJAAAAvRmckZSAAAAFgAAAxhtcwAAAAAAEgAAAy5jYUVTAAAAGAAAA0B0
+ aFRIAAAADAAAA1hlc1hMAAAAEgAAAnZkZURFAAAAEAAAA2RlblVTAAAAEgAAA3RwdEJS
+ AAAAGAAAA4ZwbFBMAAAAEgAAA55lbEdSAAAAIgAAA7BzdlNFAAAAEAAAA9J0clRSAAAA
+ FAAAA+JqYUpQAAAADAAAA/ZwdFBUAAAAFgAABAIATABDAEQAIAB1ACAAYgBvAGoAac7s
+ t+wAIABMAEMARABGAGEAcgBnAGUALQBMAEMARABMAEMARAAgAFcAYQByAG4AYQBTAHoA
+ 7QBuAGUAcwAgAEwAQwBEAEIAYQByAGUAdgBuAP0AIABMAEMARABMAEMARAAtAGYAYQBy
+ AHYAZQBzAGsA5gByAG0EGgQ+BDsETAQ+BEAEPgQyBDgEOQAgAEwAQwBEIA8ATABDAEQA
+ IAZFBkQGSAZGBikATABDAEQAIABjAG8AbABvAHIAaQBMAEMARAAgAGMAbwBsAG8AcgBL
+ AGwAZQB1AHIAZQBuAC0ATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF4AXZAFYA5AByAGkA
+ LQBMAEMARF9pgnIAIABMAEMARABMAEMARAAgAE0A4AB1AEYAYQByAGUAYgBuAOkAIABM
+ AEMARAQmBDIENQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOQBMAEMARAAgAGMA
+ bwB1AGwAZQB1AHIAVwBhAHIAbgBhACAATABDAEQATABDAEQAIABlAG4AIABjAG8AbABv
+ AHIATABDAEQAIA4qDjUARgBhAHIAYgAtAEwAQwBEAEMAbwBsAG8AcgAgAEwAQwBEAEwA
+ QwBEACAAQwBvAGwAbwByAGkAZABvAEsAbwBsAG8AcgAgAEwAQwBEA4gDswPHA8EDyQO8
+ A7cAIAO/A7gDzAO9A7cAIABMAEMARABGAOQAcgBnAC0ATABDAEQAUgBlAG4AawBsAGkA
+ IABMAEMARDCrMOkw/ABMAEMARABMAEMARAAgAGEAIABDAG8AcgBlAHN0ZXh0AAAAAENv
+ cHlyaWdodCBBcHBsZSBJbmMuLCAyMDE2AABYWVogAAAAAAAA8xYAAQAAAAEWylhZWiAA
+ AAAAAABxwAAAOYoAAAFnWFlaIAAAAAAAAGEjAAC55gAAE/ZYWVogAAAAAAAAI/IAAAyQ
+ AAC90GN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANgA7AEAARQBKAE8A
+ VABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCjAKgArQCyALcAvADBAMYAywDQ
+ ANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcB
+ bgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4
+ AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgD
+ QwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+
+ BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYG
+ BgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/
+ B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJ
+ zwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwS
+ DCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsO
+ tg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGM
+ EaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U
+ zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhA
+ GGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIc
+ KhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBB
+ IGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk
+ 2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymd
+ KdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu
+ 7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRl
+ NJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6
+ dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECm
+ QOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVH
+ e0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5u
+ TrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJW
+ D1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J
+ XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedm
+ PWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27E
+ bx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4
+ EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFr
+ gc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCL
+ lov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJ
+ ljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg
+ 2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavp
+ rFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i3
+ 4LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPU
+ xFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQ
+ utE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W
+ 3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr
+ cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4
+ +cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//cGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT
+ 0AAACg52Y2d0AAAAAAAAAAEAAQAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAB
+ AABuZGluAAAAAAAAADYAAKdAAABVgAAATMAAAJ7AAAAlgAAADMAAAFAAAABUQAACMzMA
+ AjMzAAIzMwAAAAAAAAAAc2YzMgAAAAAAAQxyAAAF+P//8x0AAAe6AAD9cv//+53///2k
+ AAAD2QAAwHFtbW9kAAAAAAAABhAAAKAiAAAAAM0jgswAAAAAAAAAAAAAAAAAAAAAgATS
+ HB0eH1okY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGjHiAhVk5TRGF0YVhO
+ U09iamVjdNIcHSMkXE5TQ29sb3JTcGFjZaIlIVxOU0NvbG9yU3BhY2XSHB0nKFdOU0Nv
+ bG9yoichXxAPTlNLZXllZEFyY2hpdmVy0SssVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+ RQBQAF0AYwBwAIUAjACrAMoAzADOANAA1QDbAN0A3wDkAOwQIBAiECcQMhA7EEkQTRBU
+ EF0QYhBvEHIQfxCEEIwQjxChEKQQqQAAAAAAAAIBAAAAAAAAAC0AAAAAAAAAAAAAAAAA
+ ABCr
+
+ ANSIBrightBlueColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjUxMzcyNTQ5
+ MDIgMC41ODAzOTIxNTY5IDAuNTg4MjM1Mjk0MSAxTxAnMC40Mzg1Njk4NDM4IDAuNTA5
+ Nzg2NTQ2MiAwLjUxNzg4NDE5NDkAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ ANSIBrightCyanColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECYwLjU3NjQ3MDU4
+ ODIgMC42MzEzNzI1NDkgMC42MzEzNzI1NDkgMU8QJzAuNTA0MzIxOTMyOCAwLjU2NTE1
+ NzA1NTkgMC41NjQyMTY2NzM0ABABgAKABtIUDRUWVU5TSUNDgAOABdIYDRkaV05TLmRh
+ dGFPEQ8wAAAPMGFwcGwCEAAAbW50clJHQiBYWVogB+AACgAZABcACgA6YWNzcEFQUEwA
+ AAAAQVBQTAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARZGVzYwAAAVAAAABiZHNj
+ bQAAAbQAAAQYY3BydAAABcwAAAAjd3RwdAAABfAAAAAUclhZWgAABgQAAAAUZ1hZWgAA
+ BhgAAAAUYlhZWgAABiwAAAAUclRSQwAABkAAAAgMYWFyZwAADkwAAAAgdmNndAAADmwA
+ AAAwbmRpbgAADpwAAAA+Y2hhZAAADtwAAAAsbW1vZAAADwgAAAAoYlRSQwAABkAAAAgM
+ Z1RSQwAABkAAAAgMYWFiZwAADkwAAAAgYWFnZwAADkwAAAAgZGVzYwAAAAAAAAAIRGlz
+ cGxheQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAIgAAAAxo
+ ckhSAAAAFAAAAahrb0tSAAAADAAAAbxuYk5PAAAAEgAAAchpZAAAAAAAEgAAAdpodUhV
+ AAAAFAAAAexjc0NaAAAAFgAAAgBkYURLAAAAHAAAAhZ1a1VBAAAAHAAAAjJhcgAAAAAA
+ FAAAAk5pdElUAAAAFAAAAmJyb1JPAAAAEgAAAnZubE5MAAAAFgAAAohoZUlMAAAAFgAA
+ Ap5lc0VTAAAAEgAAAnZmaUZJAAAAEAAAArR6aFRXAAAADAAAAsR2aVZOAAAADgAAAtBz
+ a1NLAAAAFgAAAt56aENOAAAADAAAAsRydVJVAAAAJAAAAvRmckZSAAAAFgAAAxhtcwAA
+ AAAAEgAAAy5jYUVTAAAAGAAAA0B0aFRIAAAADAAAA1hlc1hMAAAAEgAAAnZkZURFAAAA
+ EAAAA2RlblVTAAAAEgAAA3RwdEJSAAAAGAAAA4ZwbFBMAAAAEgAAA55lbEdSAAAAIgAA
+ A7BzdlNFAAAAEAAAA9J0clRSAAAAFAAAA+JqYUpQAAAADAAAA/ZwdFBUAAAAFgAABAIA
+ TABDAEQAIAB1ACAAYgBvAGoAac7st+wAIABMAEMARABGAGEAcgBnAGUALQBMAEMARABM
+ AEMARAAgAFcAYQByAG4AYQBTAHoA7QBuAGUAcwAgAEwAQwBEAEIAYQByAGUAdgBuAP0A
+ IABMAEMARABMAEMARAAtAGYAYQByAHYAZQBzAGsA5gByAG0EGgQ+BDsETAQ+BEAEPgQy
+ BDgEOQAgAEwAQwBEIA8ATABDAEQAIAZFBkQGSAZGBikATABDAEQAIABjAG8AbABvAHIA
+ aQBMAEMARAAgAGMAbwBsAG8AcgBLAGwAZQB1AHIAZQBuAC0ATABDAEQgDwBMAEMARAAg
+ BeYF0QXiBdUF4AXZAFYA5AByAGkALQBMAEMARF9pgnIAIABMAEMARABMAEMARAAgAE0A
+ 4AB1AEYAYQByAGUAYgBuAOkAIABMAEMARAQmBDIENQRCBD0EPgQ5ACAEFgQaAC0ENAQ4
+ BEEEPwQ7BDUEOQBMAEMARAAgAGMAbwB1AGwAZQB1AHIAVwBhAHIAbgBhACAATABDAEQA
+ TABDAEQAIABlAG4AIABjAG8AbABvAHIATABDAEQAIA4qDjUARgBhAHIAYgAtAEwAQwBE
+ AEMAbwBsAG8AcgAgAEwAQwBEAEwAQwBEACAAQwBvAGwAbwByAGkAZABvAEsAbwBsAG8A
+ cgAgAEwAQwBEA4gDswPHA8EDyQO8A7cAIAO/A7gDzAO9A7cAIABMAEMARABGAOQAcgBn
+ AC0ATABDAEQAUgBlAG4AawBsAGkAIABMAEMARDCrMOkw/ABMAEMARABMAEMARAAgAGEA
+ IABDAG8AcgBlAHN0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBJbmMuLCAyMDE2AABYWVog
+ AAAAAAAA8xYAAQAAAAEWylhZWiAAAAAAAABxwAAAOYoAAAFnWFlaIAAAAAAAAGEjAAC5
+ 5gAAE/ZYWVogAAAAAAAAI/IAAAyQAAC90GN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAe
+ ACMAKAAtADIANgA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoA
+ nwCjAKgArQCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwEl
+ ASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB
+ 4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL
+ AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD
+ +QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVY
+ BWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUH
+ BwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjn
+ CPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsL
+ Igs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2O
+ DakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQ
+ YRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNj
+ E4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW
+ 1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3
+ Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoe
+ lB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLd
+ IwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on
+ qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyi
+ LNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIy
+ KjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfX
+ OBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+
+ ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SK
+ RM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NL
+ mkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLH
+ UxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZa
+ plr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKc
+ YvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdr
+ T2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQU
+ dHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9
+ oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7
+ h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+R
+ qJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wc
+ nImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2n
+ bqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LC
+ szizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+
+ /796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2
+ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DY
+ ZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE
+ 5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnz
+ p/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//cGFyYQAA
+ AAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACg52Y2d0AAAAAAAAAAEAAQAAAAAAAAABAAAA
+ AQAAAAAAAAABAAAAAQAAAAAAAAABAABuZGluAAAAAAAAADYAAKdAAABVgAAATMAAAJ7A
+ AAAlgAAADMAAAFAAAABUQAACMzMAAjMzAAIzMwAAAAAAAAAAc2YzMgAAAAAAAQxyAAAF
+ +P//8x0AAAe6AAD9cv//+53///2kAAAD2QAAwHFtbW9kAAAAAAAABhAAAKAiAAAAAM0j
+ gswAAAAAAAAAAAAAAAAAAAAAgATSHB0eH1okY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0
+ YWJsZURhdGGjHiAhVk5TRGF0YVhOU09iamVjdNIcHSMkXE5TQ29sb3JTcGFjZaIlIVxO
+ U0NvbG9yU3BhY2XSHB0nKFdOU0NvbG9yoichXxAPTlNLZXllZEFyY2hpdmVy0SssVHJv
+ b3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQAF0AYwBwAIUAjAC1AN8A4QDjAOUA6gDwAPIA
+ 9AD5AQEQNRA3EDwQRxBQEF4QYhBpEHIQdxCEEIcQlBCZEKEQpBC2ELkQvgAAAAAAAAIB
+ AAAAAAAAAC0AAAAAAAAAAAAAAAAAABDA
+
+ ANSIBrightGreenColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECcwLjM0NTA5ODAz
+ OTIgMC40MzEzNzI1NDkgMC40NTg4MjM1Mjk0IDFPECcwLjI3NDIwODY5NDcgMC4zNTY0
+ MzE2OTI4IDAuMzg0ODE5NjI2OAAQAYACgAbSFA0VFlVOU0lDQ4ADgAXSGA0ZGldOUy5k
+ YXRhTxEPMAAADzBhcHBsAhAAAG1udHJSR0IgWFlaIAfgAAoAGQAXAAoAOmFjc3BBUFBM
+ AAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAAYmRz
+ Y20AAAG0AAAEGGNwcnQAAAXMAAAAI3d0cHQAAAXwAAAAFHJYWVoAAAYEAAAAFGdYWVoA
+ AAYYAAAAFGJYWVoAAAYsAAAAFHJUUkMAAAZAAAAIDGFhcmcAAA5MAAAAIHZjZ3QAAA5s
+ AAAAMG5kaW4AAA6cAAAAPmNoYWQAAA7cAAAALG1tb2QAAA8IAAAAKGJUUkMAAAZAAAAI
+ DGdUUkMAAAZAAAAIDGFhYmcAAA5MAAAAIGFhZ2cAAA5MAAAAIGRlc2MAAAAAAAAACERp
+ c3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAACIAAAAM
+ aHJIUgAAABQAAAGoa29LUgAAAAwAAAG8bmJOTwAAABIAAAHIaWQAAAAAABIAAAHaaHVI
+ VQAAABQAAAHsY3NDWgAAABYAAAIAZGFESwAAABwAAAIWdWtVQQAAABwAAAIyYXIAAAAA
+ ABQAAAJOaXRJVAAAABQAAAJicm9STwAAABIAAAJ2bmxOTAAAABYAAAKIaGVJTAAAABYA
+ AAKeZXNFUwAAABIAAAJ2ZmlGSQAAABAAAAK0emhUVwAAAAwAAALEdmlWTgAAAA4AAALQ
+ c2tTSwAAABYAAALeemhDTgAAAAwAAALEcnVSVQAAACQAAAL0ZnJGUgAAABYAAAMYbXMA
+ AAAAABIAAAMuY2FFUwAAABgAAANAdGhUSAAAAAwAAANYZXNYTAAAABIAAAJ2ZGVERQAA
+ ABAAAANkZW5VUwAAABIAAAN0cHRCUgAAABgAAAOGcGxQTAAAABIAAAOeZWxHUgAAACIA
+ AAOwc3ZTRQAAABAAAAPSdHJUUgAAABQAAAPiamFKUAAAAAwAAAP2cHRQVAAAABYAAAQC
+ AEwAQwBEACAAdQAgAGIAbwBqAGnO7LfsACAATABDAEQARgBhAHIAZwBlAC0ATABDAEQA
+ TABDAEQAIABXAGEAcgBuAGEAUwB6AO0AbgBlAHMAIABMAEMARABCAGEAcgBlAHYAbgD9
+ ACAATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtBBoEPgQ7BEwEPgRABD4E
+ MgQ4BDkAIABMAEMARCAPAEwAQwBEACAGRQZEBkgGRgYpAEwAQwBEACAAYwBvAGwAbwBy
+ AGkATABDAEQAIABjAG8AbABvAHIASwBsAGUAdQByAGUAbgAtAEwAQwBEIA8ATABDAEQA
+ IAXmBdEF4gXVBeAF2QBWAOQAcgBpAC0ATABDAERfaYJyACAATABDAEQATABDAEQAIABN
+ AOAAdQBGAGEAcgBlAGIAbgDpACAATABDAEQEJgQyBDUEQgQ9BD4EOQAgBBYEGgAtBDQE
+ OARBBD8EOwQ1BDkATABDAEQAIABjAG8AdQBsAGUAdQByAFcAYQByAG4AYQAgAEwAQwBE
+ AEwAQwBEACAAZQBuACAAYwBvAGwAbwByAEwAQwBEACAOKg41AEYAYQByAGIALQBMAEMA
+ RABDAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMAbwBsAG8AcgBpAGQAbwBLAG8AbABv
+ AHIAIABMAEMARAOIA7MDxwPBA8kDvAO3ACADvwO4A8wDvQO3ACAATABDAEQARgDkAHIA
+ ZwAtAEwAQwBEAFIAZQBuAGsAbABpACAATABDAEQwqzDpMPwATABDAEQATABDAEQAIABh
+ ACAAQwBvAHIAZQBzdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUgSW5jLiwgMjAxNgAAWFla
+ IAAAAAAAAPMWAAEAAAABFspYWVogAAAAAAAAccAAADmKAAABZ1hZWiAAAAAAAABhIwAA
+ ueYAABP2WFlaIAAAAAAAACPyAAAMkAAAvdBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkA
+ HgAjACgALQAyADYAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa
+ AJ8AowCoAK0AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8B
+ JQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZ
+ AeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsEC
+ ywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+ A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkF
+ WAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
+ BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII
+ 5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsL
+ CyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQN
+ jg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD
+ EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MT
+ YxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxay
+ FtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+ dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
+ HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i
+ 3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6
+ J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4s
+ oizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHy
+ MioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w3
+ 1zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g
+ PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdE
+ ikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+ S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxS
+ x1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pW
+ WqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1Ykli
+ nGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3
+ a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0
+ FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1B
+ faF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH
+ O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
+ kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+ HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9
+ p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuy
+ wrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6E
+ vv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfL
+ Nsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg
+ 2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+ hOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ
+ 86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//3BhcmEA
+ AAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNndAAAAAAAAAABAAEAAAAAAAAAAQAA
+ AAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAA2AACnQAAAVYAAAEzAAACe
+ wAAAJYAAAAzAAABQAAAAVEAAAjMzAAIzMwACMzMAAAAAAAAAAHNmMzIAAAAAAAEMcgAA
+ Bfj///MdAAAHugAA/XL///ud///9pAAAA9kAAMBxbW1vZAAAAAAAAAYQAACgIgAAAADN
+ I4LMAAAAAAAAAAAAAAAAAAAAAIAE0hwdHh9aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011
+ dGFibGVEYXRhox4gIVZOU0RhdGFYTlNPYmplY3TSHB0jJFxOU0NvbG9yU3BhY2WiJSFc
+ TlNDb2xvclNwYWNl0hwdJyhXTlNDb2xvcqInIV8QD05TS2V5ZWRBcmNoaXZlctErLFRy
+ b290gAEACAARABoAIwAtADIANwA/AEUAUABdAGMAcACFAIwAtgDgAOIA5ADmAOsA8QDz
+ APUA+gECEDYQOBA9EEgQURBfEGMQahBzEHgQhRCIEJUQmhCiEKUQtxC6EL8AAAAAAAAC
+ AQAAAAAAAAAtAAAAAAAAAAAAAAAAAAAQwQ==
+
+ ANSIBrightMagentaColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECcwLjQyMzUyOTQx
+ MTggMC40NDMxMzcyNTQ5IDAuNzY4NjI3NDUxIDFPECcwLjM0NTU2MTI2NTkgMC4zNDA5
+ NzgyNjQ4IDAuNzI5MzUyODkxNAAQAYACgAbSFA0VFlVOU0lDQ4ADgAXSGA0ZGldOUy5k
+ YXRhTxEPMAAADzBhcHBsAhAAAG1udHJSR0IgWFlaIAfgAAoAGQAXAAoAOmFjc3BBUFBM
+ AAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAAYmRz
+ Y20AAAG0AAAEGGNwcnQAAAXMAAAAI3d0cHQAAAXwAAAAFHJYWVoAAAYEAAAAFGdYWVoA
+ AAYYAAAAFGJYWVoAAAYsAAAAFHJUUkMAAAZAAAAIDGFhcmcAAA5MAAAAIHZjZ3QAAA5s
+ AAAAMG5kaW4AAA6cAAAAPmNoYWQAAA7cAAAALG1tb2QAAA8IAAAAKGJUUkMAAAZAAAAI
+ DGdUUkMAAAZAAAAIDGFhYmcAAA5MAAAAIGFhZ2cAAA5MAAAAIGRlc2MAAAAAAAAACERp
+ c3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAACIAAAAM
+ aHJIUgAAABQAAAGoa29LUgAAAAwAAAG8bmJOTwAAABIAAAHIaWQAAAAAABIAAAHaaHVI
+ VQAAABQAAAHsY3NDWgAAABYAAAIAZGFESwAAABwAAAIWdWtVQQAAABwAAAIyYXIAAAAA
+ ABQAAAJOaXRJVAAAABQAAAJicm9STwAAABIAAAJ2bmxOTAAAABYAAAKIaGVJTAAAABYA
+ AAKeZXNFUwAAABIAAAJ2ZmlGSQAAABAAAAK0emhUVwAAAAwAAALEdmlWTgAAAA4AAALQ
+ c2tTSwAAABYAAALeemhDTgAAAAwAAALEcnVSVQAAACQAAAL0ZnJGUgAAABYAAAMYbXMA
+ AAAAABIAAAMuY2FFUwAAABgAAANAdGhUSAAAAAwAAANYZXNYTAAAABIAAAJ2ZGVERQAA
+ ABAAAANkZW5VUwAAABIAAAN0cHRCUgAAABgAAAOGcGxQTAAAABIAAAOeZWxHUgAAACIA
+ AAOwc3ZTRQAAABAAAAPSdHJUUgAAABQAAAPiamFKUAAAAAwAAAP2cHRQVAAAABYAAAQC
+ AEwAQwBEACAAdQAgAGIAbwBqAGnO7LfsACAATABDAEQARgBhAHIAZwBlAC0ATABDAEQA
+ TABDAEQAIABXAGEAcgBuAGEAUwB6AO0AbgBlAHMAIABMAEMARABCAGEAcgBlAHYAbgD9
+ ACAATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtBBoEPgQ7BEwEPgRABD4E
+ MgQ4BDkAIABMAEMARCAPAEwAQwBEACAGRQZEBkgGRgYpAEwAQwBEACAAYwBvAGwAbwBy
+ AGkATABDAEQAIABjAG8AbABvAHIASwBsAGUAdQByAGUAbgAtAEwAQwBEIA8ATABDAEQA
+ IAXmBdEF4gXVBeAF2QBWAOQAcgBpAC0ATABDAERfaYJyACAATABDAEQATABDAEQAIABN
+ AOAAdQBGAGEAcgBlAGIAbgDpACAATABDAEQEJgQyBDUEQgQ9BD4EOQAgBBYEGgAtBDQE
+ OARBBD8EOwQ1BDkATABDAEQAIABjAG8AdQBsAGUAdQByAFcAYQByAG4AYQAgAEwAQwBE
+ AEwAQwBEACAAZQBuACAAYwBvAGwAbwByAEwAQwBEACAOKg41AEYAYQByAGIALQBMAEMA
+ RABDAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMAbwBsAG8AcgBpAGQAbwBLAG8AbABv
+ AHIAIABMAEMARAOIA7MDxwPBA8kDvAO3ACADvwO4A8wDvQO3ACAATABDAEQARgDkAHIA
+ ZwAtAEwAQwBEAFIAZQBuAGsAbABpACAATABDAEQwqzDpMPwATABDAEQATABDAEQAIABh
+ ACAAQwBvAHIAZQBzdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUgSW5jLiwgMjAxNgAAWFla
+ IAAAAAAAAPMWAAEAAAABFspYWVogAAAAAAAAccAAADmKAAABZ1hZWiAAAAAAAABhIwAA
+ ueYAABP2WFlaIAAAAAAAACPyAAAMkAAAvdBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkA
+ HgAjACgALQAyADYAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa
+ AJ8AowCoAK0AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8B
+ JQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZ
+ AeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsEC
+ ywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+ A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkF
+ WAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
+ BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII
+ 5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsL
+ CyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQN
+ jg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD
+ EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MT
+ YxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxay
+ FtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+ dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
+ HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i
+ 3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6
+ J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4s
+ oizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHy
+ MioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w3
+ 1zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g
+ PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdE
+ ikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+ S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxS
+ x1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pW
+ WqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1Ykli
+ nGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3
+ a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0
+ FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1B
+ faF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH
+ O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
+ kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+ HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9
+ p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuy
+ wrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6E
+ vv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfL
+ Nsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg
+ 2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+ hOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ
+ 86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//3BhcmEA
+ AAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNndAAAAAAAAAABAAEAAAAAAAAAAQAA
+ AAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAA2AACnQAAAVYAAAEzAAACe
+ wAAAJYAAAAzAAABQAAAAVEAAAjMzAAIzMwACMzMAAAAAAAAAAHNmMzIAAAAAAAEMcgAA
+ Bfj///MdAAAHugAA/XL///ud///9pAAAA9kAAMBxbW1vZAAAAAAAAAYQAACgIgAAAADN
+ I4LMAAAAAAAAAAAAAAAAAAAAAIAE0hwdHh9aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011
+ dGFibGVEYXRhox4gIVZOU0RhdGFYTlNPYmplY3TSHB0jJFxOU0NvbG9yU3BhY2WiJSFc
+ TlNDb2xvclNwYWNl0hwdJyhXTlNDb2xvcqInIV8QD05TS2V5ZWRBcmNoaXZlctErLFRy
+ b290gAEACAARABoAIwAtADIANwA/AEUAUABdAGMAcACFAIwAtgDgAOIA5ADmAOsA8QDz
+ APUA+gECEDYQOBA9EEgQURBfEGMQahBzEHgQhRCIEJUQmhCiEKUQtxC6EL8AAAAAAAAC
+ AQAAAAAAAAAtAAAAAAAAAAAAAAAAAAAQwQ==
+
+ ANSIBrightRedColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjc5NjA3ODQz
+ MTQgMC4yOTQxMTc2NDcxIDAuMDg2Mjc0NTA5OCAxTxApMC43NTEzODc4MzQ1IDAuMjEx
+ MzY4Mzk2OSAwLjAwNjE4MjEwNDM0OQAQAYACgAbSFA0VFlVOU0lDQ4ADgAXSGA0ZGldO
+ Uy5kYXRhTxEPMAAADzBhcHBsAhAAAG1udHJSR0IgWFlaIAfgAAoAGQAXAAoAOmFjc3BB
+ UFBMAAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAA
+ YmRzY20AAAG0AAAEGGNwcnQAAAXMAAAAI3d0cHQAAAXwAAAAFHJYWVoAAAYEAAAAFGdY
+ WVoAAAYYAAAAFGJYWVoAAAYsAAAAFHJUUkMAAAZAAAAIDGFhcmcAAA5MAAAAIHZjZ3QA
+ AA5sAAAAMG5kaW4AAA6cAAAAPmNoYWQAAA7cAAAALG1tb2QAAA8IAAAAKGJUUkMAAAZA
+ AAAIDGdUUkMAAAZAAAAIDGFhYmcAAA5MAAAAIGFhZ2cAAA5MAAAAIGRlc2MAAAAAAAAA
+ CERpc3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAACIA
+ AAAMaHJIUgAAABQAAAGoa29LUgAAAAwAAAG8bmJOTwAAABIAAAHIaWQAAAAAABIAAAHa
+ aHVIVQAAABQAAAHsY3NDWgAAABYAAAIAZGFESwAAABwAAAIWdWtVQQAAABwAAAIyYXIA
+ AAAAABQAAAJOaXRJVAAAABQAAAJicm9STwAAABIAAAJ2bmxOTAAAABYAAAKIaGVJTAAA
+ ABYAAAKeZXNFUwAAABIAAAJ2ZmlGSQAAABAAAAK0emhUVwAAAAwAAALEdmlWTgAAAA4A
+ AALQc2tTSwAAABYAAALeemhDTgAAAAwAAALEcnVSVQAAACQAAAL0ZnJGUgAAABYAAAMY
+ bXMAAAAAABIAAAMuY2FFUwAAABgAAANAdGhUSAAAAAwAAANYZXNYTAAAABIAAAJ2ZGVE
+ RQAAABAAAANkZW5VUwAAABIAAAN0cHRCUgAAABgAAAOGcGxQTAAAABIAAAOeZWxHUgAA
+ ACIAAAOwc3ZTRQAAABAAAAPSdHJUUgAAABQAAAPiamFKUAAAAAwAAAP2cHRQVAAAABYA
+ AAQCAEwAQwBEACAAdQAgAGIAbwBqAGnO7LfsACAATABDAEQARgBhAHIAZwBlAC0ATABD
+ AEQATABDAEQAIABXAGEAcgBuAGEAUwB6AO0AbgBlAHMAIABMAEMARABCAGEAcgBlAHYA
+ bgD9ACAATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtBBoEPgQ7BEwEPgRA
+ BD4EMgQ4BDkAIABMAEMARCAPAEwAQwBEACAGRQZEBkgGRgYpAEwAQwBEACAAYwBvAGwA
+ bwByAGkATABDAEQAIABjAG8AbABvAHIASwBsAGUAdQByAGUAbgAtAEwAQwBEIA8ATABD
+ AEQAIAXmBdEF4gXVBeAF2QBWAOQAcgBpAC0ATABDAERfaYJyACAATABDAEQATABDAEQA
+ IABNAOAAdQBGAGEAcgBlAGIAbgDpACAATABDAEQEJgQyBDUEQgQ9BD4EOQAgBBYEGgAt
+ BDQEOARBBD8EOwQ1BDkATABDAEQAIABjAG8AdQBsAGUAdQByAFcAYQByAG4AYQAgAEwA
+ QwBEAEwAQwBEACAAZQBuACAAYwBvAGwAbwByAEwAQwBEACAOKg41AEYAYQByAGIALQBM
+ AEMARABDAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMAbwBsAG8AcgBpAGQAbwBLAG8A
+ bABvAHIAIABMAEMARAOIA7MDxwPBA8kDvAO3ACADvwO4A8wDvQO3ACAATABDAEQARgDk
+ AHIAZwAtAEwAQwBEAFIAZQBuAGsAbABpACAATABDAEQwqzDpMPwATABDAEQATABDAEQA
+ IABhACAAQwBvAHIAZQBzdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUgSW5jLiwgMjAxNgAA
+ WFlaIAAAAAAAAPMWAAEAAAABFspYWVogAAAAAAAAccAAADmKAAABZ1hZWiAAAAAAAABh
+ IwAAueYAABP2WFlaIAAAAAAAACPyAAAMkAAAvdBjdXJ2AAAAAAAABAAAAAAFAAoADwAU
+ ABkAHgAjACgALQAyADYAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA
+ lQCaAJ8AowCoAK0AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZ
+ AR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB
+ 0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+ AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD
+ 4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6
+ BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG
+ 4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+
+ CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK
+ 8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1a
+ DXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQ
+ JhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMj
+ E0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+ jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoq
+ GlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYe
+ QB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC
+ Iq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgn
+ SSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5
+ LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIx
+ ujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg
+ N5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9
+ oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+ REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRL
+ DEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIx
+ UnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbha
+ B1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1
+ YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhq
+ n2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNd
+ c7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF8
+ 4X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZy
+ hteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+ 1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtC
+ m6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqm
+ i6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHW
+ skuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++
+ Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4
+ yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjX
+ XNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz
+ 5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y
+ jPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//3Bh
+ cmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNndAAAAAAAAAABAAEAAAAAAAAA
+ AQAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAA2AACnQAAAVYAAAEzA
+ AACewAAAJYAAAAzAAABQAAAAVEAAAjMzAAIzMwACMzMAAAAAAAAAAHNmMzIAAAAAAAEM
+ cgAABfj///MdAAAHugAA/XL///ud///9pAAAA9kAAMBxbW1vZAAAAAAAAAYQAACgIgAA
+ AADNI4LMAAAAAAAAAAAAAAAAAAAAAIAE0hwdHh9aJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+ U011dGFibGVEYXRhox4gIVZOU0RhdGFYTlNPYmplY3TSHB0jJFxOU0NvbG9yU3BhY2Wi
+ JSFcTlNDb2xvclNwYWNl0hwdJyhXTlNDb2xvcqInIV8QD05TS2V5ZWRBcmNoaXZlctEr
+ LFRyb290gAEACAARABoAIwAtADIANwA/AEUAUABdAGMAcACFAIwAtwDjAOUA5wDpAO4A
+ 9AD2APgA/QEFEDkQOxBAEEsQVBBiEGYQbRB2EHsQiBCLEJgQnRClEKgQuhC9EMIAAAAA
+ AAACAQAAAAAAAAAtAAAAAAAAAAAAAAAAAAAQxA==
+
+ ANSIBrightWhiteColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjk5MjE1Njg2
+ MjcgMC45NjQ3MDU4ODI0IDAuODkwMTk2MDc4NCAxTxAnMC45OTA0OTMyOTc2IDAuOTU5
+ NzI0MjQ3NSAwLjg1OTU0ODY4NzkAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ ANSIBrightYellowColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjM5NjA3ODQz
+ MTQgMC40ODIzNTI5NDEyIDAuNTEzNzI1NDkwMiAxTxAnMC4zMjE3NzAzMTA0IDAuNDA2
+ ODYxNzIyNSAwLjQ0MDU2MzMyMTEAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ ANSICyanColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECcwLjE2NDcwNTg4
+ MjQgMC42MzEzNzI1NDkgMC41OTYwNzg0MzE0IDFPECcwLjEyMzQ0MzY3MDYgMC41NzI5
+ MDg4NzgzIDAuNTI2OTUyNjI0MwAQAYACgAbSFA0VFlVOU0lDQ4ADgAXSGA0ZGldOUy5k
+ YXRhTxEPMAAADzBhcHBsAhAAAG1udHJSR0IgWFlaIAfgAAoAGQAXAAoAOmFjc3BBUFBM
+ AAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAAYmRz
+ Y20AAAG0AAAEGGNwcnQAAAXMAAAAI3d0cHQAAAXwAAAAFHJYWVoAAAYEAAAAFGdYWVoA
+ AAYYAAAAFGJYWVoAAAYsAAAAFHJUUkMAAAZAAAAIDGFhcmcAAA5MAAAAIHZjZ3QAAA5s
+ AAAAMG5kaW4AAA6cAAAAPmNoYWQAAA7cAAAALG1tb2QAAA8IAAAAKGJUUkMAAAZAAAAI
+ DGdUUkMAAAZAAAAIDGFhYmcAAA5MAAAAIGFhZ2cAAA5MAAAAIGRlc2MAAAAAAAAACERp
+ c3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAACIAAAAM
+ aHJIUgAAABQAAAGoa29LUgAAAAwAAAG8bmJOTwAAABIAAAHIaWQAAAAAABIAAAHaaHVI
+ VQAAABQAAAHsY3NDWgAAABYAAAIAZGFESwAAABwAAAIWdWtVQQAAABwAAAIyYXIAAAAA
+ ABQAAAJOaXRJVAAAABQAAAJicm9STwAAABIAAAJ2bmxOTAAAABYAAAKIaGVJTAAAABYA
+ AAKeZXNFUwAAABIAAAJ2ZmlGSQAAABAAAAK0emhUVwAAAAwAAALEdmlWTgAAAA4AAALQ
+ c2tTSwAAABYAAALeemhDTgAAAAwAAALEcnVSVQAAACQAAAL0ZnJGUgAAABYAAAMYbXMA
+ AAAAABIAAAMuY2FFUwAAABgAAANAdGhUSAAAAAwAAANYZXNYTAAAABIAAAJ2ZGVERQAA
+ ABAAAANkZW5VUwAAABIAAAN0cHRCUgAAABgAAAOGcGxQTAAAABIAAAOeZWxHUgAAACIA
+ AAOwc3ZTRQAAABAAAAPSdHJUUgAAABQAAAPiamFKUAAAAAwAAAP2cHRQVAAAABYAAAQC
+ AEwAQwBEACAAdQAgAGIAbwBqAGnO7LfsACAATABDAEQARgBhAHIAZwBlAC0ATABDAEQA
+ TABDAEQAIABXAGEAcgBuAGEAUwB6AO0AbgBlAHMAIABMAEMARABCAGEAcgBlAHYAbgD9
+ ACAATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtBBoEPgQ7BEwEPgRABD4E
+ MgQ4BDkAIABMAEMARCAPAEwAQwBEACAGRQZEBkgGRgYpAEwAQwBEACAAYwBvAGwAbwBy
+ AGkATABDAEQAIABjAG8AbABvAHIASwBsAGUAdQByAGUAbgAtAEwAQwBEIA8ATABDAEQA
+ IAXmBdEF4gXVBeAF2QBWAOQAcgBpAC0ATABDAERfaYJyACAATABDAEQATABDAEQAIABN
+ AOAAdQBGAGEAcgBlAGIAbgDpACAATABDAEQEJgQyBDUEQgQ9BD4EOQAgBBYEGgAtBDQE
+ OARBBD8EOwQ1BDkATABDAEQAIABjAG8AdQBsAGUAdQByAFcAYQByAG4AYQAgAEwAQwBE
+ AEwAQwBEACAAZQBuACAAYwBvAGwAbwByAEwAQwBEACAOKg41AEYAYQByAGIALQBMAEMA
+ RABDAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMAbwBsAG8AcgBpAGQAbwBLAG8AbABv
+ AHIAIABMAEMARAOIA7MDxwPBA8kDvAO3ACADvwO4A8wDvQO3ACAATABDAEQARgDkAHIA
+ ZwAtAEwAQwBEAFIAZQBuAGsAbABpACAATABDAEQwqzDpMPwATABDAEQATABDAEQAIABh
+ ACAAQwBvAHIAZQBzdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUgSW5jLiwgMjAxNgAAWFla
+ IAAAAAAAAPMWAAEAAAABFspYWVogAAAAAAAAccAAADmKAAABZ1hZWiAAAAAAAABhIwAA
+ ueYAABP2WFlaIAAAAAAAACPyAAAMkAAAvdBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkA
+ HgAjACgALQAyADYAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa
+ AJ8AowCoAK0AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8B
+ JQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZ
+ AeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsEC
+ ywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+ A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkF
+ WAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
+ BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII
+ 5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsL
+ CyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQN
+ jg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD
+ EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MT
+ YxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxay
+ FtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+ dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
+ HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i
+ 3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6
+ J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4s
+ oizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHy
+ MioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w3
+ 1zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g
+ PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdE
+ ikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+ S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxS
+ x1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pW
+ WqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1Ykli
+ nGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3
+ a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0
+ FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1B
+ faF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH
+ O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
+ kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+ HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9
+ p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuy
+ wrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6E
+ vv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfL
+ Nsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg
+ 2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+ hOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ
+ 86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//3BhcmEA
+ AAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNndAAAAAAAAAABAAEAAAAAAAAAAQAA
+ AAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAA2AACnQAAAVYAAAEzAAACe
+ wAAAJYAAAAzAAABQAAAAVEAAAjMzAAIzMwACMzMAAAAAAAAAAHNmMzIAAAAAAAEMcgAA
+ Bfj///MdAAAHugAA/XL///ud///9pAAAA9kAAMBxbW1vZAAAAAAAAAYQAACgIgAAAADN
+ I4LMAAAAAAAAAAAAAAAAAAAAAIAE0hwdHh9aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011
+ dGFibGVEYXRhox4gIVZOU0RhdGFYTlNPYmplY3TSHB0jJFxOU0NvbG9yU3BhY2WiJSFc
+ TlNDb2xvclNwYWNl0hwdJyhXTlNDb2xvcqInIV8QD05TS2V5ZWRBcmNoaXZlctErLFRy
+ b290gAEACAARABoAIwAtADIANwA/AEUAUABdAGMAcACFAIwAtgDgAOIA5ADmAOsA8QDz
+ APUA+gECEDYQOBA9EEgQURBfEGMQahBzEHgQhRCIEJUQmhCiEKUQtxC6EL8AAAAAAAAC
+ AQAAAAAAAAAtAAAAAAAAAAAAAAAAAAAQwQ==
+
+ ANSIGreenColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPEBQwLjUyMTU2ODYy
+ NzUgMC42IDAgMU8QHDAuNDQ4NjM2NDEyNiAwLjU0NzU2MDM5MzggMAAQAYACgAbSFA0V
+ FlVOU0lDQ4ADgAXSGA0ZGldOUy5kYXRhTxEPMAAADzBhcHBsAhAAAG1udHJSR0IgWFla
+ IAfgAAoAGQAXAAoAOmFjc3BBUFBMAAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gAB
+ AAAAANMtYXBwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAEWRlc2MAAAFQAAAAYmRzY20AAAG0AAAEGGNwcnQAAAXMAAAAI3d0cHQAAAXw
+ AAAAFHJYWVoAAAYEAAAAFGdYWVoAAAYYAAAAFGJYWVoAAAYsAAAAFHJUUkMAAAZAAAAI
+ DGFhcmcAAA5MAAAAIHZjZ3QAAA5sAAAAMG5kaW4AAA6cAAAAPmNoYWQAAA7cAAAALG1t
+ b2QAAA8IAAAAKGJUUkMAAAZAAAAIDGdUUkMAAAZAAAAIDGFhYmcAAA5MAAAAIGFhZ2cA
+ AA5MAAAAIGRlc2MAAAAAAAAACERpc3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABtbHVjAAAAAAAAACIAAAAMaHJIUgAAABQAAAGoa29LUgAAAAwAAAG8bmJOTwAA
+ ABIAAAHIaWQAAAAAABIAAAHaaHVIVQAAABQAAAHsY3NDWgAAABYAAAIAZGFESwAAABwA
+ AAIWdWtVQQAAABwAAAIyYXIAAAAAABQAAAJOaXRJVAAAABQAAAJicm9STwAAABIAAAJ2
+ bmxOTAAAABYAAAKIaGVJTAAAABYAAAKeZXNFUwAAABIAAAJ2ZmlGSQAAABAAAAK0emhU
+ VwAAAAwAAALEdmlWTgAAAA4AAALQc2tTSwAAABYAAALeemhDTgAAAAwAAALEcnVSVQAA
+ ACQAAAL0ZnJGUgAAABYAAAMYbXMAAAAAABIAAAMuY2FFUwAAABgAAANAdGhUSAAAAAwA
+ AANYZXNYTAAAABIAAAJ2ZGVERQAAABAAAANkZW5VUwAAABIAAAN0cHRCUgAAABgAAAOG
+ cGxQTAAAABIAAAOeZWxHUgAAACIAAAOwc3ZTRQAAABAAAAPSdHJUUgAAABQAAAPiamFK
+ UAAAAAwAAAP2cHRQVAAAABYAAAQCAEwAQwBEACAAdQAgAGIAbwBqAGnO7LfsACAATABD
+ AEQARgBhAHIAZwBlAC0ATABDAEQATABDAEQAIABXAGEAcgBuAGEAUwB6AO0AbgBlAHMA
+ IABMAEMARABCAGEAcgBlAHYAbgD9ACAATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBr
+ AOYAcgBtBBoEPgQ7BEwEPgRABD4EMgQ4BDkAIABMAEMARCAPAEwAQwBEACAGRQZEBkgG
+ RgYpAEwAQwBEACAAYwBvAGwAbwByAGkATABDAEQAIABjAG8AbABvAHIASwBsAGUAdQBy
+ AGUAbgAtAEwAQwBEIA8ATABDAEQAIAXmBdEF4gXVBeAF2QBWAOQAcgBpAC0ATABDAERf
+ aYJyACAATABDAEQATABDAEQAIABNAOAAdQBGAGEAcgBlAGIAbgDpACAATABDAEQEJgQy
+ BDUEQgQ9BD4EOQAgBBYEGgAtBDQEOARBBD8EOwQ1BDkATABDAEQAIABjAG8AdQBsAGUA
+ dQByAFcAYQByAG4AYQAgAEwAQwBEAEwAQwBEACAAZQBuACAAYwBvAGwAbwByAEwAQwBE
+ ACAOKg41AEYAYQByAGIALQBMAEMARABDAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMA
+ bwBsAG8AcgBpAGQAbwBLAG8AbABvAHIAIABMAEMARAOIA7MDxwPBA8kDvAO3ACADvwO4
+ A8wDvQO3ACAATABDAEQARgDkAHIAZwAtAEwAQwBEAFIAZQBuAGsAbABpACAATABDAEQw
+ qzDpMPwATABDAEQATABDAEQAIABhACAAQwBvAHIAZQBzdGV4dAAAAABDb3B5cmlnaHQg
+ QXBwbGUgSW5jLiwgMjAxNgAAWFlaIAAAAAAAAPMWAAEAAAABFspYWVogAAAAAAAAccAA
+ ADmKAAABZ1hZWiAAAAAAAABhIwAAueYAABP2WFlaIAAAAAAAACPyAAAMkAAAvdBjdXJ2
+ AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADYAOwBAAEUASgBPAFQAWQBeAGMA
+ aABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8AowCoAK0AsgC3ALwAwQDGAMsA0ADVANsA4ADl
+ AOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMB
+ iwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJd
+ AmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YD
+ cgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+ BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+ SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgL
+ CB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEK
+ Jwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1
+ DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkP
+ JQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH
+ EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQV
+ VhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjV
+ GPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMc
+ zBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+ IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl
+ lyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpo
+ KpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Ev
+ xy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVN
+ NYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07
+ azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs
+ Qe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtI
+ kUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+T
+ T91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+ RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8P
+ X2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1n
+ k2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XAr
+ cIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5
+ iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0
+ g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqN
+ MY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1
+ l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiai
+ lqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+ ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5
+ wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI
+ xkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/S
+ wdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
+ 4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHt
+ nO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3
+ /Af8mP0p/br+S/7c/23//3BhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNn
+ dAAAAAAAAAABAAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAA
+ AAAAAAA2AACnQAAAVYAAAEzAAACewAAAJYAAAAzAAABQAAAAVEAAAjMzAAIzMwACMzMA
+ AAAAAAAAAHNmMzIAAAAAAAEMcgAABfj///MdAAAHugAA/XL///ud///9pAAAA9kAAMBx
+ bW1vZAAAAAAAAAYQAACgIgAAAADNI4LMAAAAAAAAAAAAAAAAAAAAAIAE0hwdHh9aJGNs
+ YXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox4gIVZOU0RhdGFYTlNPYmplY3TS
+ HB0jJFxOU0NvbG9yU3BhY2WiJSFcTlNDb2xvclNwYWNl0hwdJyhXTlNDb2xvcqInIV8Q
+ D05TS2V5ZWRBcmNoaXZlctErLFRyb290gAEACAARABoAIwAtADIANwA/AEUAUABdAGMA
+ cACFAIwAowDCAMQAxgDIAM0A0wDVANcA3ADkEBgQGhAfECoQMxBBEEUQTBBVEFoQZxBq
+ EHcQfBCEEIcQmRCcEKEAAAAAAAACAQAAAAAAAAAtAAAAAAAAAAAAAAAAAAAQow==
+
+ ANSIMagentaColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPEB0xIDAuNDE1Njg2
+ Mjc0NSAwLjc1Njg2Mjc0NTEgMU8QJzAuOTk4OTY3MDUxNSAwLjI4MTA1MTY2NTUgMC43
+ MDk1NjE3MDU2ABABgAKABtIUDRUWVU5TSUNDgAOABdIYDRkaV05TLmRhdGFPEQ8wAAAP
+ MGFwcGwCEAAAbW50clJHQiBYWVogB+AACgAZABcACgA6YWNzcEFQUEwAAAAAQVBQTAAA
+ AAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARZGVzYwAAAVAAAABiZHNjbQAAAbQAAAQY
+ Y3BydAAABcwAAAAjd3RwdAAABfAAAAAUclhZWgAABgQAAAAUZ1hZWgAABhgAAAAUYlhZ
+ WgAABiwAAAAUclRSQwAABkAAAAgMYWFyZwAADkwAAAAgdmNndAAADmwAAAAwbmRpbgAA
+ DpwAAAA+Y2hhZAAADtwAAAAsbW1vZAAADwgAAAAoYlRSQwAABkAAAAgMZ1RSQwAABkAA
+ AAgMYWFiZwAADkwAAAAgYWFnZwAADkwAAAAgZGVzYwAAAAAAAAAIRGlzcGxheQAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAIgAAAAxockhSAAAAFAAA
+ Aahrb0tSAAAADAAAAbxuYk5PAAAAEgAAAchpZAAAAAAAEgAAAdpodUhVAAAAFAAAAexj
+ c0NaAAAAFgAAAgBkYURLAAAAHAAAAhZ1a1VBAAAAHAAAAjJhcgAAAAAAFAAAAk5pdElU
+ AAAAFAAAAmJyb1JPAAAAEgAAAnZubE5MAAAAFgAAAohoZUlMAAAAFgAAAp5lc0VTAAAA
+ EgAAAnZmaUZJAAAAEAAAArR6aFRXAAAADAAAAsR2aVZOAAAADgAAAtBza1NLAAAAFgAA
+ At56aENOAAAADAAAAsRydVJVAAAAJAAAAvRmckZSAAAAFgAAAxhtcwAAAAAAEgAAAy5j
+ YUVTAAAAGAAAA0B0aFRIAAAADAAAA1hlc1hMAAAAEgAAAnZkZURFAAAAEAAAA2RlblVT
+ AAAAEgAAA3RwdEJSAAAAGAAAA4ZwbFBMAAAAEgAAA55lbEdSAAAAIgAAA7BzdlNFAAAA
+ EAAAA9J0clRSAAAAFAAAA+JqYUpQAAAADAAAA/ZwdFBUAAAAFgAABAIATABDAEQAIAB1
+ ACAAYgBvAGoAac7st+wAIABMAEMARABGAGEAcgBnAGUALQBMAEMARABMAEMARAAgAFcA
+ YQByAG4AYQBTAHoA7QBuAGUAcwAgAEwAQwBEAEIAYQByAGUAdgBuAP0AIABMAEMARABM
+ AEMARAAtAGYAYQByAHYAZQBzAGsA5gByAG0EGgQ+BDsETAQ+BEAEPgQyBDgEOQAgAEwA
+ QwBEIA8ATABDAEQAIAZFBkQGSAZGBikATABDAEQAIABjAG8AbABvAHIAaQBMAEMARAAg
+ AGMAbwBsAG8AcgBLAGwAZQB1AHIAZQBuAC0ATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF
+ 4AXZAFYA5AByAGkALQBMAEMARF9pgnIAIABMAEMARABMAEMARAAgAE0A4AB1AEYAYQBy
+ AGUAYgBuAOkAIABMAEMARAQmBDIENQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUE
+ OQBMAEMARAAgAGMAbwB1AGwAZQB1AHIAVwBhAHIAbgBhACAATABDAEQATABDAEQAIABl
+ AG4AIABjAG8AbABvAHIATABDAEQAIA4qDjUARgBhAHIAYgAtAEwAQwBEAEMAbwBsAG8A
+ cgAgAEwAQwBEAEwAQwBEACAAQwBvAGwAbwByAGkAZABvAEsAbwBsAG8AcgAgAEwAQwBE
+ A4gDswPHA8EDyQO8A7cAIAO/A7gDzAO9A7cAIABMAEMARABGAOQAcgBnAC0ATABDAEQA
+ UgBlAG4AawBsAGkAIABMAEMARDCrMOkw/ABMAEMARABMAEMARAAgAGEAIABDAG8AcgBl
+ AHN0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBJbmMuLCAyMDE2AABYWVogAAAAAAAA8xYA
+ AQAAAAEWylhZWiAAAAAAAABxwAAAOYoAAAFnWFlaIAAAAAAAAGEjAAC55gAAE/ZYWVog
+ AAAAAAAAI/IAAAyQAAC90GN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA
+ NgA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCjAKgArQCy
+ ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4B
+ RQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gID
+ AgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUD
+ AAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQt
+ BDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYF
+ pgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdP
+ B2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJ
+ TwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuA
+ C5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgO
+ Ew4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDX
+ EPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UU
+ BhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl
+ F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQb
+ OxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+
+ H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5Qj
+ wiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhx
+ KKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYt
+ qy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMN
+ M0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5
+ BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8h
+ P2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF
+ 3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6
+ TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZU
+ QlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvl
+ XDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk
+ QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yv
+ bQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV1
+ 4XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8j
+ f4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6J
+ M4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NN
+ k7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKe
+ QJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3
+ qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1
+ E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDs
+ wWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXN
+ tc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
+ 2vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56no
+ Mui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe
+ 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//cGFyYQAAAAAAAwAAAAJm
+ ZgAA8qcAAA1ZAAAT0AAACg52Y2d0AAAAAAAAAAEAAQAAAAAAAAABAAAAAQAAAAAAAAAB
+ AAAAAQAAAAAAAAABAABuZGluAAAAAAAAADYAAKdAAABVgAAATMAAAJ7AAAAlgAAADMAA
+ AFAAAABUQAACMzMAAjMzAAIzMwAAAAAAAAAAc2YzMgAAAAAAAQxyAAAF+P//8x0AAAe6
+ AAD9cv//+53///2kAAAD2QAAwHFtbW9kAAAAAAAABhAAAKAiAAAAAM0jgswAAAAAAAAA
+ AAAAAAAAAAAAgATSHB0eH1okY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj
+ HiAhVk5TRGF0YVhOU09iamVjdNIcHSMkXE5TQ29sb3JTcGFjZaIlIVxOU0NvbG9yU3Bh
+ Y2XSHB0nKFdOU0NvbG9yoichXxAPTlNLZXllZEFyY2hpdmVy0SssVHJvb3SAAQAIABEA
+ GgAjAC0AMgA3AD8ARQBQAF0AYwBwAIUAjACsANYA2ADaANwA4QDnAOkA6wDwAPgQLBAu
+ EDMQPhBHEFUQWRBgEGkQbhB7EH4QixCQEJgQmxCtELAQtQAAAAAAAAIBAAAAAAAAAC0A
+ AAAAAAAAAAAAAAAAABC3
+
+ ANSIRedColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECcwLjg2Mjc0NTA5
+ OCAwLjE5NjA3ODQzMTQgMC4xODQzMTM3MjU1IDFPECgwLjgzMDYzMTk3MTQgMC4wOTg0
+ OTQwNjc3OSAwLjExODI1NjUwOTMAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALYA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ ANSIWhiteColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjkzMzMzMzMz
+ MzMgMC45MDk4MDM5MjE2IDAuODM1Mjk0MTE3NiAxTxAnMC45MTcwMzQ4NjQ0IDAuODkx
+ NzcxMzE2NSAwLjc5MzQ0MzkxODIAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ ANSIYellowColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPEBwwLjcwOTgwMzky
+ MTYgMC41MzcyNTQ5MDIgMCAxTxAcMC42NTIzODU5NTAxIDAuNDcxOTQxNTMwNyAwABAB
+ gAKABtIUDRUWVU5TSUNDgAOABdIYDRkaV05TLmRhdGFPEQ8wAAAPMGFwcGwCEAAAbW50
+ clJHQiBYWVogB+AACgAZABcACgA6YWNzcEFQUEwAAAAAQVBQTAAAAAAAAAAAAAAAAAAA
+ AAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAARZGVzYwAAAVAAAABiZHNjbQAAAbQAAAQYY3BydAAABcwAAAAj
+ d3RwdAAABfAAAAAUclhZWgAABgQAAAAUZ1hZWgAABhgAAAAUYlhZWgAABiwAAAAUclRS
+ QwAABkAAAAgMYWFyZwAADkwAAAAgdmNndAAADmwAAAAwbmRpbgAADpwAAAA+Y2hhZAAA
+ DtwAAAAsbW1vZAAADwgAAAAoYlRSQwAABkAAAAgMZ1RSQwAABkAAAAgMYWFiZwAADkwA
+ AAAgYWFnZwAADkwAAAAgZGVzYwAAAAAAAAAIRGlzcGxheQAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAIgAAAAxockhSAAAAFAAAAahrb0tSAAAADAAA
+ AbxuYk5PAAAAEgAAAchpZAAAAAAAEgAAAdpodUhVAAAAFAAAAexjc0NaAAAAFgAAAgBk
+ YURLAAAAHAAAAhZ1a1VBAAAAHAAAAjJhcgAAAAAAFAAAAk5pdElUAAAAFAAAAmJyb1JP
+ AAAAEgAAAnZubE5MAAAAFgAAAohoZUlMAAAAFgAAAp5lc0VTAAAAEgAAAnZmaUZJAAAA
+ EAAAArR6aFRXAAAADAAAAsR2aVZOAAAADgAAAtBza1NLAAAAFgAAAt56aENOAAAADAAA
+ AsRydVJVAAAAJAAAAvRmckZSAAAAFgAAAxhtcwAAAAAAEgAAAy5jYUVTAAAAGAAAA0B0
+ aFRIAAAADAAAA1hlc1hMAAAAEgAAAnZkZURFAAAAEAAAA2RlblVTAAAAEgAAA3RwdEJS
+ AAAAGAAAA4ZwbFBMAAAAEgAAA55lbEdSAAAAIgAAA7BzdlNFAAAAEAAAA9J0clRSAAAA
+ FAAAA+JqYUpQAAAADAAAA/ZwdFBUAAAAFgAABAIATABDAEQAIAB1ACAAYgBvAGoAac7s
+ t+wAIABMAEMARABGAGEAcgBnAGUALQBMAEMARABMAEMARAAgAFcAYQByAG4AYQBTAHoA
+ 7QBuAGUAcwAgAEwAQwBEAEIAYQByAGUAdgBuAP0AIABMAEMARABMAEMARAAtAGYAYQBy
+ AHYAZQBzAGsA5gByAG0EGgQ+BDsETAQ+BEAEPgQyBDgEOQAgAEwAQwBEIA8ATABDAEQA
+ IAZFBkQGSAZGBikATABDAEQAIABjAG8AbABvAHIAaQBMAEMARAAgAGMAbwBsAG8AcgBL
+ AGwAZQB1AHIAZQBuAC0ATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF4AXZAFYA5AByAGkA
+ LQBMAEMARF9pgnIAIABMAEMARABMAEMARAAgAE0A4AB1AEYAYQByAGUAYgBuAOkAIABM
+ AEMARAQmBDIENQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOQBMAEMARAAgAGMA
+ bwB1AGwAZQB1AHIAVwBhAHIAbgBhACAATABDAEQATABDAEQAIABlAG4AIABjAG8AbABv
+ AHIATABDAEQAIA4qDjUARgBhAHIAYgAtAEwAQwBEAEMAbwBsAG8AcgAgAEwAQwBEAEwA
+ QwBEACAAQwBvAGwAbwByAGkAZABvAEsAbwBsAG8AcgAgAEwAQwBEA4gDswPHA8EDyQO8
+ A7cAIAO/A7gDzAO9A7cAIABMAEMARABGAOQAcgBnAC0ATABDAEQAUgBlAG4AawBsAGkA
+ IABMAEMARDCrMOkw/ABMAEMARABMAEMARAAgAGEAIABDAG8AcgBlAHN0ZXh0AAAAAENv
+ cHlyaWdodCBBcHBsZSBJbmMuLCAyMDE2AABYWVogAAAAAAAA8xYAAQAAAAEWylhZWiAA
+ AAAAAABxwAAAOYoAAAFnWFlaIAAAAAAAAGEjAAC55gAAE/ZYWVogAAAAAAAAI/IAAAyQ
+ AAC90GN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANgA7AEAARQBKAE8A
+ VABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCjAKgArQCyALcAvADBAMYAywDQ
+ ANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcB
+ bgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4
+ AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgD
+ QwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+
+ BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYG
+ BgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/
+ B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJ
+ zwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwS
+ DCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsO
+ tg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGM
+ EaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U
+ zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhA
+ GGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIc
+ KhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBB
+ IGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk
+ 2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymd
+ KdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu
+ 7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRl
+ NJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6
+ dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECm
+ QOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVH
+ e0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5u
+ TrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJW
+ D1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J
+ XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedm
+ PWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27E
+ bx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4
+ EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFr
+ gc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCL
+ lov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJ
+ ljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg
+ 2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavp
+ rFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i3
+ 4LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPU
+ xFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQ
+ utE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W
+ 3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr
+ cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4
+ +cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//cGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT
+ 0AAACg52Y2d0AAAAAAAAAAEAAQAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAB
+ AABuZGluAAAAAAAAADYAAKdAAABVgAAATMAAAJ7AAAAlgAAADMAAAFAAAABUQAACMzMA
+ AjMzAAIzMwAAAAAAAAAAc2YzMgAAAAAAAQxyAAAF+P//8x0AAAe6AAD9cv//+53///2k
+ AAAD2QAAwHFtbW9kAAAAAAAABhAAAKAiAAAAAM0jgswAAAAAAAAAAAAAAAAAAAAAgATS
+ HB0eH1okY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGjHiAhVk5TRGF0YVhO
+ U09iamVjdNIcHSMkXE5TQ29sb3JTcGFjZaIlIVxOU0NvbG9yU3BhY2XSHB0nKFdOU0Nv
+ bG9yoichXxAPTlNLZXllZEFyY2hpdmVy0SssVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+ RQBQAF0AYwBwAIUAjACrAMoAzADOANAA1QDbAN0A3wDkAOwQIBAiECcQMhA7EEkQTRBU
+ EF0QYhBvEHIQfxCEEIwQjxChEKQQqQAAAAAAAAIBAAAAAAAAAC0AAAAAAAAAAAAAAAAA
+ ABCr
+
+ BackgroundColor
+
+ YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECYw
+ LjEyNTQ5MDE5NjEgMC4xMzcyNTQ5MDIgMC4xNzI1NDkwMTk2ABABgALSEBESE1okY2xh
+ c3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3RfEA9OU0tleWVkQXJjaGl2
+ ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYouNj5SfqLCzvM7R1gAAAAAAAAEBAAAAAAAA
+ ABkAAAAAAAAAAAAAAAAAAADY
+
+ Bell
+
+ BlinkText
+
+ BookmarkRestorations
+
+ CursorBlink
+
+ CursorColor
+
+ YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjE0NzgyNjUw
+ NDUgMC4xNDkyOTAxMzMyIDAuMTQ5MjkwMTMzMiAxTxAnMC4xMTA5ODY1NzU1IDAuMTEy
+ MDQ2MzkwOCAwLjExMjAyNTE5MzkAEAGAAoAG0xQVDRYXGFROU0lEVU5TSUNDEAeAA4AF
+ 0hoNGxxXTlMuZGF0YU8RDEgAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAx
+ AABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0
+ AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAAC
+ GAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAA
+ AIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0
+ ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0
+ AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVz
+ YwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2
+ LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAA
+ AABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2
+ z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBo
+ dHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNv
+ bG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQg
+ UkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAA
+ AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAA
+ AAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0y
+ LjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPt
+ zAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAA
+ AAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8A
+ FAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQ
+ AJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMB
+ GQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ
+ AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwC
+ tgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPT
+ A+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsF
+ OgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbR
+ BuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoI
+ vgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrc
+ CvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUAN
+ Wg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJ
+ ECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMT
+ IxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZs
+ Fo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQa
+ KhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4W
+ HkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUi
+ giKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcY
+ J0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUs
+ OSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGC
+ Mbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3
+ YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h
+ PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BE
+ A0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrE
+ SwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZS
+ MVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4
+ WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh
+ 9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpI
+ ap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFz
+ XXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyB
+ fOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6G
+ cobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBu
+ kNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWb
+ QpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYa
+ poum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx
+ 1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2P
+ vgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnK
+ OMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY
+ 11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vk
+ c+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/
+ 8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//+A
+ BNIeHyAhWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNNdXRhYmxlRGF0YaMgIiNWTlNEYXRh
+ WE5TT2JqZWN00h4fJSZcTlNDb2xvclNwYWNloicjXE5TQ29sb3JTcGFjZdIeHykqV05T
+ Q29sb3KiKSNfEA9OU0tleWVkQXJjaGl2ZXLRLS5Ucm9vdIABAAgAEQAaACMALQAyADcA
+ PwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDuAPMA+QD7AP0A/wEEAQwNWA1aDV8Nag1z
+ DYENhQ2MDZUNmg2nDaoNtw28DcQNxw3ZDdwN4QAAAAAAAAIBAAAAAAAAAC8AAAAAAAAA
+ AAAAAAAAAA3j
+
+ CursorType
+ 2
+ Font
+
+ YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QVk5TU2l6ZVhOU2ZGbGFnc1ZOU05hbWVWJGNs
+ YXNzI0AqAAAAAAAAEBCAAoADXxAaU2F1Y2VDb2RlUG93ZXJsaW5lLVJlZ3VsYXLSExQV
+ FlokY2xhc3NuYW1lWCRjbGFzc2VzVk5TRm9udKIVF1hOU09iamVjdF8QD05TS2V5ZWRB
+ cmNoaXZlctEaG1Ryb290gAEIERojLTI3PEJLUltiaXJ0dniVmqWutbjB09bbAAAAAAAA
+ AQEAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAN0=
+
+ FontAntialias
+
+ ProfileCurrentVersion
+ 2.0499999999999998
+ SelectionColor
+
+ YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcw
+ LjE2NzAwMTYxMTYgMC4xODA4MDM3ODI5IDAuMjMwMTMwNTUzMgAQAYAC0hAREhNaJGNs
+ YXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp
+ dmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA
+ AAAZAAAAAAAAAAAAAAAAAAAA2Q==
+
+ ShowActiveProcessArgumentsInTitle
+
+ ShowActiveProcessInTabTitle
+
+ ShowActiveProcessInTitle
+
+ ShowComponentsWhenTabHasCustomTitle
+
+ ShowDimensionsInTitle
+
+ ShowRepresentedURLPathInTabTitle
+
+ ShowShellCommandInTitle
+
+ ShowTTYNameInTitle
+
+ TextBoldColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECgwLjk3MjU0OTAx
+ OTYgMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5NiAxTxAnMC45NjUzMzU5MDU2IDAuOTY1
+ NTIxMzM1NiAwLjk2NTMwNDk3MDcAEAGAAoAG0hQNFRZVTlNJQ0OAA4AF0hgNGRpXTlMu
+ ZGF0YU8RDzAAAA8wYXBwbAIQAABtbnRyUkdCIFhZWiAH4AAKABkAFwAKADphY3NwQVBQ
+ TAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJk
+ c2NtAAABtAAABBhjcHJ0AAAFzAAAACN3dHB0AAAF8AAAABRyWFlaAAAGBAAAABRnWFla
+ AAAGGAAAABRiWFlaAAAGLAAAABRyVFJDAAAGQAAACAxhYXJnAAAOTAAAACB2Y2d0AAAO
+ bAAAADBuZGluAAAOnAAAAD5jaGFkAAAO3AAAACxtbW9kAAAPCAAAAChiVFJDAAAGQAAA
+ CAxnVFJDAAAGQAAACAxhYWJnAAAOTAAAACBhYWdnAAAOTAAAACBkZXNjAAAAAAAAAAhE
+ aXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAiAAAA
+ DGhySFIAAAAUAAABqGtvS1IAAAAMAAABvG5iTk8AAAASAAAByGlkAAAAAAASAAAB2mh1
+ SFUAAAAUAAAB7GNzQ1oAAAAWAAACAGRhREsAAAAcAAACFnVrVUEAAAAcAAACMmFyAAAA
+ AAAUAAACTml0SVQAAAAUAAACYnJvUk8AAAASAAACdm5sTkwAAAAWAAACiGhlSUwAAAAW
+ AAACnmVzRVMAAAASAAACdmZpRkkAAAAQAAACtHpoVFcAAAAMAAACxHZpVk4AAAAOAAAC
+ 0HNrU0sAAAAWAAAC3npoQ04AAAAMAAACxHJ1UlUAAAAkAAAC9GZyRlIAAAAWAAADGG1z
+ AAAAAAASAAADLmNhRVMAAAAYAAADQHRoVEgAAAAMAAADWGVzWEwAAAASAAACdmRlREUA
+ AAAQAAADZGVuVVMAAAASAAADdHB0QlIAAAAYAAADhnBsUEwAAAASAAADnmVsR1IAAAAi
+ AAADsHN2U0UAAAAQAAAD0nRyVFIAAAAUAAAD4mphSlAAAAAMAAAD9nB0UFQAAAAWAAAE
+ AgBMAEMARAAgAHUAIABiAG8AagBpzuy37AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBE
+ AEwAQwBEACAAVwBhAHIAbgBhAFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A
+ /QAgAEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+
+ BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8A
+ cgBpAEwAQwBEACAAYwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBE
+ ACAF5gXRBeIF1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAA
+ TQDgAHUARgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0
+ BDgEQQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+ RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0ATABD
+ AEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwA
+ bwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5ABy
+ AGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8AEwAQwBEAEwAQwBEACAA
+ YQAgAEMAbwByAGUAc3RleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTYAAFhZ
+ WiAAAAAAAADzFgABAAAAARbKWFlaIAAAAAAAAHHAAAA5igAAAWdYWVogAAAAAAAAYSMA
+ ALnmAAAT9lhZWiAAAAAAAAAj8gAADJAAAL3QY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
+ AB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUA
+ mgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
+ ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB
+ 2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB
+ AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
+ 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
+ BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG
+ 9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS
+ COcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvML
+ CwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10
+ DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQ
+ QxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxND
+ E2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W
+ shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpR
+ GncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAe
+ ah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv
+ It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kn
+ eierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
+ LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
+ 8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec
+ N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE9
+ 4D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH
+ RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxL
+ U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+ UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4Wgda
+ VlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ
+ Ypxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q
+ 92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4
+ dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9
+ QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobX
+ hzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR
+ P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv
+ nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum
+ /adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
+ ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+
+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3
+ yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
+ 4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
+ 5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozz
+ GfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJh
+ AAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKDnZjZ3QAAAAAAAAAAQABAAAAAAAAAAEA
+ AAABAAAAAAAAAAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAAp0AAAFWAAABMwAAA
+ nsAAACWAAAAMwAAAUAAAAFRAAAIzMwACMzMAAjMzAAAAAAAAAABzZjMyAAAAAAABDHIA
+ AAX4///zHQAAB7oAAP1y///7nf///aQAAAPZAADAcW1tb2QAAAAAAAAGEAAAoCIAAAAA
+ zSOCzAAAAAAAAAAAAAAAAAAAAACABNIcHR4fWiRjbGFzc25hbWVYJGNsYXNzZXNdTlNN
+ dXRhYmxlRGF0YaMeICFWTlNEYXRhWE5TT2JqZWN00hwdIyRcTlNDb2xvclNwYWNloiUh
+ XE5TQ29sb3JTcGFjZdIcHScoV05TQ29sb3KiJyFfEA9OU0tleWVkQXJjaGl2ZXLRKyxU
+ cm9vdIABAAgAEQAaACMALQAyADcAPwBFAFAAXQBjAHAAhQCMALcA4QDjAOUA5wDsAPIA
+ 9AD2APsBAxA3EDkQPhBJEFIQYBBkEGsQdBB5EIYQiRCWEJsQoxCmELgQuxDAAAAAAAAA
+ AgEAAAAAAAAALQAAAAAAAAAAAAAAAAAAEMI=
+
+ TextColor
+
+ YnBsaXN0MDDUAQIDBAUGKSpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
+ AAGGoKcHCBMXGyImVSRudWxs1QkKCwwNDg8QERJcTlNDb21wb25lbnRzVU5TUkdCXE5T
+ Q29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NPECcwLjkzNzI1NDkw
+ MiAwLjk0MTE3NjQ3MDYgMC45MjE1Njg2Mjc1IDFPECcwLjkyMTUxNjQxODUgMC45Mjc4
+ NTc1Nzc4IDAuOTAxMTA2ODM0NAAQAYACgAbSFA0VFlVOU0lDQ4ADgAXSGA0ZGldOUy5k
+ YXRhTxEPMAAADzBhcHBsAhAAAG1udHJSR0IgWFlaIAfgAAoAGQAXAAoAOmFjc3BBUFBM
+ AAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRlc2MAAAFQAAAAYmRz
+ Y20AAAG0AAAEGGNwcnQAAAXMAAAAI3d0cHQAAAXwAAAAFHJYWVoAAAYEAAAAFGdYWVoA
+ AAYYAAAAFGJYWVoAAAYsAAAAFHJUUkMAAAZAAAAIDGFhcmcAAA5MAAAAIHZjZ3QAAA5s
+ AAAAMG5kaW4AAA6cAAAAPmNoYWQAAA7cAAAALG1tb2QAAA8IAAAAKGJUUkMAAAZAAAAI
+ DGdUUkMAAAZAAAAIDGFhYmcAAA5MAAAAIGFhZ2cAAA5MAAAAIGRlc2MAAAAAAAAACERp
+ c3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAACIAAAAM
+ aHJIUgAAABQAAAGoa29LUgAAAAwAAAG8bmJOTwAAABIAAAHIaWQAAAAAABIAAAHaaHVI
+ VQAAABQAAAHsY3NDWgAAABYAAAIAZGFESwAAABwAAAIWdWtVQQAAABwAAAIyYXIAAAAA
+ ABQAAAJOaXRJVAAAABQAAAJicm9STwAAABIAAAJ2bmxOTAAAABYAAAKIaGVJTAAAABYA
+ AAKeZXNFUwAAABIAAAJ2ZmlGSQAAABAAAAK0emhUVwAAAAwAAALEdmlWTgAAAA4AAALQ
+ c2tTSwAAABYAAALeemhDTgAAAAwAAALEcnVSVQAAACQAAAL0ZnJGUgAAABYAAAMYbXMA
+ AAAAABIAAAMuY2FFUwAAABgAAANAdGhUSAAAAAwAAANYZXNYTAAAABIAAAJ2ZGVERQAA
+ ABAAAANkZW5VUwAAABIAAAN0cHRCUgAAABgAAAOGcGxQTAAAABIAAAOeZWxHUgAAACIA
+ AAOwc3ZTRQAAABAAAAPSdHJUUgAAABQAAAPiamFKUAAAAAwAAAP2cHRQVAAAABYAAAQC
+ AEwAQwBEACAAdQAgAGIAbwBqAGnO7LfsACAATABDAEQARgBhAHIAZwBlAC0ATABDAEQA
+ TABDAEQAIABXAGEAcgBuAGEAUwB6AO0AbgBlAHMAIABMAEMARABCAGEAcgBlAHYAbgD9
+ ACAATABDAEQATABDAEQALQBmAGEAcgB2AGUAcwBrAOYAcgBtBBoEPgQ7BEwEPgRABD4E
+ MgQ4BDkAIABMAEMARCAPAEwAQwBEACAGRQZEBkgGRgYpAEwAQwBEACAAYwBvAGwAbwBy
+ AGkATABDAEQAIABjAG8AbABvAHIASwBsAGUAdQByAGUAbgAtAEwAQwBEIA8ATABDAEQA
+ IAXmBdEF4gXVBeAF2QBWAOQAcgBpAC0ATABDAERfaYJyACAATABDAEQATABDAEQAIABN
+ AOAAdQBGAGEAcgBlAGIAbgDpACAATABDAEQEJgQyBDUEQgQ9BD4EOQAgBBYEGgAtBDQE
+ OARBBD8EOwQ1BDkATABDAEQAIABjAG8AdQBsAGUAdQByAFcAYQByAG4AYQAgAEwAQwBE
+ AEwAQwBEACAAZQBuACAAYwBvAGwAbwByAEwAQwBEACAOKg41AEYAYQByAGIALQBMAEMA
+ RABDAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMAbwBsAG8AcgBpAGQAbwBLAG8AbABv
+ AHIAIABMAEMARAOIA7MDxwPBA8kDvAO3ACADvwO4A8wDvQO3ACAATABDAEQARgDkAHIA
+ ZwAtAEwAQwBEAFIAZQBuAGsAbABpACAATABDAEQwqzDpMPwATABDAEQATABDAEQAIABh
+ ACAAQwBvAHIAZQBzdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUgSW5jLiwgMjAxNgAAWFla
+ IAAAAAAAAPMWAAEAAAABFspYWVogAAAAAAAAccAAADmKAAABZ1hZWiAAAAAAAABhIwAA
+ ueYAABP2WFlaIAAAAAAAACPyAAAMkAAAvdBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkA
+ HgAjACgALQAyADYAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa
+ AJ8AowCoAK0AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8B
+ JQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZ
+ AeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsEC
+ ywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+ A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkF
+ WAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
+ BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII
+ 5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsL
+ CyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQN
+ jg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD
+ EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MT
+ YxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxay
+ FtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+ dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
+ HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i
+ 3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6
+ J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4s
+ oizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHy
+ MioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w3
+ 1zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g
+ PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdE
+ ikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+ S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxS
+ x1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pW
+ WqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1Ykli
+ nGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3
+ a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0
+ FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1B
+ faF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH
+ O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
+ kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+ HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9
+ p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuy
+ wrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6E
+ vv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfL
+ Nsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg
+ 2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+ hOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ
+ 86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//3BhcmEA
+ AAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAAoOdmNndAAAAAAAAAABAAEAAAAAAAAAAQAA
+ AAEAAAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAA2AACnQAAAVYAAAEzAAACe
+ wAAAJYAAAAzAAABQAAAAVEAAAjMzAAIzMwACMzMAAAAAAAAAAHNmMzIAAAAAAAEMcgAA
+ Bfj///MdAAAHugAA/XL///ud///9pAAAA9kAAMBxbW1vZAAAAAAAAAYQAACgIgAAAADN
+ I4LMAAAAAAAAAAAAAAAAAAAAAIAE0hwdHh9aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011
+ dGFibGVEYXRhox4gIVZOU0RhdGFYTlNPYmplY3TSHB0jJFxOU0NvbG9yU3BhY2WiJSFc
+ TlNDb2xvclNwYWNl0hwdJyhXTlNDb2xvcqInIV8QD05TS2V5ZWRBcmNoaXZlctErLFRy
+ b290gAEACAARABoAIwAtADIANwA/AEUAUABdAGMAcACFAIwAtgDgAOIA5ADmAOsA8QDz
+ APUA+gECEDYQOBA9EEgQURBfEGMQahBzEHgQhRCIEJUQmhCiEKUQtxC6EL8AAAAAAAAC
+ AQAAAAAAAAAtAAAAAAAAAAAAAAAAAAAQwQ==
+
+ UseBrightBold
+
+ columnCount
+ 120
+ name
+ Michi_terminal
+ rowCount
+ 30
+ shellExitAction
+ 0
+ type
+ Window Settings
+ useOptionAsMetaKey
+
+
+
diff --git a/vim/colors/PaperColor.vim b/vim/colors/PaperColor.vim
deleted file mode 100644
index 1cab272..0000000
--- a/vim/colors/PaperColor.vim
+++ /dev/null
@@ -1,2090 +0,0 @@
-" Theme: PaperColor
-" Author: Nikyle Nguyen
-" License: MIT
-" Source: http://github.com/NLKNguyen/papercolor-theme
-
-
-" Note on navigating this source code:
-" - Use folding feature to collapse/uncollapse blocks of marked code
-" zM to fold all markers in this file to see the structure of the source code
-" zR to unfold all recursively
-" za to toggle a fold
-" See: http://vim.wikia.com/wiki/Folding
-" - The main section where functions are actually called is located at the end.
-" - The first section right after this note is where themes are defined. Theme
-" designers only need to work on this section.
-
-" THEMES: {{{
-
-let s:themes = {}
-
-" Theme name should be lowercase
-let s:themes['default'] = {
- \ 'maintainer' : 'Nikyle Nguyen',
- \ 'description' : 'Original PaperColor Theme, inspired by Google Material Design'
- \ }
-
-" Theme can have 'light' and/or 'dark' color palette.
-" Color values can be HEX and/or 256-color. Use empty string '' if not provided.
-" Only color00 -> color15 are required. The rest are optional.
-let s:themes['default'].light = {
- \ 'TEST_256_COLOR_CONSISTENCY' : 1,
- \ 'palette' : {
- \ 'color00' : ['#eeeeee', '255'],
- \ 'color01' : ['#af0000', '124'],
- \ 'color02' : ['#008700', '28'],
- \ 'color03' : ['#5f8700', '64'],
- \ 'color04' : ['#0087af', '31'],
- \ 'color05' : ['#878787', '102'],
- \ 'color06' : ['#005f87', '24'],
- \ 'color07' : ['#444444', '238'],
- \ 'color08' : ['#bcbcbc', '250'],
- \ 'color09' : ['#d70000', '160'],
- \ 'color10' : ['#d70087', '162'],
- \ 'color11' : ['#8700af', '91'],
- \ 'color12' : ['#d75f00', '166'],
- \ 'color13' : ['#d75f00', '166'],
- \ 'color14' : ['#005faf', '25'],
- \ 'color15' : ['#005f87', '24'],
- \ 'color16' : ['#0087af', '31'],
- \ 'color17' : ['#008700', '28'],
- \ 'cursor_fg' : ['#eeeeee', '255'],
- \ 'cursor_bg' : ['#005f87', '24'],
- \ 'cursorline' : ['#e4e4e4', '254'],
- \ 'cursorcolumn' : ['#e4e4e4', '254'],
- \ 'cursorlinenr_fg' : ['#af5f00', '130'],
- \ 'cursorlinenr_bg' : ['#eeeeee', '255'],
- \ 'popupmenu_fg' : ['#444444', '238'],
- \ 'popupmenu_bg' : ['#d0d0d0', '252'],
- \ 'search_fg' : ['#444444', '238'],
- \ 'search_bg' : ['#ffff5f', '227'],
- \ 'linenumber_fg' : ['#b2b2b2', '249'],
- \ 'linenumber_bg' : ['#eeeeee', '255'],
- \ 'vertsplit_fg' : ['#005f87', '24'],
- \ 'vertsplit_bg' : ['#eeeeee', '255'],
- \ 'statusline_active_fg' : ['#e4e4e4', '254'],
- \ 'statusline_active_bg' : ['#005f87', '24'],
- \ 'statusline_inactive_fg' : ['#444444', '238'],
- \ 'statusline_inactive_bg' : ['#d0d0d0', '252'],
- \ 'todo_fg' : ['#00af5f', '35'],
- \ 'todo_bg' : ['#eeeeee', '255'],
- \ 'error_fg' : ['#af0000', '124'],
- \ 'error_bg' : ['#ffd7ff', '225'],
- \ 'matchparen_bg' : ['#c6c6c6', '251'],
- \ 'matchparen_fg' : ['#005f87', '24'],
- \ 'visual_fg' : ['#eeeeee', '255'],
- \ 'visual_bg' : ['#0087af', '31'],
- \ 'folded_fg' : ['#0087af', '31'],
- \ 'folded_bg' : ['#afd7ff', '153'],
- \ 'wildmenu_fg': ['#444444', '238'],
- \ 'wildmenu_bg': ['#ffff00', '226'],
- \ 'spellbad': ['#ffafd7', '218'],
- \ 'spellcap': ['#ffffaf', '229'],
- \ 'spellrare': ['#afff87', '156'],
- \ 'spelllocal': ['#d7d7ff', '189'],
- \ 'diffadd_fg': ['#008700', '28'],
- \ 'diffadd_bg': ['#afffaf', '157'],
- \ 'diffdelete_fg': ['#af0000', '124'],
- \ 'diffdelete_bg': ['#ffd7ff', '225'],
- \ 'difftext_fg': ['#0087af', '31'],
- \ 'difftext_bg': ['#ffffd7', '230'],
- \ 'diffchange_fg': ['#444444', '238'],
- \ 'diffchange_bg': ['#ffd787', '222'],
- \ 'tabline_bg': ['#005f87', '24'],
- \ 'tabline_active_fg': ['#444444', '238'],
- \ 'tabline_active_bg': ['#e4e4e4', '254'],
- \ 'tabline_inactive_fg': ['#eeeeee', '255'],
- \ 'tabline_inactive_bg': ['#0087af', '31'],
- \ 'buftabline_bg': ['#005f87', '24'],
- \ 'buftabline_current_fg': ['#444444', '238'],
- \ 'buftabline_current_bg': ['#e4e4e4', '254'],
- \ 'buftabline_active_fg': ['#eeeeee', '255'],
- \ 'buftabline_active_bg': ['#005faf', '25'],
- \ 'buftabline_inactive_fg': ['#eeeeee', '255'],
- \ 'buftabline_inactive_bg': ['#0087af', '31']
- \ }
- \ }
-
-let s:themes['default'].dark = {
- \ 'TEST_256_COLOR_CONSISTENCY' : 1,
- \ 'palette' : {
- \ 'color00' : ['#1c1c1c', '234'],
- \ 'color01' : ['#af005f', '125'],
- \ 'color02' : ['#5faf00', '70'],
- \ 'color03' : ['#d7af5f', '179'],
- \ 'color04' : ['#5fafd7', '74'],
- \ 'color05' : ['#808080', '244'],
- \ 'color06' : ['#d7875f', '173'],
- \ 'color07' : ['#d0d0d0', '252'],
- \ 'color08' : ['#585858', '240'],
- \ 'color09' : ['#5faf5f', '71'],
- \ 'color10' : ['#afd700', '148'],
- \ 'color11' : ['#af87d7', '140'],
- \ 'color12' : ['#ffaf00', '214'],
- \ 'color13' : ['#ff5faf', '205'],
- \ 'color14' : ['#00afaf', '37'],
- \ 'color15' : ['#5f8787', '66'],
- \ 'color16' : ['#5fafd7', '74'],
- \ 'color17' : ['#d7af00', '178'],
- \ 'cursor_fg' : ['#1c1c1c', '234'],
- \ 'cursor_bg' : ['#c6c6c6', '251'],
- \ 'cursorline' : ['#303030', '236'],
- \ 'cursorcolumn' : ['#303030', '236'],
- \ 'cursorlinenr_fg' : ['#ffff00', '226'],
- \ 'cursorlinenr_bg' : ['#1c1c1c', '234'],
- \ 'popupmenu_fg' : ['#c6c6c6', '251'],
- \ 'popupmenu_bg' : ['#303030', '236'],
- \ 'search_fg' : ['#000000', '16'],
- \ 'search_bg' : ['#00875f', '29'],
- \ 'linenumber_fg' : ['#585858', '240'],
- \ 'linenumber_bg' : ['#1c1c1c', '234'],
- \ 'vertsplit_fg' : ['#5f8787', '66'],
- \ 'vertsplit_bg' : ['#1c1c1c', '234'],
- \ 'statusline_active_fg' : ['#1c1c1c', '234'],
- \ 'statusline_active_bg' : ['#5f8787', '66'],
- \ 'statusline_inactive_fg' : ['#bcbcbc', '250'],
- \ 'statusline_inactive_bg' : ['#3a3a3a', '237'],
- \ 'todo_fg' : ['#ff8700', '208'],
- \ 'todo_bg' : ['#1c1c1c', '234'],
- \ 'error_fg' : ['#af005f', '125'],
- \ 'error_bg' : ['#5f0000', '52'],
- \ 'matchparen_bg' : ['#4e4e4e', '239'],
- \ 'matchparen_fg' : ['#c6c6c6', '251'],
- \ 'visual_fg' : ['#000000', '16'],
- \ 'visual_bg' : ['#8787af', '103'],
- \ 'folded_fg' : ['#d787ff', '177'],
- \ 'folded_bg' : ['#5f005f', '53'],
- \ 'wildmenu_fg': ['#1c1c1c', '234'],
- \ 'wildmenu_bg': ['#afd700', '148'],
- \ 'tabline_bg': ['#262626', '235'],
- \ 'tabline_active_fg': ['#121212', '233'],
- \ 'tabline_active_bg': ['#00afaf', '37'],
- \ 'tabline_inactive_fg': ['#bcbcbc', '250'],
- \ 'tabline_inactive_bg': ['#585858', '240'],
- \ 'spellbad': ['#5f0000', '52'],
- \ 'spellcap': ['#5f005f', '53'],
- \ 'spellrare': ['#005f00', '22'],
- \ 'spelllocal': ['#00005f', '17'],
- \ 'diffadd_fg': ['#87d700', '112'],
- \ 'diffadd_bg': ['#005f00', '22'],
- \ 'diffdelete_fg': ['#af005f', '125'],
- \ 'diffdelete_bg': ['#5f0000', '52'],
- \ 'difftext_fg': ['#5fffff', '87'],
- \ 'difftext_bg': ['#008787', '30'],
- \ 'diffchange_fg': ['#d0d0d0', '252'],
- \ 'diffchange_bg': ['#005f5f', '23']
- \ }
- \ }
-
-" }}}
-
-" Get Selected Theme: {{{
-
-let s:theme_name = 'default'
-if exists("g:PaperColor_Theme") && has_key(s:themes, tolower(g:PaperColor_Theme))
- let s:theme_name = tolower(g:PaperColor_Theme)
-endif
-let s:selected_theme = s:themes[s:theme_name]
-" }}}
-
-" Get Theme Variant: either dark or light {{{
-let s:is_dark=(&background == 'dark')
-
-if s:is_dark
- if has_key(s:selected_theme, 'dark')
- let s:palette = s:selected_theme['dark'].palette
- else " in case the theme only provides the other variant
- let s:palette = s:selected_theme['light'].palette
- endif
-
-else " is light background
- if has_key(s:selected_theme, 'light')
- let s:palette = s:selected_theme['light'].palette
- else " in case the theme only provides the other variant
- let s:palette = s:selected_theme['dark'].palette
- endif
-endif
-" }}}
-
-" Systematic User-Config Options: {{{
-" Example config in .vimrc
-" let g:PaperColor_Theme_Options = {
-" \ 'theme': {
-" \ 'default': {
-" \ 'allow_bold': 1,
-" \ 'allow_italic': 0,
-" \ 'transparent_background': 1
-" \ }
-" \ },
-" \ 'language': {
-" \ 'python': {
-" \ 'highlight_builtins' : 1
-" \ },
-" \ 'c': {
-" \ 'highlight_builtins' : 1
-" \ },
-" \ 'cpp': {
-" \ 'highlight_standard_library': 1
-" \ }
-" \ }
-" \ }
-"
-let s:options = {}
-if exists("g:PaperColor_Theme_Options")
- let s:options = g:PaperColor_Theme_Options
-endif
-
-" }}}
-
-" Theme Options: {{{
-" Part of user-config options
-let s:theme_options = {}
-if has_key(s:options, 'theme')
- let s:theme_options = s:options['theme']
-endif
-
-
-" Function to obtain theme option for the current theme
-" @param option - string
-" @return the value of that option if specified; empty string otherwise
-" Example: s:Theme_Options('transparent_background')
-" returns 1 if there is an option for current theme in `theme` section in
-" g:PaperColor_Theme_Options such as:
-" 'theme': {
-" \ 'default': {
-" \ 'transparent_background': 1
-" \ }
-" }
-" OR it could specify for the exact light or dark variant of the theme,
-" which will take higher precedence for the current theme variant
-" 'theme': {
-" \ 'default': {
-" \ 'transparent_background': 0
-" \ },
-" \ 'default.light': {
-" \ 'transparent_background': 1
-" \ }
-" }
-fun! s:Theme_Options(option)
- let l:value = ''
-
- let l:variant = 'light'
- if s:is_dark
- let l:variant = 'dark'
- endif
- let l:specific_theme_variant = s:theme_name . '.' . l:variant
-
- if has_key(s:theme_options, l:specific_theme_variant)
- let l:theme_option = s:theme_options[l:specific_theme_variant]
- if has_key(l:theme_option, a:option)
- let l:value = l:theme_option[a:option]
- endif
- elseif has_key(s:theme_options, s:theme_name)
- let l:theme_option = s:theme_options[s:theme_name]
- if has_key(l:theme_option, a:option)
- let l:value = l:theme_option[a:option]
- endif
- endif
-
- return l:value
-endfun
-
-" These options will be checked at many place so better be cached to variables
-let s:TRANSPARENT_BACKGROUND = s:Theme_Options('transparent_background') == 1
-
-
-" }}}
-
-" Language Options: {{{
-" Part of user-config options
-let s:language_options = {}
-if has_key(s:options, 'language')
- let s:language_options = s:options['language']
-endif
-
-" Function to obtain a language option
-" @param option - string pattern [language].[option]
-" @param value - number or string
-" @return the option value if it is provided; empty string otherwise
-" Example: s:Language_Options('python.highlight_builtins', 1)
-" returns 1 if there is an option in `language` section in
-" g:PaperColor_Theme_Options such as:
-" 'language': {
-" \ 'python': {
-" \ 'highlight_builtins': 1
-" \ }
-" }
-fun! s:Language_Options(option)
- let l:parts = split(a:option, "\\.")
- let l:language = l:parts[0]
- let l:option = l:parts[1]
-
- if has_key(s:language_options, l:language)
- let l:language_option = s:language_options[l:language]
- if has_key(l:language_option, l:option)
- return l:language_option[l:option]
- endif
- endif
-
- return ''
-endfun
-
-" }}}
-
-
-
-" HEX TO 256-COLOR CONVERTER: {{{
-" Returns an approximate grey index for the given grey level
-fun! s:grey_number(x)
- if &t_Co == 88
- if a:x < 23
- return 0
- elseif a:x < 69
- return 1
- elseif a:x < 103
- return 2
- elseif a:x < 127
- return 3
- elseif a:x < 150
- return 4
- elseif a:x < 173
- return 5
- elseif a:x < 196
- return 6
- elseif a:x < 219
- return 7
- elseif a:x < 243
- return 8
- else
- return 9
- endif
- else
- if a:x < 14
- return 0
- else
- let l:n = (a:x - 8) / 10
- let l:m = (a:x - 8) % 10
- if l:m < 5
- return l:n
- else
- return l:n + 1
- endif
- endif
- endif
-endfun
-
-" Returns the actual grey level represented by the grey index
-fun! s:grey_level(n)
- if &t_Co == 88
- if a:n == 0
- return 0
- elseif a:n == 1
- return 46
- elseif a:n == 2
- return 92
- elseif a:n == 3
- return 115
- elseif a:n == 4
- return 139
- elseif a:n == 5
- return 162
- elseif a:n == 6
- return 185
- elseif a:n == 7
- return 208
- elseif a:n == 8
- return 231
- else
- return 255
- endif
- else
- if a:n == 0
- return 0
- else
- return 8 + (a:n * 10)
- endif
- endif
-endfun
-
-" Returns the palette index for the given grey index
-fun! s:grey_colour(n)
- if &t_Co == 88
- if a:n == 0
- return 16
- elseif a:n == 9
- return 79
- else
- return 79 + a:n
- endif
- else
- if a:n == 0
- return 16
- elseif a:n == 25
- return 231
- else
- return 231 + a:n
- endif
- endif
-endfun
-
-" Returns an approximate colour index for the given colour level
-fun! s:rgb_number(x)
- if &t_Co == 88
- if a:x < 69
- return 0
- elseif a:x < 172
- return 1
- elseif a:x < 230
- return 2
- else
- return 3
- endif
- else
- if a:x < 75
- return 0
- else
- let l:n = (a:x - 55) / 40
- let l:m = (a:x - 55) % 40
- if l:m < 20
- return l:n
- else
- return l:n + 1
- endif
- endif
- endif
-endfun
-
-" Returns the actual colour level for the given colour index
-fun! s:rgb_level(n)
- if &t_Co == 88
- if a:n == 0
- return 0
- elseif a:n == 1
- return 139
- elseif a:n == 2
- return 205
- else
- return 255
- endif
- else
- if a:n == 0
- return 0
- else
- return 55 + (a:n * 40)
- endif
- endif
-endfun
-
-" Returns the palette index for the given R/G/B colour indices
-fun! s:rgb_colour(x, y, z)
- if &t_Co == 88
- return 16 + (a:x * 16) + (a:y * 4) + a:z
- else
- return 16 + (a:x * 36) + (a:y * 6) + a:z
- endif
-endfun
-
-" Returns the palette index to approximate the given R/G/B colour levels
-fun! s:colour(r, g, b)
- " Get the closest grey
- let l:gx = s:grey_number(a:r)
- let l:gy = s:grey_number(a:g)
- let l:gz = s:grey_number(a:b)
-
- " Get the closest colour
- let l:x = s:rgb_number(a:r)
- let l:y = s:rgb_number(a:g)
- let l:z = s:rgb_number(a:b)
-
- if l:gx == l:gy && l:gy == l:gz
- " There are two possibilities
- let l:dgr = s:grey_level(l:gx) - a:r
- let l:dgg = s:grey_level(l:gy) - a:g
- let l:dgb = s:grey_level(l:gz) - a:b
- let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
- let l:dr = s:rgb_level(l:gx) - a:r
- let l:dg = s:rgb_level(l:gy) - a:g
- let l:db = s:rgb_level(l:gz) - a:b
- let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
- if l:dgrey < l:drgb
- " Use the grey
- return s:grey_colour(l:gx)
- else
- " Use the colour
- return s:rgb_colour(l:x, l:y, l:z)
- endif
- else
- " Only one possibility
- return s:rgb_colour(l:x, l:y, l:z)
- endif
-endfun
-
-" Returns the palette index to approximate the '#rrggbb' hex string
-fun! s:to_256(rgb)
- let l:r = ("0x" . strpart(a:rgb, 1, 2)) + 0
- let l:g = ("0x" . strpart(a:rgb, 3, 2)) + 0
- let l:b = ("0x" . strpart(a:rgb, 5, 2)) + 0
-
- return s:colour(l:r, l:g, l:b)
-endfun
-
-" Sets the highlighting for the given group
-fun! s:HL(group, fg, bg, attr)
- let l:command = "hi " . a:group
-
- let l:highlight = ''
- if s:mode == s:MODE_TRUE_COLOR " GUI VIM
-
- if !empty(a:fg)
- let l:highlight .= " guifg=" . a:fg[0]
- endif
- if !empty(a:bg)
- let l:highlight .= " guibg=" . a:bg[0]
- endif
- if a:attr != ""
- let l:highlight .= " gui=" . a:attr
- endif
-
- if !empty(a:fg)
- let l:highlight .= " ctermfg=" . a:fg[1]
- endif
- if !empty(a:bg)
- let l:highlight .= " ctermbg=" . a:bg[1]
- endif
- if a:attr != ""
- let l:highlight .= " cterm=" . a:attr
- endif
-
- elseif s:mode == s:MODE_256_COLOR " 256-color Terminal
-
- if !empty(a:fg)
- let l:highlight .= " ctermfg=" . a:fg[1]
- endif
- if !empty(a:bg)
- let l:highlight .= " ctermbg=" . a:bg[1]
- endif
- if a:attr != ""
- let l:highlight .= " cterm=" . a:attr
- endif
-
- elseif s:mode == s:MODE_TRUE_OR_256_COLOR
-
- if !empty(a:fg)
- let l:highlight .= " guifg=" . a:fg[0]
- endif
- if !empty(a:bg)
- let l:highlight .= " guibg=" . a:bg[0]
- endif
- if a:attr != ""
- let l:highlight .= " gui=" . a:attr
- endif
-
- if !empty(a:fg)
- let l:highlight .= " ctermfg=" . a:fg[1]
- endif
- if !empty(a:bg)
- let l:highlight .= " ctermbg=" . a:bg[1]
- endif
- if a:attr != ""
- let l:highlight .= " cterm=" . a:attr
- endif
-
- else " 16-color Terminal
-
- if !empty(a:fg)
- let l:highlight .= " ctermfg=" . a:fg[2]
- endif
- if !empty(a:bg)
- let l:highlight .= " ctermbg=" . a:bg[2]
- endif
- if a:attr != ""
- let l:highlight .= " cterm=" . a:attr
- endif
-
- endif
-
- " exec l:command
- " call add(s:highlightings, 'hi ' . a:group . ' ' . l:highlight)
- call add(s:highlightings, [a:group, l:highlight])
-endfun
-
-fun! s:Load_Settings_Override(custom)
- if has_key(a:custom, 'cursorline')
- let s:cursorline = [a:custom['cursorline'], '' . s:to_256(a:custom['cursorline'])]
- endif
- if has_key(a:custom, 'background')
- let s:background = [a:custom['background'], '' . s:to_256(a:custom['background'])]
- endif
- if has_key(a:custom, 'matchparen')
- let s:matchparen = [a:custom['matchparen'], '' . s:to_256(a:custom['matchparen'])]
- endif
- if has_key(a:custom, 'comment')
- let s:comment = [a:custom['comment'], '' . s:to_256(a:custom['comment'])]
- endif
-endfun
-" }}}
-
-" 256-COLOR TO HEX TABLE: {{{
-
-""" Xterm 256 color dictionary
-" See: http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html
-"
-let s:to_HEX = {
- \ '00': '#000000', '01': '#800000', '02': '#008000', '03': '#808000', '04': '#000080',
- \ '05': '#800080', '06': '#008080', '07': '#c0c0c0', '08': '#808080', '09': '#ff0000',
- \ '10': '#00ff00', '11': '#ffff00', '12': '#0000ff', '13': '#ff00ff', '14': '#00ffff',
- \ '15': '#ffffff', '16': '#000000', '17': '#00005f', '18': '#000087', '19': '#0000af',
- \ '20': '#0000d7', '21': '#0000ff', '22': '#005f00', '23': '#005f5f', '24': '#005f87',
- \ '25': '#005faf', '26': '#005fd7', '27': '#005fff', '28': '#008700', '29': '#00875f',
- \ '30': '#008787', '31': '#0087af', '32': '#0087d7', '33': '#0087ff', '34': '#00af00',
- \ '35': '#00af5f', '36': '#00af87', '37': '#00afaf', '38': '#00afd7', '39': '#00afff',
- \ '40': '#00d700', '41': '#00d75f', '42': '#00d787', '43': '#00d7af', '44': '#00d7d7',
- \ '45': '#00d7ff', '46': '#00ff00', '47': '#00ff5f', '48': '#00ff87', '49': '#00ffaf',
- \ '50': '#00ffd7', '51': '#00ffff', '52': '#5f0000', '53': '#5f005f', '54': '#5f0087',
- \ '55': '#5f00af', '56': '#5f00d7', '57': '#5f00ff', '58': '#5f5f00', '59': '#5f5f5f',
- \ '60': '#5f5f87', '61': '#5f5faf', '62': '#5f5fd7', '63': '#5f5fff', '64': '#5f8700',
- \ '65': '#5f875f', '66': '#5f8787', '67': '#5f87af', '68': '#5f87d7', '69': '#5f87ff',
- \ '70': '#5faf00', '71': '#5faf5f', '72': '#5faf87', '73': '#5fafaf', '74': '#5fafd7',
- \ '75': '#5fafff', '76': '#5fd700', '77': '#5fd75f', '78': '#5fd787', '79': '#5fd7af',
- \ '80': '#5fd7d7', '81': '#5fd7ff', '82': '#5fff00', '83': '#5fff5f', '84': '#5fff87',
- \ '85': '#5fffaf', '86': '#5fffd7', '87': '#5fffff', '88': '#870000', '89': '#87005f',
- \ '90': '#870087', '91': '#8700af', '92': '#8700d7', '93': '#8700ff', '94': '#875f00',
- \ '95': '#875f5f', '96': '#875f87', '97': '#875faf', '98': '#875fd7', '99': '#875fff',
- \ '100': '#878700', '101': '#87875f', '102': '#878787', '103': '#8787af', '104': '#8787d7',
- \ '105': '#8787ff', '106': '#87af00', '107': '#87af5f', '108': '#87af87', '109': '#87afaf',
- \ '110': '#87afd7', '111': '#87afff', '112': '#87d700', '113': '#87d75f', '114': '#87d787',
- \ '115': '#87d7af', '116': '#87d7d7', '117': '#87d7ff', '118': '#87ff00', '119': '#87ff5f',
- \ '120': '#87ff87', '121': '#87ffaf', '122': '#87ffd7', '123': '#87ffff', '124': '#af0000',
- \ '125': '#af005f', '126': '#af0087', '127': '#af00af', '128': '#af00d7', '129': '#af00ff',
- \ '130': '#af5f00', '131': '#af5f5f', '132': '#af5f87', '133': '#af5faf', '134': '#af5fd7',
- \ '135': '#af5fff', '136': '#af8700', '137': '#af875f', '138': '#af8787', '139': '#af87af',
- \ '140': '#af87d7', '141': '#af87ff', '142': '#afaf00', '143': '#afaf5f', '144': '#afaf87',
- \ '145': '#afafaf', '146': '#afafd7', '147': '#afafff', '148': '#afd700', '149': '#afd75f',
- \ '150': '#afd787', '151': '#afd7af', '152': '#afd7d7', '153': '#afd7ff', '154': '#afff00',
- \ '155': '#afff5f', '156': '#afff87', '157': '#afffaf', '158': '#afffd7', '159': '#afffff',
- \ '160': '#d70000', '161': '#d7005f', '162': '#d70087', '163': '#d700af', '164': '#d700d7',
- \ '165': '#d700ff', '166': '#d75f00', '167': '#d75f5f', '168': '#d75f87', '169': '#d75faf',
- \ '170': '#d75fd7', '171': '#d75fff', '172': '#d78700', '173': '#d7875f', '174': '#d78787',
- \ '175': '#d787af', '176': '#d787d7', '177': '#d787ff', '178': '#d7af00', '179': '#d7af5f',
- \ '180': '#d7af87', '181': '#d7afaf', '182': '#d7afd7', '183': '#d7afff', '184': '#d7d700',
- \ '185': '#d7d75f', '186': '#d7d787', '187': '#d7d7af', '188': '#d7d7d7', '189': '#d7d7ff',
- \ '190': '#d7ff00', '191': '#d7ff5f', '192': '#d7ff87', '193': '#d7ffaf', '194': '#d7ffd7',
- \ '195': '#d7ffff', '196': '#ff0000', '197': '#ff005f', '198': '#ff0087', '199': '#ff00af',
- \ '200': '#ff00d7', '201': '#ff00ff', '202': '#ff5f00', '203': '#ff5f5f', '204': '#ff5f87',
- \ '205': '#ff5faf', '206': '#ff5fd7', '207': '#ff5fff', '208': '#ff8700', '209': '#ff875f',
- \ '210': '#ff8787', '211': '#ff87af', '212': '#ff87d7', '213': '#ff87ff', '214': '#ffaf00',
- \ '215': '#ffaf5f', '216': '#ffaf87', '217': '#ffafaf', '218': '#ffafd7', '219': '#ffafff',
- \ '220': '#ffd700', '221': '#ffd75f', '222': '#ffd787', '223': '#ffd7af', '224': '#ffd7d7',
- \ '225': '#ffd7ff', '226': '#ffff00', '227': '#ffff5f', '228': '#ffff87', '229': '#ffffaf',
- \ '230': '#ffffd7', '231': '#ffffff', '232': '#080808', '233': '#121212', '234': '#1c1c1c',
- \ '235': '#262626', '236': '#303030', '237': '#3a3a3a', '238': '#444444', '239': '#4e4e4e',
- \ '240': '#585858', '241': '#626262', '242': '#6c6c6c', '243': '#767676', '244': '#808080',
- \ '245': '#8a8a8a', '246': '#949494', '247': '#9e9e9e', '248': '#a8a8a8', '249': '#b2b2b2',
- \ '250': '#bcbcbc', '251': '#c6c6c6', '252': '#d0d0d0', '253': '#dadada', '254': '#e4e4e4',
- \ '255': '#eeeeee' }
-
-" }}}
-
-" COLOR MODE IDENTIFICATION: {{{
-let s:MODE_16_COLOR = 0
-let s:MODE_256_COLOR = 1
-let s:MODE_TRUE_COLOR = 2
-let s:MODE_TRUE_OR_256_COLOR = 3 " for code generation purpose, not for theme usage
-
-if has("gui_running") || has('termguicolors') && &termguicolors || has('nvim') && $NVIM_TUI_ENABLE_TRUE_COLOR
- let s:mode = s:MODE_TRUE_COLOR
-elseif (&t_Co == 256)
- let s:mode = s:MODE_256_COLOR
-else
- let s:mode = s:MODE_16_COLOR
-endif
-
-" }}}
-
-" COLOR MODE ADAPTATION: {{{
-" Handle Preprocessing For Current Color Set If Necessary
-fun! s:adapt_to_environment()
- let s:bold = "bold"
- let s:italic = "italic"
- if s:mode == s:MODE_TRUE_COLOR
- " TODO: if require auto-gui-color coversion
- elseif s:mode == s:MODE_256_COLOR
- " TODO: if require auto-256-color coversion
- elseif s:mode == s:MODE_TRUE_OR_256_COLOR
- " TODO:
- else " if s:use_16_color
- let s:bold = ""
- endif
-endfun
-" }}}
-
-" SET COLOR VARIABLES: {{{
-fun! s:set_color_variables()
- " Array format [, <256-Base>, <16-Base>]
- " 16-Base is terminal's native color palette that can be alternated through
- " the terminal settings. The 16-color names are according to `:h cterm-colors`
- " Use 16: targetcolor[-1]
- " Use 256: targetcolor[-2] " GUI can be omitted
- " Use GUI: targetcolor[0] " 256 can be ommitted
-
- " BASIC COLORS:
- " color00-15 are required by all themes.
- " These are also how the terminal color palette for the target theme should be.
- " See README for theme design guideline
- "
- " An example format of the below variable's value: ['#262626', '234', 'Black']
- " Where the 1st value is HEX color for GUI Vim, 2nd value is for 256-color terminal,
- " and the color name on the right is for 16-color terminal (the actual terminal colors
- " can be different from what the color names suggest). See :h cterm-colors
- "
- " Depending on the provided color palette and current Vim, the 1st and 2nd
- " parameter might not exist, for example, on 16-color terminal, the variables below
- " only store the color names to use the terminal color palette which is the only
- " thing available therefore no need for GUI-color or 256-color.
- let s:background = get(s:palette, 'color00') + ['Black']
- let s:negative = get(s:palette, 'color01') + ['DarkRed']
- let s:positive = get(s:palette, 'color02') + ['DarkGreen']
- let s:olive = get(s:palette, 'color03') + ['DarkYellow'] " string
- let s:neutral = get(s:palette, 'color04') + ['DarkBlue']
- let s:comment = get(s:palette, 'color05') + ['DarkMagenta']
- let s:navy = get(s:palette, 'color06') + ['DarkCyan'] " storageclass
- let s:foreground = get(s:palette, 'color07') + ['LightGray']
-
- let s:nontext = get(s:palette, 'color08') + ['DarkGray']
- let s:red = get(s:palette, 'color09') + ['LightRed'] " import / try/catch
- let s:pink = get(s:palette, 'color10') + ['LightGreen'] " statement, type
- let s:purple = get(s:palette, 'color11') + ['LightYellow'] " if / conditional
- let s:accent = get(s:palette, 'color12') + ['LightBlue']
- let s:orange = get(s:palette, 'color13') + ['LightMagenta'] " number
- let s:blue = get(s:palette, 'color14') + ['LightCyan'] " other keyword
- let s:highlight = get(s:palette, 'color15') + ['White']
-
- let s:transparent = [s:background[0], 'none', 'none']
- " EXTENDED COLORS:
- " From here on, all colors are optional and must have default values (3rd parameter of the
- " `get` command) that point to the above basic colors in case the target theme doesn't
- " provide the extended colors. The default values should be reasonably sensible.
- " The terminal color must be provided also.
-
- let s:aqua = get(s:palette, 'color16', get(s:palette, 'color14')) + ['LightCyan']
- let s:green = get(s:palette, 'color17', get(s:palette, 'color13')) + ['LightMagenta']
- let s:wine = get(s:palette, 'color18', get(s:palette, 'color11')) + ['LightYellow']
-
- " LineNumber: when set number
- let s:linenumber_fg = get(s:palette, 'linenumber_fg', get(s:palette, 'color08')) + ['DarkGray']
- let s:linenumber_bg = get(s:palette, 'linenumber_bg', get(s:palette, 'color00')) + ['Black']
-
- " Vertical Split: when there are more than 1 window side by side, ex:
- let s:vertsplit_fg = get(s:palette, 'vertsplit_fg', get(s:palette, 'color15')) + ['White']
- let s:vertsplit_bg = get(s:palette, 'vertsplit_bg', get(s:palette, 'color00')) + ['Black']
-
- " Statusline: when set status=2
- let s:statusline_active_fg = get(s:palette, 'statusline_active_fg', get(s:palette, 'color00')) + ['Black']
- let s:statusline_active_bg = get(s:palette, 'statusline_active_bg', get(s:palette, 'color15')) + ['White']
- let s:statusline_inactive_fg = get(s:palette, 'statusline_inactive_fg', get(s:palette, 'color07')) + ['LightGray']
- let s:statusline_inactive_bg = get(s:palette, 'statusline_inactive_bg', get(s:palette, 'color08')) + ['DarkGray']
-
-
- " Cursor: in normal mode
- let s:cursor_fg = get(s:palette, 'cursor_fg', get(s:palette, 'color00')) + ['Black']
- let s:cursor_bg = get(s:palette, 'cursor_bg', get(s:palette, 'color07')) + ['LightGray']
-
- let s:cursorline = get(s:palette, 'cursorline', get(s:palette, 'color00')) + ['Black']
-
- " CursorColumn: when set cursorcolumn
- let s:cursorcolumn = get(s:palette, 'cursorcolumn', get(s:palette, 'color00')) + ['Black']
-
- " CursorLine Number: when set cursorline number
- let s:cursorlinenr_fg = get(s:palette, 'cursorlinenr_fg', get(s:palette, 'color13')) + ['LightMagenta']
- let s:cursorlinenr_bg = get(s:palette, 'cursorlinenr_bg', get(s:palette, 'color00')) + ['Black']
-
- " Popup Menu: when for autocomplete
- let s:popupmenu_fg = get(s:palette, 'popupmenu_fg', get(s:palette, 'color07')) + ['LightGray']
- let s:popupmenu_bg = get(s:palette, 'popupmenu_bg', get(s:palette, 'color08')) + ['DarkGray']
-
- " Search: ex: when * on a word
- let s:search_fg = get(s:palette, 'search_fg', get(s:palette, 'color00')) + ['Black']
- let s:search_bg = get(s:palette, 'search_bg', get(s:palette, 'color15')) + ['White']
-
- " Todo: ex: TODO
- let s:todo_fg = get(s:palette, 'todo_fg', get(s:palette, 'color05')) + ['LightYellow']
- let s:todo_bg = get(s:palette, 'todo_bg', get(s:palette, 'color00')) + ['Black']
-
- " Error: ex: turn spell on and have invalid words
- let s:error_fg = get(s:palette, 'error_fg', get(s:palette, 'color01')) + ['DarkRed']
- let s:error_bg = get(s:palette, 'error_bg', get(s:palette, 'color00')) + ['Black']
-
- " Match Parenthesis: selecting an opening/closing pair and the other one will be highlighted
- let s:matchparen_fg = get(s:palette, 'matchparen_fg', get(s:palette, 'color00')) + ['LightMagenta']
- let s:matchparen_bg = get(s:palette, 'matchparen_bg', get(s:palette, 'color05')) + ['Black']
-
- " Visual:
- let s:visual_fg = get(s:palette, 'visual_fg', get(s:palette, 'color08')) + ['White']
- let s:visual_bg = get(s:palette, 'visual_bg', get(s:palette, 'color07')) + ['Black']
-
- " Folded:
- let s:folded_fg = get(s:palette, 'folded_fg', get(s:palette, 'color00')) + ['Black']
- let s:folded_bg = get(s:palette, 'folded_bg', get(s:palette, 'color05')) + ['DarkYellow']
-
- " WildMenu: Autocomplete command, ex: :color
- let s:wildmenu_fg = get(s:palette, 'wildmenu_fg', get(s:palette, 'color00')) + ['Black']
- let s:wildmenu_bg = get(s:palette, 'wildmenu_bg', get(s:palette, 'color06')) + ['LightGray']
-
- " Spelling: when spell on and there are spelling problems like this for example: papercolor. a vim color scheme
- let s:spellbad = get(s:palette, 'spellbad', get(s:palette, 'color04')) + ['DarkRed']
- let s:spellcap = get(s:palette, 'spellcap', get(s:palette, 'color05')) + ['DarkMagenta']
- let s:spellrare = get(s:palette, 'spellrare', get(s:palette, 'color06')) + ['DarkYellow']
- let s:spelllocal = get(s:palette, 'spelllocal', get(s:palette, 'color01')) + ['DarkBlue']
-
- " Diff:
- let s:diffadd_fg = get(s:palette, 'diffadd_fg', get(s:palette, 'color00')) + ['Black']
- let s:diffadd_bg = get(s:palette, 'diffadd_bg', get(s:palette, 'color02')) + ['DarkGreen']
-
- let s:diffdelete_fg = get(s:palette, 'diffdelete_fg', get(s:palette, 'color00')) + ['Black']
- let s:diffdelete_bg = get(s:palette, 'diffdelete_bg', get(s:palette, 'color04')) + ['DarkRed']
-
- let s:difftext_fg = get(s:palette, 'difftext_fg', get(s:palette, 'color00')) + ['Black']
- let s:difftext_bg = get(s:palette, 'difftext_bg', get(s:palette, 'color06')) + ['DarkYellow']
-
- let s:diffchange_fg = get(s:palette, 'diffchange_fg', get(s:palette, 'color00')) + ['Black']
- let s:diffchange_bg = get(s:palette, 'diffchange_bg', get(s:palette, 'color14')) + ['LightYellow']
-
- " Tabline: when having tabs, ex: :tabnew
- let s:tabline_bg = get(s:palette, 'tabline_bg', get(s:palette, 'color00')) + ['Black']
- let s:tabline_active_fg = get(s:palette, 'tabline_active_fg', get(s:palette, 'color07')) + ['LightGray']
- let s:tabline_active_bg = get(s:palette, 'tabline_active_bg', get(s:palette, 'color00')) + ['Black']
- let s:tabline_inactive_fg = get(s:palette, 'tabline_inactive_fg', get(s:palette, 'color07')) + ['Black']
- let s:tabline_inactive_bg = get(s:palette, 'tabline_inactive_bg', get(s:palette, 'color08')) + ['DarkMagenta']
-
- " Plugin: BufTabLine https://github.com/ap/vim-buftabline
- let s:buftabline_bg = get(s:palette, 'buftabline_bg', get(s:palette, 'color00')) + ['Black']
- let s:buftabline_current_fg = get(s:palette, 'buftabline_current_fg', get(s:palette, 'color07')) + ['LightGray']
- let s:buftabline_current_bg = get(s:palette, 'buftabline_current_bg', get(s:palette, 'color05')) + ['DarkMagenta']
- let s:buftabline_active_fg = get(s:palette, 'buftabline_active_fg', get(s:palette, 'color07')) + ['LightGray']
- let s:buftabline_active_bg = get(s:palette, 'buftabline_active_bg', get(s:palette, 'color12')) + ['LightBlue']
- let s:buftabline_inactive_fg = get(s:palette, 'buftabline_inactive_fg', get(s:palette, 'color07')) + ['LightGray']
- let s:buftabline_inactive_bg = get(s:palette, 'buftabline_inactive_bg', get(s:palette, 'color00')) + ['Black']
-
-endfun
-" }}}
-
-" SET SYNTAX HIGHLIGHTING: {{{
-
-fun! s:set_highlightings_variable()
- let s:highlightings = []
- " Normal group should be executed first. Other parts assume that.
- if s:TRANSPARENT_BACKGROUND
- call s:HL("Normal", s:foreground, "", "")
- call s:HL("NonText", s:nontext, "", "")
- call s:HL("LineNr", s:linenumber_fg, "", "")
- call s:HL("Conceal", s:linenumber_fg, "", "")
- call s:HL("VertSplit", s:vertsplit_fg, "", "none")
- call s:HL("FoldColumn", s:folded_fg, s:transparent, "none")
- else
- call s:HL("Normal", s:foreground, s:background, "")
- call s:HL("NonText", s:nontext, s:background, "")
- call s:HL("LineNr", s:linenumber_fg, s:linenumber_bg, "")
- call s:HL("Conceal", s:linenumber_fg, s:linenumber_bg, "")
- call s:HL("VertSplit", s:vertsplit_bg, s:vertsplit_fg, "")
- call s:HL("FoldColumn", s:folded_fg, s:background, "none")
- endif
-
- call s:HL("Cursor", s:cursor_fg, s:cursor_bg, "")
- call s:HL("SpecialKey", s:nontext, "", "")
- call s:HL("Search", s:search_fg, s:search_bg, "")
- call s:HL("StatusLine", s:statusline_active_bg, s:statusline_active_fg, "")
- call s:HL("StatusLineNC", s:statusline_inactive_bg, s:statusline_inactive_fg, "")
- call s:HL("Visual", s:visual_fg, s:visual_bg, "")
- call s:HL("Directory", s:blue, "", "")
- call s:HL("ModeMsg", s:olive, "", "")
- call s:HL("MoreMsg", s:olive, "", "")
- call s:HL("Question", s:olive, "", "")
- call s:HL("WarningMsg", s:pink, "", "")
- call s:HL("MatchParen", s:matchparen_fg, s:matchparen_bg, "")
- call s:HL("Folded", s:folded_fg, s:folded_bg, "")
- call s:HL("WildMenu", s:wildmenu_fg, s:wildmenu_bg, s:bold)
-
- if version >= 700
- call s:HL("CursorLine", "", s:cursorline, "none")
- if s:mode == s:MODE_16_COLOR
- call s:HL("CursorLineNr", s:cursorlinenr_fg, s:cursorlinenr_bg, "")
- else
- call s:HL("CursorLineNr", s:cursorlinenr_fg, s:cursorlinenr_bg, "none")
- endif
- call s:HL("CursorColumn", "", s:cursorcolumn, "none")
- call s:HL("PMenu", s:popupmenu_fg, s:popupmenu_bg, "none")
- call s:HL("PMenuSel", s:popupmenu_fg, s:popupmenu_bg, "reverse")
- if s:TRANSPARENT_BACKGROUND
- call s:HL("SignColumn", s:green, "", "none")
- else
- call s:HL("SignColumn", s:green, s:background, "none")
- endif
- end
- if version >= 703
- call s:HL("ColorColumn", "", s:cursorcolumn, "none")
- end
-
- call s:HL("TabLine", s:tabline_inactive_fg, s:tabline_inactive_bg, "none")
- call s:HL("TabLineFill", s:tabline_bg, s:tabline_bg, "none")
- call s:HL("TabLineSel", s:tabline_active_fg, s:tabline_active_bg, "none")
-
- call s:HL("BufTabLineCurrent", s:buftabline_current_fg, s:buftabline_current_bg, "None")
- call s:HL("BufTabLineActive", s:buftabline_active_fg, s:buftabline_active_bg, "None")
- call s:HL("BufTabLineHidden", s:buftabline_inactive_fg, s:buftabline_inactive_bg, "None")
- call s:HL("BufTabLineFill", "", s:buftabline_bg, "None")
-
- " Standard Group Highlighting:
- call s:HL("Comment", s:comment, "", "")
-
- call s:HL("Constant", s:orange, "", "")
- call s:HL("String", s:olive, "", "")
- call s:HL("Character", s:olive, "", "")
- call s:HL("Number", s:orange, "", "")
- call s:HL("Boolean", s:green, "", s:bold)
- call s:HL("Float", s:orange, "", "")
-
- call s:HL("Identifier", s:navy, "", "")
- call s:HL("Function", s:foreground, "", "")
-
- call s:HL("Statement", s:pink, "", "none")
- call s:HL("Conditional", s:purple, "", s:bold)
- call s:HL("Repeat", s:purple, "", s:bold)
- call s:HL("Label", s:blue, "", "")
- call s:HL("Operator", s:aqua, "", "none")
- call s:HL("Keyword", s:blue, "", "")
- call s:HL("Exception", s:red, "", "")
-
- call s:HL("PreProc", s:blue, "", "")
- call s:HL("Include", s:red, "", "")
- call s:HL("Define", s:blue, "", "")
- call s:HL("Macro", s:blue, "", "")
- call s:HL("PreCondit", s:aqua, "", "")
-
- call s:HL("Type", s:pink, "", s:bold)
- call s:HL("StorageClass", s:navy, "", s:bold)
- call s:HL("Structure", s:blue, "", s:bold)
- call s:HL("Typedef", s:pink, "", s:bold)
-
- call s:HL("Special", s:foreground, "", "")
- call s:HL("SpecialChar", s:foreground, "", "")
- call s:HL("Tag", s:green, "", "")
- call s:HL("Delimiter",s:aqua, "", "")
- call s:HL("SpecialComment", s:comment, "", s:bold)
- call s:HL("Debug", s:orange, "", "")
-
- call s:HL("Error", s:error_fg, s:error_bg, "")
- call s:HL("Todo", s:todo_fg, s:todo_bg, s:bold)
-
- call s:HL("Title", s:comment, "", "")
- call s:HL("Global", s:blue, "", "")
-
-
- " Extension {{{
- " VimL Highlighting
- call s:HL("vimCommand", s:pink, "", "")
- call s:HL("vimVar", s:navy, "", "")
- call s:HL("vimFuncKey", s:pink, "", "")
- call s:HL("vimFunction", s:blue, "", s:bold)
- call s:HL("vimNotFunc", s:pink, "", "")
- call s:HL("vimMap", s:red, "", "")
- call s:HL("vimAutoEvent", s:aqua, "", s:bold)
- call s:HL("vimMapModKey", s:aqua, "", "")
- call s:HL("vimFuncName", s:purple, "", "")
- call s:HL("vimIsCommand", s:foreground, "", "")
- call s:HL("vimFuncVar", s:aqua, "", "")
- call s:HL("vimLet", s:red, "", "")
- call s:HL("vimContinue", s:aqua, "", "")
- call s:HL("vimMapRhsExtend", s:foreground, "", "")
- call s:HL("vimCommentTitle", s:comment, "", s:bold)
- call s:HL("vimBracket", s:aqua, "", "")
- call s:HL("vimParenSep", s:aqua, "", "")
- call s:HL("vimNotation", s:aqua, "", "")
- call s:HL("vimOper", s:foreground, "", "")
- call s:HL("vimOperParen", s:foreground, "", "")
- call s:HL("vimSynType", s:purple, "", "")
- call s:HL("vimSynReg", s:pink, "", "none")
- call s:HL("vimSynKeyRegion", s:green, "", "")
- call s:HL("vimSynRegOpt", s:blue, "", "")
- call s:HL("vimSynMtchOpt", s:blue, "", "")
- call s:HL("vimSynContains", s:pink, "", "")
- call s:HL("vimGroupName", s:foreground, "", "")
- call s:HL("vimGroupList", s:foreground, "", "")
- call s:HL("vimHiGroup", s:foreground, "", "")
- call s:HL("vimGroup", s:navy, "", s:bold)
- call s:HL("vimOnlyOption", s:blue, "", "")
-
- " Makefile Highlighting
- call s:HL("makeIdent", s:blue, "", "")
- call s:HL("makeSpecTarget", s:olive, "", "")
- call s:HL("makeTarget", s:red, "", "")
- call s:HL("makeStatement", s:aqua, "", s:bold)
- call s:HL("makeCommands", s:foreground, "", "")
- call s:HL("makeSpecial", s:orange, "", s:bold)
-
- " CMake Highlighting
- call s:HL("cmakeStatement", s:pink, "", "")
- call s:HL("cmakeArguments", s:foreground, "", "")
- call s:HL("cmakeVariableValue", s:blue, "", "")
- call s:HL("cmakeOperators", s:red, "", "")
-
- " C Highlighting
- call s:HL("cType", s:pink, "", s:bold)
- call s:HL("cFormat", s:olive, "", "")
- call s:HL("cStorageClass", s:navy, "", s:bold)
-
- call s:HL("cBoolean", s:green, "", "")
- call s:HL("cCharacter", s:olive, "", "")
- call s:HL("cConstant", s:green, "", s:bold)
- call s:HL("cConditional", s:purple, "", s:bold)
- call s:HL("cSpecial", s:olive, "", s:bold)
- call s:HL("cDefine", s:blue, "", "")
- call s:HL("cNumber", s:orange, "", "")
- call s:HL("cPreCondit", s:aqua, "", "")
- call s:HL("cRepeat", s:purple, "", s:bold)
- call s:HL("cLabel",s:aqua, "", "")
- " call s:HL("cAnsiFunction",s:aqua, "", s:bold)
- " call s:HL("cAnsiName",s:pink, "", "")
- call s:HL("cDelimiter",s:blue, "", "")
- " call s:HL("cBraces",s:foreground, "", "")
- " call s:HL("cIdentifier",s:blue, s:pink, "")
- " call s:HL("cSemiColon","", s:blue, "")
- call s:HL("cOperator",s:aqua, "", "")
- " call s:HL("cStatement",s:pink, "", "")
- " call s:HL("cTodo", s:comment, "", s:bold)
- " call s:HL("cStructure", s:blue, "", s:bold)
- call s:HL("cCustomParen", s:foreground, "", "")
- " call s:HL("cCustomFunc", s:foreground, "", "")
- " call s:HL("cUserFunction",s:blue, "", s:bold)
- call s:HL("cOctalZero", s:purple, "", s:bold)
- if s:Language_Options('c.highlight_builtins') == 1
- call s:HL("cFunction", s:blue, "", "")
- else
- call s:HL("cFunction", s:foreground, "", "")
- endif
-
- " CPP highlighting
- call s:HL("cppBoolean", s:navy, "", "")
- call s:HL("cppSTLnamespace", s:purple, "", "")
- call s:HL("cppSTLexception", s:pink, "", "")
- call s:HL("cppSTLfunctional", s:foreground, "", s:bold)
- call s:HL("cppSTLiterator", s:foreground, "", s:bold)
- call s:HL("cppExceptions", s:red, "", "")
- call s:HL("cppStatement", s:blue, "", "")
- call s:HL("cppStorageClass", s:navy, "", s:bold)
- call s:HL("cppAccess",s:blue, "", "")
- if s:Language_Options('cpp.highlight_standard_library') == 1
- call s:HL("cppSTLconstant", s:green, "", s:bold)
- call s:HL("cppSTLtype", s:pink, "", s:bold)
- call s:HL("cppSTLfunction", s:blue, "", "")
- call s:HL("cppSTLios", s:olive, "", s:bold)
- else
- call s:HL("cppSTLconstant", s:foreground, "", "")
- call s:HL("cppSTLtype", s:foreground, "", "")
- call s:HL("cppSTLfunction", s:foreground, "", "")
- call s:HL("cppSTLios", s:foreground, "", "")
- endif
- " call s:HL("cppSTL",s:blue, "", "")
-
-
- " Lex highlighting
- call s:HL("lexCFunctions", s:foreground, "", "")
- call s:HL("lexAbbrv", s:purple, "", "")
- call s:HL("lexAbbrvRegExp", s:aqua, "", "")
- call s:HL("lexAbbrvComment", s:comment, "", "")
- call s:HL("lexBrace", s:navy, "", "")
- call s:HL("lexPat", s:aqua, "", "")
- call s:HL("lexPatComment", s:comment, "", "")
- call s:HL("lexPatTag", s:orange, "", "")
- " call s:HL("lexPatBlock", s:foreground, "", s:bold)
- call s:HL("lexSlashQuote", s:foreground, "", "")
- call s:HL("lexSep", s:foreground, "", "")
- call s:HL("lexStartState", s:orange, "", "")
- call s:HL("lexPatTagZone", s:olive, "", s:bold)
- call s:HL("lexMorePat", s:olive, "", s:bold)
- call s:HL("lexOptions", s:olive, "", s:bold)
- call s:HL("lexPatString", s:olive, "", "")
-
- " Yacc highlighting
- call s:HL("yaccNonterminal", s:navy, "", "")
- call s:HL("yaccDelim", s:orange, "", "")
- call s:HL("yaccInitKey", s:aqua, "", "")
- call s:HL("yaccInit", s:navy, "", "")
- call s:HL("yaccKey", s:purple, "", "")
- call s:HL("yaccVar", s:aqua, "", "")
-
- " NASM highlighting
- call s:HL("nasmStdInstruction", s:navy, "", "")
- call s:HL("nasmGen08Register", s:aqua, "", "")
- call s:HL("nasmGen16Register", s:aqua, "", "")
- call s:HL("nasmGen32Register", s:aqua, "", "")
- call s:HL("nasmGen64Register", s:aqua, "", "")
- call s:HL("nasmHexNumber", s:purple, "", "")
- call s:HL("nasmStorage", s:aqua, "", s:bold)
- call s:HL("nasmLabel", s:pink, "", "")
- call s:HL("nasmDirective", s:blue, "", s:bold)
- call s:HL("nasmLocalLabel", s:orange, "", "")
-
- " GAS highlighting
- call s:HL("gasSymbol", s:pink, "", "")
- call s:HL("gasDirective", s:blue, "", s:bold)
- call s:HL("gasOpcode_386_Base", s:navy, "", "")
- call s:HL("gasDecimalNumber", s:purple, "", "")
- call s:HL("gasSymbolRef", s:pink, "", "")
- call s:HL("gasRegisterX86", s:blue, "", "")
- call s:HL("gasOpcode_P6_Base", s:navy, "", "")
- call s:HL("gasDirectiveStore", s:foreground, "", s:bold)
-
- " MIPS highlighting
- call s:HL("mipsInstruction", s:pink, "", "")
- call s:HL("mipsRegister", s:navy, "", "")
- call s:HL("mipsLabel", s:aqua, "", s:bold)
- call s:HL("mipsDirective", s:purple, "", s:bold)
-
- " Shell/Bash highlighting
- call s:HL("bashStatement", s:foreground, "", s:bold)
- call s:HL("shDerefVar", s:aqua, "", s:bold)
- call s:HL("shDerefSimple", s:aqua, "", "")
- call s:HL("shFunction", s:orange, "", s:bold)
- call s:HL("shStatement", s:foreground, "", "")
- call s:HL("shLoop", s:purple, "", s:bold)
- call s:HL("shQuote", s:olive, "", "")
- call s:HL("shCaseEsac", s:aqua, "", s:bold)
- call s:HL("shSnglCase", s:purple, "", "none")
- call s:HL("shFunctionOne", s:navy, "", "")
- call s:HL("shCase", s:navy, "", "")
- call s:HL("shSetList", s:navy, "", "")
- " @see Dockerfile Highlighting section for more sh*
-
- " HTML Highlighting
- call s:HL("htmlTitle", s:green, "", s:bold)
- call s:HL("htmlH1", s:green, "", s:bold)
- call s:HL("htmlH2", s:aqua, "", s:bold)
- call s:HL("htmlH3", s:purple, "", s:bold)
- call s:HL("htmlH4", s:orange, "", s:bold)
- call s:HL("htmlTag", s:comment, "", "")
- call s:HL("htmlTagName", s:wine, "", "")
- call s:HL("htmlArg", s:pink, "", "")
- call s:HL("htmlEndTag", s:comment, "", "")
- call s:HL("htmlString", s:blue, "", "")
- call s:HL("htmlScriptTag", s:comment, "", "")
- call s:HL("htmlBold", s:foreground, "", s:bold)
- call s:HL("htmlItalic", s:comment, "", s:bold)
- call s:HL("htmlBoldItalic", s:navy, "", s:bold)
- " call s:HL("htmlLink", s:blue, "", s:bold)
- call s:HL("htmlTagN", s:wine, "", s:bold)
- call s:HL("htmlSpecialTagName", s:wine, "", "")
- call s:HL("htmlComment", s:comment, "", "")
- call s:HL("htmlCommentPart", s:comment, "", "")
-
- " CSS Highlighting
- call s:HL("cssIdentifier", s:pink, "", "")
- call s:HL("cssPositioningProp", s:foreground, "", "")
- call s:HL("cssNoise", s:foreground, "", "")
- call s:HL("cssBoxProp", s:foreground, "", "")
- call s:HL("cssTableAttr", s:purple, "", "")
- call s:HL("cssPositioningAttr", s:navy, "", "")
- call s:HL("cssValueLength", s:orange, "", "")
- call s:HL("cssFunctionName", s:blue, "", "")
- call s:HL("cssUnitDecorators", s:aqua, "", "")
- call s:HL("cssColor", s:blue, "", s:bold)
- call s:HL("cssBraces", s:pink, "", "")
- call s:HL("cssBackgroundProp", s:foreground, "", "")
- call s:HL("cssTextProp", s:foreground, "", "")
- call s:HL("cssDimensionProp", s:foreground, "", "")
- call s:HL("cssClassName", s:pink, "", "")
-
- " Markdown Highlighting
- call s:HL("markdownHeadingRule", s:pink, "", s:bold)
- call s:HL("markdownH1", s:pink, "", s:bold)
- call s:HL("markdownH2", s:orange, "", s:bold)
- call s:HL("markdownBlockquote", s:pink, "", "")
- call s:HL("markdownCodeBlock", s:olive, "", "")
- call s:HL("markdownCode", s:olive, "", "")
- call s:HL("markdownLink", s:blue, "", s:bold)
- call s:HL("markdownUrl", s:blue, "", "")
- call s:HL("markdownLinkText", s:pink, "", "")
- call s:HL("markdownLinkTextDelimiter", s:purple, "", "")
- call s:HL("markdownLinkDelimiter", s:purple, "", "")
- call s:HL("markdownCodeDelimiter", s:blue, "", "")
-
- call s:HL("mkdCode", s:olive, "", "")
- call s:HL("mkdLink", s:blue, "", s:bold)
- call s:HL("mkdURL", s:comment, "", "")
- call s:HL("mkdString", s:foreground, "", "")
- call s:HL("mkdBlockQuote", s:foreground, s:popupmenu_bg, "")
- call s:HL("mkdLinkTitle", s:pink, "", "")
- call s:HL("mkdDelimiter", s:aqua, "", "")
- call s:HL("mkdRule", s:pink, "", "")
-
- " reStructuredText Highlighting
- call s:HL("rstSections", s:pink, "", s:bold)
- call s:HL("rstDelimiter", s:pink, "", s:bold)
- call s:HL("rstExplicitMarkup", s:pink, "", s:bold)
- call s:HL("rstDirective", s:blue, "", "")
- call s:HL("rstHyperlinkTarget", s:green, "", "")
- call s:HL("rstExDirective", s:foreground, "", "")
- call s:HL("rstInlineLiteral", s:olive, "", "")
- call s:HL("rstInterpretedTextOrHyperlinkReference", s:blue, "", "")
-
- " Python Highlighting
- call s:HL("pythonImport", s:pink, "", s:bold)
- call s:HL("pythonExceptions", s:red, "", "")
- call s:HL("pythonException", s:purple, "", s:bold)
- call s:HL("pythonInclude", s:red, "", "")
- call s:HL("pythonStatement", s:pink, "", "")
- call s:HL("pythonConditional", s:purple, "", s:bold)
- call s:HL("pythonRepeat", s:purple, "", s:bold)
- call s:HL("pythonFunction", s:aqua, "", s:bold)
- call s:HL("pythonPreCondit", s:purple, "", "")
- call s:HL("pythonExClass", s:orange, "", "")
- call s:HL("pythonOperator", s:purple, "", s:bold)
- call s:HL("pythonBuiltin", s:foreground, "", "")
- call s:HL("pythonDecorator", s:orange, "", "")
-
- call s:HL("pythonString", s:olive, "", "")
- call s:HL("pythonEscape", s:olive, "", s:bold)
- call s:HL("pythonStrFormatting", s:olive, "", s:bold)
-
- call s:HL("pythonBoolean", s:green, "", s:bold)
- call s:HL("pythonExClass", s:red, "", "")
- call s:HL("pythonBytesEscape", s:olive, "", s:bold)
- call s:HL("pythonDottedName", s:purple, "", "")
- call s:HL("pythonStrFormat", s:foreground, "", "")
-
- if s:Language_Options('python.highlight_builtins') == 1
- call s:HL("pythonBuiltinFunc", s:blue, "", "")
- call s:HL("pythonBuiltinObj", s:red, "", "")
- else
- call s:HL("pythonBuiltinFunc", s:foreground, "", "")
- call s:HL("pythonBuiltinObj", s:foreground, "", "")
- endif
-
- " Java Highlighting
- call s:HL("javaExternal", s:pink, "", "")
- call s:HL("javaAnnotation", s:orange, "", "")
- call s:HL("javaTypedef", s:aqua, "", "")
- call s:HL("javaClassDecl", s:aqua, "", s:bold)
- call s:HL("javaScopeDecl", s:blue, "", s:bold)
- call s:HL("javaStorageClass", s:navy, "", s:bold)
- call s:HL("javaBoolean", s:green, "", s:bold)
- call s:HL("javaConstant", s:blue, "", "")
- call s:HL("javaCommentTitle", s:wine, "", "")
- call s:HL("javaDocTags", s:aqua, "", "")
- call s:HL("javaDocComment", s:comment, "", "")
- call s:HL("javaDocParam", s:foreground, "", "")
- call s:HL("javaStatement", s:pink, "", "")
-
- " JavaScript Highlighting
- call s:HL("javaScriptBraces", s:blue, "", "")
- call s:HL("javaScriptParens", s:blue, "", "")
- call s:HL("javaScriptIdentifier", s:pink, "", "")
- call s:HL("javaScriptFunction", s:blue, "", s:bold)
- call s:HL("javaScriptConditional", s:purple, "", s:bold)
- call s:HL("javaScriptRepeat", s:purple, "", s:bold)
- call s:HL("javaScriptBoolean", s:green, "", s:bold)
- call s:HL("javaScriptNumber", s:orange, "", "")
- call s:HL("javaScriptMember", s:navy, "", "")
- call s:HL("javaScriptReserved", s:navy, "", "")
- call s:HL("javascriptNull", s:comment, "", s:bold)
- call s:HL("javascriptGlobal", s:foreground, "", "")
- call s:HL("javascriptStatement", s:pink, "", "")
- call s:HL("javaScriptMessage", s:foreground, "", "")
- call s:HL("javaScriptMember", s:foreground, "", "")
-
- " @target https://github.com/pangloss/vim-javascript
- call s:HL("jsFuncParens", s:blue, "", "")
- call s:HL("jsFuncBraces", s:blue, "", "")
- call s:HL("jsParens", s:blue, "", "")
- call s:HL("jsBraces", s:blue, "", "")
- call s:HL("jsNoise", s:blue, "", "")
-
- " Json Highlighting
- " @target https://github.com/elzr/vim-json
- call s:HL("jsonKeyword", s:blue, "", "")
- call s:HL("jsonString", s:olive, "", "")
- call s:HL("jsonQuote", s:comment, "", "")
- call s:HL("jsonNoise", s:foreground, "", "")
- call s:HL("jsonKeywordMatch", s:foreground, "", "")
- call s:HL("jsonBraces", s:foreground, "", "")
- call s:HL("jsonNumber", s:orange, "", "")
- call s:HL("jsonNull", s:purple, "", s:bold)
- call s:HL("jsonBoolean", s:green, "", s:bold)
- call s:HL("jsonCommentError", s:pink, s:background , "")
-
- " Go Highlighting
- call s:HL("goDirective", s:red, "", "")
- call s:HL("goDeclaration", s:blue, "", s:bold)
- call s:HL("goStatement", s:pink, "", "")
- call s:HL("goConditional", s:purple, "", s:bold)
- call s:HL("goConstants", s:orange, "", "")
- call s:HL("goFunction", s:orange, "", "")
- " call s:HL("goTodo", s:comment, "", s:bold)
- call s:HL("goDeclType", s:blue, "", "")
- call s:HL("goBuiltins", s:purple, "", "")
-
- " Systemtap Highlighting
- " call s:HL("stapBlock", s:comment, "", "none")
- call s:HL("stapComment", s:comment, "", "none")
- call s:HL("stapProbe", s:aqua, "", s:bold)
- call s:HL("stapStat", s:navy, "", s:bold)
- call s:HL("stapFunc", s:foreground, "", "")
- call s:HL("stapString", s:olive, "", "")
- call s:HL("stapTarget", s:navy, "", "")
- call s:HL("stapStatement", s:pink, "", "")
- call s:HL("stapType", s:pink, "", s:bold)
- call s:HL("stapSharpBang", s:comment, "", "")
- call s:HL("stapDeclaration", s:pink, "", "")
- call s:HL("stapCMacro", s:blue, "", "")
-
- " DTrace Highlighting
- call s:HL("dtraceProbe", s:blue, "", "")
- call s:HL("dtracePredicate", s:purple, "", s:bold)
- call s:HL("dtraceComment", s:comment, "", "")
- call s:HL("dtraceFunction", s:foreground, "", "")
- call s:HL("dtraceAggregatingFunction", s:blue, "", s:bold)
- call s:HL("dtraceStatement", s:navy, "", s:bold)
- call s:HL("dtraceIdentifier", s:pink, "", "")
- call s:HL("dtraceOption", s:pink, "", "")
- call s:HL("dtraceConstant", s:orange, "", "")
- call s:HL("dtraceType", s:pink, "", s:bold)
-
- " PlantUML Highlighting
- call s:HL("plantumlPreProc", s:orange, "", s:bold)
- call s:HL("plantumlDirectedOrVerticalArrowRL", s:pink, "", "")
- call s:HL("plantumlDirectedOrVerticalArrowLR", s:pink, "", "")
- call s:HL("plantumlString", s:olive, "", "")
- call s:HL("plantumlActivityThing", s:purple, "", "")
- call s:HL("plantumlText", s:navy, "", "")
- call s:HL("plantumlClassPublic", s:olive, "", s:bold)
- call s:HL("plantumlClassPrivate", s:red, "", "")
- call s:HL("plantumlColonLine", s:orange, "", "")
- call s:HL("plantumlClass", s:navy, "", "")
- call s:HL("plantumlHorizontalArrow", s:pink, "", "")
- call s:HL("plantumlTypeKeyword", s:blue, "", s:bold)
- call s:HL("plantumlKeyword", s:pink, "", s:bold)
-
- call s:HL("plantumlType", s:blue, "", s:bold)
- call s:HL("plantumlBlock", s:pink, "", s:bold)
- call s:HL("plantumlPreposition", s:orange, "", "")
- call s:HL("plantumlLayout", s:blue, "", s:bold)
- call s:HL("plantumlNote", s:orange, "", "")
- call s:HL("plantumlLifecycle", s:aqua, "", "")
- call s:HL("plantumlParticipant", s:foreground, "", s:bold)
-
-
- " Haskell Highlighting
- call s:HL("haskellType", s:aqua, "", s:bold)
- call s:HL("haskellIdentifier", s:orange, "", s:bold)
- call s:HL("haskellOperators", s:pink, "", "")
- call s:HL("haskellWhere", s:foreground, "", s:bold)
- call s:HL("haskellDelimiter", s:aqua, "", "")
- call s:HL("haskellImportKeywords", s:pink, "", "")
- call s:HL("haskellStatement", s:purple, "", s:bold)
-
-
- " SQL/MySQL Highlighting
- call s:HL("sqlStatement", s:pink, "", s:bold)
- call s:HL("sqlType", s:blue, "", s:bold)
- call s:HL("sqlKeyword", s:pink, "", "")
- call s:HL("sqlOperator", s:aqua, "", "")
- call s:HL("sqlSpecial", s:green, "", s:bold)
-
- call s:HL("mysqlVariable", s:olive, "", s:bold)
- call s:HL("mysqlType", s:blue, "", s:bold)
- call s:HL("mysqlKeyword", s:pink, "", "")
- call s:HL("mysqlOperator", s:aqua, "", "")
- call s:HL("mysqlSpecial", s:green, "", s:bold)
-
-
- " Octave/MATLAB Highlighting
- call s:HL("octaveVariable", s:foreground, "", "")
- call s:HL("octaveDelimiter", s:pink, "", "")
- call s:HL("octaveQueryVar", s:foreground, "", "")
- call s:HL("octaveSemicolon", s:purple, "", "")
- call s:HL("octaveFunction", s:navy, "", "")
- call s:HL("octaveSetVar", s:blue, "", "")
- call s:HL("octaveUserVar", s:foreground, "", "")
- call s:HL("octaveArithmeticOperator", s:aqua, "", "")
- call s:HL("octaveBeginKeyword", s:purple, "", s:bold)
- call s:HL("octaveElseKeyword", s:purple, "", s:bold)
- call s:HL("octaveEndKeyword", s:purple, "", s:bold)
- call s:HL("octaveStatement", s:pink, "", "")
-
- " Ruby Highlighting
- call s:HL("rubyModule", s:navy, "", s:bold)
- call s:HL("rubyClass", s:pink, "", s:bold)
- call s:HL("rubyPseudoVariable", s:comment, "", s:bold)
- call s:HL("rubyKeyword", s:pink, "", "")
- call s:HL("rubyInstanceVariable", s:purple, "", "")
- call s:HL("rubyFunction", s:foreground, "", s:bold)
- call s:HL("rubyDefine", s:pink, "", "")
- call s:HL("rubySymbol", s:aqua, "", "")
- call s:HL("rubyConstant", s:blue, "", "")
- call s:HL("rubyAccess", s:navy, "", "")
- call s:HL("rubyAttribute", s:green, "", "")
- call s:HL("rubyInclude", s:red, "", "")
- call s:HL("rubyLocalVariableOrMethod", s:orange, "", "")
- call s:HL("rubyCurlyBlock", s:foreground, "", "")
- call s:HL("rubyCurlyBlockDelimiter", s:aqua, "", "")
- call s:HL("rubyArrayDelimiter", s:aqua, "", "")
- call s:HL("rubyStringDelimiter", s:olive, "", "")
- call s:HL("rubyInterpolationDelimiter", s:orange, "", "")
- call s:HL("rubyConditional", s:purple, "", s:bold)
- call s:HL("rubyRepeat", s:purple, "", s:bold)
- call s:HL("rubyControl", s:purple, "", s:bold)
- call s:HL("rubyException", s:purple, "", s:bold)
- call s:HL("rubyExceptional", s:purple, "", s:bold)
- call s:HL("rubyBoolean", s:green, "", s:bold)
-
- " Fortran Highlighting
- call s:HL("fortranUnitHeader", s:foreground, "", s:bold)
- call s:HL("fortranType", s:pink, "", s:bold)
- call s:HL("fortranStructure", s:blue, "", s:bold)
- call s:HL("fortranStorageClass", s:navy, "", s:bold)
- call s:HL("fortranStorageClassR", s:navy, "", s:bold)
- call s:HL("fortranKeyword", s:pink, "", "")
- call s:HL("fortranReadWrite", s:blue, "", "")
- call s:HL("fortranIO", s:navy, "", "")
-
- " R Highlighting
- call s:HL("rType", s:blue, "", "")
- call s:HL("rArrow", s:pink, "", "")
- call s:HL("rDollar", s:blue, "", "")
-
- " XXD Highlighting
- call s:HL("xxdAddress", s:navy, "", "")
- call s:HL("xxdSep", s:pink, "", "")
- call s:HL("xxdAscii", s:pink, "", "")
- call s:HL("xxdDot", s:aqua, "", "")
-
- " PHP Highlighting
- call s:HL("phpIdentifier", s:foreground, "", "")
- call s:HL("phpVarSelector", s:pink, "", "")
- call s:HL("phpKeyword", s:blue, "", "")
- call s:HL("phpRepeat", s:purple, "", s:bold)
- call s:HL("phpConditional", s:purple, "", s:bold)
- call s:HL("phpStatement", s:pink, "", "")
- call s:HL("phpAssignByRef", s:aqua, "", s:bold)
- call s:HL("phpSpecialFunction", s:blue, "", "")
- call s:HL("phpFunctions", s:blue, "", "")
- call s:HL("phpComparison", s:aqua, "", "")
- call s:HL("phpBackslashSequences", s:olive, "", s:bold)
- call s:HL("phpMemberSelector", s:blue, "", "")
- call s:HL("phpStorageClass", s:purple, "", s:bold)
- call s:HL("phpDefine", s:navy, "", "")
- call s:HL("phpIntVar", s:navy, "",s:bold)
-
- " Perl Highlighting
- call s:HL("perlFiledescRead", s:green, "", "")
- call s:HL("perlMatchStartEnd", s:pink, "", "")
- call s:HL("perlStatementFlow", s:pink, "", "")
- call s:HL("perlStatementStorage", s:pink, "", "")
- call s:HL("perlFunction", s:pink, "", s:bold)
- call s:HL("perlMethod", s:foreground, "", "")
- call s:HL("perlStatementFiledesc", s:orange, "", "")
- call s:HL("perlVarPlain", s:navy, "", "")
- call s:HL("perlSharpBang", s:comment, "", "")
- call s:HL("perlStatementInclude", s:aqua, "", s:bold)
- call s:HL("perlStatementScalar", s:purple, "", "")
- call s:HL("perlSubName", s:aqua, "", s:bold)
- call s:HL("perlSpecialString", s:olive, "", s:bold)
-
- " Pascal Highlighting
- call s:HL("pascalType", s:pink, "", s:bold)
- call s:HL("pascalStatement", s:blue, "", s:bold)
- call s:HL("pascalPredefined", s:pink, "", "")
- call s:HL("pascalFunction", s:foreground, "", "")
- call s:HL("pascalStruct", s:navy, "", s:bold)
- call s:HL("pascalOperator", s:aqua, "", s:bold)
- call s:HL("pascalPreProc", s:green, "", "")
- call s:HL("pascalAcces", s:navy, "", s:bold)
-
- " Lua Highlighting
- call s:HL("luaFunc", s:foreground, "", "")
- call s:HL("luaIn", s:blue, "", s:bold)
- call s:HL("luaFunction", s:pink, "", "")
- call s:HL("luaStatement", s:blue, "", "")
- call s:HL("luaRepeat", s:blue, "", s:bold)
- call s:HL("luaCondStart", s:purple, "", s:bold)
- call s:HL("luaTable", s:aqua, "", s:bold)
- call s:HL("luaConstant", s:green, "", s:bold)
- call s:HL("luaElse", s:purple, "", s:bold)
- call s:HL("luaCondElseif", s:purple, "", s:bold)
- call s:HL("luaCond", s:purple, "", s:bold)
- call s:HL("luaCondEnd", s:purple, "", "")
-
- " Clojure highlighting:
- call s:HL("clojureConstant", s:blue, "", "")
- call s:HL("clojureBoolean", s:orange, "", "")
- call s:HL("clojureCharacter", s:olive, "", "")
- call s:HL("clojureKeyword", s:pink, "", "")
- call s:HL("clojureNumber", s:orange, "", "")
- call s:HL("clojureString", s:olive, "", "")
- call s:HL("clojureRegexp", s:purple, "", "")
- call s:HL("clojureRegexpEscape", s:pink, "", "")
- call s:HL("clojureParen", s:aqua, "", "")
- call s:HL("clojureVariable", s:olive, "", "")
- call s:HL("clojureCond", s:blue, "", "")
- call s:HL("clojureDefine", s:blue, "", s:bold)
- call s:HL("clojureException", s:red, "", "")
- call s:HL("clojureFunc", s:navy, "", "")
- call s:HL("clojureMacro", s:blue, "", "")
- call s:HL("clojureRepeat", s:blue, "", "")
- call s:HL("clojureSpecial", s:blue, "", s:bold)
- call s:HL("clojureQuote", s:blue, "", "")
- call s:HL("clojureUnquote", s:blue, "", "")
- call s:HL("clojureMeta", s:blue, "", "")
- call s:HL("clojureDeref", s:blue, "", "")
- call s:HL("clojureAnonArg", s:blue, "", "")
- call s:HL("clojureRepeat", s:blue, "", "")
- call s:HL("clojureDispatch", s:aqua, "", "")
-
- " Dockerfile Highlighting
- " @target https://github.com/docker/docker/tree/master/contrib/syntax/vim
- call s:HL("dockerfileKeyword", s:blue, "", "")
- call s:HL("shDerefVar", s:purple, "", s:bold)
- call s:HL("shOperator", s:aqua, "", "")
- call s:HL("shOption", s:navy, "", "")
- call s:HL("shLine", s:foreground, "", "")
- call s:HL("shWrapLineOperator", s:pink, "", "")
-
- " NGINX Highlighting
- " @target https://github.com/evanmiller/nginx-vim-syntax
- call s:HL("ngxDirectiveBlock", s:pink, "", s:bold)
- call s:HL("ngxDirective", s:blue, "", "none")
- call s:HL("ngxDirectiveImportant", s:blue, "", s:bold)
- call s:HL("ngxString", s:olive, "", "")
- call s:HL("ngxVariableString", s:purple, "", "")
- call s:HL("ngxVariable", s:purple, "", "none")
-
- " Yaml Highlighting
- call s:HL("yamlBlockMappingKey", s:blue, "", "")
- call s:HL("yamlKeyValueDelimiter", s:pink, "", "")
- call s:HL("yamlBlockCollectionItemStart", s:pink, "", "")
-
- " Qt QML Highlighting
- call s:HL("qmlObjectLiteralType", s:pink, "", "")
- call s:HL("qmlReserved", s:purple, "", "")
- call s:HL("qmlBindingProperty", s:navy, "", "")
- call s:HL("qmlType", s:navy, "", "")
-
- " Dosini Highlighting
- call s:HL("dosiniHeader", s:pink, "", "")
- call s:HL("dosiniLabel", s:blue, "", "")
-
- " Mail highlighting
- call s:HL("mailHeaderKey", s:blue, "", "")
- call s:HL("mailHeaderEmail", s:purple, "", "")
- call s:HL("mailSubject", s:pink, "", "")
- call s:HL("mailHeader", s:comment, "", "")
- call s:HL("mailURL", s:aqua, "", "")
- call s:HL("mailEmail", s:purple, "", "")
- call s:HL("mailQuoted1", s:olive, "", "")
- call s:HL("mailQuoted2", s:navy, "", "")
-
- " XML Highlighting
- call s:HL("xmlProcessingDelim", s:pink, "", "")
- call s:HL("xmlString", s:olive, "", "")
- call s:HL("xmlEqual", s:orange, "", "")
- call s:HL("xmlAttrib", s:navy, "", "")
- call s:HL("xmlAttribPunct", s:pink, "", "")
- call s:HL("xmlTag", s:blue, "", "")
- call s:HL("xmlTagName", s:blue, "", "")
- call s:HL("xmlEndTag", s:blue, "", "")
- call s:HL("xmlNamespace", s:orange, "", "")
-
- " Exlixir Highlighting
- " @target https://github.com/elixir-lang/vim-elixir
- call s:HL("elixirAlias", s:blue, "", s:bold)
- call s:HL("elixirAtom", s:navy, "", "")
- call s:HL("elixirVariable", s:navy, "", "")
- call s:HL("elixirUnusedVariable", s:foreground, "", s:bold)
- call s:HL("elixirInclude", s:purple, "", "")
- call s:HL("elixirStringDelimiter", s:olive, "", "")
- call s:HL("elixirKeyword", s:purple, "", s:bold)
- call s:HL("elixirFunctionDeclaration", s:aqua, "", s:bold)
- call s:HL("elixirBlockDefinition", s:pink, "", "")
- call s:HL("elixirDefine", s:pink, "", "")
- call s:HL("elixirStructDefine", s:pink, "", "")
- call s:HL("elixirPrivateDefine", s:pink, "", "")
- call s:HL("elixirModuleDefine", s:pink, "", "")
- call s:HL("elixirProtocolDefine", s:pink, "", "")
- call s:HL("elixirImplDefine", s:pink, "", "")
- call s:HL("elixirModuleDeclaration", s:aqua, "", s:bold)
- call s:HL("elixirDocString", s:olive, "", "")
- call s:HL("elixirDocTest", s:green, "", s:bold)
-
- " Erlang Highlighting
- call s:HL("erlangBIF", s:purple, "", s:bold)
- call s:HL("erlangBracket", s:pink, "", "")
- call s:HL("erlangLocalFuncCall", s:foreground, "", "")
- call s:HL("erlangVariable", s:foreground, "", "")
- call s:HL("erlangAtom", s:navy, "", "")
- call s:HL("erlangAttribute", s:blue, "", s:bold)
- call s:HL("erlangRecordDef", s:blue, "", s:bold)
- call s:HL("erlangRecord", s:blue, "", "")
- call s:HL("erlangRightArrow", s:blue, "", s:bold)
- call s:HL("erlangStringModifier", s:olive, "", s:bold)
- call s:HL("erlangInclude", s:blue, "", s:bold)
- call s:HL("erlangKeyword", s:pink, "", "")
- call s:HL("erlangGlobalFuncCall", s:foreground, "", "")
-
- " Cucumber Highlighting
- call s:HL("cucumberFeature", s:blue, "", s:bold)
- call s:HL("cucumberBackground", s:pink, "", s:bold)
- call s:HL("cucumberScenario", s:pink, "", s:bold)
- call s:HL("cucumberGiven", s:orange, "", "")
- call s:HL("cucumberGivenAnd", s:blue, "", "")
- call s:HL("cucumberThen", s:orange, "", "")
- call s:HL("cucumberThenAnd", s:blue, "", "")
- call s:HL("cucumberWhen", s:purple, "", s:bold)
- call s:HL("cucumberScenarioOutline", s:pink, "", s:bold)
- call s:HL("cucumberExamples", s:aqua, "", "")
- call s:HL("cucumberTags", s:aqua, "", "")
- call s:HL("cucumberPlaceholder", s:aqua, "", "")
- " }}}
-
- " Plugin: Netrw
- call s:HL("netrwVersion", s:red, "", "")
- call s:HL("netrwList", s:pink, "", "")
- call s:HL("netrwHidePat", s:olive, "", "")
- call s:HL("netrwQuickHelp", s:blue, "", "")
- call s:HL("netrwHelpCmd", s:blue, "", "")
- call s:HL("netrwDir", s:aqua, "", s:bold)
- call s:HL("netrwClassify", s:pink, "", "")
- call s:HL("netrwExe", s:green, "", "")
- call s:HL("netrwSuffixes", s:comment, "", "")
- call s:HL("netrwTreeBar", s:linenumber_fg, "", "")
-
- " Plugin: NERDTree
- call s:HL("NERDTreeUp", s:comment, "", "")
- call s:HL("NERDTreeHelpCommand", s:pink, "", "")
- call s:HL("NERDTreeHelpTitle", s:blue, "", s:bold)
- call s:HL("NERDTreeHelpKey", s:pink, "", "")
- call s:HL("NERDTreeHelp", s:foreground, "", "")
- call s:HL("NERDTreeToggleOff", s:red, "", "")
- call s:HL("NERDTreeToggleOn", s:green, "", "")
- call s:HL("NERDTreeDir", s:blue, "", s:bold)
- call s:HL("NERDTreeDirSlash", s:pink, "", "")
- call s:HL("NERDTreeFile", s:foreground, "", "")
- call s:HL("NERDTreeExecFile", s:green, "", "")
- call s:HL("NERDTreeOpenable", s:pink, "", s:bold)
- call s:HL("NERDTreeClosable", s:pink, "", "")
-
- " Plugin: Tagbar
- call s:HL("TagbarHelpTitle", s:blue, "", s:bold)
- call s:HL("TagbarHelp", s:foreground, "", "")
- call s:HL("TagbarKind", s:pink, "", "")
- call s:HL("TagbarSignature", s:aqua, "", "")
-
- " Plugin: Vimdiff
- call s:HL("DiffAdd", s:diffadd_fg, s:diffadd_bg, "none")
- call s:HL("DiffChange", s:diffchange_fg, s:diffchange_bg, "none")
- call s:HL("DiffDelete", s:diffdelete_fg, s:diffdelete_bg, "none")
- call s:HL("DiffText", s:difftext_fg, s:difftext_bg, "none")
-
- " Plugin: AGit
- call s:HL("agitStatAdded", s:diffadd_fg, "", "")
- call s:HL("agitStatRemoved", s:diffdelete_fg, "", "")
-
- call s:HL("agitDiffAdd", s:diffadd_fg, "", "")
- call s:HL("agitDiffRemove", s:diffdelete_fg, "", "")
-
- call s:HL("agitDiffHeader", s:pink, "", "")
- call s:HL("agitDiff", s:foreground, "", "")
-
- call s:HL("agitDiffIndex", s:purple, "", "")
- call s:HL("agitDiffFileName", s:aqua, "", "")
-
- call s:HL("agitLog", s:foreground, "", "")
- call s:HL("agitAuthorMark", s:olive, "", "")
-
- call s:HL("agitDateMark", s:comment, "", "")
-
- call s:HL("agitHeaderLabel", s:aqua, "", "")
-
- call s:HL("agitHead", s:olive, "", "")
- call s:HL("agitHeader", s:olive, "", "")
-
- " Plugin: Spell Checking
- call s:HL("SpellBad", s:foreground, s:spellbad, "")
- call s:HL("SpellCap", s:foreground, s:spellcap, "")
- call s:HL("SpellRare", s:foreground, s:spellrare, "")
- call s:HL("SpellLocal", s:foreground, s:spelllocal, "")
-
- " Plugin: Indent Guides
- call s:HL("IndentGuidesOdd", "", s:background, "")
- call s:HL("IndentGuidesEven", "", s:cursorline, "")
-
- " Plugin: Startify
- call s:HL("StartifyFile", s:blue, "", s:bold)
- call s:HL("StartifyNumber", s:orange, "", "")
- call s:HL("StartifyHeader", s:comment, "", "")
- call s:HL("StartifySection", s:pink, "", "")
- call s:HL("StartifyPath", s:foreground, "", "")
- call s:HL("StartifySlash", s:navy, "", "")
- call s:HL("StartifyBracket", s:aqua, "", "")
- call s:HL("StartifySpecial", s:aqua, "", "")
-
- " Git
- call s:HL("diffAdded", s:olive, "", "")
- call s:HL("diffRemoved", s:pink, "", "")
- " call s:HL("gitcommitSummary", "", "", s:bold)
-
-endfun
-" }}}
-
-" APPLY SYNTAX HIGHLIGHTING: {{{
-
-fun! s:apply_highlightings()
- " Handle background switching right after `Normal` group because of
- " God-know-why reason. It's assumed that the first group in the list
- " is `Normal` group.
- let l:normal = s:highlightings[0]
- exec 'hi ' . l:normal[0] . l:normal[1]
-
- " Switching between dark & light variant through `set background`
- if s:is_dark " DARK VARIANT
- set background=dark
- else " LIGHT VARIANT
- set background=light
- endif
-
- " The rest of syntax highlighting groups
- for h in s:highlightings[1:]
- exec 'hi ' . h[0] . h[1]
- endfor
-
-endfun
-
-"}}}
-
-" =========================== TESTING =====================================
-" Run unit testing :call g:PaperColor_Test()
-
-" UNIT TESTING: {{{
-
-fun! s:test_report(test, verbose)
- if a:test[1] != ''
- echo a:test[0]
- echo '==> failed. ' . a:test[1]
- return 1
-
- elseif a:verbose == 1
- echo a:test[0]
- echo '==> passed.'
- return 0
-
- endif
-endfun
-
-fun! s:palettes_should_have_color00_to_color15()
- let l:premise = "All color palettes should have color00 to color15, each has 2 components"
- let l:error = ''
-
- for [name, theme] in items(s:themes)
-
- for l:variant in ['light', 'dark']
- if has_key(theme, l:variant)
- let l:palette = theme[l:variant].palette
-
- for l:color in ['color00', 'color01', 'color02', 'color03',
- \ 'color04', 'color05', 'color06', 'color07',
- \ 'color08', 'color09', 'color10', 'color11',
- \ 'color12', 'color13', 'color14', 'color15' ]
- if !has_key(l:palette, l:color)
- let l:error .= "s:themes['" . name . "']." . l:variant . ".palette doesn't have " . l:color
- break
- else
- let l:value = l:palette[l:color]
- if len(l:value) != 2
- let l:error .= "s:themes['" . name . "']." . l:variant . ".palette." . l:color . " doesn't have required value"
- break
- endif
- endif
- endfor
-
- if l:error != ''
- return [l:premise, l:error]
- endif
- endif
- endfor
-
- endfor
-
- return [l:premise, l:error]
-endfun
-" ------------------------------------------------------------------
-
-fun! s:colors_should_have_correct_format()
- let l:premise = "All colors should have correct format like this ['#abcdef', '123'] or []"
- let l:error = ''
-
- for [name, theme] in items(s:themes)
-
- for l:variant in ['light', 'dark']
- if has_key(theme, l:variant)
- let l:palette = theme[l:variant].palette
-
- let l:msg_prefix = "\ns:themes['" . name . "']." . l:variant . ".palette."
- for [l:color, l:value] in items(l:palette)
-
- let l:value = l:palette[l:color]
- if len(l:value) != 2 && len(l:value) != 0
- let l:error .= msg_prefix . l:color . " doesn't have length 2 or 0"
- continue
- endif
-
- if len(l:value) == 2
- if l:value[0] == '' && l:value[1] == ''
- let l:error .= msg_prefix . l:color . " doesn't have at least 1 non-empty value"
- continue
- endif
-
- if stridx(l:value[0], ' ') != -1
- let l:error .= msg_prefix . l:color . " has space in the first value"
- continue
- endif
-
- if stridx(l:value[1], ' ') != -1
- let l:error .= msg_prefix . l:color . " has space in the second value"
- continue
- endif
-
- if l:value[0] != '' && l:value[0][0] != '#'
- let l:error .= msg_prefix . l:color . " doesn't have '#' at the beginning of the first value"
- continue
- endif
- endif
-
- endfor
-
- " if l:error != ''
- " return [l:premise, l:error]
- " endif
-
- endif
- endfor
-
- endfor
-
- return [l:premise, l:error]
-endfun
-" ------------------------------------------------------------------
-
-fun! s:expected_256_only_colors_should_be_consistent()
- let l:premise = 'Palletes that are marked for TEST_256_COLOR_CONSISTENCY should have consitent values of HEX and 256 for each color'
- let l:error = ''
-
- for [name, theme] in items(s:themes)
-
- for l:variant in ['light', 'dark']
- if has_key(theme, l:variant)
-
- if has_key(theme[l:variant], 'TEST_256_COLOR_CONSISTENCY') &&
- \ theme[l:variant].TEST_256_COLOR_CONSISTENCY == 1
- let l:palette = theme[l:variant].palette
-
- for [l:color, l:value] in items(l:palette)
- if len(l:value) == 2
- let l:value_hex = l:value[0]
- let l:value_256 = l:value[1]
- let l:expected_hex = s:to_HEX[l:value_256]
- if l:value_hex != l:expected_hex
- let l:error .= "\ns:themes['" . name . "']." . l:variant . ".palette " .
- \ "Expected: '" . l:color ."' : ['" . l:expected_hex . "', '". l:value_256 . "']"
- endif
- endif
- endfor " end looping through colors
-
- endif " had TEST_256_COLOR_CONSISTENCY
-
- endif " had variant
- endfor " end looping through variants
-
- endfor " end looping through themes
-
- return [l:premise, l:error]
-endfun
-" ------------------------------------------------------------------
-
-" TODO: later
-" fun! s:test_converter()
-" let l:premise = 'Just test converter'
-" let l:error = ''
-
-" echo s:to_HEX['134'] . ' ' . s:to_256(s:to_HEX['134']) . ' expected 134'
-" echo s:to_HEX['135'] . ' ' . s:to_256(s:to_HEX['135']) . ' expected 135'
-" echo s:to_HEX['136'] . ' ' . s:to_256(s:to_HEX['136']) . ' expected 136'
-" echo s:to_HEX['234'] . ' ' . s:to_256(s:to_HEX['234']) . ' expected 234'
-" echo s:to_HEX['235'] . ' ' . s:to_256(s:to_HEX['235']) . ' expected 235'
-" echo s:to_HEX['236'] . ' ' . s:to_256(s:to_HEX['236']) . ' expected 236'
-
-" return [l:premise, l:error]
-" endfun
-" ------------------------------------------------------------------
-
-fun! g:PaperColor_Test()
- let l:verbose = 1 " 0: only error
- let l:test_functions = [
- \ function('s:palettes_should_have_color00_to_color15'),
- \ function('s:colors_should_have_correct_format'),
- \ function('s:expected_256_only_colors_should_be_consistent'),
- \ ]
-
- if l:verbose == 1
- echo '----- PaperColor-Theme ------'
- echo '-------- TEST BEGIN ---------'
- endif
-
- let l:has_failed = 0
-
- let l:counter = 0
- for l:Test in l:test_functions
- let l:has_failed = l:has_failed || s:test_report(l:Test(), l:verbose)
- if l:has_failed == 1
- echo ' '
- echo '[FAILED]'
- echo "Failed at test function: " l:Test
- echo ' '
- echo '-----------------------------'
- echo '' 1.0 * l:counter / len(l:test_functions) * 100
- echon '% passed'
- break
- endif
- let l:counter += 1
- endfor
-
- if l:verbose == 1
- if l:has_failed == 0
- echo '[SUCCEEDED]'
- endif
- echo '-------- TEST END -----------'
- endif
-
- return l:has_failed
-endfun
-
-" let g:PaperColor_Theme_Test = 1
-" if exists("g:PaperColor_Theme_Test") && g:PaperColor_Theme_Test == 1
-" endif
-" }}}
-
-" INTERMEDIATE FILES GENERATOR: {{{
-
-fun! s:writeToFile(message, file)
- echo a:file
- new
- setlocal buftype=nofile bufhidden=hide noswapfile nobuflisted
- put=a:message
- execute 'w ' a:file
- q
-endfun
-
-let s:script_path = fnamemodify(resolve(expand(':p')), ':h')
-
-fun! g:PaperColor_GenerateSpecs()
- " call s:generate_color_palettes()
- call s:generate_vim_highlightings()
-endfun
-
-fun! s:generate_color_palettes()
- let l:content = ''
- let l:indent1 = ' '
- let l:indent2 = ' '
- for [l:name, l:theme] in items(s:themes)
-
- let l:content .= l:name . ":\n"
- for l:variant in ['light', 'dark']
- if has_key(l:theme, l:variant)
-
- let l:content .= l:indent1 . l:variant . ":\n"
- let l:palette = l:theme[l:variant].palette
-
- for [l:color, l:value] in items(l:palette)
- let l:value_hex = l:value[0]
- " let l:value_256 = l:value[1]
- let l:content .= l:indent2 . l:color . ": " . l:value_hex . "\n"
- endfor " end looping through colors
-
- endif
- endfor " end looping through variants
-
- endfor " end looping through themes
- " echo l:content
- call s:writeToFile(l:content, "palettes.yml")
-endfun
-
-fun! s:generate_vim_highlightings()
- let l:content = ''
- let l:indent1 = ' '
- let l:indent2 = ' '
- let l:indent3 = ' '
- for [l:name, l:theme] in items(s:themes)
-
- let l:content .= l:name . ":\n"
-
- for l:mode in [s:MODE_TRUE_OR_256_COLOR, s:MODE_16_COLOR]
- let l:is_16_color_checked = 0
- let l:mode_display_name = 'high-color'
- if l:mode == s:MODE_16_COLOR
- let l:mode_display_name = 'low-color'
- endif
-
- let l:content .= l:indent1 . l:mode_display_name . ":\n"
-
- for l:variant in ['light', 'dark']
- if has_key(l:theme, l:variant)
- if l:mode == s:MODE_16_COLOR
- if l:is_16_color_checked == 1
- continue
- else
- let l:is_16_color_checked = 1
- endif
- endif
-
- let l:content .= l:indent2 . l:variant . ":\n"
-
- let s:palette = l:theme[l:variant].palette
-
- let s:mode = l:mode
- call s:adapt_to_environment()
- call s:set_color_variables()
- call s:set_highlightings_variable()
-
- for [l:group, l:highlighting] in s:highlightings
- let l:content .= l:indent3 . l:group . ": " . l:highlighting . "\n"
- endfor
-
- endif
- endfor " end looping through variants
-
- endfor
-
-
- endfor " end looping through themes
- " echo l:content
- call s:writeToFile(l:content, "highlightings.yml")
-endfun
-
-" }}}
-
-" ============================ MAIN =======================================
-
-" MAIN: {{{
-
-hi clear
-syntax reset
-let g:colors_name = "PaperColor"
-
-call s:adapt_to_environment()
-call s:set_color_variables()
-call s:set_highlightings_variable()
-call s:apply_highlightings()
-
-" }}}
-
-" =========================================================================
-" Cheers!
-" vim: fdm=marker ff=unix
-
diff --git a/vim/colors/one.vim b/vim/colors/one.vim
deleted file mode 100644
index 57beaed..0000000
--- a/vim/colors/one.vim
+++ /dev/null
@@ -1,834 +0,0 @@
-" Name: one vim colorscheme
-" Author: Ramzi Akremi
-" License: MIT
-" Version: 1.1.1-pre
-" URL: https://github.com/rakr/vim-one
-
-" Global setup =============================================================={{{
-
-if exists("*X")
- delf X
- delf rgb
- delf color
- delf rgb_color
- delf rgb_level
- delf rgb_number
- delf grey_color
- delf grey_level
- delf grey_number
-endif
-
-hi clear
-syntax reset
-if exists('g:colors_name')
- unlet g:colors_name
-endif
-let g:colors_name = 'one'
-
-if !exists('g:one_allow_italics')
- let g:one_allow_italics = 0
-endif
-
-if has('gui_running') || &t_Co == 88 || &t_Co == 256
- " functions
- " returns an approximate grey index for the given grey level
-
- " Utility functions -------------------------------------------------------{{{
- fun grey_number(x)
- if &t_Co == 88
- if a:x < 23
- return 0
- elseif a:x < 69
- return 1
- elseif a:x < 103
- return 2
- elseif a:x < 127
- return 3
- elseif a:x < 150
- return 4
- elseif a:x < 173
- return 5
- elseif a:x < 196
- return 6
- elseif a:x < 219
- return 7
- elseif a:x < 243
- return 8
- else
- return 9
- endif
- else
- if a:x < 14
- return 0
- else
- let l:n = (a:x - 8) / 10
- let l:m = (a:x - 8) % 10
- if l:m < 5
- return l:n
- else
- return l:n + 1
- endif
- endif
- endif
- endfun
-
- " returns the actual grey level represented by the grey index
- fun grey_level(n)
- if &t_Co == 88
- if a:n == 0
- return 0
- elseif a:n == 1
- return 46
- elseif a:n == 2
- return 92
- elseif a:n == 3
- return 115
- elseif a:n == 4
- return 139
- elseif a:n == 5
- return 162
- elseif a:n == 6
- return 185
- elseif a:n == 7
- return 208
- elseif a:n == 8
- return 231
- else
- return 255
- endif
- else
- if a:n == 0
- return 0
- else
- return 8 + (a:n * 10)
- endif
- endif
- endfun
-
- " returns the palette index for the given grey index
- fun grey_color(n)
- if &t_Co == 88
- if a:n == 0
- return 16
- elseif a:n == 9
- return 79
- else
- return 79 + a:n
- endif
- else
- if a:n == 0
- return 16
- elseif a:n == 25
- return 231
- else
- return 231 + a:n
- endif
- endif
- endfun
-
- " returns an approximate color index for the given color level
- fun rgb_number(x)
- if &t_Co == 88
- if a:x < 69
- return 0
- elseif a:x < 172
- return 1
- elseif a:x < 230
- return 2
- else
- return 3
- endif
- else
- if a:x < 75
- return 0
- else
- let l:n = (a:x - 55) / 40
- let l:m = (a:x - 55) % 40
- if l:m < 20
- return l:n
- else
- return l:n + 1
- endif
- endif
- endif
- endfun
-
- " returns the actual color level for the given color index
- fun rgb_level(n)
- if &t_Co == 88
- if a:n == 0
- return 0
- elseif a:n == 1
- return 139
- elseif a:n == 2
- return 205
- else
- return 255
- endif
- else
- if a:n == 0
- return 0
- else
- return 55 + (a:n * 40)
- endif
- endif
- endfun
-
- " returns the palette index for the given R/G/B color indices
- fun rgb_color(x, y, z)
- if &t_Co == 88
- return 16 + (a:x * 16) + (a:y * 4) + a:z
- else
- return 16 + (a:x * 36) + (a:y * 6) + a:z
- endif
- endfun
-
- " returns the palette index to approximate the given R/G/B color levels
- fun color(r, g, b)
- " get the closest grey
- let l:gx = grey_number(a:r)
- let l:gy = grey_number(a:g)
- let l:gz = grey_number(a:b)
-
- " get the closest color
- let l:x = rgb_number(a:r)
- let l:y = rgb_number(a:g)
- let l:z = rgb_number(a:b)
-
- if l:gx == l:gy && l:gy == l:gz
- " there are two possibilities
- let l:dgr = grey_level(l:gx) - a:r
- let l:dgg = grey_level(l:gy) - a:g
- let l:dgb = grey_level(l:gz) - a:b
- let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
- let l:dr = rgb_level(l:gx) - a:r
- let l:dg = rgb_level(l:gy) - a:g
- let l:db = rgb_level(l:gz) - a:b
- let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
- if l:dgrey < l:drgb
- " use the grey
- return grey_color(l:gx)
- else
- " use the color
- return rgb_color(l:x, l:y, l:z)
- endif
- else
- " only one possibility
- return rgb_color(l:x, l:y, l:z)
- endif
- endfun
-
- " returns the palette index to approximate the 'rrggbb' hex string
- fun rgb(rgb)
- let l:r = ('0x' . strpart(a:rgb, 0, 2)) + 0
- let l:g = ('0x' . strpart(a:rgb, 2, 2)) + 0
- let l:b = ('0x' . strpart(a:rgb, 4, 2)) + 0
-
- return color(l:r, l:g, l:b)
- endfun
-
- " sets the highlighting for the given group
- fun X(group, fg, bg, attr)
- let l:attr = a:attr
- if g:one_allow_italics == 0 && l:attr ==? 'italic'
- let l:attr= 'none'
- endif
-
- let l:bg = ""
- let l:fg = ""
- let l:decoration = ""
-
- if a:bg != ''
- let l:bg = " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg)
- endif
-
- if a:fg != ''
- let l:fg = " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg)
- endif
-
- if a:attr != ''
- let l:decoration = " gui=" . l:attr . " cterm=" . l:attr
- endif
-
- let l:exec = l:fg . l:bg . l:decoration
-
- if l:exec != ''
- exec "hi " . a:group . l:exec
- endif
-
- endfun
-
- "}}}
-
-
- " Color definition --------------------------------------------------------{{{
- if &background ==# 'dark'
- let s:mono_1 = 'abb2bf'
- let s:mono_2 = '828997'
- let s:mono_3 = '5c6370'
- let s:mono_4 = '4b5263'
-
- let s:hue_1 = '56b6c2' " cyan
- let s:hue_2 = '61afef' " blue
- let s:hue_3 = 'c678dd' " purple
- let s:hue_4 = '98c379' " green
-
- let s:hue_5 = 'e06c75' " red 1
- let s:hue_5_2 = 'be5046' " red 2
-
- let s:hue_6 = 'd19a66' " orange 1
- let s:hue_6_2 = 'e5c07b' " orange 2
-
- let s:syntax_bg = '282c34'
- let s:syntax_gutter = '636d83'
- let s:syntax_cursor = '2c323c'
-
- let s:syntax_accent = '528bff'
-
- let s:vertsplit = '181a1f'
- let s:special_grey = '3b4048'
- let s:visual_grey = '3e4452'
- let s:pmenu = '333841'
- else
- let s:mono_1 = '494b53'
- let s:mono_2 = '696c77'
- let s:mono_3 = 'a0a1a7'
- let s:mono_4 = 'c2c2c3'
-
- let s:hue_1 = '0184bc' " cyan
- let s:hue_2 = '4078f2' " blue
- let s:hue_3 = 'a626a4' " purple
- let s:hue_4 = '50a14f' " green
-
- let s:hue_5 = 'e45649' " red 1
- let s:hue_5_2 = 'ca1243' " red 2
-
- let s:hue_6 = '986801' " orange 1
- let s:hue_6_2 = 'c18401' " orange 2
-
- let s:syntax_bg = 'fafafa'
- let s:syntax_gutter = '9e9e9e'
- let s:syntax_cursor = 'f0f0f0'
-
- let s:syntax_accent = '526fff'
- let s:syntax_accent_2 = '0083be'
-
- let s:vertsplit = 'e7e9e1'
- let s:special_grey = 'd3d3d3'
- let s:visual_grey = 'd0d0d0'
- let s:pmenu = 'dfdfdf'
- endif
-
- let s:syntax_fg = s:mono_1
- let s:syntax_fold_bg = s:mono_3
-
- "}}}
-
- " Vim editor color --------------------------------------------------------{{{
- call X('Normal', s:syntax_fg, s:syntax_bg, '')
- call X('bold', '', '', 'bold')
- call X('ColorColumn', '', s:syntax_cursor, '')
- call X('Conceal', s:mono_4, s:syntax_bg, '')
- call X('Cursor', '', s:syntax_accent, '')
- call X('CursorIM', '', '', '')
- call X('CursorColumn', '', s:syntax_cursor, '')
- call X('CursorLine', '', s:syntax_cursor, 'none')
- call X('Directory', s:hue_2, '', '')
- call X('ErrorMsg', s:hue_5, s:syntax_bg, 'none')
- call X('VertSplit', s:vertsplit, '', 'none')
- call X('Folded', s:syntax_bg, s:syntax_fold_bg, 'none')
- call X('FoldColumn', s:mono_3, s:syntax_cursor, '')
- call X('IncSearch', s:hue_6, '', '')
- call X('LineNr', s:mono_4, '', '')
- call X('CursorLineNr', s:syntax_fg, s:syntax_cursor, 'none')
- call X('MatchParen', s:hue_5, s:syntax_cursor, 'underline,bold')
- call X('Italic', '', '', 'italic')
- call X('ModeMsg', s:syntax_fg, '', '')
- call X('MoreMsg', s:syntax_fg, '', '')
- call X('NonText', s:mono_3, '', 'none')
- call X('PMenu', '', s:pmenu, '')
- call X('PMenuSel', '', s:mono_4, '')
- call X('PMenuSbar', '', s:syntax_bg, '')
- call X('PMenuThumb', '', s:mono_1, '')
- call X('Question', s:hue_2, '', '')
- call X('Search', s:syntax_bg, s:hue_6_2, '')
- call X('SpecialKey', s:special_grey, '', 'none')
- call X('Whitespace', s:special_grey, '', 'none')
- call X('StatusLine', s:syntax_fg, s:syntax_cursor, 'none')
- call X('StatusLineNC', s:mono_3, '', '')
- call X('TabLine', s:mono_1, s:syntax_bg, '')
- call X('TabLineFill', s:mono_3, s:visual_grey, 'none')
- call X('TabLineSel', s:syntax_bg, s:hue_2, '')
- call X('Title', s:syntax_fg, '', 'bold')
- call X('Visual', '', s:visual_grey, '')
- call X('VisualNOS', '', s:visual_grey, '')
- call X('WarningMsg', s:hue_5, '', '')
- call X('TooLong', s:hue_5, '', '')
- call X('WildMenu', s:syntax_fg, s:mono_3, '')
- call X('SignColumn', '', s:syntax_bg, '')
- call X('Special', s:hue_2, '', '')
- " }}}
-
- " Vim Help highlighting ---------------------------------------------------{{{
- call X('helpCommand', s:hue_6_2, '', '')
- call X('helpExample', s:hue_6_2, '', '')
- call X('helpHeader', s:mono_1, '', 'bold')
- call X('helpSectionDelim', s:mono_3, '', '')
- " }}}
-
- " Standard syntax highlighting --------------------------------------------{{{
- call X('Comment', s:mono_3, '', 'italic')
- call X('Constant', s:hue_4, '', '')
- call X('String', s:hue_4, '', '')
- call X('Character', s:hue_4, '', '')
- call X('Number', s:hue_6, '', '')
- call X('Boolean', s:hue_6, '', '')
- call X('Float', s:hue_6, '', '')
- call X('Identifier', s:hue_5, '', 'none')
- call X('Function', s:hue_2, '', '')
- call X('Statement', s:hue_3, '', 'none')
- call X('Conditional', s:hue_3, '', '')
- call X('Repeat', s:hue_3, '', '')
- call X('Label', s:hue_3, '', '')
- call X('Operator', s:syntax_accent, '', 'none')
- call X('Keyword', s:hue_5, '', '')
- call X('Exception', s:hue_3, '', '')
- call X('PreProc', s:hue_6_2, '', '')
- call X('Include', s:hue_2, '', '')
- call X('Define', s:hue_3, '', 'none')
- call X('Macro', s:hue_3, '', '')
- call X('PreCondit', s:hue_6_2, '', '')
- call X('Type', s:hue_6_2, '', 'none')
- call X('StorageClass', s:hue_6_2, '', '')
- call X('Structure', s:hue_6_2, '', '')
- call X('Typedef', s:hue_6_2, '', '')
- call X('Special', s:hue_2, '', '')
- call X('SpecialChar', '', '', '')
- call X('Tag', '', '', '')
- call X('Delimiter', '', '', '')
- call X('SpecialComment', '', '', '')
- call X('Debug', '', '', '')
- call X('Underlined', '', '', 'underline')
- call X('Ignore', '', '', '')
- call X('Error', s:hue_5, s:syntax_bg, 'bold')
- call X('Todo', s:hue_3, s:syntax_bg, '')
- " }}}
-
- " Diff highlighting -------------------------------------------------------{{{
- call X('DiffAdd', s:hue_4, s:visual_grey, '')
- call X('DiffChange', s:hue_6, s:visual_grey, '')
- call X('DiffDelete', s:hue_5, s:visual_grey, '')
- call X('DiffText', s:hue_2, s:visual_grey, '')
- call X('DiffAdded', s:hue_4, s:visual_grey, '')
- call X('DiffFile', s:hue_5, s:visual_grey, '')
- call X('DiffNewFile', s:hue_4, s:visual_grey, '')
- call X('DiffLine', s:hue_2, s:visual_grey, '')
- call X('DiffRemoved', s:hue_5, s:visual_grey, '')
- " }}}
-
- " Asciidoc highlighting ---------------------------------------------------{{{
- call X('asciidocListingBlock', s:mono_2, '', '')
- " }}}
-
- " C/C++ highlighting ------------------------------------------------------{{{
- call X('cInclude', s:hue_3, '', '')
- call X('cPreCondit', s:hue_3, '', '')
- call X('cPreConditMatch', s:hue_3, '', '')
-
- call X('cType', s:hue_3, '', '')
- call X('cStorageClass', s:hue_3, '', '')
- call X('cStructure', s:hue_3, '', '')
- call X('cOperator', s:hue_3, '', '')
- call X('cStatement', s:hue_3, '', '')
- call X('cTODO', s:hue_3, '', '')
- call X('cConstant', s:hue_6, '', '')
- call X('cSpecial', s:hue_1, '', '')
- call X('cSpecialCharacter', s:hue_1, '', '')
- call X('cString', s:hue_4, '', '')
-
- call X('cppType', s:hue_3, '', '')
- call X('cppStorageClass', s:hue_3, '', '')
- call X('cppStructure', s:hue_3, '', '')
- call X('cppModifier', s:hue_3, '', '')
- call X('cppOperator', s:hue_3, '', '')
- call X('cppAccess', s:hue_3, '', '')
- call X('cppStatement', s:hue_3, '', '')
- call X('cppConstant', s:hue_5, '', '')
- call X('cCppString', s:hue_4, '', '')
- " }}}
-
- " Cucumber highlighting ---------------------------------------------------{{{
- call X('cucumberGiven', s:hue_2, '', '')
- call X('cucumberWhen', s:hue_2, '', '')
- call X('cucumberWhenAnd', s:hue_2, '', '')
- call X('cucumberThen', s:hue_2, '', '')
- call X('cucumberThenAnd', s:hue_2, '', '')
- call X('cucumberUnparsed', s:hue_6, '', '')
- call X('cucumberFeature', s:hue_5, '', 'bold')
- call X('cucumberBackground', s:hue_3, '', 'bold')
- call X('cucumberScenario', s:hue_3, '', 'bold')
- call X('cucumberScenarioOutline', s:hue_3, '', 'bold')
- call X('cucumberTags', s:mono_3, '', 'bold')
- call X('cucumberDelimiter', s:mono_3, '', 'bold')
- " }}}
-
- " CSS/Sass highlighting ---------------------------------------------------{{{
- call X('cssAttrComma', s:hue_3, '', '')
- call X('cssAttributeSelector', s:hue_4, '', '')
- call X('cssBraces', s:mono_2, '', '')
- call X('cssClassName', s:hue_6, '', '')
- call X('cssClassNameDot', s:hue_6, '', '')
- call X('cssDefinition', s:hue_3, '', '')
- call X('cssFontAttr', s:hue_6, '', '')
- call X('cssFontDescriptor', s:hue_3, '', '')
- call X('cssFunctionName', s:hue_2, '', '')
- call X('cssIdentifier', s:hue_2, '', '')
- call X('cssImportant', s:hue_3, '', '')
- call X('cssInclude', s:mono_1, '', '')
- call X('cssIncludeKeyword', s:hue_3, '', '')
- call X('cssMediaType', s:hue_6, '', '')
- call X('cssProp', s:hue_1, '', '')
- call X('cssPseudoClassId', s:hue_6, '', '')
- call X('cssSelectorOp', s:hue_3, '', '')
- call X('cssSelectorOp2', s:hue_3, '', '')
- call X('cssStringQ', s:hue_4, '', '')
- call X('cssStringQQ', s:hue_4, '', '')
- call X('cssTagName', s:hue_5, '', '')
- call X('cssAttr', s:hue_6, '', '')
-
- call X('sassAmpersand', s:hue_5, '', '')
- call X('sassClass', s:hue_6_2, '', '')
- call X('sassControl', s:hue_3, '', '')
- call X('sassExtend', s:hue_3, '', '')
- call X('sassFor', s:mono_1, '', '')
- call X('sassProperty', s:hue_1, '', '')
- call X('sassFunction', s:hue_1, '', '')
- call X('sassId', s:hue_2, '', '')
- call X('sassInclude', s:hue_3, '', '')
- call X('sassMedia', s:hue_3, '', '')
- call X('sassMediaOperators', s:mono_1, '', '')
- call X('sassMixin', s:hue_3, '', '')
- call X('sassMixinName', s:hue_2, '', '')
- call X('sassMixing', s:hue_3, '', '')
-
- call X('scssSelectorName', s:hue_6_2, '', '')
- " }}}
-
- " Elixir highlighting------------------------------------------------------{{{
- hi link elixirModuleDefine Define
- call X('elixirAlias', s:hue_6_2, '', '')
- call X('elixirAtom', s:hue_1, '', '')
- call X('elixirBlockDefinition', s:hue_3, '', '')
- call X('elixirModuleDeclaration', s:hue_6, '', '')
- " }}}
-
- " Git and git related plugins highlighting --------------------------------{{{
- call X('gitcommitComment', s:mono_3, '', '')
- call X('gitcommitUnmerged', s:hue_4, '', '')
- call X('gitcommitOnBranch', '', '', '')
- call X('gitcommitBranch', s:hue_3, '', '')
- call X('gitcommitDiscardedType', s:hue_5, '', '')
- call X('gitcommitSelectedType', s:hue_4, '', '')
- call X('gitcommitHeader', '', '', '')
- call X('gitcommitUntrackedFile', s:hue_1, '', '')
- call X('gitcommitDiscardedFile', s:hue_5, '', '')
- call X('gitcommitSelectedFile', s:hue_4, '', '')
- call X('gitcommitUnmergedFile', s:hue_6_2, '', '')
- call X('gitcommitFile', '', '', '')
- hi link gitcommitNoBranch gitcommitBranch
- hi link gitcommitUntracked gitcommitComment
- hi link gitcommitDiscarded gitcommitComment
- hi link gitcommitSelected gitcommitComment
- hi link gitcommitDiscardedArrow gitcommitDiscardedFile
- hi link gitcommitSelectedArrow gitcommitSelectedFile
- hi link gitcommitUnmergedArrow gitcommitUnmergedFile
-
- call X('SignifySignAdd', s:hue_4, '', '')
- call X('SignifySignChange', s:hue_6_2, '', '')
- call X('SignifySignDelete', s:hue_5, '', '')
- hi link GitGutterAdd SignifySignAdd
- hi link GitGutterChange SignifySignChange
- hi link GitGutterDelete SignifySignDelete
- call X('diffAdded', s:hue_4, '', '')
- call X('diffRemoved', s:hue_5, '', '')
- " }}}
-
- " Go highlighting ---------------------------------------------------------{{{
- call X('goDeclaration', s:hue_3, '', '')
- call X('goField', s:hue_5, '', '')
- call X('goMethod', s:hue_1, '', '')
- call X('goType', s:hue_3, '', '')
- call X('goUnsignedInts', s:hue_1, '', '')
- " }}}
-
- " HTML highlighting -------------------------------------------------------{{{
- call X('htmlArg', s:hue_6, '', '')
- call X('htmlTagName', s:hue_5, '', '')
- call X('htmlTagN', s:hue_5, '', '')
- call X('htmlSpecialTagName', s:hue_5, '', '')
- call X('htmlTag', s:mono_2, '', '')
- call X('htmlEndTag', s:mono_2, '', '')
-
- call X('MatchTag', s:hue_5, s:syntax_cursor, 'underline,bold')
- " }}}
-
- " JavaScript highlighting -------------------------------------------------{{{
- call X('coffeeString', s:hue_4, '', '')
-
- call X('javaScriptBraces', s:mono_2, '', '')
- call X('javaScriptFunction', s:hue_3, '', '')
- call X('javaScriptIdentifier', s:hue_3, '', '')
- call X('javaScriptNull', s:hue_6, '', '')
- call X('javaScriptNumber', s:hue_6, '', '')
- call X('javaScriptRequire', s:hue_1, '', '')
- call X('javaScriptReserved', s:hue_3, '', '')
- " https://github.com/pangloss/vim-javascript
- call X('jsArrowFunction', s:hue_3, '', '')
- call X('jsBraces', s:mono_2, '', '')
- call X('jsClassBraces', s:mono_2, '', '')
- call X('jsClassKeywords', s:hue_3, '', '')
- call