Posted
Filed under 개발/Youtube


플레이어를 쫒아오는 인공지능 좀비들로부터 도망치는 게임을 제작하는 강의를 만들어서 소개드리려고 합니다.
강좌의 이름은 'SpriteKit과 GameplayKit으로 만드는 인공지능 술래잡기 게임'입니다.

제목 그대로 SpriteKit과 GameplayKit이라는 iOS 내장 라이브러리를 이용해서 게임을 제작하는 강의입니다. 게임의 베이스는 SpriteKit이라는 2D 게임엔진을 이용해서 구축하였습니다. SpriteKit은 나온지 오래된 모듈이라 애플에서 활발하게 업데이트하는것 같진 않지만 Swift를 사용해서 개발할 수 있다는 장점이 있습니다. 그리고 GameplayKit이라는 iOS 내장 라이브러리는 게임속에서 간단한 AI를 구현할 수 있기 때문에 이 모듈을 이용해서 좀비들을 AI로 움직이게 했습니다.


* 시리즈 목차
들어가기
101 샘플게임 설명
102 GameplayKit 설명

게임 무대 만들기
201a GUI툴로 타일맵 배경 만들기 (Tile Map Editor)
201b 코드로 타일맵 배경 만들기 (GKRandomSource, Procedural Generation)
202 카메라 배치하기 (SKCameraNode, 타입 프로퍼티)
203 경과시간 표시하기 (SKLabelNode, update 함수, 프로퍼티 옵저버)
204 골 배치하기 (GKRandomDistribution)
205 장애물 설치하기 (Overlap 판정)

객체 준비하기
301 플레이어 배치 (Particle Emitter, SKLightNode)
302a 플레이어 움직이기 (터치에 대한 속도와 각도 계산법)
302b 바닥종류에 따라 객체속도변경하기 (SKTileMapNode)
303 적 배치하기 (Timer)

인공지능 도입하기
401a 에이전트 시스템 준비하기 (GKComponentSystem, GKAgent2D)
401b 적에게 인공지능 부여하기 (GKBehavior, GKGoal, GKObstacle)
402 룰 시스템 셋업하기 (GKRule)

게임 더 꾸미기
501 사운드 붙이기 (SKAudioNode)
502 가상 조이스틱 사용하기 (TLAnalogJoystick)
503 충돌 판정하기 (SKPhysicsBody)
504a 게임오버 처리하기 (State Machine, 하이스코어 처리)
504b 게임오버 씬 전환하기 (SKScene)


* SpriteKit과 GameplayKit으로 만드는 인공지능 술래잡기 게임 Playlist
https://www.youtube.com/playlist?list=PL_XkuR-7VWcv7MK0d5QeSVZI6ADAY4iOD


* Source code
https://github.com/cliearl/SKHideandSeek
2020/12/20 17:56 2020/12/20 17:56
Posted
Filed under 개발/그외
  • All categories Link

  • Active File In StatusBar Link

    • Visual Studio Code extension for showing the full path of the currently active file in the status bar.
  • C/C++ Link

    • language support for C/C++ to Visual Studio Code
  • Code Runner Link

    • Run code snippet or code file for multiple languages
  • Code Spell Checker Link

    • A basic spell checker that works well with camelCase code.
  • CodeMap Link

    • Interactive code map for quick visualization and navigation within code DOM objects (e.g. classes, members).
  • Excel Viewer Link

    • View Excel spreadsheets and CSV files within Visual Studio Code workspaces.
  • Git Graph Link

    • View a Git Graph of your repository, and perform Git actions from the graph.
  • indent-rainbow Link

    • This extension colorizes the indentation in front of your text alternating four different colors on each step. Some may find it helpful in writing code for Nim or Python.
  • Kotlin Language Link

    • Kotlin language support for VS Code
  • LaTeX Workshop Link

    • Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more.
  • Maintained Swift Development Environment Link

    • New home of Swift Development Environment for VS Code
  • Markdown All in One Link

    • All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more)
  • PlantUML Link

    • Rich PlantUML support for Visual Studio Code.
  • Path Autocomplete Link

    • Provides path completion for visual studio code.
  • Python Link

    • A Visual Studio Code extension with rich support for the Python language (for all actively supported versions of the language: 2.7, >=3.4), including features such as linting, debugging, IntelliSense, code navigation, code formatting, refactoring, unit tests, snippets, and more!
  • Settings Sync Link

    • Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist.
  • Todo Tree Link

    • Show TODO, FIXME, etc. comment tags in a tree view
  • Visual Studio IntelliCode Link

    • AI-assisted development
  • vscode-icons Link

    • Icons for Visual Studio Code
2020/09/24 23:17 2020/09/24 23:17
Posted
Filed under 개발/Linux
* Nginx + MariaDB, PHP 7.3으로 텍스트큐브 설치하기

* nginx 설치
$ sudo apt-get install nginx
$ sudo service nginx start

* php 7.3 설치
$ sudo apt install php7.3-fpm
$ sudo apt install php7.3-common php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-curl php7.3-gd php7.3-imagick php7.3-cli php7.3-dev php7.3-imap php7.3-mbstring php7.3-opcache php7.3-soap php7.3-zip php7.3-intl -y

* 텍스트큐브 설치
$ wget https://github.com/Needlworks/Textcube/archive/v1.10.10.tar.gz -P /home/pi/
$ tar -xvzf /home/pi/v1.10.10.tar.gz -C /home/pi

* 디렉토리 접근권한 부여
$ chmod 0777 /home/pi/tc
$ chmod 0777 /home/pi/tc/skin/blog


* sites-available에 www.example.com 파일 추가
$ sudo nano /etc/nginx/sites-available/www.example.com
server {
    listen 80;
    root /home/pi/tc;
    server_name www.example.com;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    }
}


* sites-enabled에 심볼릭링크 추가
$ sudo ln -s /etc/nginx/sites-available/www.example.com /etc/nginx/sites-enabled/www.example.com


* mysql 셋업
$ sudo apt-get install mariadb-server
$ sudo mysql -u root
MariaDB [(none)]> use mysql

CREATE DATABASE tc;
SHOW DATABASES;
CREATE USER 'tc'@'localhost' IDENTIFIED BY 'password';
USE mysql;
SELECT user, host FROM user;
GRANT ALL PRIVILEGES ON tc.* TO tc@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
SHOW GRANTS FOR tc@localhost


* 웹사이트에 접속해서 텍스트큐브 설정을 한다.
중간에 Rewrite 관련 에러가 나오는데 ‘사용하지 않음’을 체크하고 계속 진행한다.

* nginx.conf에 아래와 같이 rewrite 항목을 추가한다.
$ sudo systemctl stop nginx
$ sudo nano /etc/nginx/sites-available/www.example.com
    server {
       location /  {
           set $rewrite_base '';
           if (!-f $request_filename) {
               rewrite ^(thumbnail)/([0-9]+/.+)$ cache/$1/$2;
           }
           if ($request_filename ~* ^(cache)+/+(.+[^/])\.(cache|xml|txt|log)$) {
               return 403;
           }
           if (-d $request_filename) {
               rewrite ^(.+[^/])$ $1/;
           }
           rewrite  ^(.*)$ $rewrite_base/rewrite.php last;
       }
    }
