fcode 2.2.0__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. fcode/__init__.py +3 -0
  2. fcode/_types.py +655 -0
  3. fcode/api.py +146 -0
  4. fcode/auth.py +49 -0
  5. fcode/cli.py +127 -0
  6. fcode/commands/__init__.py +0 -0
  7. fcode/commands/init.py +29 -0
  8. fcode/commands/ladder.py +74 -0
  9. fcode/commands/login.py +135 -0
  10. fcode/commands/logout.py +21 -0
  11. fcode/commands/map_editor.py +91 -0
  12. fcode/commands/match_detail.py +173 -0
  13. fcode/commands/match_group.py +163 -0
  14. fcode/commands/matches.py +127 -0
  15. fcode/commands/run.py +186 -0
  16. fcode/commands/starter.py +119 -0
  17. fcode/commands/status.py +112 -0
  18. fcode/commands/submission.py +260 -0
  19. fcode/commands/team_group.py +73 -0
  20. fcode/commands/teams.py +73 -0
  21. fcode/commands/test.py +51 -0
  22. fcode/commands/test_matches.py +59 -0
  23. fcode/commands/test_run.py +125 -0
  24. fcode/commands/watch.py +123 -0
  25. fcode/compat.py +36 -0
  26. fcode/config.py +47 -0
  27. fcode/data/__init__.py +0 -0
  28. fcode/data/docs/spec.md +290 -0
  29. fcode/data/maps/__init__.py +0 -0
  30. fcode/data/maps/atoll.map26 +0 -0
  31. fcode/data/maps/aurora.map26 +0 -0
  32. fcode/data/maps/crossfire.map26 +0 -0
  33. fcode/data/maps/duel.map26 +0 -0
  34. fcode/data/maps/fjord.map26 +0 -0
  35. fcode/data/maps/hive.map26 +0 -0
  36. fcode/data/maps/longship.map26 +0 -0
  37. fcode/data/maps/pinch.map26 +0 -0
  38. fcode/data/maps/quarry.map26 +0 -0
  39. fcode/data/maps/runestone.map26 +0 -0
  40. fcode/data/maps/skerry.map26 +0 -0
  41. fcode/data/maps/sprint.map26 +0 -0
  42. fcode/data/maps/strait.map26 +0 -0
  43. fcode/data/maps/twins.map26 +0 -0
  44. fcode/data/maps/vault.map26 +0 -0
  45. fcode/data/starter_bot.py +452 -0
  46. fcode/data/visualiser/.directory +9 -0
  47. fcode/data/visualiser/Builderbot_med.png +0 -0
  48. fcode/data/visualiser/armoured_conveyor_gold.png +0 -0
  49. fcode/data/visualiser/armoured_conveyor_silver.png +0 -0
  50. fcode/data/visualiser/assets/app-BiRa_5u6.css +1 -0
  51. fcode/data/visualiser/assets/app-CK52NxpR.js +86 -0
  52. fcode/data/visualiser/assets/main-COIx42iq.js +1 -0
  53. fcode/data/visualiser/assets/map-editor-BDLYjgel.js +1 -0
  54. fcode/data/visualiser/axionite_ore.png +0 -0
  55. fcode/data/visualiser/axionite_processed.png +0 -0
  56. fcode/data/visualiser/axionite_raw.png +0 -0
  57. fcode/data/visualiser/barrier_gold.png +0 -0
  58. fcode/data/visualiser/barrier_silver.png +0 -0
  59. fcode/data/visualiser/base_gold.png +0 -0
  60. fcode/data/visualiser/base_silver.png +0 -0
  61. fcode/data/visualiser/battlecodetitle-orange.webp +0 -0
  62. fcode/data/visualiser/bg-light.png +0 -0
  63. fcode/data/visualiser/bg.png +0 -0
  64. fcode/data/visualiser/breach_e_gold.png +0 -0
  65. fcode/data/visualiser/breach_e_silver.png +0 -0
  66. fcode/data/visualiser/breach_n_gold.png +0 -0
  67. fcode/data/visualiser/breach_n_silver.png +0 -0
  68. fcode/data/visualiser/breach_ne_gold.png +0 -0
  69. fcode/data/visualiser/breach_ne_silver.png +0 -0
  70. fcode/data/visualiser/breach_nw_gold.png +0 -0
  71. fcode/data/visualiser/breach_nw_silver.png +0 -0
  72. fcode/data/visualiser/breach_s_gold.png +0 -0
  73. fcode/data/visualiser/breach_s_silver.png +0 -0
  74. fcode/data/visualiser/breach_se_gold.png +0 -0
  75. fcode/data/visualiser/breach_se_silver.png +0 -0
  76. fcode/data/visualiser/breach_sw_gold.png +0 -0
  77. fcode/data/visualiser/breach_sw_silver.png +0 -0
  78. fcode/data/visualiser/bridge_gold.png +0 -0
  79. fcode/data/visualiser/bridge_silver.png +0 -0
  80. fcode/data/visualiser/bridge_stand_gold.png +0 -0
  81. fcode/data/visualiser/bridge_stand_silver.png +0 -0
  82. fcode/data/visualiser/builderbot_back_gold.png +0 -0
  83. fcode/data/visualiser/builderbot_back_silver.png +0 -0
  84. fcode/data/visualiser/builderbot_front_gold.png +0 -0
  85. fcode/data/visualiser/builderbot_front_silver.png +0 -0
  86. fcode/data/visualiser/builderbot_side_gold.png +0 -0
  87. fcode/data/visualiser/builderbot_side_silver.png +0 -0
  88. fcode/data/visualiser/conveyor_gold.png +0 -0
  89. fcode/data/visualiser/conveyor_silver.png +0 -0
  90. fcode/data/visualiser/dimetric/Dimetric_Tile_Cube.png +0 -0
  91. fcode/data/visualiser/dimetric/Dimetric_Tile_Floor_Footprint.png +0 -0
  92. fcode/data/visualiser/dimetric/barrier_team1.png +0 -0
  93. fcode/data/visualiser/dimetric/barrier_team2.png +0 -0
  94. fcode/data/visualiser/dimetric/base_team1.png +0 -0
  95. fcode/data/visualiser/dimetric/base_team2.png +0 -0
  96. fcode/data/visualiser/dimetric/bg.png +0 -0
  97. fcode/data/visualiser/dimetric/bridge_stand_team1.png +0 -0
  98. fcode/data/visualiser/dimetric/bridge_stand_team2.png +0 -0
  99. fcode/data/visualiser/dimetric/bridge_team1.png +0 -0
  100. fcode/data/visualiser/dimetric/bridge_team2.png +0 -0
  101. fcode/data/visualiser/dimetric/builderbot_e_team1.png +0 -0
  102. fcode/data/visualiser/dimetric/builderbot_e_team2.png +0 -0
  103. fcode/data/visualiser/dimetric/builderbot_n_team1.png +0 -0
  104. fcode/data/visualiser/dimetric/builderbot_n_team2.png +0 -0
  105. fcode/data/visualiser/dimetric/builderbot_ne_team1.png +0 -0
  106. fcode/data/visualiser/dimetric/builderbot_ne_team2.png +0 -0
  107. fcode/data/visualiser/dimetric/builderbot_nw_team1.png +0 -0
  108. fcode/data/visualiser/dimetric/builderbot_nw_team2.png +0 -0
  109. fcode/data/visualiser/dimetric/builderbot_s_team1.png +0 -0
  110. fcode/data/visualiser/dimetric/builderbot_s_team2.png +0 -0
  111. fcode/data/visualiser/dimetric/builderbot_se_team1.png +0 -0
  112. fcode/data/visualiser/dimetric/builderbot_se_team2.png +0 -0
  113. fcode/data/visualiser/dimetric/builderbot_sw_team1.png +0 -0
  114. fcode/data/visualiser/dimetric/builderbot_sw_team2.png +0 -0
  115. fcode/data/visualiser/dimetric/builderbot_w_team1.png +0 -0
  116. fcode/data/visualiser/dimetric/builderbot_w_team2.png +0 -0
  117. fcode/data/visualiser/dimetric/conveyor_ne_team1.png +0 -0
  118. fcode/data/visualiser/dimetric/conveyor_ne_team2.png +0 -0
  119. fcode/data/visualiser/dimetric/conveyor_nw_team1.png +0 -0
  120. fcode/data/visualiser/dimetric/conveyor_nw_team2.png +0 -0
  121. fcode/data/visualiser/dimetric/conveyor_se_team1.png +0 -0
  122. fcode/data/visualiser/dimetric/conveyor_se_team2.png +0 -0
  123. fcode/data/visualiser/dimetric/conveyor_sw_team1.png +0 -0
  124. fcode/data/visualiser/dimetric/conveyor_sw_team2.png +0 -0
  125. fcode/data/visualiser/dimetric/gunner_e_team1.png +0 -0
  126. fcode/data/visualiser/dimetric/gunner_e_team2.png +0 -0
  127. fcode/data/visualiser/dimetric/gunner_n_team1.png +0 -0
  128. fcode/data/visualiser/dimetric/gunner_n_team2.png +0 -0
  129. fcode/data/visualiser/dimetric/gunner_ne_team1.png +0 -0
  130. fcode/data/visualiser/dimetric/gunner_ne_team2.png +0 -0
  131. fcode/data/visualiser/dimetric/gunner_nw_team1.png +0 -0
  132. fcode/data/visualiser/dimetric/gunner_nw_team2.png +0 -0
  133. fcode/data/visualiser/dimetric/gunner_s_team1.png +0 -0
  134. fcode/data/visualiser/dimetric/gunner_s_team2.png +0 -0
  135. fcode/data/visualiser/dimetric/gunner_se_team1.png +0 -0
  136. fcode/data/visualiser/dimetric/gunner_se_team2.png +0 -0
  137. fcode/data/visualiser/dimetric/gunner_sw_team1.png +0 -0
  138. fcode/data/visualiser/dimetric/gunner_sw_team2.png +0 -0
  139. fcode/data/visualiser/dimetric/gunner_w_team1.png +0 -0
  140. fcode/data/visualiser/dimetric/gunner_w_team2.png +0 -0
  141. fcode/data/visualiser/dimetric/harvester_team1.png +0 -0
  142. fcode/data/visualiser/dimetric/harvester_team2.png +0 -0
  143. fcode/data/visualiser/dimetric/launcher_team1_ne.png +0 -0
  144. fcode/data/visualiser/dimetric/launcher_team1_nw.png +0 -0
  145. fcode/data/visualiser/dimetric/launcher_team1_se.png +0 -0
  146. fcode/data/visualiser/dimetric/launcher_team1_sw.png +0 -0
  147. fcode/data/visualiser/dimetric/launcher_team2_ne.png +0 -0
  148. fcode/data/visualiser/dimetric/launcher_team2_nw.png +0 -0
  149. fcode/data/visualiser/dimetric/launcher_team2_se.png +0 -0
  150. fcode/data/visualiser/dimetric/launcher_team2_sw.png +0 -0
  151. fcode/data/visualiser/dimetric/natural_wall.png +0 -0
  152. fcode/data/visualiser/dimetric/natural_wall_ne.png +0 -0
  153. fcode/data/visualiser/dimetric/natural_wall_nw.png +0 -0
  154. fcode/data/visualiser/dimetric/natural_wall_se.png +0 -0
  155. fcode/data/visualiser/dimetric/natural_wall_sw.png +0 -0
  156. fcode/data/visualiser/dimetric/road_team1.png +0 -0
  157. fcode/data/visualiser/dimetric/road_team2.png +0 -0
  158. fcode/data/visualiser/dimetric/sentinel_e_team1.png +0 -0
  159. fcode/data/visualiser/dimetric/sentinel_e_team2.png +0 -0
  160. fcode/data/visualiser/dimetric/sentinel_n_team1.png +0 -0
  161. fcode/data/visualiser/dimetric/sentinel_n_team2.png +0 -0
  162. fcode/data/visualiser/dimetric/sentinel_ne_team1.png +0 -0
  163. fcode/data/visualiser/dimetric/sentinel_ne_team2.png +0 -0
  164. fcode/data/visualiser/dimetric/sentinel_nw_team1.png +0 -0
  165. fcode/data/visualiser/dimetric/sentinel_nw_team2.png +0 -0
  166. fcode/data/visualiser/dimetric/sentinel_s_team1.png +0 -0
  167. fcode/data/visualiser/dimetric/sentinel_s_team2.png +0 -0
  168. fcode/data/visualiser/dimetric/sentinel_se_team1.png +0 -0
  169. fcode/data/visualiser/dimetric/sentinel_se_team2.png +0 -0
  170. fcode/data/visualiser/dimetric/sentinel_sw_team1.png +0 -0
  171. fcode/data/visualiser/dimetric/sentinel_sw_team2.png +0 -0
  172. fcode/data/visualiser/dimetric/sentinel_w_team1.png +0 -0
  173. fcode/data/visualiser/dimetric/sentinel_w_team2.png +0 -0
  174. fcode/data/visualiser/dimetric/splitter_ne_team1.png +0 -0
  175. fcode/data/visualiser/dimetric/splitter_ne_team2.png +0 -0
  176. fcode/data/visualiser/dimetric/splitter_nw_team1.png +0 -0
  177. fcode/data/visualiser/dimetric/splitter_nw_team2.png +0 -0
  178. fcode/data/visualiser/dimetric/splitter_se_team1.png +0 -0
  179. fcode/data/visualiser/dimetric/splitter_se_team2.png +0 -0
  180. fcode/data/visualiser/dimetric/splitter_sw_team1.png +0 -0
  181. fcode/data/visualiser/dimetric/splitter_sw_team2.png +0 -0
  182. fcode/data/visualiser/dimetric/titanium.png +0 -0
  183. fcode/data/visualiser/dimetric/titanium_ore.png +0 -0
  184. fcode/data/visualiser/fonts/HKGrotesk-Regular.otf +0 -0
  185. fcode/data/visualiser/foundry_gold.png +0 -0
  186. fcode/data/visualiser/foundry_silver.png +0 -0
  187. fcode/data/visualiser/gunner_n_gold.png +0 -0
  188. fcode/data/visualiser/gunner_n_silver.png +0 -0
  189. fcode/data/visualiser/gunner_ne_gold.png +0 -0
  190. fcode/data/visualiser/gunner_ne_silver.png +0 -0
  191. fcode/data/visualiser/gunner_nw_gold.png +0 -0
  192. fcode/data/visualiser/gunner_nw_silver.png +0 -0
  193. fcode/data/visualiser/gunner_s_gold.png +0 -0
  194. fcode/data/visualiser/gunner_s_silver.png +0 -0
  195. fcode/data/visualiser/gunner_se_gold.png +0 -0
  196. fcode/data/visualiser/gunner_se_silver.png +0 -0
  197. fcode/data/visualiser/gunner_sw_gold.png +0 -0
  198. fcode/data/visualiser/gunner_sw_silver.png +0 -0
  199. fcode/data/visualiser/gunner_w_gold.png +0 -0
  200. fcode/data/visualiser/gunner_w_silver.png +0 -0
  201. fcode/data/visualiser/harvester_gold.png +0 -0
  202. fcode/data/visualiser/harvester_silver.png +0 -0
  203. fcode/data/visualiser/index.html +20 -0
  204. fcode/data/visualiser/launcher_gold.png +0 -0
  205. fcode/data/visualiser/launcher_silver.png +0 -0
  206. fcode/data/visualiser/map-editor.html +20 -0
  207. fcode/data/visualiser/marker_gold.png +0 -0
  208. fcode/data/visualiser/marker_silver.png +0 -0
  209. fcode/data/visualiser/natural_wall.jpg +0 -0
  210. fcode/data/visualiser/road_gold.png +0 -0
  211. fcode/data/visualiser/road_silver.png +0 -0
  212. fcode/data/visualiser/sentinel_e_gold.png +0 -0
  213. fcode/data/visualiser/sentinel_e_silver.png +0 -0
  214. fcode/data/visualiser/sentinel_n_gold.png +0 -0
  215. fcode/data/visualiser/sentinel_n_silver.png +0 -0
  216. fcode/data/visualiser/sentinel_ne_gold.png +0 -0
  217. fcode/data/visualiser/sentinel_ne_silver.png +0 -0
  218. fcode/data/visualiser/sentinel_nw_gold.png +0 -0
  219. fcode/data/visualiser/sentinel_nw_silver.png +0 -0
  220. fcode/data/visualiser/sentinel_s_gold.png +0 -0
  221. fcode/data/visualiser/sentinel_s_silver.png +0 -0
  222. fcode/data/visualiser/sentinel_se_gold.png +0 -0
  223. fcode/data/visualiser/sentinel_se_silver.png +0 -0
  224. fcode/data/visualiser/sentinel_sw_gold.png +0 -0
  225. fcode/data/visualiser/sentinel_sw_silver.png +0 -0
  226. fcode/data/visualiser/splitter.png +0 -0
  227. fcode/data/visualiser/splitter_e_gold.png +0 -0
  228. fcode/data/visualiser/splitter_e_silver.png +0 -0
  229. fcode/data/visualiser/splitter_n_gold.png +0 -0
  230. fcode/data/visualiser/splitter_n_silver.png +0 -0
  231. fcode/data/visualiser/splitter_s_gold.png +0 -0
  232. fcode/data/visualiser/splitter_s_silver.png +0 -0
  233. fcode/data/visualiser/splitter_w_gold.png +0 -0
  234. fcode/data/visualiser/splitter_w_silver.png +0 -0
  235. fcode/data/visualiser/template02.png +0 -0
  236. fcode/data/visualiser/titanium.png +0 -0
  237. fcode/data/visualiser/titanium_ore.png +0 -0
  238. fcode/fcode_engine.cp313-win_amd64.pyd +0 -0
  239. fcode/py.typed +0 -0
  240. fcode/version_check.py +72 -0
  241. fcode-2.2.0.dist-info/METADATA +7 -0
  242. fcode-2.2.0.dist-info/RECORD +245 -0
  243. fcode-2.2.0.dist-info/WHEEL +4 -0
  244. fcode-2.2.0.dist-info/entry_points.txt +2 -0
  245. fcode-2.2.0.dist-info/sboms/fcode_engine.cyclonedx.json +1963 -0
