{
"README.md": " ",
"assets.json": "",
"images.g.jres": "{\n \"|YxCW!TtqmZw;F$i!o/;\": {\n \"data\": \"hwSgAHgAAACZmZmZmZmZmZmZmZmZERERERER3d3d3d3d3d3d3b27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmREZERERERER0d3d3d3d3d3d3bu7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERER3dHR3d3d3d3d3bu9u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERER3d3d3d3d3d3d3b29u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERERERHR3d3d3d3d3bu7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmREREREREREREREREbG7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkRERERERERERHR3b3bu7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERERERHR3b3bu7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRERERERERHRHdEd3b27u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERHR3d3d3b27u7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERHRHd0d3b27u7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERER3d3d3b27u7u7u7u7u7u7u7t7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRkRGRERERERERER3dHd3b27vdvbu7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERkRERERERERERHdHd3b27u7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERERERER3dHd3d3d3d3d3bu7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERERERER3dHd3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkZkRERERERERERERER3d3d3d3d3d27u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkRERkREREREREREd3d3d3d3d3d3d3bu729u7u7u7t3t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREZERERERERER0d3d3d3d3d3d3d3bu729u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkRERERERERERER3d0d0d3d3d3d3d27u7u9u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkRERERERERERER3R0d3d3d3d3d3d273bu9u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZGRERERERERERERER3d3d3d3d3d3d3d27u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERER0R0d3d3d3d3d3d3dvbu7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZEREREREREREREREREREREdHd3d3d3bu7u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERERERERERER3d3dvbu7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERERERERERER3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZGRERERERERERERERERER3d3d0d3d3d3d3d27u7u92727u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkRERERERERERERERHR3d3d3d3d3d3d3b27u7vdu717d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREREREREREREREdHd3d3d3d3d3d3d3d3du7vdu727d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRERERERERERERERERHR3d3d3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRERERERERERERERERER3d3d3d3d3d3d3b27u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREREREREREREREREREdHd3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkRERERERERERERERERERHR3d3d3d3d3d3du7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkZERERERERERERERERERERERERsbvbu7u9u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkZEREZEREREREREREREdHd3d3dvbu7u7u7u7u7u7t3u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZEZEREREREREREREREdHd3d3dvbu7u7u7u7u7vdt7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZkRERERERERERERERHd3d3dvbvbu7u9u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZkREREREREREREREdHd3d3dvbu7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmREREREREREREREREdEd3d3d3d29u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZGREREREREREREREREREd3d3d3d3d3d3du7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZGREREREREREREREREdHd3d3d3d3d3d3du7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERHd3d3d3d3d3bu7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERHd0d3d3d3d3bvb27u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZkRkZkRERHd0d3d3d3du7vbu7u7vbu7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRERERHd3d3d3d3du7u7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERHd3d3d3d3du7u7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERHd3d3d3d3d3bu7u7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRGRERHd3d3d3d3d3bu7u7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRHdHd3R0d3d3d3d3d3d3d3dvbu7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmRHd3d3d3d3d3d3d3d3d3d3dvbu7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGREREREREdHd3d3d3d3d3d3d3d3dvbt7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERERERHR3d3d3d29u7u7u7u7u7t7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERHR3d3d3d3d3d29u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmRERERHR0R0d3d29u7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmRERERHR0R0d3bu7u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZERERERHR3d29u7u7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkZERERERHRHdG9u7u7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkZERERERHR3d3du7u7u7u7u7u7u7u7u7t3t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkZEREREREREd3d3bu7u7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmREZEREREdHd3d3d3d29u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRGZEREREd3d3d3d3d3d3d29u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERERERHR3d3d3d3du7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERERERHR3d0d3RG929u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERERERHd3d0d0R29u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRERERERERERERER0d0d0R3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkRERERERERERHR3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERERERHd3d3d3d3d3d3d3d3du7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERERERHR3d3d3d3d3d27u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERERERER0d3d3d29u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkRGREREd3d0d0d3d3d3d27u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGREREd3d3d3d3d3d3d27vbu9u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGREREd3d3d3d3d3dHd2xu7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGREREd3d0d0d3d3d3d2927u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmREREd3d3d3d3d3d3d29u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkRERER3d3d3d3d3d293bu7u7u7u7t3u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkRERERERER0d3d3d2927u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkRERERERER0d3d3d29u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmdnd3d3d3d3d3d3dvbu7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmdHd0dHd3d3d3d3dvbu7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZ0d3d0d3dHd3d3d3du7u7u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZ2d3d3d3d3d3d3d29u729u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZ2d3d3d3d3d3d3d29u7vbu7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZEdHd3d3d3d3d3d3du729u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmREZEdHd3d3d3d3d3d3d3d3d3bu7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGREREREREREREREREd3d3d3d3d29u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGREREREREREREREREd3d3d3d3d29u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGREREREREREREREREREREd3d3bu7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRERERERERER3d3d3d3d3d27u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkRERERERER3d3d3d3d3bu7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERER3d3d3d3d3d3d3bu7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmREREdHd3d3d3d3d3d3d3d29u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRER3d3d3d3d3d3d3d3d3d3d3bu7u7u7u7t7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRER3d3d3d3d3d3d3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRER0d3d3d3d3d3d3d3d3d3d3d3d3d3du7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRkRGREREdHd3d3d3d3d3d3d3d3d3d29u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERkRERERER3d3d3d3d3d3d3d3d3bu927u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERERERER3d3d3d3d3d3d3b27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERERERER0d3d3d3d3d3d3b29u7u7u7t3t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkZkRERERERERERERER3dHR3d3d3d3d3bu9u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkRERkRERERERERERER3d3d3d3d3d3d3bu7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREZERERERERERERERERHR3d3d3d3d3bu7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkRERERERERERERERERERHR3b27u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREREREREREREREREREREREbG7u7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZGRERERERERERERERERERERHR3b3bu7u7u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERERERER3d3d3b27u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERERERHR3d3d3b3bu727u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERERERHRHd0d3b27u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZERERERERERERERERERER3d3d3b27vbvbu7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZGRERERERERERERERERER3dHd3b27vdvbu7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkRERERERERERERERER3d3d3b27u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkRERERERERERERERERHdHd3b27u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRERERERERERERERERER3dHd3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRERERERERERERERERER3d3d3d3d3d27u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREREREREREREREd3d3d3d3d3d3d3bu729u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmRkREREREREREREREd3d3d3d3d3d3d3bu729u7u7u7t3u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkZERERERERERER0d3d3d3d3d3d3d27u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZkZEREZERERERER3R0d3d3d3d3d3d273bu9u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZEZERERERERER3d3d0d3d3d3d3d27u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZkRERERERER0R0d3d3d3d3d3d27u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZkREREREREREREREdHd3d3d3bu7u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERERERERERER3d3d3bu7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZGRERERERERERERERERER3d3d3d3d3d3du7u9u727u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZGREREREREREREREREdHd3d3d3d3d3d27u7u92727d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmRERERERERERERHR3d3d3d3d3d3d3d27u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmREREREREREREdHd3d3d3d3d3d3d3d3du7vdu727u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZkRkZkREREREdHd3d3d3d3d3d3d3d27u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRERERERERER3d3d3d3d3d3d3b27u73dvbt7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGREREREREREREdHd3d3d3d3d3d27u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERERERERERHR3d3d3d3d3d29u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRGRERERERERERERERER0b27u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERERERER3d3dvbu7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmREREREREdEd3dHdvbu7u7u7u7u7vbt7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERERERHd3d3dvbu7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGREREREREREd3d3dvbu7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGREREREREdEd3d3d3b27u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmREREREREdHd3d3d3d29u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmREREREREdHd3d3d3d3d3d3du7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZERHd3d3d3d3d3d3d3d3d3d3du7u7u7t3t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkZERHd3d3d3d3d3bu7u7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkZERHd0d3d3d3d3bu7u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkZERHd3d3d3d3du7u7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmREZERHd0R3d3d29u7u72729u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRGZERHd3d3d3d3d3bu7u7u7vbvbu7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERHdHd3d0d3d3bu7u7u7u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERHdHd3R0d3d3bu7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZGRERERHd3d3d3d3d3d3d3d3d3d3dvbu7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRERERHd3d3d3d3d3d3d3d3d3d3d3d27u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkRERERERERERHR3d3d3d29u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERHR3d3d3d3d3d29u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERHR0R0d3d29u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmRkRERERERHR0R0d3bu7u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZkRGRERERHR3d29u7u7u7u7u7u7u7u7u7u7u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERHRHdG9u7u7u7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERHR3d29u7u7u7u7u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZGRERERHR3d3d3bu7u7u7u7u7u7u7u7t3u3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmREREdHd3d3d3d29u7u7u7u7u7u7u7t7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkREdHd3d3d3d29u7u7u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkRERERERER0d0d3R29u7u7u7u7u7u7e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkRERERERHR3d0d3RG9u7u7u7u7u7u7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3eZmZmZmZmZmZmZmZmZmZkRERERERHR3d3d3d29u7u7u7u7u7t7t3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Backround\"\n },\n \"image2\": {\n \"data\": \"hwQRAAwAAAAAAP8PAAAAAADwEfUAAAAAAPARUf8AAAAA/xFRXw8AAPD1EVFfDwAA8FUf9VX1AABfVfVfVfUAAF9VVVVV9QAAX/9fVV/1AAD/EfH19PUAAB8REU9PDwAAHxERT08PAADw8R9PTw8AAAAfEU9PDwAAAPD/T08PAAAAAABP/wAAAAAAAPAAAAAA\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Bird\"\n },\n \"image1\": {\n \"data\": \"hwQYAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/f/////////////////////////////////////////////////////////////////////////////////////f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/f///////////////////////////////////////////93d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3fxcRcfcPAAAAAAAAAAAAAAAAAAAAAAAAAADwfxcRcfd/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3fxcRcfcPAAAAAAAAAAAAAAAAAAAAAAAAAADwfxcRcfd/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cRERERERERERERERERERERERERERERERERERERERHxf3cXcfcPAAAAAAAAAAAAAAAAAAAAAAAAAADwfxdxd/cfEREREREREREREREREREREREREREREREREREREREREXcRERERERERERERERERERERERERERERERERERERERHxf3cXcfcPAAAAAAAAAAAAAAAAAAAAAAAAAADwfxdxd/cfEREREREREREREREREREREREREREREREREREREREREXd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f3f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/d/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3f/////////////////////////////////////////f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/f/////////////////////////////////////////////////////////////////////////////////////f3d3d/cPAAAAAAAAAAAAAAAAAAAAAAAAAADwf3d3d/f///////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAADw//////8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Tubes\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
"images.g.ts": "// Auto-generated code. Do not edit.\nnamespace myImages {\n\n helpers._registerFactory(\"image\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"|YxCW!TtqmZw;F$i!o/;\":\n case \"Backround\":return img`\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999111199999999999999999999999999999999999999999999999999999999999999999999999999999911119999999999999999999999999999999999999999999999999999\n9999999999999999999991111119999999999999999999999999999999999999999999999999999999999999999999999999999111111999999999999999999999999999999999999999999999999999\n9999999999999999999991111119911999999999999999999999999999999999999999999999999999999999999999999999999111111991199999999999999999999999999999999999999999999999\n9999999999999999991111111119111119999999999999999999999999999999999999999999999999999999999999999999111111111911111999999999999999999999999999999999999999999999\n9999999999999999911111111111111119999999999999999999999999999999999999999999999999999999999999999991111111111111111999999999999999999999999999999999999999999999\n9999999999999999111111111111111111199999999999999999999999999999999999999999999999999999999999999911111111111111111119999999999999999999999999999999999999999999\n9999999999999999111111111111111111119999999999999999999999999999999999999999999999999999999999999911111111111111111111999999999999999999999999999999999999999999\n9999999999999999911111111111111111119991199999999999999999999999999999999999999999999999999999999991111111111111111111999119999999999999999999999999999999999999\n9999999999999111191111111111111111119911111999999999999999999999999999999999999999999999999999911119111111111111111111991111199999999999999999999999999999999999\n9999999999991111119111111111111111199911111999999999999999999999999999999999999999999999999999111111911111111111111119991111199999999999999999999999999999999999\n9999999999991111111111111111111111911111111199999999999999999999999999999999999999999999999999111111111111111111111191111111119999999999999999999999999999999999\n9999999999991111111111111111111111111111111199999999999999999999999999999999999999999999999999111111111111111111111111111111119999999999999999999999999999999999\n9999999999999111111111111111111111111111111199999999999999999999999999999999999999999999999999911111111111111111111111111111119999999999999999999999999999999999\n9911199991111911111111111111111111111111111991199999999999991111999999999999999999991119999111191111111111111111111111111111199119999999999999111199999999999999\n9111119911111111111111111111111111111111111911119999999999911111199999999999999999911111991111111111111111111111111111111111191111999999999991111119999999999999\n9111119111111111111111111111111111111111111911119999999999911111191119999999999999911111911111111111111111111111111111111111191111999999999991111119111999999999\n9911111111111111111111111111111111111111111111119999999999999111111111999999999999991111111111111111111111111111111111111111111111999999999999911111111199999999\n9111111111111111111111111111111111111111111111199999999911119111111111999999999999911111111111111111111111111111111111111111111119999999991111911111111199999999\n1111111111111111111111111111111111111111111111119999999111111111111119999999999199111111111dd1111111111111111111111111111111111111999999911111111111111999999999\n1111111111111111111111111111111111111111111111111911199111111111111111111999999ddd111111111ddd111111111111111111111111111111111111191119911111111111111111199999\n1111111111111111111111111111111111111111111111111111111111111111111111111199991ddd111111111ddd111111111111111111111111111111111111111111111111111111111111119999\n11111111111111111111111111111111111111111111111111111111111111111111111111999ddddddd111111ddddd11111111111111111111111111111111111111111111111111111111111119999\n11111111111111111111111111111111111111111ddddddddd111111111111111111111111111ddddddd111111ddddd111111111111111111111111111111111111111111dddddddddd1111111111111\n11111111111111111111111111111111111111111ddddddddd111111111111111111111111111ddddddd111111ddddd111111111111111111111111111111111111111111dddddddddd1111111111111\n1111111111111111111ddd1111111111111111111d11dddddd111111111111111111111111111d11dddd11111ddddddd11111111111111111111dd1111111111111111111dd1d1ddddd1111111111111\n111111111111111111ddddd111111111111111111ddddddd1d111111111111111111111111111ddddddd11111ddddddd1111111111111111111dddd111111111111111111dddddd11dd1111111111111\n11111111111111111dddddd111111111111111111ddddddddd1111111111d11111111ddddd111d1ddddd11111ddddddd11111111111111111dddddd111111111111111111dddddddddd1111111111111\n11111111111111111ddd1d111111d111111111111ddddddddd111111111dd11111111ddddd111ddddddd11111ddddddd11111111111111111ddd1d111111dd11111111111dddd1ddddd11111111dd111\n11111111111111111dddddd11111d111111111111ddddddd1d111111111dd11111111ddddd111ddddddd11111ddddddd11111111111111111dddddd11111dd11111111111ddddddd1dd11111111dd111\n11111111ddd111111dd11d11111ddd11111111111ddddddddd11dddddd1dd11111111ddddd111ddddddd11111ddddddd111111111dd111111ddd1d11111ddd11111111111dddddddddd1ddddddddd111\nd1dd1111ddddddddddd1ddd111ddddd1111111111ddddddd1d11d11ddd1dd111111111dd1dd11ddddddd111dddddddddd1dd1111ddddddddddddd1d1111dddd1111111111dddddd11dd1d11dddddd111\ndddd11111d1dd1ddddddddd111ddddd1111111111ddddddddd11dddd1d1dd11111111dddddd11dd1dddd111ddddddddddddd1111dd1ddd1dddddddd1111dddd1111111111dddddddddd1dddd1dddd111\ndd1d11111ddd1111ddddddd111ddddd1111111111ddddddddd11dddd1dddd11111111dddddd11ddddddd111ddddddddddd1d1111dddd1d11ddddddd1111dddd1111111111dddddddddd1dddd1dddd111\ndddd1111dddddddddddddddd11dddddd11dd1dd1ddddddddddd1d11dddddd11111111dddddd11ddddddd111ddddddddddddd1111dddddddddddddddd11dddddd111d11ddddddddddddd1d11dddddd111\ndd1d1111dddddddddddddddd11dddddd11ddddddddddddddddd1ddddddddd11d11d11dddddd11ddddddd111ddddddddddd1d1111dddddddddddddddd11dddddd111dddddddddddddddd1ddddddddd111\nddddd1dd1d1ddddddddddddd11ddddddd1dddd11ddddddddddddd11bbddddddd1ddd11dd1dd11ddddddd111ddddddddddddddd1ddd1ddddddddddddd11ddddddd111d11ddddddbddddddd11bbbddd1dd\nddddd1dddddddddddddddddddd1dddddd1dddddddddbbbdddddddddbbbdddddd1ddd1dddddd11ddddddd111ddddddddddddddd1dddddddddddddddddddddddddd1ddddddddddbbdddddddddbbbddd1dd\nddddd1ddddddddddddddddddddddddddd1dddddddddbbbdddddddddbbbdddddddddddddddddddddddddd111ddddddddddddddd1dddddddddddddddddddddddddd1ddddddddddbbdddddddddbbbdddddd\nddddd1ddddddddddddddddddddddddddd1dddddddbbbbbbbddddddbbbbbddddddddddddddddddddddddddd1ddddddddddddddd1dddddddddddddddddddddddddd1d1ddddddbbbbbbbdddddbbbbbddddd\ndddddbbbbbbbbbddddddddddddddddddd1dddddddbbbbbbbddddddbbbbbddddddddddddddddddddddddddd1ddddddddddddddbbbbbbbbbbdddddddddddddddddd1ddddddddbbbbbbbdddddbbbbbddddd\ndddddbbbbbbbbbddddddddddddddddddd1dddddddbbbbbbbddddddbbbbbddddddddddddddddddddddddddd1ddddddddddddddbbbbbbbbbbdddddddddddddddddd1ddddddddbbbbbbbdddddbbbbbddddd\ndddddbddbbbbbbddddddddddddddddddd1dddddddbddbbbbdddddbbbbbbbdd111dddddddddddddddbbdddd1ddddddddddddddbbdbdbbbbbdddddddddddddddddd1ddddddddbbbbbbbddddbbbbbbbb11d\ndddddbbbbbbbdbddddddddddddddddddd1dddddddbbbbbbbdddddbbbbbbbddd11ddddddddddddddbbbbddd1ddddddddddddddbbbbbbddbbdddddddddddddddddd1ddddddddbbbbbbbddddbbbbbbbbddd\ndddddbbbbbbbbbddddddddddbddddddddbbbbbdddbdbbbbbdddddbbbbbbbddddddddddd1dddddbbbbbbddd1ddddddddddddddbbbbbbbbbbdddddddddddddddddddbbbbddddbbbdbbbddddbbbbbbbbddd\ndddddbbbbbbbbbdddddddddbbddddddddbbbbbdddbbbbbbbdddddbbbbbbbdd1ddddddddddddddbbbdbddddddbbdddddddddddbbbbdbbbbbddddddddbbdddddddddbbbbddddbbbdbbbddddbbbbbbbbd1d\ndddddbbbbbbbdbdddddddddbbddddddddbbbbbdddbbbbbbbdddddbbbbbbbdd111ddddddddddddbbbbbbdddddbbdddddddddddbbbbbbbdbbddddddddbbddddddddbbbbbbdddbbbbbbbddddbbbbbbbb11d\ndddddbbbbbbbbbddbbbbbbdbbddddddddbbbbbdddbbbbbbbdddddbbbbbbbdddddddddbb1dddddbbbdbdddddbbbdddddddddddbbbbbbbbbbdbbbbbbbbbddddddddbbbbbbdddbbbdbbbddddbbbbbbbbddd\ndddddbbbbbbbdbddbddbbbdbbdddddddddbbdbbddbbbbbbbdddbbbbbbbbbbdbbddddbbbbbbbbbbbbbdbddddbbbbddddddddddbbbbbbddbbdbddbbbbbbddddddddbbbbbbbddbbbbbbbddbbbbbbbbbbbbb\ndddddbbbbbbbbbddbbbbdbdbbddddddddbbbbbbddbbdbbbbdddbbbbbbbbbbbbbddddbbdbbbdbbbbbbbbddddbbbbddddddddddbbbbbbbbbbdbbbbdbbbbddddddddbbbbbbbddbbbbdbbddbbbbbbbbbbbbb\ndddddbbbbbbbbbddbbbbdbbbbddddddddbbbbbbddbbbbbbbdddbbbbbbbbbbbdbddddbbbbdbddbbbbbbbddddbbbbddddddddddbbbbbbbbbbdbbbbdbbbbddddddddbbbbbbbddbbbbbbbddbbbbbbbbbbbbb\ndbbdbbbbbbbbbbbdbddbbbbbbddddddddbbbbbbddbbbbbbbdddbbbbbbbbbbbbbddddbbbbbbbbbbbbbbbbddbbbbbbdddbddbbbbbbbbbbbbbdbddbbbbbbddddddddbbbbbbbddbbbbbbbddbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbdbbbbbbbbbddbddbddbbbbbbddbbbbbbbdddbbbbbbbbbbbdbddddbbbbbbbbbbbbbbbbddbbbbbbdddbbbbbbbbbbbbbbbbdbbbbbbbbbdddddbddbbbbbbbddbbbbbbbddbbbbbbbbbbbbb\nbbddbbbbbbbbbbbbbddddbbbbbbbdbbbddbbdbbddbbbbbbbdddbbbbbbbbbbbbbbbdbbbdbbbbbbbbbbbbbddbbbbbbbdddbddbbbbbbbbbbbbbbddbdbbbbdbbdbbbdbbbbbbbddbbbbbbbddbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbdbbbbbbddbbbbbbbdddbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbdbbbbbbbbbbbddbbbbdbbddbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdddbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbdddbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbddbdbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbddbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbdddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\nbbbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbbbbbbbb7bbbbbbbbbbbbbbbb7bbbbb\nbbbbbb7bbb77bbbbb77bbbb7bbb7bbbb7b77bbb7bbbbbb7bbb77bbbbb77bbbb7bbb7bbbb7b77bbb7bbbbbb7bbb77bbbbb77bbbb7bbb7bbbb7b77bbb7bbbbbb7bbb77bbbbb77bbbb7bbb7bbbb7b77bbb7\nbb7bbb77b77bb7bbb77bbb77bbb77bbb7bb77b77bb7bbb77b77bb7bbb77bbb77bbb77bbb7bb77b77bb7bbb77b77bb7bbb77bbb77bbb77bbb7bb77b77bb7bbb77b77bb7bbb77bbb77bbb77bbb7bb77b77\nbb77bb77b77bb77bbb77b77bbbb77b7b77b7777bbb77bb77b77bb77bbb77b77bbbb77b7b77b7777bbb77bb77b77bb77bbb77b77bbbb77b7b77b7777bbb77bb77b77bb77bbb77b77bbbb77b7b77b7777b\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777\n`;\n case \"image2\":\n case \"Bird\":return img`\n. . . . . . f f f f f f . . . . . \n. . . . f f 5 5 5 f 1 1 f . . . . \n. . . f 5 5 5 5 f 1 1 1 1 f . . . \n. f f f f 5 5 5 f 1 1 1 f 1 f . . \nf 1 1 1 1 f 5 5 f 1 1 1 f 1 f . . \nf 1 1 1 1 1 f 5 5 f 1 1 1 1 f . . \nf 5 1 1 1 5 f 5 5 5 f f f f f f . \n. f 5 5 5 f 5 5 5 f 4 4 4 4 4 4 f \n. . f f f 5 5 5 f 4 f f f f f f . \n. . f 5 5 5 5 5 5 f 4 4 4 4 4 f . \n. . . f f 5 5 5 5 5 f f f f f . . \n. . . . . f f f f f . . . . . . . \n`;\n case \"image1\":\n case \"Tubes\":return img`\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n.fffffffffffffffffffffff\n.fffffffffffffffffffffff\n.ff7777777777777777777ff\n.ff7777777777777777777ff\n.ff7711777777777777777ff\n.ff7711777777777777777ff\n.ff7711117777777777777ff\n.ff7711117777777777777ff\n.ff7777777777777777777ff\n.ff7777777777777777777ff\n.fffffffffffffffffffffff\n.fffffffffffffffffffffff\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n........................\n.fffffffffffffffffffffff\n.fffffffffffffffffffffff\n.ff7777777777777777777ff\n.ff7777777777777777777ff\n.ff7711117777777777777ff\n.ff7711117777777777777ff\n.ff7711777777777777777ff\n.ff7711777777777777777ff\n.ff7777777777777777777ff\n.ff7777777777777777777ff\n.fffffffffffffffffffffff\n.fffffffffffffffffffffff\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff771177777777777ff..\n...ff777777777777777ff..\n...ff777777777777777ff..\n`;\n }\n return null;\n })\n\n helpers._registerFactory(\"animation\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n\n }\n return null;\n })\n\n helpers._registerFactory(\"song\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n",
"main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"{l%o-7?e4fKdW05]d6)T\">Player</variable><variable type=\"KIND_SpriteKind\" id=\"`:]E=~-7[@KHAi8R#}To\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\"I9$Z7wsD]Nmqf:b$5F(V\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"X?1PLWSeChAag[a10#9U\">Enemy</variable><variable id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</variable><variable id=\"iigzfA|p}c0fg}{:qOA}\">mySprite2</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"gamesetbackgroundimage\"><value name=\"img\"><shadow type=\"background_image_picker\"><field name=\"img\">assets.image`Backround`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.|YxCW!TtqmZw;F$i!o/;\"}}</data></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"iigzfA|p}c0fg}{:qOA}\">mySprite2</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreate\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Bird`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image2\"}}</data></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.ay@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"iigzfA|p}c0fg}{:qOA}\">mySprite2</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">435</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreate\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Tubes`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image1\"}}</data></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.y@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"device_random\"><value name=\"min\"><shadow type=\"math_number\"><field name=\"NUM\">25</field></shadow></value><value name=\"limit\"><shadow type=\"math_number\"><field name=\"NUM\">85</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.x@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">166</field></shadow></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.vx@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-40</field></shadow></value><next><block type=\"hudsetScore\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"game_setgameovereffect\"><field name=\"effect\">effects.dissolve</field><value name=\"win\"><shadow type=\"toggleWinLose\"><field name=\"win\">false</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"spritesetpos\" disabled=\"true\" x=\"550\" y=\"330\"><value name=\"sprite\"><block type=\"variables_get\" disabled=\"true\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value><value name=\"x\"><shadow type=\"positionPicker\" disabled=\"true\"><field name=\"index\">0</field></shadow></value><value name=\"y\"><shadow type=\"positionPicker\" disabled=\"true\"><field name=\"index\">0</field></shadow></value></block><block type=\"keyonevent\" x=\"870\" y=\"390\"><field name=\"button\">controller.A</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.vy@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"iigzfA|p}c0fg}{:qOA}\">mySprite2</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-135</field></shadow></value></block></statement></block><block type=\"gameupdate\" x=\"-20\" y=\"740\"><statement name=\"HANDLER\"><block type=\"controls_if\"><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">LT</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Sprite_blockCombine_get\"><field name=\"property\">Sprite.x</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">6</field></shadow></value></block></value><statement name=\"DO0\"><block type=\"hudChangeScoreBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.x@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">166</field></shadow></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.y@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"?Zo=I|`ccArk`lUai0fC\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"device_random\"><value name=\"min\"><shadow type=\"math_number\"><field name=\"NUM\">25</field></shadow></value><value name=\"limit\"><shadow type=\"math_number\"><field name=\"NUM\">85</field></shadow></value></block></value></block></next></block></next></block></statement><next><block type=\"controls_if\"><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GT</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Sprite_blockCombine_get\"><field name=\"property\">Sprite.y</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"iigzfA|p}c0fg}{:qOA}\">mySprite2</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">140</field></shadow></value></block></value><statement name=\"DO0\"><block type=\"gameOver2\"><value name=\"win\"><shadow type=\"toggleWinLose\"><field name=\"win\">false</field></shadow></value></block></statement></block></next></block></statement></block><block type=\"spritesoverlap\" x=\"0\" y=\"1400\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"></mutation><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"></mutation><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value><statement name=\"HANDLER\"><block type=\"gameOver2\"><value name=\"win\"><shadow type=\"toggleWinLose\"><field name=\"win\">false</field></shadow></value></block></statement></block></xml>",
"main.ts": "controller.A.onEvent(ControllerButtonEvent.Pressed, function () {\n mySprite2.vy = -135\n})\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {\n game.gameOver(false)\n})\nlet mySprite2: Sprite = null\nscene.setBackgroundImage(assets.image`Backround`)\nmySprite2 = sprites.create(assets.image`Bird`, SpriteKind.Player)\nmySprite2.ay = 435\nlet mySprite = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)\nmySprite.y = randint(25, 85)\nmySprite.x = 166\nmySprite.vx = -40\ninfo.setScore(0)\ngame.setGameOverEffect(false, effects.dissolve)\ngame.onUpdate(function () {\n if (mySprite.x < 6) {\n info.changeScoreBy(1)\n mySprite.x = 166\n mySprite.y = randint(25, 85)\n }\n if (mySprite2.y > 140) {\n game.gameOver(false)\n }\n})\n",
"pxt.json": "{\n \"name\": \"flappy bird\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"tilemap.g.jres\",\n \"tilemap.g.ts\",\n \"images.g.jres\",\n \"images.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.12.29\",\n \"tag\": \"v1.12.29\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/e3682278e015a20ba1c143cb55ded707029d8938\",\n \"target\": \"1.12.29\",\n \"pxt\": \"8.5.40\"\n },\n \"preferredEditor\": \"blocksprj\",\n \"palette\": [\n \"#000000\",\n \"#FFFFFF\",\n \"#FF2121\",\n \"#FF93C4\",\n \"#FF8135\",\n \"#FFF609\",\n \"#249CA3\",\n \"#78DC52\",\n \"#003FAD\",\n \"#87F2FF\",\n \"#8E2EC4\",\n \"#A4839F\",\n \"#5C406c\",\n \"#E5CDC4\",\n \"#91463d\",\n \"#000000\"\n ]\n}\n",
"tilemap.g.jres": "{\n \"transparency16\": {\n \"data\": \"hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"tilemapTile\": true\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myTiles\"\n }\n}",
"tilemap.g.ts": "// Auto-generated code. Do not edit.\nnamespace myTiles {\n //% fixedInstance jres blockIdentity=images._tile\n export const transparency16 = image.ofBuffer(hex``);\n\n helpers._registerFactory(\"tile\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"transparency16\":return transparency16;\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n"
}
Begin the project by setting a background color on the screen!
-
:tree: Open
||scene:Scene||then drag the||scene:set background image||block into the||loops:on start||container already in the editor. -
:paint brush: Click the gray box in the
||scene:set background image||block to open the image editor. Select My Assets at the top of the window and click the skyline images. -
:circle: Check the Game Window on the right side of the screen to see the skyline image appear!
-
:mouse pointer: Click Next to go to the next step.
scene.setBackgroundImage(assets.image`Backround`)
Now add the bird sprite to the game!
-
:paper plane: Open
||sprites:Sprites||and drag the||variables:set mySprite to||block into the||loops:on start||container, below the||scene:set background image||block. -
:mouse pointer: Click
||variables:mySprite ⏷||then click rename and go ahead and name it "bird", Then click the gray box and select the My Assets tab at the top of the window and select the bird image. -
:mouse pointer: Open
||sprites:Sprites||and drag the||sprites:set mySprite x to||block into the bottom of the||loops:on start||container then click||variables:mySprite ⏷||and select "bird", now click||sprites:x ⏷||and select ay(acceleration y). Then input 435 into the following bubble. -
:gamepad: Click ▶ to see the Bird sprite appear in the center of the screen then just to fall off!
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
Now add some obsticles!
-
:paper plane: Open
||sprites:Sprites||and drag the||variables:set mySprite to||block to the bottom of the||loops:on start||container. -
:mouse pointer: Click
||variables:mySprite ⏷||then click rename and go ahead and name it "tubes" and click||sprites:Player ⏷||then select enemy. -
:mouse pointer: Click the grey box and selcet the My Assets tab at the top of the window and select the tube image.
-
:paper plane: Open
||sprites:Sprites||and drag the||sprites:set mySprite position to x y ||block into the bottom of the||loops:on start||container and click||variables:mySprite ⏷||and select "tubes". -
:mouse pointer: In the x bubble type 166. In the y bubble you have to open
||math:Math||and drag in the||math:random||bubble into the y bubble. In the random bubble type 25 into the first bubble then type 85 in the second bubble. -
:paper plane: Open
||sprites:Sprites||and drag the||sprites:set mySprite x to||block into the bottom of the on start container and click||variables:mySprite ⏷||and select tubes, then click||sprites:x ⏷||and select vx(velocity x) and type -40 into the bubble. -
:gamepad: Click ▶ now the tubes should appear and start moving!
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
let tubes = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)
tubes.setPosition(166, randint(25, 85))
tubes.vx = -40
Now make the bird fly!
-
:circle: Open
||controller:Controller||and drag the||controller:on a button pressed||container into the editor. -
:paper plane: Open
||sprites:Sprites||and drag the||sprites:set mySprite x to||block into the||controller:on a button pressed||container and click||variables:mySprite ⏷||and select "bird". -
:mouse pointer: Click
||sprites:x ⏷||then select vy(velocity y) then type -135 into the bubble -
:gamepad: Click ▶ and tap space to see the bird fly!
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
let tubes = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)
tubes.setPosition(166, randint(25, 85))
tubes.vx = -40
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
bird.vy = -135
})
Make the tubes respawn part 1.
-
:id card: Open
||info:Info||and drag||info:set score||into the bottom of the||loops:on start||container. -
:paper plane: Now open
||game:Game||and drag the||game:use effect confetti for WIN||block into the bottom of the||loops:on start||container and click||game:confetti ⏷||the select dissolve and click WIN to change it to lose. -
:circle: Open
||game:Game||and drag the||game:on game update||container into the editor. -
:paper plane: Open
||logic:Logic||and drag the||logic:if true then||block into the||game:on game update||container. Now open||logic:Logic||again and drag the||logic:0 < 0||condition into if statement condition. -
:circle: Finish makeing the tubes respawn in the next step.
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
let tubes = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)
tubes.setPosition(166, randint(25, 85))
tubes.vx = -40
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
bird.vy = -135
})
game.onUpdate(function () {
if(bird.vx > 5){
}
})
Make the tubes respawn part 2.
-
:paper plane: Open
||sprites:sprites||and drag the||sprites:mySprite x||bubble into the left side of the||logic:0 < 0||condition and click||sprites:mySprite ⏷||then select "tubes", then type 6 into the right side. -
:id card: Open
||info:Info||and drag the||info:change score by 1||block into the if statement. -
:paper plane: Next open
||sprites:Sprites||and drag the||sprites:set my sprite position to x y||block into the bottom of the if statement and click||sprites:mySprite ⏷||then select "tubes". -
:mouse pointer: In the x bubble type 166. For the y bubble open
||math:Math||and drag in a||math:random||bubble then type 25 into the first bubble and 85 into the second. -
:gamepad: Click ▶ to see the tubes respawn and the point go up when one dissappears.
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
let tubes = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)
tubes.setPosition(166, randint(25, 85))
tubes.vx = -40
info.setScore(0)
game.setGameOverEffect(false, effects.dissolve)
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
bird.vy = -135
})
game.onUpdate(function () {
if (tubes.vx > 6) {
info.changeScoreBy(1)
tubes.setPosition(166, randint(25, 85))
}
})
Detect if the bird falls off the screen.
-
:paper plane: Open
||logic:Logic||and drag||logic:if true then||loop into the bottom of the||game:on game update||container. Now open||logic:Logic||again and drag the||logic:0 < 0||condition into the if statement and click||logic:< ⏷||and select ">". -
:paper plane: Open
||sprites:sprites||and drag||sprites:mySprite x||bubble into the left side of the||logic:0 < 0||and click||sprites:mySprite ⏷||and select "bird", now click||sprites:x ⏷||and select "y". -
:calculator: Now type 140 into the right side.
-
:paper plane: Open
||game:game||and drag||game:game over WIN||into the second if statement and click WIN to change it to lose. -
:gamepad: Click ▶ to see the game end whan the bird falls off the screen.
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
let tubes = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)
tubes.setPosition(166, randint(25, 85))
tubes.vx = -40
info.setScore(0)
game.setGameOverEffect(false, effects.dissolve)
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
bird.vy = -135
})
game.onUpdate(function () {
if (tubes.vx > 6) {
info.changeScoreBy(1)
tubes.setPosition(166, randint(25, 85))
}
if (bird.y > 140) {
game.gameOver(false)
}
})
detect if the bird hits a tube.
-
:paper plane: Open
||sprites:Sprites||and drag the||sprites:on sprite overlaps sprite||container into the editor. -
:mouse pointer: Click
||sprites:player ⏷||next to otherSprite then Select "enemy". -
:mouse pointer: Open
||game:game||and drag the||game:game over WIN||block into the second if statement and click WIN to change it to lose. -
:gamepad: Click ▶ to play your complete flappy bird game!
scene.setBackgroundImage(assets.image`Backround`)
let bird = sprites.create(assets.image`Bird`, SpriteKind.Player)
bird.ay = 435;
let tubes = sprites.create(assets.image`Tubes`, SpriteKind.Enemy)
tubes.setPosition(166, randint(25, 85))
tubes.vx = -40
info.setScore(0)
game.setGameOverEffect(false, effects.dissolve)
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
bird.vy = -135
})
game.onUpdate(function () {
if (tubes.vx > 6) {
info.changeScoreBy(1)
tubes.setPosition(166, randint(25, 85))
}
if (bird.y > 140) {
game.gameOver(false)
}
})
sprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {
game.gameOver(false)
})
Complete the project by making it your own!
-
🔧 Try changeing the gravity to make the bird fall slower or faster.
-
🔧 You can also try changing the images of the sprites.
Open this page at https://austin-ag.github.io/flappy-bird/
This repository can be added as an extension in MakeCode.
- open https://arcade.makecode.com/
- click on New Project
- click on Extensions under the gearwheel menu
- search for https://github.com/austin-ag/flappy-bird and import
To edit this repository in MakeCode.
- open https://arcade.makecode.com/
- click on Import then click on Import URL
- paste https://github.com/austin-ag/flappy-bird and click import
This image shows the blocks code from the last commit in master. This image may take a few minutes to refresh.
- for PXT/arcade