$ sudo systemctl start nginx


* PHP 7.3 이상에서 관리자 인증이 잘못되는 문제 깁기
https://pat.im/1199


* lets encrypt 인증서 작성
sudo certbot certonly –standalone -d www.example.com
sudo certbot certonly --webroot -w /home/pi/tc -d www.example.com

* phpmyadmin 관련
- phpmyadmin 설치
$ sudo apt-get install phpmyadmin
web server는 선택하지 않고 넘기기
$ sudo ln -s /usr/share/phpmyadmin/ /var/www/html
http://IP/phpmyadmin/index.php로 접속

- phpmyadmin 업그레이드
https://devanswers.co/manually-upgrade-phpmyadmin/

- php 업로드 용량변경
https://conory.com/blog/44009

- phpmyadmin에서 업로드 용량 변경
https://www.keycdn.com/support/413-request-entity-too-large

- nginx Timeout 늘리기
https://blog.lael.be/post/9251
2020/09/22 23:46 2020/09/22 23:46
Posted
Filed under 개발/그외
2020/08/23 15:04 2020/08/23 15:04
Posted
Filed under 음악감상실
2020/04/27 21:33 2020/04/27 21:33
Posted
Filed under 음악감상실
2020/04/25 07:38 2020/04/25 07:38
Posted
Filed under 개발/그외
https://code.visualstudio.com/docs/python/testing

settings.json에 다음 라인을 추가
[code]
"python.testing.autoTestDiscoverOnSaveEnabled": true,
"python.testing.pytestEnabled": true,
[/code]
다음과 같은 파일을 만들었다고 한다.
[code]
inc_dec.py

def increment(x):
    return x + 1
def decrement(x):
    return x - 1
[/code]

테스트 파일은 다음과 같이 만든다
[code]
import inc_dec # The code to test

def test_increment():
    assert inc_dec.increment(3) == 3
def test_decrement():
    assert inc_dec.decrement(3) == 2
[/code]

테스트는 왼쪽 플라스크 아이콘으로 실행하든지, Ctrl + Shite + P 에서 Run all tests로 실행한다
2020/04/14 14:46 2020/04/14 14:46
Posted
Filed under 개발/Linux
스크립트 작성
[code]
$ sudo nano pitemp.sh
[/code]