Binary file
Binary file
Binary file
Binary file
Binary file
fcode/py.typed ADDED
File without changes
fcode/version_check.py ADDED
@@ -0,0 +1,72 @@
1
+ import json
2
+ import time
3
+ import urllib.request
4
+ from pathlib import Path
5
+
6
+ from fcode import __version__
7
+
8
+ PYPI_PACKAGE = "fcode"
9
+ CACHE_DIR = Path.home() / ".fcode"
10
+ CACHE_FILE = CACHE_DIR / "version_cache.json"
11
+ CHECK_INTERVAL = 300 # seconds between PyPI checks
12
+
13
+
14
+ def check_for_update() -> str | None:
15
+ """Return latest version string if newer than current, else None.
16
+
17
+ Caches the result to avoid hitting PyPI on every invocation.
18
+ Never raises — silently returns None on any failure.
19
+ """
20
+ try:
21
+ latest = _cached_latest_version()
22
+ if latest and latest != __version__ and _is_newer(latest, __version__):
23
+ return latest
24
+ except Exception:
25
+ pass
26
+ return None
27
+
28
+
29
+ def _cached_latest_version() -> str | None:
30
+ now = time.time()
31
+
32
+ # Try reading cache
33
+ if CACHE_FILE.exists():
34
+ try:
35
+ data = json.loads(CACHE_FILE.read_text())
36
+ if now - data.get("ts", 0) < CHECK_INTERVAL:
37
+ return data.get("version")
38
+ except Exception:
39
+ pass
40
+
41
+ # Fetch from PyPI
42
+ version = _fetch_latest_version()
43
+ if version:
44
+ try:
45
+ CACHE_DIR.mkdir(parents=True, exist_ok=True)
46
+ CACHE_FILE.write_text(json.dumps({"version": version, "ts": now}))
47
+ except Exception:
48
+ pass
49
+ return version
50
+
51
+
52
+ def _fetch_latest_version() -> str | None:
53
+ try:
54
+ req = urllib.request.Request(
55
+ f"https://pypi.org/pypi/{PYPI_PACKAGE}/json",
56
+ headers={"Accept": "application/json"},
57
+ )
58
+ with urllib.request.urlopen(req, timeout=2) as resp:
59
+ data = json.loads(resp.read())
60
+ return data["info"]["version"]
61
+ except Exception:
62
+ return None
63
+
64
+
65
+ def _is_newer(latest: str, current: str) -> bool:
66
+ """Simple version comparison (major.minor.patch)."""
67
+ try:
68
+ def parts(v: str) -> tuple[int, ...]:
69
+ return tuple(int(x) for x in v.split("."))
70
+ return parts(latest) > parts(current)
71
+ except Exception:
72
+ return False
@@ -0,0 +1,7 @@
1
+ Metadata-Version: 2.4
2
+ Name: fcode
3
+ Version: 2.2.0
4
+ Requires-Dist: click>=8.0
5
+ Requires-Dist: rich>=13.0
6
+ Summary: CLI for Florent Code League
7
+ Requires-Python: >=3.12
@@ -0,0 +1,245 @@
1
+ fcode/__init__.py,sha256=r9b4uxQjKGVkKrBtvee2EPNqmzZzIXYMgrTtPG3n1aE,72
2
+ fcode/_types.py,sha256=6_HI3asvgSOGTkbFXk1G8a5bHr2aYQo1mMcJQ3E4JC0,25384
3
+ fcode/api.py,sha256=8fgDfJzBmgx51PK4Y_2DTkt9RnCgzcIFhAfcizvLbrM,4516
4
+ fcode/auth.py,sha256=_HY07V0uNStK9dAJ999a5QQn_LNY19qa7KcdTOvuPQo,1349
5
+ fcode/cli.py,sha256=Qn_1whsoyDwbfhsNkIU0vrheZoMel6z5twUTCz7_Kxg,4477
6
+ fcode/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ fcode/commands/init.py,sha256=LYy0R79d9B-jN-9BHQxOyqlfktOKq1qb9tdzRe0wYok,694
8
+ fcode/commands/ladder.py,sha256=7bl_HGG2GG-xHeKcWtCccqqXNCO7BIUaWeUdx_Ce9hg,2405
9
+ fcode/commands/login.py,sha256=Zxrb4rhoih9EMkaCs1SEa0P1MkOcdbTjzMPBL6DXEfM,4492
10
+ fcode/commands/logout.py,sha256=q756FkTAx48cj3RIEcR1JqRlnvUQGWzrHc2zko9iR58,540
11
+ fcode/commands/map_editor.py,sha256=8_dktGRensvcmvhsCOx5VYiXnrfaJbw0t_bJJWn01YI,2896
12
+ fcode/commands/match_detail.py,sha256=gtxGc5kc9XYjdzBNupg4GgfeSIlkb6cwhVV0_6r_aVw,5980
13
+ fcode/commands/match_group.py,sha256=SLiUW3SFq1rnnGypqSc3AOsLbprebPVJjCmzNYqSJfM,5294
14
+ fcode/commands/matches.py,sha256=bFSX598i0OFUi8drQ2W02iXFAYW7R8MY1GvewpTZ_bs,4713
15
+ fcode/commands/run.py,sha256=fPKQkGnsYnH7qEFZ00yFV-j1OpOb7HwRGVYPOx_c0AU,7032
16
+ fcode/commands/starter.py,sha256=6FbhnIwckHpjHbngw6VDEqXsIDf3NjZ2M6jXAa4syKg,4229
17
+ fcode/commands/status.py,sha256=KRSDCv3WySVvYxDr63QfBTx6A9sSBjPaXBDaKa6h5lQ,3775
18
+ fcode/commands/submission.py,sha256=gaF3dJV6rAWC0GqKcTJcMiRUJJarnC-qVJ7MWNDUB2Q,8400
19
+ fcode/commands/team_group.py,sha256=z5CcNwKzy1qHtpGAeHR3pzTKhcqyWkvWKF94UdjeT0U,2045
20
+ fcode/commands/teams.py,sha256=pcyhVMMCUWAz6WYkMDhpAqIZcVPK3q83c5LRaLth5nk,2011
21
+ fcode/commands/test.py,sha256=S1iAHA8QRnBjY-MGfNWNC9suLGagH4uiPHIRegRO3Ww,1917
22
+ fcode/commands/test_matches.py,sha256=waIvx42PbkgdKil1PrHEqljE9Aq4tJbuhhw6fUm6sm8,1894
23
+ fcode/commands/test_run.py,sha256=Ixm9VgF8EaBAJXossB79h64qeUwdbm5DOmYJ0G1f0p4,4408
24
+ fcode/commands/watch.py,sha256=bhRBac0B9nOkVaHKSlMR-ee9nio_Sbe-uNzlvK0EUrM,4356
25
+ fcode/compat.py,sha256=WtVj535D7AaCP_rEqF2GhFh53_uU0YPdgpG6V7mk4xc,1238
26
+ fcode/config.py,sha256=pw2JuQ8Sptmg0O3wJYHoZAnNPzuJz69aDlelnhZwxnY,1535
27
+ fcode/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ fcode/data/docs/spec.md,sha256=15MftURbGvFG4sRD_cG1Y6ZhNtm2MvDlOSvRRoKU71U,13794
29
+ fcode/data/maps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ fcode/data/maps/atoll.map26,sha256=_o6CwRDVSx2NOaZqc7bXwfnaMlmArC35MmUt092k_HQ,422
31
+ fcode/data/maps/aurora.map26,sha256=tXd1eHCZf5iRxuNnzjwF3-z07tyPsG_OKJeKOPzxLd4,806
32
+ fcode/data/maps/crossfire.map26,sha256=pzbEEUhX-pNhzLtO0DkvC8BBqsIT1TjVZAeZAGl__ag,346
33
+ fcode/data/maps/duel.map26,sha256=XNaVjHbwcpsOSQ-9-dQ77AKQPf8irEtKksWgGppD8dY,218
34
+ fcode/data/maps/fjord.map26,sha256=C2upoh7qeU_g3_oWP65-NfG_hG-IBrdxaWPWIP1gFC4,506
35
+ fcode/data/maps/hive.map26,sha256=knCSQ98rjPUUwpY4M0R7Q4iM2Wu8P30txowpUQAq3Y4,751
36
+ fcode/data/maps/longship.map26,sha256=SWF3PyfSgfltliYW4u4y7VJI1sagMu__I9cbR19vLpo,666
37
+ fcode/data/maps/pinch.map26,sha256=6wIVKgUSX6cAUcCzf-1jz6v6w922Se0kv86gkPRiF78,350
38
+ fcode/data/maps/quarry.map26,sha256=0TgMyYBe9sHUX17wemrWUj-2Rb7dJUVOzNjnOckLUNQ,698
39
+ fcode/data/maps/runestone.map26,sha256=8Zza4Dcnp8ZGdK9NnAaCuD11YcbhLEQ9ZS3BqUWU_r4,698
40
+ fcode/data/maps/skerry.map26,sha256=qJGw3XcdvKMvjGP-80pjELcSHNUgpNVZNx2tcKqLeIA,598
41
+ fcode/data/maps/sprint.map26,sha256=eKVo3oF1IbohzcY04aUXhhJo3lj3DeTYrKj0xmGIMjk,166
42
+ fcode/data/maps/strait.map26,sha256=oUvwf8iJCRAbJjPoC-A3TPWN8VWVKgwQU_vVGvgGXsU,650
43
+ fcode/data/maps/twins.map26,sha256=36CMOUG9GhJoJvUUscEQtc700Ti-9wyPT0jQ5HVuByo,551
44
+ fcode/data/maps/vault.map26,sha256=PmE04MWiZNrykM-W_wfJ3a5Q_m2629n9FexClsduKfA,698
45
+ fcode/data/starter_bot.py,sha256=dANtH7l5AghUzka-da4eZ2frz90HG7VmF5JuA93DIfs,18995
46
+ fcode/data/visualiser/.directory,sha256=Q_Vp1bkoup0S-69Huqa5iJ8Sb9Oq1Z55ubGF3ngMzPc,243
47
+ fcode/data/visualiser/Builderbot_med.png,sha256=EOW0Ty3AhZ3AMBArFMmgm7lvgF4KBgyQSPY1KMXT2wE,140862
48
+ fcode/data/visualiser/armoured_conveyor_gold.png,sha256=OH4ceygGSPbrtOBBi927OrL2ITo7REJxCOV3o8RuJwU,18108
49
+ fcode/data/visualiser/armoured_conveyor_silver.png,sha256=Uk-yvKokXfmbbnc89AZwrKRKAPkp-Nx-STlnW8RqFr4,16791
50
+ fcode/data/visualiser/assets/app-BiRa_5u6.css,sha256=qk71SXWJNPaIQo_h8sTRyQ21GaCFqw52HuBEro0gFUo,33719
51
+ fcode/data/visualiser/assets/app-CK52NxpR.js,sha256=asc-haGZfwqv2OOtlzwXV9I8kpxTb0PDdl7uvSTtqkM,1519853
52
+ fcode/data/visualiser/assets/main-COIx42iq.js,sha256=1hgd4Hq940tarQalkgD57GRkruHqh3AHlWJQxmD9hC8,253753
53
+ fcode/data/visualiser/assets/map-editor-BDLYjgel.js,sha256=z96X-rOBxQWNRinYm5sFKLlJV_cQn6RZoie6mZAja9U,48486
54
+ fcode/data/visualiser/axionite_ore.png,sha256=zLk2-yzjpI4s_poqt4EOVGMrITDtdGYU_7lh1Zn4e3Y,170791
55
+ fcode/data/visualiser/axionite_processed.png,sha256=ncCjyTEbcbqAM5k4wQ90TPjm5NMynh4Xnn-fM_X-vzM,238911
56
+ fcode/data/visualiser/axionite_raw.png,sha256=MPLHOBmTn4YM18cVgkgb_j1AVmEx2Zqnu7GxpgwghDs,286091
57
+ fcode/data/visualiser/barrier_gold.png,sha256=hxFkZzhUgQdtjlaBGLCA12MB1N5rqBaHdNdUFeLubgs,23012
58
+ fcode/data/visualiser/barrier_silver.png,sha256=wlwwDwswjTKG0yfYAGwDZnYTsJaRe30fFbyrHFODwBs,22260
59
+ fcode/data/visualiser/base_gold.png,sha256=29v5MBr9VvVeIt-65nrQPNsStU8RDLBIqoDJ_Cob22s,474721
60
+ fcode/data/visualiser/base_silver.png,sha256=3ZUFH44eQuygcNldU7regyPDV9kSpSqSh9G7RwdmKwk,484346
61
+ fcode/data/visualiser/battlecodetitle-orange.webp,sha256=UX2LgulNSzPnS3xmYW2yMcy-PB8NMWmHFwuybUr1oGs,22700
62
+ fcode/data/visualiser/bg-light.png,sha256=dVTaYvw1DjAiydKyE1wd6MgHO-J16lyx3V4exurWVN4,51484
63
+ fcode/data/visualiser/bg.png,sha256=wq8Jyfo9_xe_emBeHoaxQ2lL3jKeKlbpSk9jWNe3HDw,51461
64
+ fcode/data/visualiser/breach_e_gold.png,sha256=9E3X1kPHZpbuMH-TKpIyeBiLWQcG33jkpqvjGhswie4,155733
65
+ fcode/data/visualiser/breach_e_silver.png,sha256=QwZ86CZ0XJBDX49H7LoImCkjj-G_0Nowsh3E-pSVjXw,133966
66
+ fcode/data/visualiser/breach_n_gold.png,sha256=qeGep1EdYFyEobXUZE401zpH4XjADZ8XptIBGStBR4k,158455
67
+ fcode/data/visualiser/breach_n_silver.png,sha256=6L2XwRzSkr1aU5n_92pDnR0UKm0naZYlYpXBKFSYo5g,148471
68
+ fcode/data/visualiser/breach_ne_gold.png,sha256=x1JP6UMJLgEgkAST5kFgnuaaxhFuQhnGahS4m3phnaE,163132
69
+ fcode/data/visualiser/breach_ne_silver.png,sha256=9BZLmp8xc2IQBRb0Gx8FMUQ11cL_Xd6n7wszP8jpkww,144384
70
+ fcode/data/visualiser/breach_nw_gold.png,sha256=YaYTI6pBqMROTA-hslioH2LOwMk9zlCbAreFjAYkhdM,165885
71
+ fcode/data/visualiser/breach_nw_silver.png,sha256=61ilgsEQBq-FlBB1lb61TTSJhWGh4EltuoT_bn5gTDo,144149
72
+ fcode/data/visualiser/breach_s_gold.png,sha256=KgO-GUAjBAdl_w2Z8gqmrA3Gwi_GavAMo7rCBJKttSc,162329
73
+ fcode/data/visualiser/breach_s_silver.png,sha256=JTAX4xzptSJG3Xk1izkd6_R-qefcmIU1a5kO9jHg6ec,157974
74
+ fcode/data/visualiser/breach_se_gold.png,sha256=8yDLtZ7ous470ETO9_CL1lvHa9HmXKQierawvO_sP_M,179061
75
+ fcode/data/visualiser/breach_se_silver.png,sha256=W3yjufHu2lrq5WJtcx6RSJnq53W0n4yj4wgKr1wJxhU,155605
76
+ fcode/data/visualiser/breach_sw_gold.png,sha256=_qFsLvYuSQOJHrDk8WlL7ZVtiYK3-wT7ERDC0F0dz4Y,175421
77
+ fcode/data/visualiser/breach_sw_silver.png,sha256=lM-k8vwz2QjbxWsfUZ8z8ta_P0YqvKXwdlqunNAIYu4,154972
78
+ fcode/data/visualiser/bridge_gold.png,sha256=541LtgSGjERqCjZUpY9eLxjvcgMJ3tu6v110zCiG76w,24318
79
+ fcode/data/visualiser/bridge_silver.png,sha256=mSjZsV7Qbop-BLWvOqGTQBr96v4fKylpYohyomsUgUI,23419
80
+ fcode/data/visualiser/bridge_stand_gold.png,sha256=hvA015-ZPm354shyrTGDT7hUg1lbtpdBnhrYSAbuOLQ,41655
81
+ fcode/data/visualiser/bridge_stand_silver.png,sha256=F2YPzTw4GibjjwX6B_dx_qDeM4oktUPr-bqdth4eJMY,40095
82
+ fcode/data/visualiser/builderbot_back_gold.png,sha256=49ks4RuuTyx5vYPnCBEyo-1LwZnDfV4PYjeFiW0dZ04,129047
83
+ fcode/data/visualiser/builderbot_back_silver.png,sha256=L0gDbkJSv7TSzsfPs76fld65F02pqZ7W-uY_HVzBgZE,116454
84
+ fcode/data/visualiser/builderbot_front_gold.png,sha256=2PBRSyHvh203n3OOUnDL6cZYUljoo5hodfrwAo7-YyE,137766
85
+ fcode/data/visualiser/builderbot_front_silver.png,sha256=hEdHzEok5_vae1HGGqdfvbd4Pwy3NEeez07GyQU2Ar4,127197
86
+ fcode/data/visualiser/builderbot_side_gold.png,sha256=kx2NLu1hgEfgWsTRakNGhsVpq_OM8r5-C5DwaVThJvc,108464
87
+ fcode/data/visualiser/builderbot_side_silver.png,sha256=_kpSh6ltNx7yJ-RB2xZmkSz873fhSv7pPt7iO9WpKYY,100095
88
+ fcode/data/visualiser/conveyor_gold.png,sha256=wUoHKloHDBy3xI0LwEaoCYf_0OKf5XOmcXNzBYLIZHI,11143
89
+ fcode/data/visualiser/conveyor_silver.png,sha256=U6xNsYTR5BdXQGUQfooXdcJQkbEp1GzMc1l2B_gy38U,10554
90
+ fcode/data/visualiser/dimetric/Dimetric_Tile_Cube.png,sha256=7UxLzM6UVKgjI6YaWl-wbiYK2U2Q2ivFzM8TxP419kM,12118
91
+ fcode/data/visualiser/dimetric/Dimetric_Tile_Floor_Footprint.png,sha256=Gy6wKz1yQ7eCapm6o5gIs3X5D-CSMM5LAA8wOXfMF8c,7952
92
+ fcode/data/visualiser/dimetric/barrier_team1.png,sha256=yKKg5NBmtOTWa4Z_JjakmJNZkb8e3kcBF7_4PXpgVcA,40390
93
+ fcode/data/visualiser/dimetric/barrier_team2.png,sha256=BT9GMmUO__q79IHSqHq9ykb9DKySgJ1MoVr4BWKkTdY,38736
94
+ fcode/data/visualiser/dimetric/base_team1.png,sha256=ODe7Z93XBQNGyPuj5AB9lmCgEzIE-AxA89jcyiYbTMY,258594
95
+ fcode/data/visualiser/dimetric/base_team2.png,sha256=67uMjYKQSb7khqiJDE2ROslQmnX8i9aXLhHhDxUy1bc,192448
96
+ fcode/data/visualiser/dimetric/bg.png,sha256=krThxWExecRU-F8HdJItOX3XoP7YX5Lsh-kiyu4ayRg,23386
97
+ fcode/data/visualiser/dimetric/bridge_stand_team1.png,sha256=VThR0-nHH04aopnG8_duh6yXei2AyO28I1sdI1KKneg,27229
98
+ fcode/data/visualiser/dimetric/bridge_stand_team2.png,sha256=h_6ngG5KLueedfQWNI3hgMTNi7MP9wi0QO_q8oMlUII,27347
99
+ fcode/data/visualiser/dimetric/bridge_team1.png,sha256=6KHa0-sX0WhPNrlBy9meflaqk2AT-mB6One5hvPxlVo,27936
100
+ fcode/data/visualiser/dimetric/bridge_team2.png,sha256=9nQZA4_pcKkCgsAHHz2G10nXvg4EKFwh51FqlYcSQMw,27890
101
+ fcode/data/visualiser/dimetric/builderbot_e_team1.png,sha256=R1mNcnEUqyYjcf6M0EhQe3luAxrWwZVKw4IYHMTt2d4,28760
102
+ fcode/data/visualiser/dimetric/builderbot_e_team2.png,sha256=J9_euAzvPiv3pvIz6kVHdfDVlQUnMPUcyzXmnhkvC9U,26681
103
+ fcode/data/visualiser/dimetric/builderbot_n_team1.png,sha256=KjsPuG0NCtDqEnM8WTiW2roWPIAK_OmXSkRx0SBPo_k,26532
104
+ fcode/data/visualiser/dimetric/builderbot_n_team2.png,sha256=KEJRrqrzTthWaDptEnmb3ki9pMkXr2sQwNAqKALwojE,23928
105
+ fcode/data/visualiser/dimetric/builderbot_ne_team1.png,sha256=7haZ-KiqwLVH3ssqbzREp-h640u_a0KTwM68Bexys5E,32777
106
+ fcode/data/visualiser/dimetric/builderbot_ne_team2.png,sha256=AzsBZExTDwuqNID4Z5AFYRTB8PBK3FunWOd0OGYOXs4,27852
107
+ fcode/data/visualiser/dimetric/builderbot_nw_team1.png,sha256=4o7YjfibGeOznTT-vI2dlbl3vgBJ2UvURtM6BxL6nSA,32278
108
+ fcode/data/visualiser/dimetric/builderbot_nw_team2.png,sha256=8HYKVa5KfJCI9pYCi0QzYxN2TaVsmkPBhOGhxZ9lzvE,27576
109
+ fcode/data/visualiser/dimetric/builderbot_s_team1.png,sha256=j-amUGnL6OlhNk1hRZlWG20tj9IEY3uQygiRLOzJSSk,26554
110
+ fcode/data/visualiser/dimetric/builderbot_s_team2.png,sha256=GHm5_xSTu08Q4HqKVuMtabLeE-gdjI7foKRLh56rRUA,25597
111
+ fcode/data/visualiser/dimetric/builderbot_se_team1.png,sha256=mjfPwJfQMFM8DJrTbphAoxJ5WbbOyJ7sAilptVq7FtA,32135
112
+ fcode/data/visualiser/dimetric/builderbot_se_team2.png,sha256=EiEGc-EAdgbHTn-O-MHbYpY9ZJEmiD0-oac7IlT3Kok,28952
113
+ fcode/data/visualiser/dimetric/builderbot_sw_team1.png,sha256=TBV-TBXH79w7JadkaZh1E3TBI2CP-6zf-DIOLfMXdrw,33138
114
+ fcode/data/visualiser/dimetric/builderbot_sw_team2.png,sha256=fsoM3XAKuulhym4SLYfJx0FWZGmlTxwnuoUvS4EolZM,29279
115
+ fcode/data/visualiser/dimetric/builderbot_w_team1.png,sha256=MaBY9L29IZnfJH4Np7AFw9LoPE6QGYec-nfft4v27K4,28884
116
+ fcode/data/visualiser/dimetric/builderbot_w_team2.png,sha256=kopkDql8HioOMidMsJMVtLsvmXiMPVwLLf-mF_SHC8s,26097
117
+ fcode/data/visualiser/dimetric/conveyor_ne_team1.png,sha256=aLRfEeL-hkYqUkN4JF-DBoxb9MxjNRSp6AszvCVgH3E,26229
118
+ fcode/data/visualiser/dimetric/conveyor_ne_team2.png,sha256=5jQvSIN80lNftyUXaugldvT-3fLAAj57G3KAil-Y2Qg,25112
119
+ fcode/data/visualiser/dimetric/conveyor_nw_team1.png,sha256=3QHsLVluXXHrpqBXXloj5kT_lVJmcjVLpV4fJaQRAkA,26392
120
+ fcode/data/visualiser/dimetric/conveyor_nw_team2.png,sha256=5iDsw70lantgXsP01YGWPq2Z1zz1OJqqAtbC6WJ-Lrc,25286
121
+ fcode/data/visualiser/dimetric/conveyor_se_team1.png,sha256=rmbCt3js3aMtiBuLvxewsdYZJa0vIYqBTteQG5iOyyo,26308
122
+ fcode/data/visualiser/dimetric/conveyor_se_team2.png,sha256=qJPQO9frsXaqFFDwMqHqeFVjf4f1jhCThgPJVqtO3Ug,25206
123
+ fcode/data/visualiser/dimetric/conveyor_sw_team1.png,sha256=KF_VxH6uHD6qbqVSPu-MvQUJ4wg_bWdp0AmgAc2E46k,26253
124
+ fcode/data/visualiser/dimetric/conveyor_sw_team2.png,sha256=Ax665mWBmj_ThczVjSmflVdGmTleEAN9RVP3MWVrVPo,25158
125
+ fcode/data/visualiser/dimetric/gunner_e_team1.png,sha256=fQ-zH-w2dymW49CMdIebn9m4yAcE4PL5JLgUOdwHAek,29691
126
+ fcode/data/visualiser/dimetric/gunner_e_team2.png,sha256=ovCzBL8j5jcSPzWq0nBZl8LBFuJftlu5sv8UQFGY7gI,29909
127
+ fcode/data/visualiser/dimetric/gunner_n_team1.png,sha256=V-L1AfJMBw4jxCHoWAG-jyZNZXslH0Imxl7guk-LkKY,28871
128
+ fcode/data/visualiser/dimetric/gunner_n_team2.png,sha256=bP1cga08UJgjSznW8fZCfgQeTxoCpXuM4Z1_qlnWXyk,27403
129
+ fcode/data/visualiser/dimetric/gunner_ne_team1.png,sha256=98i2Rh5D5i1QWihtNL93WVVlJ4_BwnDfJ7tFapiv_DY,31211
130
+ fcode/data/visualiser/dimetric/gunner_ne_team2.png,sha256=KrNNX-B70_Y6fazBriNGhDd1c2-Or1LPUfhDk4Jm-1U,30644
131
+ fcode/data/visualiser/dimetric/gunner_nw_team1.png,sha256=UKK7Pen_axbwmPcKpd5TOYEDvQe1GHmBP403X-OgF1E,31217
132
+ fcode/data/visualiser/dimetric/gunner_nw_team2.png,sha256=EWgUQOYbl-N1w35zfYPy2e-lfYbsxwQrtp64B93mqCU,30814
133
+ fcode/data/visualiser/dimetric/gunner_s_team1.png,sha256=svjMJSgbvLrgnF7TErx4fe622A21NtZm-0s-413iEqE,29805
134
+ fcode/data/visualiser/dimetric/gunner_s_team2.png,sha256=txV13QS75ffWhykKvy0-k6Lej7BskKHGIVX9FC2eWxQ,28704
135
+ fcode/data/visualiser/dimetric/gunner_se_team1.png,sha256=EgM736cJPLADGoxtNW_X_NCqSwCRlruE9CZIvt4qKhE,32095
136
+ fcode/data/visualiser/dimetric/gunner_se_team2.png,sha256=bJ8GxCj7h1ECgJtpRSahJm29DgGxHMTHFSPeiQYW4j4,31653
137
+ fcode/data/visualiser/dimetric/gunner_sw_team1.png,sha256=0heRfWo9x0jFBzL8AHgpG6vv8GOKmwkNlAT2CyGylSU,31983
138
+ fcode/data/visualiser/dimetric/gunner_sw_team2.png,sha256=-QdgD0lASNkFwajpgd9kZ-Nmh6oK8OtbqF_nHo_nSt4,31714
139
+ fcode/data/visualiser/dimetric/gunner_w_team1.png,sha256=ksQ2KAXNBEF_KKpjIlLhjWEmRN8JynfOvCBGAjVfsk0,30078
140
+ fcode/data/visualiser/dimetric/gunner_w_team2.png,sha256=CuuUPpu6WMUce57fcLL5DK5n-SFKIiLkVXlOndLmiCY,29883
141
+ fcode/data/visualiser/dimetric/harvester_team1.png,sha256=gjJceSyUUSIRQEeaswP-tMBjuuC5BD6mZCgqNH2gx90,28834
142
+ fcode/data/visualiser/dimetric/harvester_team2.png,sha256=nlsI2Drwx-uots1Iz1xeLQJCfG-3egDQe32qT2dcs_A,22632
143
+ fcode/data/visualiser/dimetric/launcher_team1_ne.png,sha256=sLxA_Ww4noKzFSnXEza5ov8kc7we3obbI0yIINlKw8U,29450
144
+ fcode/data/visualiser/dimetric/launcher_team1_nw.png,sha256=pVLh3ugy09P6ffSQGmKApmN3m6EmeMFOqouUD6--eLg,29490
145
+ fcode/data/visualiser/dimetric/launcher_team1_se.png,sha256=6ugOA0WtjtTEwRt3tsSO1BSY3bn6QdAB4BRPfDuQvlc,30444
146
+ fcode/data/visualiser/dimetric/launcher_team1_sw.png,sha256=vlShrvztf30KdGILC2LWWUgVlhnww8ibMtyTQVTkfho,30737
147
+ fcode/data/visualiser/dimetric/launcher_team2_ne.png,sha256=UKOO4J7DNPAsBqUxjBJWSwfplLwyTXpOcjPnL6VFVYs,26752
148
+ fcode/data/visualiser/dimetric/launcher_team2_nw.png,sha256=BEXDX1Fq3OZckrBoY2D-sG6mYH7TOxHIKjEz0kaxHaA,26037
149
+ fcode/data/visualiser/dimetric/launcher_team2_se.png,sha256=6E8wPvEGjmYEgXrCE-FdIMMrbsxJOefA8MVgC7Ub2ns,28794
150
+ fcode/data/visualiser/dimetric/launcher_team2_sw.png,sha256=OAfhDYv9u6bp0Hx7qom_vkS_AU91zi7rWbkQpNfDq8A,28497
151
+ fcode/data/visualiser/dimetric/natural_wall.png,sha256=f6W3xXQ8Ojfx3qiq3qZ6xt4T6OSX3rG-HY9qwMmABmM,43319
152
+ fcode/data/visualiser/dimetric/natural_wall_ne.png,sha256=miesCyAgIh5oebKtfMbyT8_JgK19j--2C-bKf11MqCA,35730
153
+ fcode/data/visualiser/dimetric/natural_wall_nw.png,sha256=nfFJPuObz0MAjWmxy70KhmR9OXQwwYSzXG4TgRxkrhM,33917
154
+ fcode/data/visualiser/dimetric/natural_wall_se.png,sha256=zo3KTa0W5ZZIAbrcBSHlmvUDPBUdfkHBGzHfpQZGpOY,29128
155
+ fcode/data/visualiser/dimetric/natural_wall_sw.png,sha256=MtqvQMBqhr7qRxndcMcXXAIDc7PnqyDHVA5RNnJB9KU,29613
156
+ fcode/data/visualiser/dimetric/road_team1.png,sha256=xPbrpMUzZo-gKEfYfMiZk9CON3ERH-maa5PmYXn1J4A,24385
157
+ fcode/data/visualiser/dimetric/road_team2.png,sha256=O3WUMWeyE2QDAj5Pv1N1vENCSfMLEbrdTfUH0mRXXbM,24629
158
+ fcode/data/visualiser/dimetric/sentinel_e_team1.png,sha256=6oiobWqsI9D4lSOJ5XTJ4v7NsD7PDgBMBH0OOoANL5U,29173
159
+ fcode/data/visualiser/dimetric/sentinel_e_team2.png,sha256=sGi14acbyQnHPAUHRnW-djm4eXuQYd3BhsMbjdDSxps,28417
160
+ fcode/data/visualiser/dimetric/sentinel_n_team1.png,sha256=rcetF-UnpuPi_IzUk4-VpRnDJ2sORlfX8gm-z8OeZ6o,28222
161
+ fcode/data/visualiser/dimetric/sentinel_n_team2.png,sha256=aM_oSszSHyzbc90KZy034ZnZG5ZkitpOPYTxHAe4oFU,26885
162
+ fcode/data/visualiser/dimetric/sentinel_ne_team1.png,sha256=hpZ2FNhY4UGFi6MSJeBfu3DWne6JTxTwrAlo1aBI1iI,30852
163
+ fcode/data/visualiser/dimetric/sentinel_ne_team2.png,sha256=1iHqxJi5wcCkWQ5R6IxCbi_OR13efdJtRwEIWBZxVzs,29906
164
+ fcode/data/visualiser/dimetric/sentinel_nw_team1.png,sha256=KXo2nWxDcg-h2ymWD7vgZKH7u5dWEdfx4lDpN7pHRX4,31408
165
+ fcode/data/visualiser/dimetric/sentinel_nw_team2.png,sha256=a5HTcXNb5_ZJQ5NCJSD3XL_lhwNZeYnp92CmDIyAdPQ,29859
166
+ fcode/data/visualiser/dimetric/sentinel_s_team1.png,sha256=rbuspM1PNAUfQQzameWtxaeLmy4M7BnxUkIc8-cwh60,29656
167
+ fcode/data/visualiser/dimetric/sentinel_s_team2.png,sha256=23WuzVSZThj-5pkWZADFD2tbOubHwwl-1ZeKz05YcX8,29107
168
+ fcode/data/visualiser/dimetric/sentinel_se_team1.png,sha256=eN7BcYqxymLvOOVybLb3gzYFXlu_54fv9I6TUIvvEto,32395
169
+ fcode/data/visualiser/dimetric/sentinel_se_team2.png,sha256=py4ok96mlhoPnW7sAvdK8SwmpkAMpnpyzIRCHRgED_A,31570
170
+ fcode/data/visualiser/dimetric/sentinel_sw_team1.png,sha256=ASbz6tV_u3kFtVUGWnuXkHV-2SM6eEykyFwuSjo-tEI,31947
171
+ fcode/data/visualiser/dimetric/sentinel_sw_team2.png,sha256=0U_CwGGuSNNSEvoYzV-3ui2t9aVU2S7ZuRnX4XfYG44,31523
172
+ fcode/data/visualiser/dimetric/sentinel_w_team1.png,sha256=q6a1VAMU661AXTiWt9MhQJ1HWFpSaSFlUwApXz2PCHE,29632
173
+ fcode/data/visualiser/dimetric/sentinel_w_team2.png,sha256=qCV2NKbz-TIxxUOUIaciDXM6c6DaZtHQgRQFL85yPGs,28369
174
+ fcode/data/visualiser/dimetric/splitter_ne_team1.png,sha256=1DTm5DKSiB2KGwSEs2pXH8ONFmwPRuKw21g5KvhB4kA,19462
175
+ fcode/data/visualiser/dimetric/splitter_ne_team2.png,sha256=I_tlGaqGmvYPiKmFxa9c-ZBjDA0SRqjKL4dE_Kr1fHI,20151
176
+ fcode/data/visualiser/dimetric/splitter_nw_team1.png,sha256=eMJTCmvwbE3ldDrRKCzQBp2jwo1c7x-ZspNB18VICSM,19505
177
+ fcode/data/visualiser/dimetric/splitter_nw_team2.png,sha256=MPIcv9FkqxL3qhRAF4jvpQ_P7MDF7-1r4mCdeiTU3bg,20200
178
+ fcode/data/visualiser/dimetric/splitter_se_team1.png,sha256=Zmz6Y2XISxmTKF9xikzFNQi58ClNMvyRhCWhk8fcONg,19472
179
+ fcode/data/visualiser/dimetric/splitter_se_team2.png,sha256=aDYaLlbv0jI1O_5GMlkb493HiXiC7Mc-TggQmJ7JU1I,20183
180
+ fcode/data/visualiser/dimetric/splitter_sw_team1.png,sha256=OU42JvzhTqA83wL3AZCijCqNwlgxzCdLEb8hwiTcY9w,19477
181
+ fcode/data/visualiser/dimetric/splitter_sw_team2.png,sha256=lYvDt1k0mGBi1yJVp92s_YAJXr1TB4DVMNgIGevQOWo,20170
182
+ fcode/data/visualiser/dimetric/titanium.png,sha256=1TiTQlwwGHqKEVJZs-3_aD-r2_qFkYgORbTrQt36tyU,38048
183
+ fcode/data/visualiser/dimetric/titanium_ore.png,sha256=DJjJK18KZa1XqgbxtcGWe-6BwG475cSG4O7pbKgH3l0,23111
184
+ fcode/data/visualiser/fonts/HKGrotesk-Regular.otf,sha256=sEbQotWu6ESQd4ViEy0kwVTfhxAqZn74eNbAAVjfvOc,67768
185
+ fcode/data/visualiser/foundry_gold.png,sha256=6WkZc22ZIY7uYzhifa7wxbBZYpdsp5Q1qiq2b6bsN_k,157550
186
+ fcode/data/visualiser/foundry_silver.png,sha256=Y6oEkxmqzy93safC9UXoqTnCl7kGdIA5chEah5TfauQ,155522
187
+ fcode/data/visualiser/gunner_n_gold.png,sha256=NJhlQfFI1syDd2Bj4dWCWXG_9BHNXsG5udgEljJaVfk,120454
188
+ fcode/data/visualiser/gunner_n_silver.png,sha256=kR7Y04cmDHkdzGXK8CdXBadqvDzZYjkxZIxut1usj1c,126696
189
+ fcode/data/visualiser/gunner_ne_gold.png,sha256=eoCXcrRiQEbN9hFhqcXmucf1HvQsnm2nKzsUny4-uSw,149400
190
+ fcode/data/visualiser/gunner_ne_silver.png,sha256=9sbt3cj7eK1eXyjvkwrg3-Gw0Cp0nXUbrX2Y2YXQyds,135184
191
+ fcode/data/visualiser/gunner_nw_gold.png,sha256=kgtVzUSbhk-HtNBCZ3gS93UFrYy0scwPuFRXtX5IykY,150509
192
+ fcode/data/visualiser/gunner_nw_silver.png,sha256=WdGrEyUc5UH0yu49acgJI0sWGnGVgraauyD0BTPZY9Q,134887
193
+ fcode/data/visualiser/gunner_s_gold.png,sha256=eF5soGcyysQNNOaM2VTrjJhwizNAoyccNtXbMAPbp7k,126469
194
+ fcode/data/visualiser/gunner_s_silver.png,sha256=m_z1pllj44m_OC1ltYzkgb0U8PjEnzTiUbqA0zvlDqs,130056
195
+ fcode/data/visualiser/gunner_se_gold.png,sha256=NAxcVW9m5XqvnNkOskiSydeexPAPBHX9aSuhIaUNrQM,156142
196
+ fcode/data/visualiser/gunner_se_silver.png,sha256=zW0N79xPOFjUmP0g2JtBF4a10eKg9yQg3z17a-fqJ_Y,137240
197
+ fcode/data/visualiser/gunner_sw_gold.png,sha256=HGSnAE4DKHvhf8InMcvuiCYCMX26jTBM8Mx4hof-Xyw,155406
198
+ fcode/data/visualiser/gunner_sw_silver.png,sha256=u_yCzcRXu6BfFa9rwtN_o_dol4i7ftS0PrcpNvfzBTA,137962
199
+ fcode/data/visualiser/gunner_w_gold.png,sha256=-Hpv0E92upf0iufMyolJP_TDctGwgpwyMDWpn2KmDuw,135169
200
+ fcode/data/visualiser/gunner_w_silver.png,sha256=KzP2QuBmqtzI3xIJQlWGtXdCSb3zR0YZTaPoqtrfjsU,122860
201
+ fcode/data/visualiser/harvester_gold.png,sha256=zrQUurCfhQQHoumUB5STBawtTtpBZyeDEIUKSpIIE7o,163879
202
+ fcode/data/visualiser/harvester_silver.png,sha256=Uf8bPirsiXL-01Pc6bOB36tBbEf3uG6GKptPD1eQfu0,159446
203
+ fcode/data/visualiser/index.html,sha256=jw_mK0jUY2O5cagC-cJ2M0z2Vs2_OuHGMmrCMqLrt-c,594
204
+ fcode/data/visualiser/launcher_gold.png,sha256=CfrS58IVTFftW29N-6N4oRGDDIvUSew8a3g3q_cY5Z8,143552
205
+ fcode/data/visualiser/launcher_silver.png,sha256=cshR8v-SVeDjrWtKb2YqTxT99w9eq1QQXsfi6MRFbwo,136356
206
+ fcode/data/visualiser/map-editor.html,sha256=aeFEPNagItoj7ZaWx1fIo5adRr8-SSk6Uxvdk8aJ6so,597
207
+ fcode/data/visualiser/marker_gold.png,sha256=qsQOJENry_1d3SPMzHsAs_gl1DB-pthBxQOrsTiTi3w,82008
208
+ fcode/data/visualiser/marker_silver.png,sha256=0Ijj5wUD2PG1RUbP5DZkEgDzRw1Mlk8ZoGlfpmPP8mo,82524
209
+ fcode/data/visualiser/natural_wall.jpg,sha256=jvOOmzzrFkbYwoID6nkMxDzRsMhEGgCvIxRR5VfzrFI,55565
210
+ fcode/data/visualiser/road_gold.png,sha256=wDktJ-B_dS7qkUlmO5JuGp5aIDhqg-048D1ELMncQJg,160295
211
+ fcode/data/visualiser/road_silver.png,sha256=IjoHnLjNsPiH-yYZAfZ92kc6fYXrT37cHSwjjdi-Yik,154784
212
+ fcode/data/visualiser/sentinel_e_gold.png,sha256=to7p_LR1wKdZFeP1emiPOZ3Ap-8dkALnFR7630kyjj0,89413
213
+ fcode/data/visualiser/sentinel_e_silver.png,sha256=XR7aE2kZhyY8o6MhWDN60Ud13XgXSMOEWxerc_hB8cY,75413
214
+ fcode/data/visualiser/sentinel_n_gold.png,sha256=JwRlSxUI7IVz8Q6iv-oWlSCcHmC1TbvrrqR_dcGNsjI,78658
215
+ fcode/data/visualiser/sentinel_n_silver.png,sha256=tKHhmm0LfVqEd2LxzQ-MCLyUcBOb3GUkWGFpCovvpMI,78961
216
+ fcode/data/visualiser/sentinel_ne_gold.png,sha256=MvhhdOVeUPgc5R61gF2A-6uxcBCzSH1U3XI96wziDZg,98716
217
+ fcode/data/visualiser/sentinel_ne_silver.png,sha256=qPGLTtEYzESzQj-dS0bAQ7zco7xQAIRQmjzCdpjmAKs,84917
218
+ fcode/data/visualiser/sentinel_nw_gold.png,sha256=Zm4Ar_O_HCjCTKXB3qUesd85T6RvTYd-4nehpCFvwmA,96653
219
+ fcode/data/visualiser/sentinel_nw_silver.png,sha256=_e1K1WKwFMa00SHqsozelkQYgFWdeTFZ2WrDxm63hlA,85042
220
+ fcode/data/visualiser/sentinel_s_gold.png,sha256=XtWe2-aqwdr-SN0Fd4w8-q_f2wjEyu5v3uHPnNoX224,90019
221
+ fcode/data/visualiser/sentinel_s_silver.png,sha256=6LmL9S9YtXq80ay9POFl-yEyHhprsfnVK5NCajiMreU,92166
222
+ fcode/data/visualiser/sentinel_se_gold.png,sha256=gQNOQAS9AzvjD0WzTmeyHkMHNSlfKbPIWS3Jb2cJOuc,85216
223
+ fcode/data/visualiser/sentinel_se_silver.png,sha256=0Fs_ARue2i2dNvpx0PUvcnM4qOcXyB1_gwmTnK_gM5s,78036
224
+ fcode/data/visualiser/sentinel_sw_gold.png,sha256=ge9pbKN3YvicJ3qHmEzv00IzJRMQ8SQWIRpWfsrAym0,84730
225
+ fcode/data/visualiser/sentinel_sw_silver.png,sha256=9dv4zBKQFlwap8n7z0BHFLkYBONgOjOBEZWO8Ix2ZSs,78103
226
+ fcode/data/visualiser/splitter.png,sha256=wWevo3a7RklJjc4g42UX9YVdgWeUDgIksbdbXkpyNyA,191456
227
+ fcode/data/visualiser/splitter_e_gold.png,sha256=ecLTm3dNzd0ehdI4wR9Q4O9Un79nVCdGCc94qtJV9nI,193146
228
+ fcode/data/visualiser/splitter_e_silver.png,sha256=e9GkE1YE6BYX2FV9-egPzfXtVohVcXTadHAP6yoKFAc,190478
229
+ fcode/data/visualiser/splitter_n_gold.png,sha256=j-iufENbnmypmHbhiC4TJgidO3B5BVhpVutMrqHvwxE,191036
230
+ fcode/data/visualiser/splitter_n_silver.png,sha256=HAp7qVZAHxcBbXOC4tm_OnkjX7zD0oynoCkf_xSF9sc,188786
231
+ fcode/data/visualiser/splitter_s_gold.png,sha256=za8du3IvVIxbYgA6cBVhxekkjSSMGrbd8KUhYj3UOcg,191578
232
+ fcode/data/visualiser/splitter_s_silver.png,sha256=nlVOqWLGNvQxapdHdzVNOzSXcQ6dzdxQc-hkgmo2VSg,188779
233
+ fcode/data/visualiser/splitter_w_gold.png,sha256=ALIemsqSJGy8zMJUcrouJs0ZlSUWwaZ9lJKeH_tpVMU,193490
234
+ fcode/data/visualiser/splitter_w_silver.png,sha256=eDbk-w3iyDXvshyFW8ZA9Hb_yS4tQv-NAhhBMlybil4,191212
235
+ fcode/data/visualiser/template02.png,sha256=iSqSVi4bKmpY6iV3gX-ZICZ9RJ9dV6GRz1GpBmJMsKg,15768
236
+ fcode/data/visualiser/titanium.png,sha256=YgV9WcBTSzjOBtDAavQdS6yE5NyTDhu2MuEofZfBoBk,215517
237
+ fcode/data/visualiser/titanium_ore.png,sha256=Insi3DWsp6dydpYEpCtdzUyjr0XqWDEgBTOU7giVVwg,128433
238
+ fcode/fcode_engine.cp313-win_amd64.pyd,sha256=aZD5-fnRSLU4Af994cNKg1JDLeU9Xl4ddg8HNu8w74g,822272
239
+ fcode/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
+ fcode/version_check.py,sha256=49QYVf8vSKr6g__v4VeKWIkVBoM1GwR4JtGfOp19v7Y,2110
241
+ fcode-2.2.0.dist-info/METADATA,sha256=PHmczDSgQdSXID470RiMiVIN2Z5SJXGzOqQy1eYz1lE,162
242
+ fcode-2.2.0.dist-info/WHEEL,sha256=z3sDn4xNPtieBDo9mUKkT1e80gbhCuRsQQi1_g6mdQM,97
243
+ fcode-2.2.0.dist-info/entry_points.txt,sha256=NzAtvtGj0_XiTMsGegYW9fOq4WZIZoGUBf2MBRGCcI4,39
244
+ fcode-2.2.0.dist-info/sboms/fcode_engine.cyclonedx.json,sha256=TS1SUDcdjmv-KrCCXkOqSsGBlS0N66wC42Fix1RI2Os,61189
245
+ fcode-2.2.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.14.1)
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-win_amd64
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ fcode=fcode.cli:main