5초마다 온도를 표시하는 루프문
[code]
while true
do
    # get cpu temp from thermal node of kernal
    cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
    cpuTemp1=$(($cpuTemp0/1000))
    cpuTemp2=$(($cpuTemp0/100))
    cpuTempM=$(($cpuTemp2 % $cpuTemp1))

    # get gpu temp using Video Core Generate Command
    gpuTemp=$(/opt/vc/bin/vcgencmd measure_temp)
    gpuTemp=${gpuTemp//temp=/}

    echo $(date "+%Y-%m-%d %H:%M:%S")"  CPU: " $cpuTemp1"."$cpuTempM"'C" "GPU: "$gpuTemp
    sleep 5
done
[/code]

실행파일로 만들고 실행
[code]
$ sudo chmod +x pitemp.sh
$ ./pitemp.sh
[/code]
2020/03/21 08:30 2020/03/21 08:30
Posted
Filed under 개발/Linux
* Github Repository
https://github.com/go-gitea/gitea


* git 설치
[code]
$sudo apt install git
[/code]

* gitea 디렉토리에 바이너리 다운로드
[code]
$mkdir ~/gitea
$cd ~/gitea
$wget -O gitea https://dl.gitea.io/gitea/master/gitea-master-linux-arm-6
[/code]

* MySQL 셋업
[code]
$sudo mysql -u root
CREATE DATABASE gitea;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES
^C
[/code]

* 서버실행
[code]
$cd ~/gitea
$chmod 755 gitea
$./gitea web
[/code]

* 접속 후 환경설정
데이터베이스 유형 : MySQL
호스트: 127.0.0.1:3306
Username: gitea
비밀번호: password
데이터베이스 이름: gitea
Charset: utf8
저장소 최상위 경로 : /home/pi/gitea/gitea-repositories
LFS Root Path : /home/pi/gitea/data/LFS
데몬 사용자 계정 : pi
도메인 : localhost
SSH 포트 :
HTTP 포트 : 3000
애플리케이션 URL : http://라즈베리파이IP:3000/
로그 경로 : /home/pi/gitea/log


* 서비스에 등록
[code]
$sudo nano /etc/systemd/system/gitea.service

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target

[Service]
# Modify these two values ??and uncomment them if you have
# repos with lots of files and get to HTTP error 500 because of that
###
# LimitMEMLOCK=infinity
# LimitNOFILE=65535
RestartSec=2s
Type=simple
User=pi
Group=pi
WorkingDirectory=/home/pi/gitea
ExecStart=/home/pi/gitea/gitea web
Restart=always
Environment=USER=pi
HOME=/home/pi

[Install]
WantedBy=multi-user.target
[/code]

* 서비스 시작
[code]
sudo systemctl enable gitea.service
sudo systemctl start gitea.service
[/code]

* gitea nginx 설정
[code]
$sudo nano /etc/nginx/sites-available/git.qualitybits.net
server {
    listen 443 ssl;
    server_name 도메인;
    ssl_certificate     /etc/letsencrypt/live/도메인/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;

    location / {
        client_max_body_size 364M;
        proxy_pass http://localhost:3000;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        proxy_read_timeout 600;
        send_timeout 600;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 80;
    server_name 도메인;
    return 301 https://$server_name$request_uri;
}
[/code]

* 심볼릭링크 작성
[code]
$sudo ln -s /etc/nginx/sites-available/도메인 /etc/nginx/sites-enabled/도메인
[/code]

* SSL 인증서 취득
[code]
$sudo systemctl stop nginx
$sudo certbot certonly --standalone -d 도메인
$sudo systemctl start nginx
[/code]


* 업데이트
[code]
$sudo systemctl stop gitea.service
$mv -f /home/pi/gitea/gitea /home/pi/gitea/gitea.old
$wget -O /home/pi/gitea/gitea https://dl.gitea.io/gitea/master/gitea-master-linux-arm-6
$chmod +x /home/pi/gitea/gitea
$sudo systemctl start gitea.service
[/code]


* 인증서 갱신
[code]
$ sudo systemctl stop nginx
$ sudo certbot renew
$ sudo systemctl start nginx
[/code]


* 데이터 백업
[code]
# login as your database user, for me it is root
$ su -

# navigate to your gitea folder
$ cd /home/USER/gitea

# run the dump command
$ ./gitea dump -V -t /media/USER/USB/
[/code]


* 데이터 복구
[code]
apt-get install gitea
unzip gitea-dump-1482906742.zip
cd gitea-dump-1482906742
mv custom/conf/app.ini /etc/gitea/conf/app.ini # or mv app.ini /etc/gitea/conf/app.ini
unzip gitea-repo.zip
mv gitea-repo/* /home/pi/gitea/gitea-repositories/
chown -R gitea:gitea /etc/gitea/conf/app.ini /home/pi/gitea/gitea-repositories/
mysql -u$USER -p$PASS $DATABASE <gitea-db.sql
# or  sqlite3 $DATABASE_PATH <gitea-db.sql
service gitea restart
[/code]
2020/03/15 18:54 2020/03/15 18:54
Posted
Filed under 개발/Linux
* Github
https://github.com/RestyaPlatform/board


* 인스톨 스크립트 다운로드 후 설치
[code]
$ sudo su
$ wget https://github.com/RestyaPlatform/board/raw/master/restyaboard.sh –no-check-certificate
$ chmod +x restyaboard.sh
$ ./restyaboard.sh
[/code]


* nginx 가상호스트 설정
[code]
$ cp /usr/share/nginx/html/restyaboard.conf /etc/nginx/sites-available/도메인명
$ $sudo ln -s /etc/nginx/sites-available/도메인 /etc/nginx/sites-enabled/도메인명
[/code]


* nginx 서버설정
[code]
server {
    listen 80;
    server_name 도메인명;

    root /usr/share/nginx/html;
    index  index.html index.php;

    gzip on;
    gzip_disable "msie6";

    gzip_comp_level 6;
    # gzip_comp_level 9;
    gzip_min_length  1100;
    gzip_buffers 16 8k;
    gzip_proxied any;
    # gzip_http_version 1.1;
    gzip_types       text/plain application/xml text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss;

    client_max_body_size 300M;

    rewrite ^/oauth/authorize$ /server/php/authorize.php last;
    rewrite ^/oauth_callback/([a-zA-Z0-9_\.]*)/([a-zA-Z0-9_\.]*)$ /server/php/oauth_callback.php?plugin=$1&code=$2 last;
    rewrite ^/download/([0-9]*)/([a-zA-Z0-9_\.]*)$ /server/php/download.php?id=$1&hash=$2 last;
    rewrite ^/ical/([0-9]*)/([0-9]*)/([a-z0-9]*).ics$ /server/php/ical.php?board_id=$1&user_id=$2&hash=$3 last;
    rewrite ^/api/(.*)$ /server/php/R/r.php?_url=$1&$args last;
    rewrite ^/api_explorer/api-docs/$ /client/api_explorer/api-docs/index.php last;
       
    location / {
        root /usr/share/nginx/html/client;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass    unix:/run/php/php7.2-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M";
    }

    location ~* \.(css|js|less|html|ttf|woff|jpg|jpeg|gif|png|bmp|ico|pdf|doc|docx|xls|xlx|txt|ppt|pptx|mp4|webm|mkv|wmv|avi|mp3) {
        root /usr/share/nginx/html/client;
        if (-f $request_filename) {
            break;
        }
        rewrite ^/img/([a-zA-Z_]*)/([a-zA-Z_]*)/([a-zA-Z0-9_\.]*)$ /server/php/image.php?size=$1&model=$2&filename=$3 last;
        add_header        Cache-Control public;
        add_header        Cache-Control must-revalidate;
        expires           7d;
    }
}
[/code]


* SSL 인증서 발행
[code]
$sudo systemctl stop nginx
$sudo certbot certonly --standalone -d 도메인
$sudo systemctl start nginx
[/code]


* nginx SSL 설정
[code]
server {
    listen 80;
    server_name 도메인명;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name 도메인명;

    ssl_certificate      /etc/letsencrypt/live/도메인명/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/도메인명/privkey.pem;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  15m;

    # Set system wide SSL settings
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

    #Forward Secrecy
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

    if ($scheme = 'http') {
        rewrite  ^/(.*)$  https://도메인명/$1 permanent;
    }


    root /usr/share/nginx/html;
    index  index.html index.php;

    gzip on;
    gzip_disable "msie6";

    gzip_comp_level 6;
    # gzip_comp_level 9;
    gzip_min_length  1100;
    gzip_buffers 16 8k;
    gzip_proxied any;
    # gzip_http_version 1.1;
    gzip_types       text/plain application/xml text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss;

    client_max_body_size 300M;

    rewrite ^/oauth/authorize$ /server/php/authorize.php last;
    rewrite ^/oauth_callback/([a-zA-Z0-9_\.]*)/([a-zA-Z0-9_\.]*)$ /server/php/oauth_callback.php?plugin=$1&code=$2 last;
    rewrite ^/download/([0-9]*)/([a-zA-Z0-9_\.]*)$ /server/php/download.php?id=$1&hash=$2 last;
    rewrite ^/ical/([0-9]*)/([0-9]*)/([a-z0-9]*).ics$ /server/php/ical.php?board_id=$1&user_id=$2&hash=$3 last;
    rewrite ^/api/(.*)$ /server/php/R/r.php?_url=$1&$args last;
    rewrite ^/api_explorer/api-docs/$ /client/api_explorer/api-docs/index.php last;
       
    location / {
        root /usr/share/nginx/html/client;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass    unix:/run/php/php7.2-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M";
    }

    location ~* \.(css|js|less|html|ttf|woff|jpg|jpeg|gif|png|bmp|ico|pdf|doc|docx|xls|xlx|txt|ppt|pptx|mp4|webm|mkv|wmv|avi|mp3) {
        root /usr/share/nginx/html/client;
        if (-f $request_filename) {
            break;
        }
        rewrite ^/img/([a-zA-Z_]*)/([a-zA-Z_]*)/([a-zA-Z0-9_\.]*)$ /server/php/image.php?size=$1&model=$2&filename=$3 last;
        add_header        Cache-Control public;
        add_header        Cache-Control must-revalidate;
        expires           7d;
    }
}
[/code]
2020/03/15 18:50 2020/03/15 18:50
Posted
Filed under 개발/Linux
https://stackframe.tistory.com/4

라즈베리파이에서 11버전 설치
$ sudo apt-get install postgresql-11

9.6 버전에서 11버전으로 데이터 이전
$ sudo pg_upgradecluster  9.6 main

old 클러스터 삭제
$ sudo pg_dropcluster 9.6 main
2020/03/14 21:14 2020/03/14 21:14
Posted
Filed under 개발/Linux
모듈 업데이트
$ sudo apt-get update && sudo apt-get upgrade -y

에러가 없는지 확인
$ dpkg -C
$ apt-mark showhold

apt-get 소스를 Buster로 변경
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/raspi.list

아직 변경되지 않은 소스가 있는지 확인. 있으면 위의 줄처럼 변경해줌
$ grep -lnr stretch /etc/apt

list change packge를 없애서 처리를 빠르게 함
$ sudo apt-get remove apt-listchanges

커널 및 패키지 업그레이드
$ sudo apt-get update && sudo apt-get upgrade -y

오래된 패키지 제거
$ sudo apt-get autoremove -y && sudo apt-get autoclean

설치 확인
$ cat /etc/os-release

커널 넘버 확인
$ sudo dpkg -l | grep raspberry
2020/03/14 21:10 2020/03/14 21:10
Posted
Filed under 개발/게임
[code]
>>> from pprint import pprint
>>> import pygame as pg
>>> pprint(pg.color.THECOLORS)
{'aliceblue': (240, 248, 255, 255),
'antiquewhite': (250, 235, 215, 255),
'antiquewhite1': (255, 239, 219, 255),
'antiquewhite2': (238, 223, 204, 255),
'antiquewhite3': (205, 192, 176, 255),
'antiquewhite4': (139, 131, 120, 255),
'aquamarine': (127, 255, 212, 255),
'aquamarine1': (127, 255, 212, 255),
'aquamarine2': (118, 238, 198, 255),
'aquamarine3': (102, 205, 170, 255),
'aquamarine4': (69, 139, 116, 255),
'azure': (240, 255, 255, 255),
'azure1': (240, 255, 255, 255),
'azure2': (224, 238, 238, 255),
'azure3': (193, 205, 205, 255),
'azure4': (131, 139, 139, 255),
'beige': (245, 245, 220, 255),
'bisque': (255, 228, 196, 255),
'bisque1': (255, 228, 196, 255),
'bisque2': (238, 213, 183, 255),
'bisque3': (205, 183, 158, 255),
'bisque4': (139, 125, 107, 255),
'black': (0, 0, 0, 255),
'blanchedalmond': (255, 235, 205, 255),
'blue': (0, 0, 255, 255),
'blue1': (0, 0, 255, 255),
'blue2': (0, 0, 238, 255),
'blue3': (0, 0, 205, 255),
'blue4': (0, 0, 139, 255),
'blueviolet': (138, 43, 226, 255),
'brown': (165, 42, 42, 255),
'brown1': (255, 64, 64, 255),
'brown2': (238, 59, 59, 255),
'brown3': (205, 51, 51, 255),
'brown4': (139, 35, 35, 255),
'burlywood': (222, 184, 135, 255),
'burlywood1': (255, 211, 155, 255),
'burlywood2': (238, 197, 145, 255),
'burlywood3': (205, 170, 125, 255),
'burlywood4': (139, 115, 85, 255),
'cadetblue': (95, 158, 160, 255),
'cadetblue1': (152, 245, 255, 255),
'cadetblue2': (142, 229, 238, 255),
'cadetblue3': (122, 197, 205, 255),
'cadetblue4': (83, 134, 139, 255),
'chartreuse': (127, 255, 0, 255),
'chartreuse1': (127, 255, 0, 255),
'chartreuse2': (118, 238, 0, 255),
'chartreuse3': (102, 205, 0, 255),
'chartreuse4': (69, 139, 0, 255),
'chocolate': (210, 105, 30, 255),
'chocolate1': (255, 127, 36, 255),
'chocolate2': (238, 118, 33, 255),
'chocolate3': (205, 102, 29, 255),
'chocolate4': (139, 69, 19, 255),
'coral': (255, 127, 80, 255),
'coral1': (255, 114, 86, 255),
'coral2': (238, 106, 80, 255),
'coral3': (205, 91, 69, 255),
'coral4': (139, 62, 47, 255),
'cornflowerblue': (100, 149, 237, 255),
'cornsilk': (255, 248, 220, 255),
'cornsilk1': (255, 248, 220, 255),
'cornsilk2': (238, 232, 205, 255),
'cornsilk3': (205, 200, 177, 255),
'cornsilk4': (139, 136, 120, 255),
'cyan': (0, 255, 255, 255),
'cyan1': (0, 255, 255, 255),
'cyan2': (0, 238, 238, 255),
'cyan3': (0, 205, 205, 255),
'cyan4': (0, 139, 139, 255),
'darkblue': (0, 0, 139, 255),
'darkcyan': (0, 139, 139, 255),
'darkgoldenrod': (184, 134, 11, 255),
'darkgoldenrod1': (255, 185, 15, 255),
'darkgoldenrod2': (238, 173, 14, 255),
'darkgoldenrod3': (205, 149, 12, 255),
'darkgoldenrod4': (139, 101, 8, 255),
'darkgray': (169, 169, 169, 255),
'darkgreen': (0, 100, 0, 255),
'darkgrey': (169, 169, 169, 255),
'darkkhaki': (189, 183, 107, 255),
'darkmagenta': (139, 0, 139, 255),
'darkolivegreen': (85, 107, 47, 255),
'darkolivegreen1': (202, 255, 112, 255),
'darkolivegreen2': (188, 238, 104, 255),
'darkolivegreen3': (162, 205, 90, 255),
'darkolivegreen4': (110, 139, 61, 255),
'darkorange': (255, 140, 0, 255),
'darkorange1': (255, 127, 0, 255),
'darkorange2': (238, 118, 0, 255),
'darkorange3': (205, 102, 0, 255),
'darkorange4': (139, 69, 0, 255),
'darkorchid': (153, 50, 204, 255),
'darkorchid1': (191, 62, 255, 255),
'darkorchid2': (178, 58, 238, 255),
'darkorchid3': (154, 50, 205, 255),
'darkorchid4': (104, 34, 139, 255),
'darkred': (139, 0, 0, 255),
'darksalmon': (233, 150, 122, 255),
'darkseagreen': (143, 188, 143, 255),
'darkseagreen1': (193, 255, 193, 255),
'darkseagreen2': (180, 238, 180, 255),
'darkseagreen3': (155, 205, 155, 255),
'darkseagreen4': (105, 139, 105, 255),
'darkslateblue': (72, 61, 139, 255),
'darkslategray': (47, 79, 79, 255),
'darkslategray1': (151, 255, 255, 255),
'darkslategray2': (141, 238, 238, 255),
'darkslategray3': (121, 205, 205, 255),
'darkslategray4': (82, 139, 139, 255),
'darkslategrey': (47, 79, 79, 255),
'darkturquoise': (0, 206, 209, 255),
'darkviolet': (148, 0, 211, 255),
'deeppink': (255, 20, 147, 255),
'deeppink1': (255, 20, 147, 255),
'deeppink2': (238, 18, 137, 255),
'deeppink3': (205, 16, 118, 255),
'deeppink4': (139, 10, 80, 255),
'deepskyblue': (0, 191, 255, 255),
'deepskyblue1': (0, 191, 255, 255),
'deepskyblue2': (0, 178, 238, 255),
'deepskyblue3': (0, 154, 205, 255),
'deepskyblue4': (0, 104, 139, 255),
'dimgray': (105, 105, 105, 255),
'dimgrey': (105, 105, 105, 255),
'dodgerblue': (30, 144, 255, 255),
'dodgerblue1': (30, 144, 255, 255),
'dodgerblue2': (28, 134, 238, 255),
'dodgerblue3': (24, 116, 205, 255),
'dodgerblue4': (16, 78, 139, 255),
'firebrick': (178, 34, 34, 255),
'firebrick1': (255, 48, 48, 255),
'firebrick2': (238, 44, 44, 255),
'firebrick3': (205, 38, 38, 255),
'firebrick4': (139, 26, 26, 255),
'floralwhite': (255, 250, 240, 255),
'forestgreen': (34, 139, 34, 255),
'gainsboro': (220, 220, 220, 255),
'ghostwhite': (248, 248, 255, 255),
'gold': (255, 215, 0, 255),
'gold1': (255, 215, 0, 255),
'gold2': (238, 201, 0, 255),
'gold3': (205, 173, 0, 255),
'gold4': (139, 117, 0, 255),
'goldenrod': (218, 165, 32, 255),
'goldenrod1': (255, 193, 37, 255),
'goldenrod2': (238, 180, 34, 255),
'goldenrod3': (205, 155, 29, 255),
'goldenrod4': (139, 105, 20, 255),
'gray': (190, 190, 190, 255),
'gray0': (0, 0, 0, 255),
'gray1': (3, 3, 3, 255),
'gray10': (26, 26, 26, 255),
'gray100': (255, 255, 255, 255),
'gray11': (28, 28, 28, 255),
'gray12': (31, 31, 31, 255),
'gray13': (33, 33, 33, 255),
'gray14': (36, 36, 36, 255),
'gray15': (38, 38, 38, 255),
'gray16': (41, 41, 41, 255),
'gray17': (43, 43, 43, 255),
'gray18': (46, 46, 46, 255),
'gray19': (48, 48, 48, 255),
'gray2': (5, 5, 5, 255),
'gray20': (51, 51, 51, 255),
'gray21': (54, 54, 54, 255),
'gray22': (56, 56, 56, 255),
'gray23': (59, 59, 59, 255),
'gray24': (61, 61, 61, 255),
'gray25': (64, 64, 64, 255),
'gray26': (66, 66, 66, 255),
'gray27': (69, 69, 69, 255),
'gray28': (71, 71, 71, 255),
'gray29': (74, 74, 74, 255),
'gray3': (8, 8, 8, 255),
'gray30': (77, 77, 77, 255),
'gray31': (79, 79, 79, 255),
'gray32': (82, 82, 82, 255),
'gray33': (84, 84, 84, 255),
'gray34': (87, 87, 87, 255),
'gray35': (89, 89, 89, 255),
'gray36': (92, 92, 92, 255),
'gray37': (94, 94, 94, 255),
'gray38': (97, 97, 97, 255),
'gray39': (99, 99, 99, 255),
'gray4': (10, 10, 10, 255),
'gray40': (102, 102, 102, 255),
'gray41': (105, 105, 105, 255),
'gray42': (107, 107, 107, 255),
'gray43': (110, 110, 110, 255),
'gray44': (112, 112, 112, 255),
'gray45': (115, 115, 115, 255),
'gray46': (117, 117, 117, 255),
'gray47': (120, 120, 120, 255),
'gray48': (122, 122, 122, 255),
'gray49': (125, 125, 125, 255),
'gray5': (13, 13, 13, 255),
'gray50': (127, 127, 127, 255),
'gray51': (130, 130, 130, 255),
'gray52': (133, 133, 133, 255),
'gray53': (135, 135, 135, 255),
'gray54': (138, 138, 138, 255),
'gray55': (140, 140, 140, 255),
'gray56': (143, 143, 143, 255),
'gray57': (145, 145, 145, 255),
'gray58': (148, 148, 148, 255),
'gray59': (150, 150, 150, 255),
'gray6': (15, 15, 15, 255),
'gray60': (153, 153, 153, 255),
'gray61': (156, 156, 156, 255),
'gray62': (158, 158, 158, 255),
'gray63': (161, 161, 161, 255),
'gray64': (163, 163, 163, 255),
'gray65': (166, 166, 166, 255),
'gray66': (168, 168, 168, 255),
'gray67': (171, 171, 171, 255),
'gray68': (173, 173, 173, 255),
'gray69': (176, 176, 176, 255),
'gray7': (18, 18, 18, 255),
'gray70': (179, 179, 179, 255),
'gray71': (181, 181, 181, 255),
'gray72': (184, 184, 184, 255),
'gray73': (186, 186, 186, 255),
'gray74': (189, 189, 189, 255),
'gray75': (191, 191, 191, 255),
'gray76': (194, 194, 194, 255),
'gray77': (196, 196, 196, 255),
'gray78': (199, 199, 199, 255),
'gray79': (201, 201, 201, 255),
'gray8': (20, 20, 20, 255),
'gray80': (204, 204, 204, 255),
'gray81': (207, 207, 207, 255),
'gray82': (209, 209, 209, 255),
'gray83': (212, 212, 212, 255),
'gray84': (214, 214, 214, 255),
'gray85': (217, 217, 217, 255),
'gray86': (219, 219, 219, 255),
'gray87': (222, 222, 222, 255),
'gray88': (224, 224, 224, 255),
'gray89': (227, 227, 227, 255),
'gray9': (23, 23, 23, 255),
'gray90': (229, 229, 229, 255),
'gray91': (232, 232, 232, 255),
'gray92': (235, 235, 235, 255),
'gray93': (237, 237, 237, 255),
'gray94': (240, 240, 240, 255),
'gray95': (242, 242, 242, 255),
'gray96': (245, 245, 245, 255),
'gray97': (247, 247, 247, 255),
'gray98': (250, 250, 250, 255),
'gray99': (252, 252, 252, 255),
'green': (0, 255, 0, 255),
'green1': (0, 255, 0, 255),
'green2': (0, 238, 0, 255),
'green3': (0, 205, 0, 255),
'green4': (0, 139, 0, 255),
'greenyellow': (173, 255, 47, 255),
'grey': (190, 190, 190, 255),
'grey0': (0, 0, 0, 255),
'grey1': (3, 3, 3, 255),
'grey10': (26, 26, 26, 255),
'grey100': (255, 255, 255, 255),
'grey11': (28, 28, 28, 255),
'grey12': (31, 31, 31, 255),
'grey13': (33, 33, 33, 255),
'grey14': (36, 36, 36, 255),
'grey15': (38, 38, 38, 255),
'grey16': (41, 41, 41, 255),
'grey17': (43, 43, 43, 255),
'grey18': (46, 46, 46, 255),
'grey19': (48, 48, 48, 255),
'grey2': (5, 5, 5, 255),
'grey20': (51, 51, 51, 255),
'grey21': (54, 54, 54, 255),
'grey22': (56, 56, 56, 255),
'grey23': (59, 59, 59, 255),
'grey24': (61, 61, 61, 255),
'grey25': (64, 64, 64, 255),
'grey26': (66, 66, 66, 255),
'grey27': (69, 69, 69, 255),
'grey28': (71, 71, 71, 255),
'grey29': (74, 74, 74, 255),
'grey3': (8, 8, 8, 255),
'grey30': (77, 77, 77, 255),
'grey31': (79, 79, 79, 255),
'grey32': (82, 82, 82, 255),
'grey33': (84, 84, 84, 255),
'grey34': (87, 87, 87, 255),
'grey35': (89, 89, 89, 255),
'grey36': (92, 92, 92, 255),
'grey37': (94, 94, 94, 255),
'grey38': (97, 97, 97, 255),
'grey39': (99, 99, 99, 255),
'grey4': (10, 10, 10, 255),
'grey40': (102, 102, 102, 255),
'grey41': (105, 105, 105, 255),
'grey42': (107, 107, 107, 255),
'grey43': (110, 110, 110, 255),
'grey44': (112, 112, 112, 255),
'grey45': (115, 115, 115, 255),
'grey46': (117, 117, 117, 255),
'grey47': (120, 120, 120, 255),
'grey48': (122, 122, 122, 255),
'grey49': (125, 125, 125, 255),
'grey5': (13, 13, 13, 255),
'grey50': (127, 127, 127, 255),
'grey51': (130, 130, 130, 255),
'grey52': (133, 133, 133, 255),
'grey53': (135, 135, 135, 255),
'grey54': (138, 138, 138, 255),
'grey55': (140, 140, 140, 255),
'grey56': (143, 143, 143, 255),
'grey57': (145, 145, 145, 255),
'grey58': (148, 148, 148, 255),
'grey59': (150, 150, 150, 255),
'grey6': (15, 15, 15, 255),
'grey60': (153, 153, 153, 255),
'grey61': (156, 156, 156, 255),
'grey62': (158, 158, 158, 255),
'grey63': (161, 161, 161, 255),
'grey64': (163, 163, 163, 255),
'grey65': (166, 166, 166, 255),
'grey66': (168, 168, 168, 255),
'grey67': (171, 171, 171, 255),
'grey68': (173, 173, 173, 255),
'grey69': (176, 176, 176, 255),
'grey7': (18, 18, 18, 255),
'grey70': (179, 179, 179, 255),
'grey71': (181, 181, 181, 255),
'grey72': (184, 184, 184, 255),
'grey73': (186, 186, 186, 255),
'grey74': (189, 189, 189, 255),
'grey75': (191, 191, 191, 255),
'grey76': (194, 194, 194, 255),
'grey77': (196, 196, 196, 255),
'grey78': (199, 199, 199, 255),
'grey79': (201, 201, 201, 255),
'grey8': (20, 20, 20, 255),
'grey80': (204, 204, 204, 255),
'grey81': (207, 207, 207, 255),
'grey82': (209, 209, 209, 255),
'grey83': (212, 212, 212, 255),
'grey84': (214, 214, 214, 255),
'grey85': (217, 217, 217, 255),
'grey86': (219, 219, 219, 255),
'grey87': (222, 222, 222, 255),
'grey88': (224, 224, 224, 255),
'grey89': (227, 227, 227, 255),
'grey9': (23, 23, 23, 255),
'grey90': (229, 229, 229, 255),
'grey91': (232, 232, 232, 255),
'grey92': (235, 235, 235, 255),
'grey93': (237, 237, 237, 255),
'grey94': (240, 240, 240, 255),
'grey95': (242, 242, 242, 255),
'grey96': (245, 245, 245, 255),
'grey97': (247, 247, 247, 255),
'grey98': (250, 250, 250, 255),
'grey99': (252, 252, 252, 255),
'honeydew': (240, 255, 240, 255),
'honeydew1': (240, 255, 240, 255),
'honeydew2': (224, 238, 224, 255),
'honeydew3': (193, 205, 193, 255),
'honeydew4': (131, 139, 131, 255),
'hotpink': (255, 105, 180, 255),
'hotpink1': (255, 110, 180, 255),
'hotpink2': (238, 106, 167, 255),
'hotpink3': (205, 96, 144, 255),
'hotpink4': (139, 58, 98, 255),
'indianred': (205, 92, 92, 255),
'indianred1': (255, 106, 106, 255),
'indianred2': (238, 99, 99, 255),
'indianred3': (205, 85, 85, 255),
'indianred4': (139, 58, 58, 255),
'ivory': (255, 255, 240, 255),
'ivory1': (255, 255, 240, 255),
'ivory2': (238, 238, 224, 255),
'ivory3': (205, 205, 193, 255),
'ivory4': (139, 139, 131, 255),
'khaki': (240, 230, 140, 255),
'khaki1': (255, 246, 143, 255),
'khaki2': (238, 230, 133, 255),
'khaki3': (205, 198, 115, 255),
'khaki4': (139, 134, 78, 255),
'lavender': (230, 230, 250, 255),
'lavenderblush': (255, 240, 245, 255),
'lavenderblush1': (255, 240, 245, 255),
'lavenderblush2': (238, 224, 229, 255),
'lavenderblush3': (205, 193, 197, 255),
'lavenderblush4': (139, 131, 134, 255),
'lawngreen': (124, 252, 0, 255),
'lemonchiffon': (255, 250, 205, 255),
'lemonchiffon1': (255, 250, 205, 255),
'lemonchiffon2': (238, 233, 191, 255),
'lemonchiffon3': (205, 201, 165, 255),
'lemonchiffon4': (139, 137, 112, 255),
'lightblue': (173, 216, 230, 255),
'lightblue1': (191, 239, 255, 255),
'lightblue2': (178, 223, 238, 255),
'lightblue3': (154, 192, 205, 255),
'lightblue4': (104, 131, 139, 255),
'lightcoral': (240, 128, 128, 255),
'lightcyan': (224, 255, 255, 255),
'lightcyan1': (224, 255, 255, 255),
'lightcyan2': (209, 238, 238, 255),
'lightcyan3': (180, 205, 205, 255),
'lightcyan4': (122, 139, 139, 255),
'lightgoldenrod': (238, 221, 130, 255),
'lightgoldenrod1': (255, 236, 139, 255),
'lightgoldenrod2': (238, 220, 130, 255),
'lightgoldenrod3': (205, 190, 112, 255),
'lightgoldenrod4': (139, 129, 76, 255),
'lightgoldenrodyellow': (250, 250, 210, 255),
'lightgray': (211, 211, 211, 255),
'lightgreen': (144, 238, 144, 255),
'lightgrey': (211, 211, 211, 255),
'lightpink': (255, 182, 193, 255),
'lightpink1': (255, 174, 185, 255),
'lightpink2': (238, 162, 173, 255),
'lightpink3': (205, 140, 149, 255),
'lightpink4': (139, 95, 101, 255),
'lightsalmon': (255, 160, 122, 255),
'lightsalmon1': (255, 160, 122, 255),
'lightsalmon2': (238, 149, 114, 255),
'lightsalmon3': (205, 129, 98, 255),
'lightsalmon4': (139, 87, 66, 255),
'lightseagreen': (32, 178, 170, 255),
'lightskyblue': (135, 206, 250, 255),
'lightskyblue1': (176, 226, 255, 255),
'lightskyblue2': (164, 211, 238, 255),
'lightskyblue3': (141, 182, 205, 255),
'lightskyblue4': (96, 123, 139, 255),
'lightslateblue': (132, 112, 255, 255),
'lightslategray': (119, 136, 153, 255),
'lightslategrey': (119, 136, 153, 255),
'lightsteelblue': (176, 196, 222, 255),
'lightsteelblue1': (202, 225, 255, 255),
'lightsteelblue2': (188, 210, 238, 255),
'lightsteelblue3': (162, 181, 205, 255),
'lightsteelblue4': (110, 123, 139, 255),
'lightyellow': (255, 255, 224, 255),
'lightyellow1': (255, 255, 224, 255),
'lightyellow2': (238, 238, 209, 255),
'lightyellow3': (205, 205, 180, 255),
'lightyellow4': (139, 139, 122, 255),
'limegreen': (50, 205, 50, 255),
'linen': (250, 240, 230, 255),
'magenta': (255, 0, 255, 255),
'magenta1': (255, 0, 255, 255),
'magenta2': (238, 0, 238, 255),
'magenta3': (205, 0, 205, 255),
'magenta4': (139, 0, 139, 255),
'maroon': (176, 48, 96, 255),
'maroon1': (255, 52, 179, 255),
'maroon2': (238, 48, 167, 255),
'maroon3': (205, 41, 144, 255),
'maroon4': (139, 28, 98, 255),
'mediumaquamarine': (102, 205, 170, 255),
'mediumblue': (0, 0, 205, 255),
'mediumorchid': (186, 85, 211, 255),
'mediumorchid1': (224, 102, 255, 255),
'mediumorchid2': (209, 95, 238, 255),
'mediumorchid3': (180, 82, 205, 255),
'mediumorchid4': (122, 55, 139, 255),
'mediumpurple': (147, 112, 219, 255),
'mediumpurple1': (171, 130, 255, 255),
'mediumpurple2': (159, 121, 238, 255),
'mediumpurple3': (137, 104, 205, 255),
'mediumpurple4': (93, 71, 139, 255),
'mediumseagreen': (60, 179, 113, 255),
'mediumslateblue': (123, 104, 238, 255),
'mediumspringgreen': (0, 250, 154, 255),
'mediumturquoise': (72, 209, 204, 255),
'mediumvioletred': (199, 21, 133, 255),
'midnightblue': (25, 25, 112, 255),
'mintcream': (245, 255, 250, 255),
'mistyrose': (255, 228, 225, 255),
'mistyrose1': (255, 228, 225, 255),
'mistyrose2': (238, 213, 210, 255),
'mistyrose3': (205, 183, 181, 255),
'mistyrose4': (139, 125, 123, 255),
'moccasin': (255, 228, 181, 255),
'navajowhite': (255, 222, 173, 255),
'navajowhite1': (255, 222, 173, 255),
'navajowhite2': (238, 207, 161, 255),
'navajowhite3': (205, 179, 139, 255),
'navajowhite4': (139, 121, 94, 255),
'navy': (0, 0, 128, 255),
'navyblue': (0, 0, 128, 255),
'oldlace': (253, 245, 230, 255),
'olivedrab': (107, 142, 35, 255),
'olivedrab1': (192, 255, 62, 255),
'olivedrab2': (179, 238, 58, 255),
'olivedrab3': (154, 205, 50, 255),
'olivedrab4': (105, 139, 34, 255),
'orange': (255, 165, 0, 255),
'orange1': (255, 165, 0, 255),
'orange2': (238, 154, 0, 255),
'orange3': (205, 133, 0, 255),
'orange4': (139, 90, 0, 255),
'orangered': (255, 69, 0, 255),
'orangered1': (255, 69, 0, 255),
'orangered2': (238, 64, 0, 255),
'orangered3': (205, 55, 0, 255),
'orangered4': (139, 37, 0, 255),
'orchid': (218, 112, 214, 255),
'orchid1': (255, 131, 250, 255),
'orchid2': (238, 122, 233, 255),
'orchid3': (205, 105, 201, 255),
'orchid4': (139, 71, 137, 255),
'palegoldenrod': (238, 232, 170, 255),
'palegreen': (152, 251, 152, 255),
'palegreen1': (154, 255, 154, 255),
'palegreen2': (144, 238, 144, 255),
'palegreen3': (124, 205, 124, 255),
'palegreen4': (84, 139, 84, 255),
'paleturquoise': (175, 238, 238, 255),
'paleturquoise1': (187, 255, 255, 255),
'paleturquoise2': (174, 238, 238, 255),
'paleturquoise3': (150, 205, 205, 255),
'paleturquoise4': (102, 139, 139, 255),
'palevioletred': (219, 112, 147, 255),
'palevioletred1': (255, 130, 171, 255),
'palevioletred2': (238, 121, 159, 255),
'palevioletred3': (205, 104, 137, 255),
'palevioletred4': (139, 71, 93, 255),
'papayawhip': (255, 239, 213, 255),
'peachpuff': (255, 218, 185, 255),
'peachpuff1': (255, 218, 185, 255),
'peachpuff2': (238, 203, 173, 255),
'peachpuff3': (205, 175, 149, 255),
'peachpuff4': (139, 119, 101, 255),
'peru': (205, 133, 63, 255),
'pink': (255, 192, 203, 255),
'pink1': (255, 181, 197, 255),
'pink2': (238, 169, 184, 255),
'pink3': (205, 145, 158, 255),
'pink4': (139, 99, 108, 255),
'plum': (221, 160, 221, 255),
'plum1': (255, 187, 255, 255),
'plum2': (238, 174, 238, 255),
'plum3': (205, 150, 205, 255),
'plum4': (139, 102, 139, 255),
'powderblue': (176, 224, 230, 255),
'purple': (160, 32, 240, 255),
'purple1': (155, 48, 255, 255),
'purple2': (145, 44, 238, 255),
'purple3': (125, 38, 205, 255),
'purple4': (85, 26, 139, 255),
'red': (255, 0, 0, 255),
'red1': (255, 0, 0, 255),
'red2': (238, 0, 0, 255),
'red3': (205, 0, 0, 255),
'red4': (139, 0, 0, 255),
'rosybrown': (188, 143, 143, 255),
'rosybrown1': (255, 193, 193, 255),
'rosybrown2': (238, 180, 180, 255),
'rosybrown3': (205, 155, 155, 255),
'rosybrown4': (139, 105, 105, 255),
'royalblue': (65, 105, 225, 255),
'royalblue1': (72, 118, 255, 255),
'royalblue2': (67, 110, 238, 255),
'royalblue3': (58, 95, 205, 255),
'royalblue4': (39, 64, 139, 255),
'saddlebrown': (139, 69, 19, 255),
'salmon': (250, 128, 114, 255),
'salmon1': (255, 140, 105, 255),
'salmon2': (238, 130, 98, 255),
'salmon3': (205, 112, 84, 255),
'salmon4': (139, 76, 57, 255),
'sandybrown': (244, 164, 96, 255),
'seagreen': (46, 139, 87, 255),
'seagreen1': (84, 255, 159, 255),
'seagreen2': (78, 238, 148, 255),
'seagreen3': (67, 205, 128, 255),
'seagreen4': (46, 139, 87, 255),
'seashell': (255, 245, 238, 255),
'seashell1': (255, 245, 238, 255),
'seashell2': (238, 229, 222, 255),
'seashell3': (205, 197, 191, 255),
'seashell4': (139, 134, 130, 255),
'sienna': (160, 82, 45, 255),
'sienna1': (255, 130, 71, 255),
'sienna2': (238, 121, 66, 255),
'sienna3': (205, 104, 57, 255),
'sienna4': (139, 71, 38, 255),
'skyblue': (135, 206, 235, 255),
'skyblue1': (135, 206, 255, 255),
'skyblue2': (126, 192, 238, 255),
'skyblue3': (108, 166, 205, 255),
'skyblue4': (74, 112, 139, 255),
'slateblue': (106, 90, 205, 255),
'slateblue1': (131, 111, 255, 255),
'slateblue2': (122, 103, 238, 255),
'slateblue3': (105, 89, 205, 255),
'slateblue4': (71, 60, 139, 255),
'slategray': (112, 128, 144, 255),
'slategray1': (198, 226, 255, 255),
'slategray2': (185, 211, 238, 255),
'slategray3': (159, 182, 205, 255),
'slategray4': (108, 123, 139, 255),
'slategrey': (112, 128, 144, 255),
'snow': (255, 250, 250, 255),
'snow1': (255, 250, 250, 255),
'snow2': (238, 233, 233, 255),
'snow3': (205, 201, 201, 255),
'snow4': (139, 137, 137, 255),
'springgreen': (0, 255, 127, 255),
'springgreen1': (0, 255, 127, 255),
'springgreen2': (0, 238, 118, 255),
'springgreen3': (0, 205, 102, 255),
'springgreen4': (0, 139, 69, 255),
'steelblue': (70, 130, 180, 255),
'steelblue1': (99, 184, 255, 255),
'steelblue2': (92, 172, 238, 255),
'steelblue3': (79, 148, 205, 255),
'steelblue4': (54, 100, 139, 255),
'tan': (210, 180, 140, 255),
'tan1': (255, 165, 79, 255),
'tan2': (238, 154, 73, 255),
'tan3': (205, 133, 63, 255),
'tan4': (139, 90, 43, 255),
'thistle': (216, 191, 216, 255),
'thistle1': (255, 225, 255, 255),
'thistle2': (238, 210, 238, 255),
'thistle3': (205, 181, 205, 255),
'thistle4': (139, 123, 139, 255),
'tomato': (255, 99, 71, 255),
'tomato1': (255, 99, 71, 255),
'tomato2': (238, 92, 66, 255),
'tomato3': (205, 79, 57, 255),
'tomato4': (139, 54, 38, 255),
'turquoise': (64, 224, 208, 255),
'turquoise1': (0, 245, 255, 255),
'turquoise2': (0, 229, 238, 255),
'turquoise3': (0, 197, 205, 255),
'turquoise4': (0, 134, 139, 255),
'violet': (238, 130, 238, 255),
'violetred': (208, 32, 144, 255),
'violetred1': (255, 62, 150, 255),
'violetred2': (238, 58, 140, 255),
'violetred3': (205, 50, 120, 255),
'violetred4': (139, 34, 82, 255),
'wheat': (245, 222, 179, 255),
'wheat1': (255, 231, 186, 255),
'wheat2': (238, 216, 174, 255),
'wheat3': (205, 186, 150, 255),
'wheat4': (139, 126, 102, 255),
'white': (255, 255, 255, 255),
'whitesmoke': (245, 245, 245, 255),
'yellow': (255, 255, 0, 255),
'yellow1': (255, 255, 0, 255),
'yellow2': (238, 238, 0, 255),
'yellow3': (205, 205, 0, 255),
'yellow4': (139, 139, 0, 255),
'yellowgreen': (154, 205, 50, 255)}
>>>
[/code]
2020/03/05 21:36 2020/03/05 21:36
Posted
Filed under 개발/그외
{
    "files.autoSave""afterDelay",
    "editor.fontSize"20,
    "editor.fontFamily""Inconsolata, D2Coding",
    "editor.renderWhitespace""boundary",
    "editor.wordWrap""on",
    "editor.renderIndentGuides"true,
    "editor.wrappingIndent""indent",
    "editor.rulers": [
        100,
        120
    ],
    "editor.cursorBlinking""phase",
    "editor.suggestSelection""first",
    "vsintellicode.modify.editor.suggestSelection""automaticallyOverrodeDefaultValue",
    "editor.formatOnSave"true,
    "explorer.confirmDelete"false,
    "workbench.statusBar.visible"true,
    "workbench.activityBar.visible"true,
    "git.ignoreMissingGitWarning"true,
    "git.autofetch"true,
    "git.confirmSync"false,
    "C_Cpp.updateChannel""Insiders",
    "C_Cpp.default.cppStandard""c++14",
    "C_Cpp.default.cStandard""c11",
    "python.formatting.provider""black",
    "python.jediEnabled"false,
    "python.linting.pylintEnabled"false,
    "python.linting.pylintPath""C:\\Users\\cliea\\AppData\\Local\\Programs\\Python\\Python38\\Scripts\\pylint.exe",
    "python.pythonPath""C:\\Users\\cliea\\AppData\\Local\\Programs\\Python\\Python38\\python.exe",
    "terminal.integrated.shell.windows""C:\\Windows\\System32\\cmd.exe",
    "code-runner.runInTerminal"true,
    "code-runner.executorMap": {
        "javascript""node",
        "php""php",
        "python""$pythonPath -u $fullFileName",
        "perl""perl",
        "ruby""ruby",
        "go""go run",
        "html""\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
        "java""cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c""cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp""cd $dir && g++ -std=c++14 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    },
}
2020/02/29 11:46 2020/02/29 11:46
Posted
Filed under 개발/그외
  • Android Studio Link

    • 안드로이드 앱 개발 IDE
  • Xcode Link

    • 애플 앱 개발 IDE
  • Visual Studio Code Link

    • 범용 에디터
  • Google Chrome Link

    • 크롬
  • Firefox Link

    • 파이어폭스
  • Microsoft Remote Desktop 10 Link

    • 마소 리모트 데스크톱
  • TeamViewer Link

    • 팀뷰어
  • VNC Viewer Link

    • VNC 뷰어
  • IINA Link

    • 동영상 플레이어
  • Pine Player Link

    • 음악 플레이어
  • XnView MP Link

    • 이미지 뷰어
  • Itsycal Link

    • 상태바에 캘린더 표시
  • Battery Monitor: Health, Info Link

    • 배터리 모니터
  • iGlance Link

    • 시스템 모니터
  • NetSpot Link

    • 와이파이 모니터
  • JazzUp http://www.irradiatedsoftware.com/labs/)

    • 키보드 소리효과 추가
  • Scroll Reverser Link

    • 마우스 트랙패드 스크롤 반대화
  • Spectacle Link

    • 창 정렬
  • The Unarchiver Link

    • 압축파일 관리
  • Synology Drive Client Link

    • 시놀로지 동기화
  • 한컴오피스 한글 2014 VP 뷰어 Link

    • 한글뷰어
  • Zotero Link

    • 서지관리
  • Logitech Options Link

    • 로지텍 주변기기 드라이버
  • 카카오톡 Link

    • 카카오톡
2020/02/17 23:01 2020/02/17 23:01