rubohash 0.1.1

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 (834) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/gem-push.yml +46 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +1 -0
  6. data/.rubocop_todo.yml +38 -0
  7. data/.travis.yml +5 -0
  8. data/Gemfile +6 -0
  9. data/Gemfile.lock +81 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +75 -0
  12. data/Rakefile +6 -0
  13. data/bin/build.sh +17 -0
  14. data/bin/clean.sh +18 -0
  15. data/bin/console +14 -0
  16. data/bin/document.sh +7 -0
  17. data/bin/install.sh +9 -0
  18. data/bin/police.sh +11 -0
  19. data/bin/setup +8 -0
  20. data/exe/rubohash +35 -0
  21. data/lib/assets/backgrounds/bg1/000#robotBG-11.png +0 -0
  22. data/lib/assets/backgrounds/bg1/001#robotBG-12.png +0 -0
  23. data/lib/assets/backgrounds/bg1/002#final3.png +0 -0
  24. data/lib/assets/backgrounds/bg1/003#final2.png +0 -0
  25. data/lib/assets/backgrounds/bg1/004#final4.png +0 -0
  26. data/lib/assets/backgrounds/bg1/005#final5.png +0 -0
  27. data/lib/assets/backgrounds/bg1/006#final9.png +0 -0
  28. data/lib/assets/backgrounds/bg1/007#final7.png +0 -0
  29. data/lib/assets/backgrounds/bg1/008#final10.png +0 -0
  30. data/lib/assets/backgrounds/bg1/009#final6.png +0 -0
  31. data/lib/assets/backgrounds/bg1/010#final8.png +0 -0
  32. data/lib/assets/backgrounds/bg1/011#final1.png +0 -0
  33. data/lib/assets/backgrounds/bg1/012#robotBG-10.png +0 -0
  34. data/lib/assets/backgrounds/bg2/000#robotBG-06.png +0 -0
  35. data/lib/assets/backgrounds/bg2/001#robotBG-08.png +0 -0
  36. data/lib/assets/backgrounds/bg2/002#robotBG-04.png +0 -0
  37. data/lib/assets/backgrounds/bg2/003#robotBG-03.png +0 -0
  38. data/lib/assets/backgrounds/bg2/004#robotBG-01.png +0 -0
  39. data/lib/assets/backgrounds/bg2/005#robotBG-02.png +0 -0
  40. data/lib/assets/backgrounds/bg2/006#robotBG-07.png +0 -0
  41. data/lib/assets/sets/set1/blue/000#Mouth/000#blue_mouth-10.png +0 -0
  42. data/lib/assets/sets/set1/blue/000#Mouth/001#blue_mouth-07.png +0 -0
  43. data/lib/assets/sets/set1/blue/000#Mouth/002#blue_mouth-04.png +0 -0
  44. data/lib/assets/sets/set1/blue/000#Mouth/003#blue_mouth-05.png +0 -0
  45. data/lib/assets/sets/set1/blue/000#Mouth/004#blue_mouth-01.png +0 -0
  46. data/lib/assets/sets/set1/blue/000#Mouth/005#blue_mouth-02.png +0 -0
  47. data/lib/assets/sets/set1/blue/000#Mouth/006#blue_mouth-06.png +0 -0
  48. data/lib/assets/sets/set1/blue/000#Mouth/007#blue_mouth-08.png +0 -0
  49. data/lib/assets/sets/set1/blue/000#Mouth/008#blue_mouth-09.png +0 -0
  50. data/lib/assets/sets/set1/blue/000#Mouth/009#blue_mouth-03.png +0 -0
  51. data/lib/assets/sets/set1/blue/001#Eyes/000#blue_eyes-07.png +0 -0
  52. data/lib/assets/sets/set1/blue/001#Eyes/001#blue_eyes-09.png +0 -0
  53. data/lib/assets/sets/set1/blue/001#Eyes/002#blue_eyes-10.png +0 -0
  54. data/lib/assets/sets/set1/blue/001#Eyes/003#blue_eyes-02.png +0 -0
  55. data/lib/assets/sets/set1/blue/001#Eyes/004#blue_eyes-03.png +0 -0
  56. data/lib/assets/sets/set1/blue/001#Eyes/005#blue_eyes-05.png +0 -0
  57. data/lib/assets/sets/set1/blue/001#Eyes/006#blue_eyes-06.png +0 -0
  58. data/lib/assets/sets/set1/blue/001#Eyes/007#blue_eyes-01.png +0 -0
  59. data/lib/assets/sets/set1/blue/001#Eyes/008#blue_eyes-08.png +0 -0
  60. data/lib/assets/sets/set1/blue/001#Eyes/009#blue_eyes-04.png +0 -0
  61. data/lib/assets/sets/set1/blue/002#Accessory/000#blue_accessory-02.png +0 -0
  62. data/lib/assets/sets/set1/blue/002#Accessory/001#blue_accessory-01.png +0 -0
  63. data/lib/assets/sets/set1/blue/002#Accessory/002#blue_accessory-07.png +0 -0
  64. data/lib/assets/sets/set1/blue/002#Accessory/003#blue_accessory-03.png +0 -0
  65. data/lib/assets/sets/set1/blue/002#Accessory/004#blue_accessory-05.png +0 -0
  66. data/lib/assets/sets/set1/blue/002#Accessory/005#blue_accessory-09.png +0 -0
  67. data/lib/assets/sets/set1/blue/002#Accessory/006#blue_accessory-04.png +0 -0
  68. data/lib/assets/sets/set1/blue/002#Accessory/007#blue_accessory-10.png +0 -0
  69. data/lib/assets/sets/set1/blue/002#Accessory/008#blue_accessory-06.png +0 -0
  70. data/lib/assets/sets/set1/blue/002#Accessory/009#blue_accessory-08.png +0 -0
  71. data/lib/assets/sets/set1/blue/003#01Body/000#blue_body-10.png +0 -0
  72. data/lib/assets/sets/set1/blue/003#01Body/001#blue_body-09.png +0 -0
  73. data/lib/assets/sets/set1/blue/003#01Body/002#blue_body-03.png +0 -0
  74. data/lib/assets/sets/set1/blue/003#01Body/003#blue_body-07.png +0 -0
  75. data/lib/assets/sets/set1/blue/003#01Body/004#blue_body-04.png +0 -0
  76. data/lib/assets/sets/set1/blue/003#01Body/005#blue_body-05.png +0 -0
  77. data/lib/assets/sets/set1/blue/003#01Body/006#blue_body-01.png +0 -0
  78. data/lib/assets/sets/set1/blue/003#01Body/007#blue_body-06.png +0 -0
  79. data/lib/assets/sets/set1/blue/003#01Body/008#blue_body-08.png +0 -0
  80. data/lib/assets/sets/set1/blue/003#01Body/009#blue_body-02.png +0 -0
  81. data/lib/assets/sets/set1/blue/004#02Face/000#blue_face-07.png +0 -0
  82. data/lib/assets/sets/set1/blue/004#02Face/001#blue_face-03.png +0 -0
  83. data/lib/assets/sets/set1/blue/004#02Face/002#blue_face-08.png +0 -0
  84. data/lib/assets/sets/set1/blue/004#02Face/003#blue_face-01.png +0 -0
  85. data/lib/assets/sets/set1/blue/004#02Face/004#blue_face-05.png +0 -0
  86. data/lib/assets/sets/set1/blue/004#02Face/005#blue_face-10.png +0 -0
  87. data/lib/assets/sets/set1/blue/004#02Face/006#blue_face-02.png +0 -0
  88. data/lib/assets/sets/set1/blue/004#02Face/007#blue_face-09.png +0 -0
  89. data/lib/assets/sets/set1/blue/004#02Face/008#blue_face-04.png +0 -0
  90. data/lib/assets/sets/set1/blue/004#02Face/009#blue_face-06.png +0 -0
  91. data/lib/assets/sets/set1/brown/000#Mouth/000#brown_mouth-02.png +0 -0
  92. data/lib/assets/sets/set1/brown/000#Mouth/001#brown_mouth-01.png +0 -0
  93. data/lib/assets/sets/set1/brown/000#Mouth/002#brown_mouth-07.png +0 -0
  94. data/lib/assets/sets/set1/brown/000#Mouth/003#brown_mouth-05.png +0 -0
  95. data/lib/assets/sets/set1/brown/000#Mouth/004#brown_mouth-04.png +0 -0
  96. data/lib/assets/sets/set1/brown/000#Mouth/005#brown_mouth-06.png +0 -0
  97. data/lib/assets/sets/set1/brown/000#Mouth/006#brown_mouth-08.png +0 -0
  98. data/lib/assets/sets/set1/brown/000#Mouth/007#brown_mouth-09.png +0 -0
  99. data/lib/assets/sets/set1/brown/000#Mouth/008#brown_mouth-10.png +0 -0
  100. data/lib/assets/sets/set1/brown/000#Mouth/009#brown_mouth-03.png +0 -0
  101. data/lib/assets/sets/set1/brown/001#Eyes/000#brown_eyes-05.png +0 -0
  102. data/lib/assets/sets/set1/brown/001#Eyes/001#brown_eyes-06.png +0 -0
  103. data/lib/assets/sets/set1/brown/001#Eyes/002#brown_eyes-04.png +0 -0
  104. data/lib/assets/sets/set1/brown/001#Eyes/003#brown_eyes-03.png +0 -0
  105. data/lib/assets/sets/set1/brown/001#Eyes/004#brown_eyes-09.png +0 -0
  106. data/lib/assets/sets/set1/brown/001#Eyes/005#brown_eyes-07.png +0 -0
  107. data/lib/assets/sets/set1/brown/001#Eyes/006#brown_eyes-08.png +0 -0
  108. data/lib/assets/sets/set1/brown/001#Eyes/007#brown_eyes-01.png +0 -0
  109. data/lib/assets/sets/set1/brown/001#Eyes/008#brown_eyes-02.png +0 -0
  110. data/lib/assets/sets/set1/brown/001#Eyes/009#brown_eyes-10.png +0 -0
  111. data/lib/assets/sets/set1/brown/002#Accessory/000#brown_accessory-07.png +0 -0
  112. data/lib/assets/sets/set1/brown/002#Accessory/001#brown_accessory-08.png +0 -0
  113. data/lib/assets/sets/set1/brown/002#Accessory/002#brown_accessory-03.png +0 -0
  114. data/lib/assets/sets/set1/brown/002#Accessory/003#brown_accessory-06.png +0 -0
  115. data/lib/assets/sets/set1/brown/002#Accessory/004#brown_accessory-01.png +0 -0
  116. data/lib/assets/sets/set1/brown/002#Accessory/005#brown_accessory-09.png +0 -0
  117. data/lib/assets/sets/set1/brown/002#Accessory/006#brown_accessory-02.png +0 -0
  118. data/lib/assets/sets/set1/brown/002#Accessory/007#brown_accessory-05.png +0 -0
  119. data/lib/assets/sets/set1/brown/002#Accessory/008#brown_accessory-10.png +0 -0
  120. data/lib/assets/sets/set1/brown/002#Accessory/009#brown_accessory-04.png +0 -0
  121. data/lib/assets/sets/set1/brown/003#01Body/000#brown_body-06.png +0 -0
  122. data/lib/assets/sets/set1/brown/003#01Body/001#brown_body-08.png +0 -0
  123. data/lib/assets/sets/set1/brown/003#01Body/002#brown_body-03.png +0 -0
  124. data/lib/assets/sets/set1/brown/003#01Body/003#brown_body-01.png +0 -0
  125. data/lib/assets/sets/set1/brown/003#01Body/004#brown_body-07.png +0 -0
  126. data/lib/assets/sets/set1/brown/003#01Body/005#brown_body-04.png +0 -0
  127. data/lib/assets/sets/set1/brown/003#01Body/006#brown_body-10.png +0 -0
  128. data/lib/assets/sets/set1/brown/003#01Body/007#brown_body-09.png +0 -0
  129. data/lib/assets/sets/set1/brown/003#01Body/008#brown_body-02.png +0 -0
  130. data/lib/assets/sets/set1/brown/003#01Body/009#brown_body-05.png +0 -0
  131. data/lib/assets/sets/set1/brown/004#02Face/000#brown_face-09.png +0 -0
  132. data/lib/assets/sets/set1/brown/004#02Face/001#brown_face-02.png +0 -0
  133. data/lib/assets/sets/set1/brown/004#02Face/002#brown_face-08.png +0 -0
  134. data/lib/assets/sets/set1/brown/004#02Face/003#brown_face-07.png +0 -0
  135. data/lib/assets/sets/set1/brown/004#02Face/004#brown_face-06.png +0 -0
  136. data/lib/assets/sets/set1/brown/004#02Face/005#brown_face-05.png +0 -0
  137. data/lib/assets/sets/set1/brown/004#02Face/006#brown_face-03.png +0 -0
  138. data/lib/assets/sets/set1/brown/004#02Face/007#brown_face-10.png +0 -0
  139. data/lib/assets/sets/set1/brown/004#02Face/008#brown_face-01.png +0 -0
  140. data/lib/assets/sets/set1/brown/004#02Face/009#brown_face-04.png +0 -0
  141. data/lib/assets/sets/set1/green/000#Mouth/000#green_mouth-08.png +0 -0
  142. data/lib/assets/sets/set1/green/000#Mouth/001#green_mouth-04.png +0 -0
  143. data/lib/assets/sets/set1/green/000#Mouth/002#green_mouth-06.png +0 -0
  144. data/lib/assets/sets/set1/green/000#Mouth/003#green_mouth-02.png +0 -0
  145. data/lib/assets/sets/set1/green/000#Mouth/004#green_mouth-03.png +0 -0
  146. data/lib/assets/sets/set1/green/000#Mouth/005#green_mouth-01.png +0 -0
  147. data/lib/assets/sets/set1/green/000#Mouth/006#green_mouth-07.png +0 -0
  148. data/lib/assets/sets/set1/green/000#Mouth/007#green_mouth-10.png +0 -0
  149. data/lib/assets/sets/set1/green/000#Mouth/008#green_mouth-05.png +0 -0
  150. data/lib/assets/sets/set1/green/000#Mouth/009#green_mouth-09.png +0 -0
  151. data/lib/assets/sets/set1/green/001#Eyes/000#green_eyes-05.png +0 -0
  152. data/lib/assets/sets/set1/green/001#Eyes/001#green_eyes-07.png +0 -0
  153. data/lib/assets/sets/set1/green/001#Eyes/002#green_eyes-02.png +0 -0
  154. data/lib/assets/sets/set1/green/001#Eyes/003#green_eyes-01.png +0 -0
  155. data/lib/assets/sets/set1/green/001#Eyes/004#green_eyes-09.png +0 -0
  156. data/lib/assets/sets/set1/green/001#Eyes/005#green_eyes-04.png +0 -0
  157. data/lib/assets/sets/set1/green/001#Eyes/006#green_eyes-10.png +0 -0
  158. data/lib/assets/sets/set1/green/001#Eyes/007#green_eyes-08.png +0 -0
  159. data/lib/assets/sets/set1/green/001#Eyes/008#green_eyes-06.png +0 -0
  160. data/lib/assets/sets/set1/green/001#Eyes/009#green_eyes-03.png +0 -0
  161. data/lib/assets/sets/set1/green/002#Accessory/000#green_accessory-07.png +0 -0
  162. data/lib/assets/sets/set1/green/002#Accessory/001#green_accessory-03.png +0 -0
  163. data/lib/assets/sets/set1/green/002#Accessory/002#green_accessory-08.png +0 -0
  164. data/lib/assets/sets/set1/green/002#Accessory/003#green_accessory-05.png +0 -0
  165. data/lib/assets/sets/set1/green/002#Accessory/004#green_accessory-01.png +0 -0
  166. data/lib/assets/sets/set1/green/002#Accessory/005#green_accessory-04.png +0 -0
  167. data/lib/assets/sets/set1/green/002#Accessory/006#green_accessory-06.png +0 -0
  168. data/lib/assets/sets/set1/green/002#Accessory/007#green_accessory-10.png +0 -0
  169. data/lib/assets/sets/set1/green/002#Accessory/008#green_accessory-02.png +0 -0
  170. data/lib/assets/sets/set1/green/002#Accessory/009#green_accessory-09.png +0 -0
  171. data/lib/assets/sets/set1/green/003#01Body/000#green_body-08.png +0 -0
  172. data/lib/assets/sets/set1/green/003#01Body/001#green_body-01.png +0 -0
  173. data/lib/assets/sets/set1/green/003#01Body/002#green_body-02.png +0 -0
  174. data/lib/assets/sets/set1/green/003#01Body/003#green_body-06.png +0 -0
  175. data/lib/assets/sets/set1/green/003#01Body/004#green_body-04.png +0 -0
  176. data/lib/assets/sets/set1/green/003#01Body/005#green_body-07.png +0 -0
  177. data/lib/assets/sets/set1/green/003#01Body/006#green_body-03.png +0 -0
  178. data/lib/assets/sets/set1/green/003#01Body/007#green_body-10.png +0 -0
  179. data/lib/assets/sets/set1/green/003#01Body/008#green_body-05.png +0 -0
  180. data/lib/assets/sets/set1/green/003#01Body/009#green_body-09.png +0 -0
  181. data/lib/assets/sets/set1/green/004#02Face/000#green_face-10.png +0 -0
  182. data/lib/assets/sets/set1/green/004#02Face/001#green_face-09.png +0 -0
  183. data/lib/assets/sets/set1/green/004#02Face/002#green_face-03.png +0 -0
  184. data/lib/assets/sets/set1/green/004#02Face/003#green_face-06.png +0 -0
  185. data/lib/assets/sets/set1/green/004#02Face/004#green_face-07.png +0 -0
  186. data/lib/assets/sets/set1/green/004#02Face/005#green_face-08.png +0 -0
  187. data/lib/assets/sets/set1/green/004#02Face/006#green_face-04.png +0 -0
  188. data/lib/assets/sets/set1/green/004#02Face/007#green_face-02.png +0 -0
  189. data/lib/assets/sets/set1/green/004#02Face/008#green_face-01.png +0 -0
  190. data/lib/assets/sets/set1/green/004#02Face/009#green_face-05.png +0 -0
  191. data/lib/assets/sets/set1/grey/000#Mouth/000#grey_mouth-08.png +0 -0
  192. data/lib/assets/sets/set1/grey/000#Mouth/001#grey_mouth-03.png +0 -0
  193. data/lib/assets/sets/set1/grey/000#Mouth/002#grey_mouth-01.png +0 -0
  194. data/lib/assets/sets/set1/grey/000#Mouth/003#grey_mouth-07.png +0 -0
  195. data/lib/assets/sets/set1/grey/000#Mouth/004#grey_mouth-02.png +0 -0
  196. data/lib/assets/sets/set1/grey/000#Mouth/005#grey_mouth-09.png +0 -0
  197. data/lib/assets/sets/set1/grey/000#Mouth/006#grey_mouth-04.png +0 -0
  198. data/lib/assets/sets/set1/grey/000#Mouth/007#grey_mouth-05.png +0 -0
  199. data/lib/assets/sets/set1/grey/000#Mouth/008#grey_mouth-06.png +0 -0
  200. data/lib/assets/sets/set1/grey/000#Mouth/009#grey_mouth-10.png +0 -0
  201. data/lib/assets/sets/set1/grey/001#Eyes/000#grey_eyes-06.png +0 -0
  202. data/lib/assets/sets/set1/grey/001#Eyes/001#grey_eyes-05.png +0 -0
  203. data/lib/assets/sets/set1/grey/001#Eyes/002#grey_eyes-04.png +0 -0
  204. data/lib/assets/sets/set1/grey/001#Eyes/003#grey_eyes-08.png +0 -0
  205. data/lib/assets/sets/set1/grey/001#Eyes/004#grey_eyes-03.png +0 -0
  206. data/lib/assets/sets/set1/grey/001#Eyes/005#grey_eyes-10.png +0 -0
  207. data/lib/assets/sets/set1/grey/001#Eyes/006#grey_eyes-07.png +0 -0
  208. data/lib/assets/sets/set1/grey/001#Eyes/007#grey_eyes-09.png +0 -0
  209. data/lib/assets/sets/set1/grey/001#Eyes/008#grey_eyes-01.png +0 -0
  210. data/lib/assets/sets/set1/grey/001#Eyes/009#grey_eyes-02.png +0 -0
  211. data/lib/assets/sets/set1/grey/002#Accessory/000#grey_accessory-01.png +0 -0
  212. data/lib/assets/sets/set1/grey/002#Accessory/001#grey_accessory-03.png +0 -0
  213. data/lib/assets/sets/set1/grey/002#Accessory/002#grey_accessory-07.png +0 -0
  214. data/lib/assets/sets/set1/grey/002#Accessory/003#grey_accessory-09.png +0 -0
  215. data/lib/assets/sets/set1/grey/002#Accessory/004#grey_accessory-05.png +0 -0
  216. data/lib/assets/sets/set1/grey/002#Accessory/005#grey_accessory-10.png +0 -0
  217. data/lib/assets/sets/set1/grey/002#Accessory/006#grey_accessory-06.png +0 -0
  218. data/lib/assets/sets/set1/grey/002#Accessory/007#grey_accessory-02.png +0 -0
  219. data/lib/assets/sets/set1/grey/002#Accessory/008#grey_accessory-08.png +0 -0
  220. data/lib/assets/sets/set1/grey/002#Accessory/009#grey_accessory-04.png +0 -0
  221. data/lib/assets/sets/set1/grey/003#01Body/000#grey_body-03.png +0 -0
  222. data/lib/assets/sets/set1/grey/003#01Body/001#grey_body-09.png +0 -0
  223. data/lib/assets/sets/set1/grey/003#01Body/002#grey_body-04.png +0 -0
  224. data/lib/assets/sets/set1/grey/003#01Body/003#grey_body-01.png +0 -0
  225. data/lib/assets/sets/set1/grey/003#01Body/004#grey_body-10.png +0 -0
  226. data/lib/assets/sets/set1/grey/003#01Body/005#grey_body-05.png +0 -0
  227. data/lib/assets/sets/set1/grey/003#01Body/006#grey_body-06.png +0 -0
  228. data/lib/assets/sets/set1/grey/003#01Body/007#grey_body-07.png +0 -0
  229. data/lib/assets/sets/set1/grey/003#01Body/008#grey_body-08.png +0 -0
  230. data/lib/assets/sets/set1/grey/003#01Body/009#grey_body-02.png +0 -0
  231. data/lib/assets/sets/set1/grey/004#02Face/000#grey_face-10.png +0 -0
  232. data/lib/assets/sets/set1/grey/004#02Face/001#grey_face-03.png +0 -0
  233. data/lib/assets/sets/set1/grey/004#02Face/002#grey_face-01.png +0 -0
  234. data/lib/assets/sets/set1/grey/004#02Face/003#grey_face-08.png +0 -0
  235. data/lib/assets/sets/set1/grey/004#02Face/004#grey_face-06.png +0 -0
  236. data/lib/assets/sets/set1/grey/004#02Face/005#grey_face-04.png +0 -0
  237. data/lib/assets/sets/set1/grey/004#02Face/006#grey_face-07.png +0 -0
  238. data/lib/assets/sets/set1/grey/004#02Face/007#grey_face-05.png +0 -0
  239. data/lib/assets/sets/set1/grey/004#02Face/008#grey_face-09.png +0 -0
  240. data/lib/assets/sets/set1/grey/004#02Face/009#grey_face-02.png +0 -0
  241. data/lib/assets/sets/set1/orange/000#Mouth/000#orange_mouth-07.png +0 -0
  242. data/lib/assets/sets/set1/orange/000#Mouth/001#orange_mouth-01.png +0 -0
  243. data/lib/assets/sets/set1/orange/000#Mouth/002#orange_mouth-08.png +0 -0
  244. data/lib/assets/sets/set1/orange/000#Mouth/003#orange_mouth-05.png +0 -0
  245. data/lib/assets/sets/set1/orange/000#Mouth/004#orange_mouth-10.png +0 -0
  246. data/lib/assets/sets/set1/orange/000#Mouth/005#orange_mouth-02.png +0 -0
  247. data/lib/assets/sets/set1/orange/000#Mouth/006#orange_mouth-06.png +0 -0
  248. data/lib/assets/sets/set1/orange/000#Mouth/007#orange_mouth-09.png +0 -0
  249. data/lib/assets/sets/set1/orange/000#Mouth/008#orange_mouth-03.png +0 -0
  250. data/lib/assets/sets/set1/orange/000#Mouth/009#orange_mouth-04.png +0 -0
  251. data/lib/assets/sets/set1/orange/001#Eyes/000#orange_eyes-05.png +0 -0
  252. data/lib/assets/sets/set1/orange/001#Eyes/001#orange_eyes-01.png +0 -0
  253. data/lib/assets/sets/set1/orange/001#Eyes/002#orange_eyes-09.png +0 -0
  254. data/lib/assets/sets/set1/orange/001#Eyes/003#orange_eyes-06.png +0 -0
  255. data/lib/assets/sets/set1/orange/001#Eyes/004#orange_eyes-02.png +0 -0
  256. data/lib/assets/sets/set1/orange/001#Eyes/005#orange_eyes-10.png +0 -0
  257. data/lib/assets/sets/set1/orange/001#Eyes/006#orange_eyes-04.png +0 -0
  258. data/lib/assets/sets/set1/orange/001#Eyes/007#orange_eyes-07.png +0 -0
  259. data/lib/assets/sets/set1/orange/001#Eyes/008#orange_eyes-08.png +0 -0
  260. data/lib/assets/sets/set1/orange/001#Eyes/009#orange_eyes-03.png +0 -0
  261. data/lib/assets/sets/set1/orange/002#Accessory/000#orange_accessory-05.png +0 -0
  262. data/lib/assets/sets/set1/orange/002#Accessory/001#orange_accessory-03.png +0 -0
  263. data/lib/assets/sets/set1/orange/002#Accessory/002#orange_accessory-10.png +0 -0
  264. data/lib/assets/sets/set1/orange/002#Accessory/003#orange_accessory-08.png +0 -0
  265. data/lib/assets/sets/set1/orange/002#Accessory/004#orange_accessory-09.png +0 -0
  266. data/lib/assets/sets/set1/orange/002#Accessory/005#orange_accessory-01.png +0 -0
  267. data/lib/assets/sets/set1/orange/002#Accessory/006#orange_accessory-02.png +0 -0
  268. data/lib/assets/sets/set1/orange/002#Accessory/007#orange_accessory-06.png +0 -0
  269. data/lib/assets/sets/set1/orange/002#Accessory/008#orange_accessory-04.png +0 -0
  270. data/lib/assets/sets/set1/orange/002#Accessory/009#orange_accessory-07.png +0 -0
  271. data/lib/assets/sets/set1/orange/003#01Body/000#orange_body-07.png +0 -0
  272. data/lib/assets/sets/set1/orange/003#01Body/001#orange_body-05.png +0 -0
  273. data/lib/assets/sets/set1/orange/003#01Body/002#orange_body-03.png +0 -0
  274. data/lib/assets/sets/set1/orange/003#01Body/003#orange_body-06.png +0 -0
  275. data/lib/assets/sets/set1/orange/003#01Body/004#orange_body-10.png +0 -0
  276. data/lib/assets/sets/set1/orange/003#01Body/005#orange_body-08.png +0 -0
  277. data/lib/assets/sets/set1/orange/003#01Body/006#orange_body-09.png +0 -0
  278. data/lib/assets/sets/set1/orange/003#01Body/007#orange_body-02.png +0 -0
  279. data/lib/assets/sets/set1/orange/003#01Body/008#orange_body-04.png +0 -0
  280. data/lib/assets/sets/set1/orange/003#01Body/009#orange_body-01.png +0 -0
  281. data/lib/assets/sets/set1/orange/004#02Face/000#orange_face-01.png +0 -0
  282. data/lib/assets/sets/set1/orange/004#02Face/001#orange_face-03.png +0 -0
  283. data/lib/assets/sets/set1/orange/004#02Face/002#orange_face-05.png +0 -0
  284. data/lib/assets/sets/set1/orange/004#02Face/003#orange_face-08.png +0 -0
  285. data/lib/assets/sets/set1/orange/004#02Face/004#orange_face-09.png +0 -0
  286. data/lib/assets/sets/set1/orange/004#02Face/005#orange_face-07.png +0 -0
  287. data/lib/assets/sets/set1/orange/004#02Face/006#orange_face-06.png +0 -0
  288. data/lib/assets/sets/set1/orange/004#02Face/007#orange_face-10.png +0 -0
  289. data/lib/assets/sets/set1/orange/004#02Face/008#orange_face-04.png +0 -0
  290. data/lib/assets/sets/set1/orange/004#02Face/009#orange_face-02.png +0 -0
  291. data/lib/assets/sets/set1/pink/000#Mouth/000#pink_mouth-03.png +0 -0
  292. data/lib/assets/sets/set1/pink/000#Mouth/001#pink_mouth-02.png +0 -0
  293. data/lib/assets/sets/set1/pink/000#Mouth/002#pink_mouth-08.png +0 -0
  294. data/lib/assets/sets/set1/pink/000#Mouth/003#pink_mouth-01.png +0 -0
  295. data/lib/assets/sets/set1/pink/000#Mouth/004#pink_mouth-07.png +0 -0
  296. data/lib/assets/sets/set1/pink/000#Mouth/005#pink_mouth-04.png +0 -0
  297. data/lib/assets/sets/set1/pink/000#Mouth/006#pink_mouth-05.png +0 -0
  298. data/lib/assets/sets/set1/pink/000#Mouth/007#pink_mouth-06.png +0 -0
  299. data/lib/assets/sets/set1/pink/000#Mouth/008#pink_mouth-10.png +0 -0
  300. data/lib/assets/sets/set1/pink/000#Mouth/009#pink_mouth-09.png +0 -0
  301. data/lib/assets/sets/set1/pink/001#Eyes/000#pink_eyes-05.png +0 -0
  302. data/lib/assets/sets/set1/pink/001#Eyes/001#pink_eyes-01.png +0 -0
  303. data/lib/assets/sets/set1/pink/001#Eyes/002#pink_eyes-02.png +0 -0
  304. data/lib/assets/sets/set1/pink/001#Eyes/003#pink_eyes-06.png +0 -0
  305. data/lib/assets/sets/set1/pink/001#Eyes/004#pink_eyes-10.png +0 -0
  306. data/lib/assets/sets/set1/pink/001#Eyes/005#pink_eyes-04.png +0 -0
  307. data/lib/assets/sets/set1/pink/001#Eyes/006#pink_eyes-09.png +0 -0
  308. data/lib/assets/sets/set1/pink/001#Eyes/007#pink_eyes-07.png +0 -0
  309. data/lib/assets/sets/set1/pink/001#Eyes/008#pink_eyes-08.png +0 -0
  310. data/lib/assets/sets/set1/pink/001#Eyes/009#pink_eyes-03.png +0 -0
  311. data/lib/assets/sets/set1/pink/002#Accessory/000#pink_accessory-07.png +0 -0
  312. data/lib/assets/sets/set1/pink/002#Accessory/001#pink_accessory-02.png +0 -0
  313. data/lib/assets/sets/set1/pink/002#Accessory/002#pink_accessory-01.png +0 -0
  314. data/lib/assets/sets/set1/pink/002#Accessory/003#pink_accessory-06.png +0 -0
  315. data/lib/assets/sets/set1/pink/002#Accessory/004#pink_accessory-10.png +0 -0
  316. data/lib/assets/sets/set1/pink/002#Accessory/005#pink_accessory-08.png +0 -0
  317. data/lib/assets/sets/set1/pink/002#Accessory/006#pink_accessory-03.png +0 -0
  318. data/lib/assets/sets/set1/pink/002#Accessory/007#pink_accessory-09.png +0 -0
  319. data/lib/assets/sets/set1/pink/002#Accessory/008#pink_accessory-05.png +0 -0
  320. data/lib/assets/sets/set1/pink/002#Accessory/009#pink_accessory-04.png +0 -0
  321. data/lib/assets/sets/set1/pink/003#01Body/000#pink_body-01.png +0 -0
  322. data/lib/assets/sets/set1/pink/003#01Body/001#pink_body-03.png +0 -0
  323. data/lib/assets/sets/set1/pink/003#01Body/002#pink_body-05.png +0 -0
  324. data/lib/assets/sets/set1/pink/003#01Body/003#pink_body-08.png +0 -0
  325. data/lib/assets/sets/set1/pink/003#01Body/004#pink_body-09.png +0 -0
  326. data/lib/assets/sets/set1/pink/003#01Body/005#pink_body-06.png +0 -0
  327. data/lib/assets/sets/set1/pink/003#01Body/006#pink_body-07.png +0 -0
  328. data/lib/assets/sets/set1/pink/003#01Body/007#pink_body-10.png +0 -0
  329. data/lib/assets/sets/set1/pink/003#01Body/008#pink_body-02.png +0 -0
  330. data/lib/assets/sets/set1/pink/003#01Body/009#pink_body-04.png +0 -0
  331. data/lib/assets/sets/set1/pink/004#02Face/000#pink_face-07.png +0 -0
  332. data/lib/assets/sets/set1/pink/004#02Face/001#pink_face-02.png +0 -0
  333. data/lib/assets/sets/set1/pink/004#02Face/002#pink_face-03.png +0 -0
  334. data/lib/assets/sets/set1/pink/004#02Face/003#pink_face-10.png +0 -0
  335. data/lib/assets/sets/set1/pink/004#02Face/004#pink_face-01.png +0 -0
  336. data/lib/assets/sets/set1/pink/004#02Face/005#pink_face-04.png +0 -0
  337. data/lib/assets/sets/set1/pink/004#02Face/006#pink_face-06.png +0 -0
  338. data/lib/assets/sets/set1/pink/004#02Face/007#pink_face-05.png +0 -0
  339. data/lib/assets/sets/set1/pink/004#02Face/008#pink_face-09.png +0 -0
  340. data/lib/assets/sets/set1/pink/004#02Face/009#pink_face-08.png +0 -0
  341. data/lib/assets/sets/set1/purple/000#Mouth/000#purple_mouth-01.png +0 -0
  342. data/lib/assets/sets/set1/purple/000#Mouth/001#purple_mouth-10.png +0 -0
  343. data/lib/assets/sets/set1/purple/000#Mouth/002#purple_mouth-05.png +0 -0
  344. data/lib/assets/sets/set1/purple/000#Mouth/003#purple_mouth-07.png +0 -0
  345. data/lib/assets/sets/set1/purple/000#Mouth/004#purple_mouth-04.png +0 -0
  346. data/lib/assets/sets/set1/purple/000#Mouth/005#purple_mouth-09.png +0 -0
  347. data/lib/assets/sets/set1/purple/000#Mouth/006#purple_mouth-03.png +0 -0
  348. data/lib/assets/sets/set1/purple/000#Mouth/007#purple_mouth-02.png +0 -0
  349. data/lib/assets/sets/set1/purple/000#Mouth/008#purple_mouth-08.png +0 -0
  350. data/lib/assets/sets/set1/purple/000#Mouth/009#purple_mouth-06.png +0 -0
  351. data/lib/assets/sets/set1/purple/001#Eyes/000#purple_eyes-09.png +0 -0
  352. data/lib/assets/sets/set1/purple/001#Eyes/001#purple_eyes-08.png +0 -0
  353. data/lib/assets/sets/set1/purple/001#Eyes/002#purple_eyes-06.png +0 -0
  354. data/lib/assets/sets/set1/purple/001#Eyes/003#purple_eyes-10.png +0 -0
  355. data/lib/assets/sets/set1/purple/001#Eyes/004#purple_eyes-03.png +0 -0
  356. data/lib/assets/sets/set1/purple/001#Eyes/005#purple_eyes-01.png +0 -0
  357. data/lib/assets/sets/set1/purple/001#Eyes/006#purple_eyes-07.png +0 -0
  358. data/lib/assets/sets/set1/purple/001#Eyes/007#purple_eyes-02.png +0 -0
  359. data/lib/assets/sets/set1/purple/001#Eyes/008#purple_eyes-04.png +0 -0
  360. data/lib/assets/sets/set1/purple/001#Eyes/009#purple_eyes-05.png +0 -0
  361. data/lib/assets/sets/set1/purple/002#Accessory/000#purple_accessory-04.png +0 -0
  362. data/lib/assets/sets/set1/purple/002#Accessory/001#purple_accessory-02.png +0 -0
  363. data/lib/assets/sets/set1/purple/002#Accessory/002#purple_accessory-06.png +0 -0
  364. data/lib/assets/sets/set1/purple/002#Accessory/003#purple_accessory-10.png +0 -0
  365. data/lib/assets/sets/set1/purple/002#Accessory/004#purple_accessory-01.png +0 -0
  366. data/lib/assets/sets/set1/purple/002#Accessory/005#purple_accessory-09.png +0 -0
  367. data/lib/assets/sets/set1/purple/002#Accessory/006#purple_accessory-08.png +0 -0
  368. data/lib/assets/sets/set1/purple/002#Accessory/007#purple_accessory-03.png +0 -0
  369. data/lib/assets/sets/set1/purple/002#Accessory/008#purple_accessory-05.png +0 -0
  370. data/lib/assets/sets/set1/purple/002#Accessory/009#purple_accessory-07.png +0 -0
  371. data/lib/assets/sets/set1/purple/003#01Body/000#purple_body-10.png +0 -0
  372. data/lib/assets/sets/set1/purple/003#01Body/001#purple_body-04.png +0 -0
  373. data/lib/assets/sets/set1/purple/003#01Body/002#purple_body-05.png +0 -0
  374. data/lib/assets/sets/set1/purple/003#01Body/003#purple_body-07.png +0 -0
  375. data/lib/assets/sets/set1/purple/003#01Body/004#purple_body-03.png +0 -0
  376. data/lib/assets/sets/set1/purple/003#01Body/005#purple_body-02.png +0 -0
  377. data/lib/assets/sets/set1/purple/003#01Body/006#purple_body-09.png +0 -0
  378. data/lib/assets/sets/set1/purple/003#01Body/007#purple_body-06.png +0 -0
  379. data/lib/assets/sets/set1/purple/003#01Body/008#purple_body-08.png +0 -0
  380. data/lib/assets/sets/set1/purple/003#01Body/009#purple_body-01.png +0 -0
  381. data/lib/assets/sets/set1/purple/004#02Face/000#purple_face-05.png +0 -0
  382. data/lib/assets/sets/set1/purple/004#02Face/001#purple_face-01.png +0 -0
  383. data/lib/assets/sets/set1/purple/004#02Face/002#purple_face-08.png +0 -0
  384. data/lib/assets/sets/set1/purple/004#02Face/003#purple_face-04.png +0 -0
  385. data/lib/assets/sets/set1/purple/004#02Face/004#purple_face-06.png +0 -0
  386. data/lib/assets/sets/set1/purple/004#02Face/005#purple_face-03.png +0 -0
  387. data/lib/assets/sets/set1/purple/004#02Face/006#purple_face-10.png +0 -0
  388. data/lib/assets/sets/set1/purple/004#02Face/007#purple_face-07.png +0 -0
  389. data/lib/assets/sets/set1/purple/004#02Face/008#purple_face-02.png +0 -0
  390. data/lib/assets/sets/set1/purple/004#02Face/009#purple_face-09.png +0 -0
  391. data/lib/assets/sets/set1/red/000#Mouth/000#red_mouth-07.png +0 -0
  392. data/lib/assets/sets/set1/red/000#Mouth/001#red_mouth-05.png +0 -0
  393. data/lib/assets/sets/set1/red/000#Mouth/002#red_mouth-08.png +0 -0
  394. data/lib/assets/sets/set1/red/000#Mouth/003#red_mouth-01.png +0 -0
  395. data/lib/assets/sets/set1/red/000#Mouth/004#red_mouth-03.png +0 -0
  396. data/lib/assets/sets/set1/red/000#Mouth/005#red_mouth-02.png +0 -0
  397. data/lib/assets/sets/set1/red/000#Mouth/006#red_mouth-04.png +0 -0
  398. data/lib/assets/sets/set1/red/000#Mouth/007#red_mouth-09.png +0 -0
  399. data/lib/assets/sets/set1/red/000#Mouth/008#red_mouth-06.png +0 -0
  400. data/lib/assets/sets/set1/red/000#Mouth/009#red_mouth-10.png +0 -0
  401. data/lib/assets/sets/set1/red/001#Eyes/000#red_eyes-07.png +0 -0
  402. data/lib/assets/sets/set1/red/001#Eyes/001#red_eyes-02.png +0 -0
  403. data/lib/assets/sets/set1/red/001#Eyes/002#red_eyes-06.png +0 -0
  404. data/lib/assets/sets/set1/red/001#Eyes/003#red_eyes-09.png +0 -0
  405. data/lib/assets/sets/set1/red/001#Eyes/004#red_eyes-04.png +0 -0
  406. data/lib/assets/sets/set1/red/001#Eyes/005#red_eyes-05.png +0 -0
  407. data/lib/assets/sets/set1/red/001#Eyes/006#red_eyes-01.png +0 -0
  408. data/lib/assets/sets/set1/red/001#Eyes/007#red_eyes-10.png +0 -0
  409. data/lib/assets/sets/set1/red/001#Eyes/008#red_eyes-03.png +0 -0
  410. data/lib/assets/sets/set1/red/001#Eyes/009#red_eyes-08.png +0 -0
  411. data/lib/assets/sets/set1/red/002#Accessory/000#red_accessory-03.png +0 -0
  412. data/lib/assets/sets/set1/red/002#Accessory/001#red_accessory-09.png +0 -0
  413. data/lib/assets/sets/set1/red/002#Accessory/002#red_accessory-07.png +0 -0
  414. data/lib/assets/sets/set1/red/002#Accessory/003#red_accessory-08.png +0 -0
  415. data/lib/assets/sets/set1/red/002#Accessory/004#red_accessory-10.png +0 -0
  416. data/lib/assets/sets/set1/red/002#Accessory/005#red_accessory-05.png +0 -0
  417. data/lib/assets/sets/set1/red/002#Accessory/006#red_accessory-02.png +0 -0
  418. data/lib/assets/sets/set1/red/002#Accessory/007#red_accessory-01.png +0 -0
  419. data/lib/assets/sets/set1/red/002#Accessory/008#red_accessory-04.png +0 -0
  420. data/lib/assets/sets/set1/red/002#Accessory/009#red_accessory-06.png +0 -0
  421. data/lib/assets/sets/set1/red/003#01Body/000#red_body-09.png +0 -0
  422. data/lib/assets/sets/set1/red/003#01Body/001#red_body-01.png +0 -0
  423. data/lib/assets/sets/set1/red/003#01Body/002#red_body-08.png +0 -0
  424. data/lib/assets/sets/set1/red/003#01Body/003#red_body-05.png +0 -0
  425. data/lib/assets/sets/set1/red/003#01Body/004#red_body-10.png +0 -0
  426. data/lib/assets/sets/set1/red/003#01Body/005#red_body-04.png +0 -0
  427. data/lib/assets/sets/set1/red/003#01Body/006#red_body-07.png +0 -0
  428. data/lib/assets/sets/set1/red/003#01Body/007#red_body-06.png +0 -0
  429. data/lib/assets/sets/set1/red/003#01Body/008#red_body-02.png +0 -0
  430. data/lib/assets/sets/set1/red/003#01Body/009#red_body-03.png +0 -0
  431. data/lib/assets/sets/set1/red/004#02Face/000#red_face-08.png +0 -0
  432. data/lib/assets/sets/set1/red/004#02Face/001#red_face-06.png +0 -0
  433. data/lib/assets/sets/set1/red/004#02Face/002#red_face-02.png +0 -0
  434. data/lib/assets/sets/set1/red/004#02Face/003#red_face-05.png +0 -0
  435. data/lib/assets/sets/set1/red/004#02Face/004#red_face-03.png +0 -0
  436. data/lib/assets/sets/set1/red/004#02Face/005#red_face-10.png +0 -0
  437. data/lib/assets/sets/set1/red/004#02Face/006#red_face-04.png +0 -0
  438. data/lib/assets/sets/set1/red/004#02Face/007#red_face-01.png +0 -0
  439. data/lib/assets/sets/set1/red/004#02Face/008#red_face-07.png +0 -0
  440. data/lib/assets/sets/set1/red/004#02Face/009#red_face-09.png +0 -0
  441. data/lib/assets/sets/set1/white/000#Mouth/000#white_mouth-04.png +0 -0
  442. data/lib/assets/sets/set1/white/000#Mouth/001#white_mouth-08.png +0 -0
  443. data/lib/assets/sets/set1/white/000#Mouth/002#white_mouth-05.png +0 -0
  444. data/lib/assets/sets/set1/white/000#Mouth/003#white_mouth-03.png +0 -0
  445. data/lib/assets/sets/set1/white/000#Mouth/004#white_mouth-10.png +0 -0
  446. data/lib/assets/sets/set1/white/000#Mouth/005#white_mouth-07.png +0 -0
  447. data/lib/assets/sets/set1/white/000#Mouth/006#white_mouth-06.png +0 -0
  448. data/lib/assets/sets/set1/white/000#Mouth/007#white_mouth-09.png +0 -0
  449. data/lib/assets/sets/set1/white/000#Mouth/008#white_mouth-02.png +0 -0
  450. data/lib/assets/sets/set1/white/000#Mouth/009#white_mouth-01.png +0 -0
  451. data/lib/assets/sets/set1/white/001#Eyes/000#white_eyes-07.png +0 -0
  452. data/lib/assets/sets/set1/white/001#Eyes/001#white_eyes-10.png +0 -0
  453. data/lib/assets/sets/set1/white/001#Eyes/002#white_eyes-03.png +0 -0
  454. data/lib/assets/sets/set1/white/001#Eyes/003#white_eyes-06.png +0 -0
  455. data/lib/assets/sets/set1/white/001#Eyes/004#white_eyes-04.png +0 -0
  456. data/lib/assets/sets/set1/white/001#Eyes/005#white_eyes-05.png +0 -0
  457. data/lib/assets/sets/set1/white/001#Eyes/006#white_eyes-02.png +0 -0
  458. data/lib/assets/sets/set1/white/001#Eyes/007#white_eyes-09.png +0 -0
  459. data/lib/assets/sets/set1/white/001#Eyes/008#white_eyes-08.png +0 -0
  460. data/lib/assets/sets/set1/white/001#Eyes/009#white_eyes-01.png +0 -0
  461. data/lib/assets/sets/set1/white/002#Accessory/000#white_accessory-04.png +0 -0
  462. data/lib/assets/sets/set1/white/002#Accessory/001#white_accessory-06.png +0 -0
  463. data/lib/assets/sets/set1/white/002#Accessory/002#white_accessory-07.png +0 -0
  464. data/lib/assets/sets/set1/white/002#Accessory/003#white_accessory-09.png +0 -0
  465. data/lib/assets/sets/set1/white/002#Accessory/004#white_accessory-08.png +0 -0
  466. data/lib/assets/sets/set1/white/002#Accessory/005#white_accessory-05.png +0 -0
  467. data/lib/assets/sets/set1/white/002#Accessory/006#white_accessory-10.png +0 -0
  468. data/lib/assets/sets/set1/white/002#Accessory/007#white_accessory-01.png +0 -0
  469. data/lib/assets/sets/set1/white/002#Accessory/008#white_accessory-03.png +0 -0
  470. data/lib/assets/sets/set1/white/002#Accessory/009#white_accessory-02.png +0 -0
  471. data/lib/assets/sets/set1/white/003#01Body/000#white_body-01.png +0 -0
  472. data/lib/assets/sets/set1/white/003#01Body/001#white_body-08.png +0 -0
  473. data/lib/assets/sets/set1/white/003#01Body/002#white_body-06.png +0 -0
  474. data/lib/assets/sets/set1/white/003#01Body/003#white_body-04.png +0 -0
  475. data/lib/assets/sets/set1/white/003#01Body/004#white_body-07.png +0 -0
  476. data/lib/assets/sets/set1/white/003#01Body/005#white_body-02.png +0 -0
  477. data/lib/assets/sets/set1/white/003#01Body/006#white_body-05.png +0 -0
  478. data/lib/assets/sets/set1/white/003#01Body/007#white_body-09.png +0 -0
  479. data/lib/assets/sets/set1/white/003#01Body/008#white_body-03.png +0 -0
  480. data/lib/assets/sets/set1/white/003#01Body/009#white_body-10.png +0 -0
  481. data/lib/assets/sets/set1/white/004#02Face/000#white_face-01.png +0 -0
  482. data/lib/assets/sets/set1/white/004#02Face/001#white_face-07.png +0 -0
  483. data/lib/assets/sets/set1/white/004#02Face/002#white_face-06.png +0 -0
  484. data/lib/assets/sets/set1/white/004#02Face/003#white_face-08.png +0 -0
  485. data/lib/assets/sets/set1/white/004#02Face/004#white_face-10.png +0 -0
  486. data/lib/assets/sets/set1/white/004#02Face/005#white_face-09.png +0 -0
  487. data/lib/assets/sets/set1/white/004#02Face/006#white_face-05.png +0 -0
  488. data/lib/assets/sets/set1/white/004#02Face/007#white_face-04.png +0 -0
  489. data/lib/assets/sets/set1/white/004#02Face/008#white_face-03.png +0 -0
  490. data/lib/assets/sets/set1/white/004#02Face/009#white_face-02.png +0 -0
  491. data/lib/assets/sets/set1/yellow/000#Mouth/000#yellow_mouth-03.png +0 -0
  492. data/lib/assets/sets/set1/yellow/000#Mouth/001#yellow_mouth-02.png +0 -0
  493. data/lib/assets/sets/set1/yellow/000#Mouth/002#yellow_mouth-06.png +0 -0
  494. data/lib/assets/sets/set1/yellow/000#Mouth/003#yellow_mouth-01.png +0 -0
  495. data/lib/assets/sets/set1/yellow/000#Mouth/004#yellow_mouth-09.png +0 -0
  496. data/lib/assets/sets/set1/yellow/000#Mouth/005#yellow_mouth-04.png +0 -0
  497. data/lib/assets/sets/set1/yellow/000#Mouth/006#yellow_mouth-08.png +0 -0
  498. data/lib/assets/sets/set1/yellow/000#Mouth/007#yellow_mouth-05.png +0 -0
  499. data/lib/assets/sets/set1/yellow/000#Mouth/008#yellow_mouth-10.png +0 -0
  500. data/lib/assets/sets/set1/yellow/000#Mouth/009#yellow_mouth-07.png +0 -0
  501. data/lib/assets/sets/set1/yellow/001#Eyes/000#yellow_eyes-10.png +0 -0
  502. data/lib/assets/sets/set1/yellow/001#Eyes/001#yellow_eyes-09.png +0 -0
  503. data/lib/assets/sets/set1/yellow/001#Eyes/002#yellow_eyes-02.png +0 -0
  504. data/lib/assets/sets/set1/yellow/001#Eyes/003#yellow_eyes-03.png +0 -0
  505. data/lib/assets/sets/set1/yellow/001#Eyes/004#yellow_eyes-07.png +0 -0
  506. data/lib/assets/sets/set1/yellow/001#Eyes/005#yellow_eyes-01.png +0 -0
  507. data/lib/assets/sets/set1/yellow/001#Eyes/006#yellow_eyes-05.png +0 -0
  508. data/lib/assets/sets/set1/yellow/001#Eyes/007#yellow_eyes-08.png +0 -0
  509. data/lib/assets/sets/set1/yellow/001#Eyes/008#yellow_eyes-04.png +0 -0
  510. data/lib/assets/sets/set1/yellow/001#Eyes/009#yellow_eyes-06.png +0 -0
  511. data/lib/assets/sets/set1/yellow/002#Accessory/000#yellow__accessory-07.png +0 -0
  512. data/lib/assets/sets/set1/yellow/002#Accessory/001#yellow__accessory-09.png +0 -0
  513. data/lib/assets/sets/set1/yellow/002#Accessory/002#yellow__accessory-10.png +0 -0
  514. data/lib/assets/sets/set1/yellow/002#Accessory/003#yellow__accessory-05.png +0 -0
  515. data/lib/assets/sets/set1/yellow/002#Accessory/004#yellow__accessory-06.png +0 -0
  516. data/lib/assets/sets/set1/yellow/002#Accessory/005#yellow__accessory-03.png +0 -0
  517. data/lib/assets/sets/set1/yellow/002#Accessory/006#yellow__accessory-04.png +0 -0
  518. data/lib/assets/sets/set1/yellow/002#Accessory/007#yellow__accessory-02.png +0 -0
  519. data/lib/assets/sets/set1/yellow/002#Accessory/008#yellow__accessory-01.png +0 -0
  520. data/lib/assets/sets/set1/yellow/002#Accessory/009#yellow__accessory-08.png +0 -0
  521. data/lib/assets/sets/set1/yellow/003#01Body/000#yellow_body-04.png +0 -0
  522. data/lib/assets/sets/set1/yellow/003#01Body/001#yellow_body-06.png +0 -0
  523. data/lib/assets/sets/set1/yellow/003#01Body/002#yellow_body-09.png +0 -0
  524. data/lib/assets/sets/set1/yellow/003#01Body/003#yellow_body-07.png +0 -0
  525. data/lib/assets/sets/set1/yellow/003#01Body/004#yellow_body-02.png +0 -0
  526. data/lib/assets/sets/set1/yellow/003#01Body/005#yellow_body-10.png +0 -0
  527. data/lib/assets/sets/set1/yellow/003#01Body/006#yellow_body-05.png +0 -0
  528. data/lib/assets/sets/set1/yellow/003#01Body/007#yellow_body-03.png +0 -0
  529. data/lib/assets/sets/set1/yellow/003#01Body/008#yellow_body-08.png +0 -0
  530. data/lib/assets/sets/set1/yellow/003#01Body/009#yellow_body-01.png +0 -0
  531. data/lib/assets/sets/set1/yellow/004#02Face/000#yellow_face-02.png +0 -0
  532. data/lib/assets/sets/set1/yellow/004#02Face/001#yellow_face-08.png +0 -0
  533. data/lib/assets/sets/set1/yellow/004#02Face/002#yellow_face-05.png +0 -0
  534. data/lib/assets/sets/set1/yellow/004#02Face/003#yellow_face-04.png +0 -0
  535. data/lib/assets/sets/set1/yellow/004#02Face/004#yellow_face-10.png +0 -0
  536. data/lib/assets/sets/set1/yellow/004#02Face/005#yellow_face-06.png +0 -0
  537. data/lib/assets/sets/set1/yellow/004#02Face/006#yellow_face-01.png +0 -0
  538. data/lib/assets/sets/set1/yellow/004#02Face/007#yellow_face-09.png +0 -0
  539. data/lib/assets/sets/set1/yellow/004#02Face/008#yellow_face-03.png +0 -0
  540. data/lib/assets/sets/set1/yellow/004#02Face/009#yellow_face-07.png +0 -0
  541. data/lib/assets/sets/set2/000#04Body/000#final3.png +0 -0
  542. data/lib/assets/sets/set2/000#04Body/001#final2.png +0 -0
  543. data/lib/assets/sets/set2/000#04Body/002#final4.png +0 -0
  544. data/lib/assets/sets/set2/000#04Body/003#final5.png +0 -0
  545. data/lib/assets/sets/set2/000#04Body/004#final9.png +0 -0
  546. data/lib/assets/sets/set2/000#04Body/005#final7.png +0 -0
  547. data/lib/assets/sets/set2/000#04Body/006#final10.png +0 -0
  548. data/lib/assets/sets/set2/000#04Body/007#final6.png +0 -0
  549. data/lib/assets/sets/set2/000#04Body/008#final8.png +0 -0
  550. data/lib/assets/sets/set2/000#04Body/009#final1.png +0 -0
  551. data/lib/assets/sets/set2/001#Mouth/000#final3.png +0 -0
  552. data/lib/assets/sets/set2/001#Mouth/001#final2.png +0 -0
  553. data/lib/assets/sets/set2/001#Mouth/002#final4.png +0 -0
  554. data/lib/assets/sets/set2/001#Mouth/003#final5.png +0 -0
  555. data/lib/assets/sets/set2/001#Mouth/004#final9.png +0 -0
  556. data/lib/assets/sets/set2/001#Mouth/005#final7.png +0 -0
  557. data/lib/assets/sets/set2/001#Mouth/006#final10.png +0 -0
  558. data/lib/assets/sets/set2/001#Mouth/007#final6.png +0 -0
  559. data/lib/assets/sets/set2/001#Mouth/008#final8.png +0 -0
  560. data/lib/assets/sets/set2/001#Mouth/009#final1.png +0 -0
  561. data/lib/assets/sets/set2/002#Eyes/000#final3.png +0 -0
  562. data/lib/assets/sets/set2/002#Eyes/001#final2.png +0 -0
  563. data/lib/assets/sets/set2/002#Eyes/002#final4.png +0 -0
  564. data/lib/assets/sets/set2/002#Eyes/003#final5.png +0 -0
  565. data/lib/assets/sets/set2/002#Eyes/004#final9.png +0 -0
  566. data/lib/assets/sets/set2/002#Eyes/005#final7.png +0 -0
  567. data/lib/assets/sets/set2/002#Eyes/006#final10.png +0 -0
  568. data/lib/assets/sets/set2/002#Eyes/007#final6.png +0 -0
  569. data/lib/assets/sets/set2/002#Eyes/008#final8.png +0 -0
  570. data/lib/assets/sets/set2/002#Eyes/009#final1.png +0 -0
  571. data/lib/assets/sets/set2/003#02BodyColors/000#final3.png +0 -0
  572. data/lib/assets/sets/set2/003#02BodyColors/001#final2.png +0 -0
  573. data/lib/assets/sets/set2/003#02BodyColors/002#final4.png +0 -0
  574. data/lib/assets/sets/set2/003#02BodyColors/003#final5.png +0 -0
  575. data/lib/assets/sets/set2/003#02BodyColors/004#final9.png +0 -0
  576. data/lib/assets/sets/set2/003#02BodyColors/005#final7.png +0 -0
  577. data/lib/assets/sets/set2/003#02BodyColors/006#final10.png +0 -0
  578. data/lib/assets/sets/set2/003#02BodyColors/007#final6.png +0 -0
  579. data/lib/assets/sets/set2/003#02BodyColors/008#final8.png +0 -0
  580. data/lib/assets/sets/set2/003#02BodyColors/009#final1.png +0 -0
  581. data/lib/assets/sets/set2/004#01FaceColors/000#final3.png +0 -0
  582. data/lib/assets/sets/set2/004#01FaceColors/001#final2.png +0 -0
  583. data/lib/assets/sets/set2/004#01FaceColors/002#final4.png +0 -0
  584. data/lib/assets/sets/set2/004#01FaceColors/003#final5.png +0 -0
  585. data/lib/assets/sets/set2/004#01FaceColors/004#final9.png +0 -0
  586. data/lib/assets/sets/set2/004#01FaceColors/005#final7.png +0 -0
  587. data/lib/assets/sets/set2/004#01FaceColors/006#final10.png +0 -0
  588. data/lib/assets/sets/set2/004#01FaceColors/007#final6.png +0 -0
  589. data/lib/assets/sets/set2/004#01FaceColors/008#final8.png +0 -0
  590. data/lib/assets/sets/set2/004#01FaceColors/009#final1.png +0 -0
  591. data/lib/assets/sets/set2/005#Nose/000#final3.png +0 -0
  592. data/lib/assets/sets/set2/005#Nose/001#final2.png +0 -0
  593. data/lib/assets/sets/set2/005#Nose/002#final4.png +0 -0
  594. data/lib/assets/sets/set2/005#Nose/003#final5.png +0 -0
  595. data/lib/assets/sets/set2/005#Nose/004#final9.png +0 -0
  596. data/lib/assets/sets/set2/005#Nose/005#final7.png +0 -0
  597. data/lib/assets/sets/set2/005#Nose/006#final10.png +0 -0
  598. data/lib/assets/sets/set2/005#Nose/007#final6.png +0 -0
  599. data/lib/assets/sets/set2/005#Nose/008#final8.png +0 -0
  600. data/lib/assets/sets/set2/005#Nose/009#final1.png +0 -0
  601. data/lib/assets/sets/set2/006#03Faces/000#final16.png +0 -0
  602. data/lib/assets/sets/set2/006#03Faces/001#final12.png +0 -0
  603. data/lib/assets/sets/set2/006#03Faces/002#final13.png +0 -0
  604. data/lib/assets/sets/set2/006#03Faces/003#final11.png +0 -0
  605. data/lib/assets/sets/set2/006#03Faces/004#final3.png +0 -0
  606. data/lib/assets/sets/set2/006#03Faces/005#final15.png +0 -0
  607. data/lib/assets/sets/set2/006#03Faces/006#final2.png +0 -0
  608. data/lib/assets/sets/set2/006#03Faces/007#final4.png +0 -0
  609. data/lib/assets/sets/set2/006#03Faces/008#final5.png +0 -0
  610. data/lib/assets/sets/set2/006#03Faces/009#final14.png +0 -0
  611. data/lib/assets/sets/set2/006#03Faces/010#final9.png +0 -0
  612. data/lib/assets/sets/set2/006#03Faces/011#final7.png +0 -0
  613. data/lib/assets/sets/set2/006#03Faces/012#final10.png +0 -0
  614. data/lib/assets/sets/set2/006#03Faces/013#final6.png +0 -0
  615. data/lib/assets/sets/set2/006#03Faces/014#final8.png +0 -0
  616. data/lib/assets/sets/set2/006#03Faces/015#final1.png +0 -0
  617. data/lib/assets/sets/set3/000#07Mouth/000#Robot-Design9.png +0 -0
  618. data/lib/assets/sets/set3/000#07Mouth/001#Robot-Design7.png +0 -0
  619. data/lib/assets/sets/set3/000#07Mouth/002#Robot-Design1.png +0 -0
  620. data/lib/assets/sets/set3/000#07Mouth/003#Robot-Design5.png +0 -0
  621. data/lib/assets/sets/set3/000#07Mouth/004#Robot-Design2.png +0 -0
  622. data/lib/assets/sets/set3/000#07Mouth/005#Robot-Design6.png +0 -0
  623. data/lib/assets/sets/set3/000#07Mouth/006#Robot-Design3.png +0 -0
  624. data/lib/assets/sets/set3/000#07Mouth/007#Robot-Design8.png +0 -0
  625. data/lib/assets/sets/set3/000#07Mouth/008#Robot-Design4.png +0 -0
  626. data/lib/assets/sets/set3/001#02Wave/000#wave1.png +0 -0
  627. data/lib/assets/sets/set3/002#05Eyebrows/000#Robot-Design9.png +0 -0
  628. data/lib/assets/sets/set3/002#05Eyebrows/001#Robot-Design7.png +0 -0
  629. data/lib/assets/sets/set3/002#05Eyebrows/002#Robot-Design1.png +0 -0
  630. data/lib/assets/sets/set3/002#05Eyebrows/003#Robot-Design5.png +0 -0
  631. data/lib/assets/sets/set3/002#05Eyebrows/004#Robot-Design2.png +0 -0
  632. data/lib/assets/sets/set3/002#05Eyebrows/005#Robot-Design11.png +0 -0
  633. data/lib/assets/sets/set3/002#05Eyebrows/006#Robot-Design6.png +0 -0
  634. data/lib/assets/sets/set3/002#05Eyebrows/007#Robot-Design3.png +0 -0
  635. data/lib/assets/sets/set3/002#05Eyebrows/008#Robot-Design12.png +0 -0
  636. data/lib/assets/sets/set3/002#05Eyebrows/009#Robot-Design8.png +0 -0
  637. data/lib/assets/sets/set3/002#05Eyebrows/010#Robot-Design10.png +0 -0
  638. data/lib/assets/sets/set3/002#05Eyebrows/011#Robot-Design4.png +0 -0
  639. data/lib/assets/sets/set3/003#04Eyes/000#Robot-Design9.png +0 -0
  640. data/lib/assets/sets/set3/003#04Eyes/001#Robot-Design7.png +0 -0
  641. data/lib/assets/sets/set3/003#04Eyes/002#Robot-Design1.png +0 -0
  642. data/lib/assets/sets/set3/003#04Eyes/003#Robot-Design5.png +0 -0
  643. data/lib/assets/sets/set3/003#04Eyes/004#Robot-Design2.png +0 -0
  644. data/lib/assets/sets/set3/003#04Eyes/005#Robot-Design11.png +0 -0
  645. data/lib/assets/sets/set3/003#04Eyes/006#Robot-Design6.png +0 -0
  646. data/lib/assets/sets/set3/003#04Eyes/007#Robot-Design3.png +0 -0
  647. data/lib/assets/sets/set3/003#04Eyes/008#Robot-Design12.png +0 -0
  648. data/lib/assets/sets/set3/003#04Eyes/009#Robot-Design8.png +0 -0
  649. data/lib/assets/sets/set3/003#04Eyes/010#Robot-Design10.png +0 -0
  650. data/lib/assets/sets/set3/003#04Eyes/011#Robot-Design4.png +0 -0
  651. data/lib/assets/sets/set3/004#06Nose/000#Robot-Design9.png +0 -0
  652. data/lib/assets/sets/set3/004#06Nose/001#Robot-Design7.png +0 -0
  653. data/lib/assets/sets/set3/004#06Nose/002#Robot-Design1.png +0 -0
  654. data/lib/assets/sets/set3/004#06Nose/003#Robot-Design5.png +0 -0
  655. data/lib/assets/sets/set3/004#06Nose/004#Robot-Design2.png +0 -0
  656. data/lib/assets/sets/set3/004#06Nose/005#Robot-Design11.png +0 -0
  657. data/lib/assets/sets/set3/004#06Nose/006#Robot-Design6.png +0 -0
  658. data/lib/assets/sets/set3/004#06Nose/007#Robot-Design3.png +0 -0
  659. data/lib/assets/sets/set3/004#06Nose/008#Robot-Design8.png +0 -0
  660. data/lib/assets/sets/set3/004#06Nose/009#Robot-Design10.png +0 -0
  661. data/lib/assets/sets/set3/004#06Nose/010#Robot-Design4.png +0 -0
  662. data/lib/assets/sets/set3/005#01BaseFace/000#Robot-Design71.png +0 -0
  663. data/lib/assets/sets/set3/005#01BaseFace/001#Robot-Design9.png +0 -0
  664. data/lib/assets/sets/set3/005#01BaseFace/002#Robot-Design43.png +0 -0
  665. data/lib/assets/sets/set3/005#01BaseFace/003#Robot-Design32.png +0 -0
  666. data/lib/assets/sets/set3/005#01BaseFace/004#Robot-Design75.png +0 -0
  667. data/lib/assets/sets/set3/005#01BaseFace/005#Robot-Design40.png +0 -0
  668. data/lib/assets/sets/set3/005#01BaseFace/006#Robot-Design37.png +0 -0
  669. data/lib/assets/sets/set3/005#01BaseFace/007#Robot-Design60.png +0 -0
  670. data/lib/assets/sets/set3/005#01BaseFace/008#Robot-Design64.png +0 -0
  671. data/lib/assets/sets/set3/005#01BaseFace/009#Robot-Design48.png +0 -0
  672. data/lib/assets/sets/set3/005#01BaseFace/010#Robot-Design24.png +0 -0
  673. data/lib/assets/sets/set3/005#01BaseFace/011#Robot-Design13.png +0 -0
  674. data/lib/assets/sets/set3/005#01BaseFace/012#Robot-Design21.png +0 -0
  675. data/lib/assets/sets/set3/005#01BaseFace/013#Robot-Design7.png +0 -0
  676. data/lib/assets/sets/set3/005#01BaseFace/014#Robot-Design36.png +0 -0
  677. data/lib/assets/sets/set3/005#01BaseFace/015#Robot-Design1.png +0 -0
  678. data/lib/assets/sets/set3/005#01BaseFace/016#Robot-Design81.png +0 -0
  679. data/lib/assets/sets/set3/005#01BaseFace/017#Robot-Design58.png +0 -0
  680. data/lib/assets/sets/set3/005#01BaseFace/018#Robot-Design83.png +0 -0
  681. data/lib/assets/sets/set3/005#01BaseFace/019#Robot-Design86.png +0 -0
  682. data/lib/assets/sets/set3/005#01BaseFace/020#Robot-Design5.png +0 -0
  683. data/lib/assets/sets/set3/005#01BaseFace/021#Robot-Design20.png +0 -0
  684. data/lib/assets/sets/set3/005#01BaseFace/022#Robot-Design2.png +0 -0
  685. data/lib/assets/sets/set3/005#01BaseFace/023#Robot-Design88.png +0 -0
  686. data/lib/assets/sets/set3/005#01BaseFace/024#Robot-Design25.png +0 -0
  687. data/lib/assets/sets/set3/005#01BaseFace/025#Robot-Design42.png +0 -0
  688. data/lib/assets/sets/set3/005#01BaseFace/026#Robot-Design27.png +0 -0
  689. data/lib/assets/sets/set3/005#01BaseFace/027#Robot-Design63.png +0 -0
  690. data/lib/assets/sets/set3/005#01BaseFace/028#Robot-Design30.png +0 -0
  691. data/lib/assets/sets/set3/005#01BaseFace/029#Robot-Design80.png +0 -0
  692. data/lib/assets/sets/set3/005#01BaseFace/030#Robot-Design28.png +0 -0
  693. data/lib/assets/sets/set3/005#01BaseFace/031#Robot-Design59.png +0 -0
  694. data/lib/assets/sets/set3/005#01BaseFace/032#Robot-Design35.png +0 -0
  695. data/lib/assets/sets/set3/005#01BaseFace/033#Robot-Design46.png +0 -0
  696. data/lib/assets/sets/set3/005#01BaseFace/034#Robot-Design17.png +0 -0
  697. data/lib/assets/sets/set3/005#01BaseFace/035#Robot-Design51.png +0 -0
  698. data/lib/assets/sets/set3/005#01BaseFace/036#Robot-Design57.png +0 -0
  699. data/lib/assets/sets/set3/005#01BaseFace/037#Robot-Design15.png +0 -0
  700. data/lib/assets/sets/set3/005#01BaseFace/038#Robot-Design62.png +0 -0
  701. data/lib/assets/sets/set3/005#01BaseFace/039#Robot-Design49.png +0 -0
  702. data/lib/assets/sets/set3/005#01BaseFace/040#Robot-Design72.png +0 -0
  703. data/lib/assets/sets/set3/005#01BaseFace/041#Robot-Design54.png +0 -0
  704. data/lib/assets/sets/set3/005#01BaseFace/042#Robot-Design90.png +0 -0
  705. data/lib/assets/sets/set3/005#01BaseFace/043#Robot-Design82.png +0 -0
  706. data/lib/assets/sets/set3/005#01BaseFace/044#Robot-Design31.png +0 -0
  707. data/lib/assets/sets/set3/005#01BaseFace/045#Robot-Design84.png +0 -0
  708. data/lib/assets/sets/set3/005#01BaseFace/046#Robot-Design74.png +0 -0
  709. data/lib/assets/sets/set3/005#01BaseFace/047#Robot-Design11.png +0 -0
  710. data/lib/assets/sets/set3/005#01BaseFace/048#Robot-Design69.png +0 -0
  711. data/lib/assets/sets/set3/005#01BaseFace/049#Robot-Design53.png +0 -0
  712. data/lib/assets/sets/set3/005#01BaseFace/050#Robot-Design78.png +0 -0
  713. data/lib/assets/sets/set3/005#01BaseFace/051#Robot-Design16.png +0 -0
  714. data/lib/assets/sets/set3/005#01BaseFace/052#Robot-Design87.png +0 -0
  715. data/lib/assets/sets/set3/005#01BaseFace/053#Robot-Design14.png +0 -0
  716. data/lib/assets/sets/set3/005#01BaseFace/054#Robot-Design6.png +0 -0
  717. data/lib/assets/sets/set3/005#01BaseFace/055#Robot-Design73.png +0 -0
  718. data/lib/assets/sets/set3/005#01BaseFace/056#Robot-Design47.png +0 -0
  719. data/lib/assets/sets/set3/005#01BaseFace/057#Robot-Design23.png +0 -0
  720. data/lib/assets/sets/set3/005#01BaseFace/058#Robot-Design50.png +0 -0
  721. data/lib/assets/sets/set3/005#01BaseFace/059#Robot-Design65.png +0 -0
  722. data/lib/assets/sets/set3/005#01BaseFace/060#Robot-Design19.png +0 -0
  723. data/lib/assets/sets/set3/005#01BaseFace/061#Robot-Design66.png +0 -0
  724. data/lib/assets/sets/set3/005#01BaseFace/062#Robot-Design76.png +0 -0
  725. data/lib/assets/sets/set3/005#01BaseFace/063#Robot-Design77.png +0 -0
  726. data/lib/assets/sets/set3/005#01BaseFace/064#Robot-Design38.png +0 -0
  727. data/lib/assets/sets/set3/005#01BaseFace/065#Robot-Design85.png +0 -0
  728. data/lib/assets/sets/set3/005#01BaseFace/066#Robot-Design3.png +0 -0
  729. data/lib/assets/sets/set3/005#01BaseFace/067#Robot-Design67.png +0 -0
  730. data/lib/assets/sets/set3/005#01BaseFace/068#Robot-Design12.png +0 -0
  731. data/lib/assets/sets/set3/005#01BaseFace/069#Robot-Design18.png +0 -0
  732. data/lib/assets/sets/set3/005#01BaseFace/070#Robot-Design56.png +0 -0
  733. data/lib/assets/sets/set3/005#01BaseFace/071#Robot-Design8.png +0 -0
  734. data/lib/assets/sets/set3/005#01BaseFace/072#Robot-Design55.png +0 -0
  735. data/lib/assets/sets/set3/005#01BaseFace/073#Robot-Design89.png +0 -0
  736. data/lib/assets/sets/set3/005#01BaseFace/074#Robot-Design61.png +0 -0
  737. data/lib/assets/sets/set3/005#01BaseFace/075#Robot-Design52.png +0 -0
  738. data/lib/assets/sets/set3/005#01BaseFace/076#Robot-Design70.png +0 -0
  739. data/lib/assets/sets/set3/005#01BaseFace/077#Robot-Design45.png +0 -0
  740. data/lib/assets/sets/set3/005#01BaseFace/078#Robot-Design34.png +0 -0
  741. data/lib/assets/sets/set3/005#01BaseFace/079#Robot-Design41.png +0 -0
  742. data/lib/assets/sets/set3/005#01BaseFace/080#Robot-Design33.png +0 -0
  743. data/lib/assets/sets/set3/005#01BaseFace/081#Robot-Design29.png +0 -0
  744. data/lib/assets/sets/set3/005#01BaseFace/082#Robot-Design22.png +0 -0
  745. data/lib/assets/sets/set3/005#01BaseFace/083#Robot-Design10.png +0 -0
  746. data/lib/assets/sets/set3/005#01BaseFace/084#Robot-Design26.png +0 -0
  747. data/lib/assets/sets/set3/005#01BaseFace/085#Robot-Design68.png +0 -0
  748. data/lib/assets/sets/set3/005#01BaseFace/086#Robot-Design39.png +0 -0
  749. data/lib/assets/sets/set3/005#01BaseFace/087#Robot-Design4.png +0 -0
  750. data/lib/assets/sets/set3/005#01BaseFace/088#Robot-Design79.png +0 -0
  751. data/lib/assets/sets/set3/005#01BaseFace/089#Robot-Design44.png +0 -0
  752. data/lib/assets/sets/set3/006#03Antenna/000#Robot-Design9.png +0 -0
  753. data/lib/assets/sets/set3/006#03Antenna/001#Robot-Design7.png +0 -0
  754. data/lib/assets/sets/set3/006#03Antenna/002#Robot-Design1.png +0 -0
  755. data/lib/assets/sets/set3/006#03Antenna/003#Robot-Design5.png +0 -0
  756. data/lib/assets/sets/set3/006#03Antenna/004#Robot-Design2.png +0 -0
  757. data/lib/assets/sets/set3/006#03Antenna/005#Robot-Design6.png +0 -0
  758. data/lib/assets/sets/set3/006#03Antenna/006#Robot-Design3.png +0 -0
  759. data/lib/assets/sets/set3/006#03Antenna/007#Robot-Design8.png +0 -0
  760. data/lib/assets/sets/set3/006#03Antenna/008#Robot-Design10.png +0 -0
  761. data/lib/assets/sets/set3/006#03Antenna/009#Robot-Design4.png +0 -0
  762. data/lib/assets/sets/set4/000#00body/000#body0.png +0 -0
  763. data/lib/assets/sets/set4/000#00body/001#body1.png +0 -0
  764. data/lib/assets/sets/set4/000#00body/002#body2.png +0 -0
  765. data/lib/assets/sets/set4/000#00body/003#body3.png +0 -0
  766. data/lib/assets/sets/set4/000#00body/004#body4.png +0 -0
  767. data/lib/assets/sets/set4/000#00body/005#body5.png +0 -0
  768. data/lib/assets/sets/set4/000#00body/006#body6.png +0 -0
  769. data/lib/assets/sets/set4/000#00body/007#body7.png +0 -0
  770. data/lib/assets/sets/set4/000#00body/008#body8.png +0 -0
  771. data/lib/assets/sets/set4/000#00body/009#body9.png +0 -0
  772. data/lib/assets/sets/set4/000#00body/010#body10.png +0 -0
  773. data/lib/assets/sets/set4/000#00body/011#body11.png +0 -0
  774. data/lib/assets/sets/set4/000#00body/012#body12.png +0 -0
  775. data/lib/assets/sets/set4/000#00body/013#body13.png +0 -0
  776. data/lib/assets/sets/set4/000#00body/014#body14.png +0 -0
  777. data/lib/assets/sets/set4/001#01fur/000#fur0.png +0 -0
  778. data/lib/assets/sets/set4/001#01fur/001#fur1.png +0 -0
  779. data/lib/assets/sets/set4/001#01fur/002#fur2.png +0 -0
  780. data/lib/assets/sets/set4/001#01fur/003#fur3.png +0 -0
  781. data/lib/assets/sets/set4/001#01fur/004#fur4.png +0 -0
  782. data/lib/assets/sets/set4/001#01fur/005#fur5.png +0 -0
  783. data/lib/assets/sets/set4/001#01fur/006#fur6.png +0 -0
  784. data/lib/assets/sets/set4/001#01fur/007#fur7.png +0 -0
  785. data/lib/assets/sets/set4/001#01fur/008#fur8.png +0 -0
  786. data/lib/assets/sets/set4/001#01fur/009#fur9.png +0 -0
  787. data/lib/assets/sets/set4/002#02eyes/000#eyes0.png +0 -0
  788. data/lib/assets/sets/set4/002#02eyes/001#eyes1.png +0 -0
  789. data/lib/assets/sets/set4/002#02eyes/002#eyes2.png +0 -0
  790. data/lib/assets/sets/set4/002#02eyes/003#eyes3.png +0 -0
  791. data/lib/assets/sets/set4/002#02eyes/004#eyes4.png +0 -0
  792. data/lib/assets/sets/set4/002#02eyes/005#eyes5.png +0 -0
  793. data/lib/assets/sets/set4/002#02eyes/006#eyes6.png +0 -0
  794. data/lib/assets/sets/set4/002#02eyes/007#eyes7.png +0 -0
  795. data/lib/assets/sets/set4/002#02eyes/008#eyes8.png +0 -0
  796. data/lib/assets/sets/set4/002#02eyes/009#eyes9.png +0 -0
  797. data/lib/assets/sets/set4/002#02eyes/010#eyes10.png +0 -0
  798. data/lib/assets/sets/set4/002#02eyes/011#eyes11.png +0 -0
  799. data/lib/assets/sets/set4/002#02eyes/012#eyes12.png +0 -0
  800. data/lib/assets/sets/set4/002#02eyes/013#eyes13.png +0 -0
  801. data/lib/assets/sets/set4/002#02eyes/014#eyes14.png +0 -0
  802. data/lib/assets/sets/set4/003#03mouth/000#mouth0.png +0 -0
  803. data/lib/assets/sets/set4/003#03mouth/001#mouth1.png +0 -0
  804. data/lib/assets/sets/set4/003#03mouth/002#mouth2.png +0 -0
  805. data/lib/assets/sets/set4/003#03mouth/003#mouth3.png +0 -0
  806. data/lib/assets/sets/set4/003#03mouth/004#mouth4.png +0 -0
  807. data/lib/assets/sets/set4/003#03mouth/005#mouth5.png +0 -0
  808. data/lib/assets/sets/set4/003#03mouth/006#mouth6.png +0 -0
  809. data/lib/assets/sets/set4/003#03mouth/007#mouth7.png +0 -0
  810. data/lib/assets/sets/set4/003#03mouth/008#mouth8.png +0 -0
  811. data/lib/assets/sets/set4/003#03mouth/009#mouth9.png +0 -0
  812. data/lib/assets/sets/set4/004#04accessories/000#accessory0.png +0 -0
  813. data/lib/assets/sets/set4/004#04accessories/001#accessory1.png +0 -0
  814. data/lib/assets/sets/set4/004#04accessories/002#accessory2.png +0 -0
  815. data/lib/assets/sets/set4/004#04accessories/003#accessory3.png +0 -0
  816. data/lib/assets/sets/set4/004#04accessories/004#accessory4.png +0 -0
  817. data/lib/assets/sets/set4/004#04accessories/005#accessory5.png +0 -0
  818. data/lib/assets/sets/set4/004#04accessories/006#accessory6.png +0 -0
  819. data/lib/assets/sets/set4/004#04accessories/007#accessory7.png +0 -0
  820. data/lib/assets/sets/set4/004#04accessories/008#accessory8.png +0 -0
  821. data/lib/assets/sets/set4/004#04accessories/009#accessory9.png +0 -0
  822. data/lib/assets/sets/set4/004#04accessories/010#accessory10.png +0 -0
  823. data/lib/assets/sets/set4/004#04accessories/011#accessory11.png +0 -0
  824. data/lib/assets/sets/set4/004#04accessories/012#accessory12.png +0 -0
  825. data/lib/assets/sets/set4/004#04accessories/013#accessory13.png +0 -0
  826. data/lib/assets/sets/set4/004#04accessories/014#accessory14.png +0 -0
  827. data/lib/assets/sets/set4/004#04accessories/015#accessory15.png +0 -0
  828. data/lib/rubohash/factory.rb +207 -0
  829. data/lib/rubohash/robot.rb +14 -0
  830. data/lib/rubohash/version.rb +5 -0
  831. data/lib/rubohash.rb +139 -0
  832. data/output/.gitkeep +0 -0
  833. data/rubohash.gemspec +36 -0
  834. metadata +973 -0
@@ -0,0 +1,207 @@
1
+ require 'fileutils'
2
+
3
+ # Rubohash namespace
4
+ module Rubohash
5
+ # The factory which builds robots
6
+ class Factory
7
+ attr_accessor :my_hash_array, :my_digest, :remove_extensions, :my_format, :string
8
+
9
+ # Setup defaults for the factory
10
+ def initialize(string = nil, my_format = nil)
11
+ self.string = string
12
+ self.remove_extensions = true
13
+ self.my_format = my_format
14
+ self.my_format ||= Rubohash.default_format
15
+ self.my_digest = make_digest(string)
16
+ self.my_hash_array = create_hashes([], my_digest, 11)
17
+ end
18
+
19
+ # Build the SHA512 checksum based on string
20
+ def make_digest(string)
21
+ string = remove_extensions(string)
22
+ Digest::SHA512.hexdigest(string)
23
+ end
24
+
25
+ # Strip out the specified extensions from string
26
+ def remove_extensions(string)
27
+ Rubohash.default_extensions.any? do |ext|
28
+ if string.end_with?(ext)
29
+ return string[0...string.rindex('.')]
30
+ else
31
+ return string
32
+ end
33
+ end
34
+ end
35
+
36
+ # Breaks up our hash into slots, so we can pull them out later.
37
+ # Essentially, it splits our SHA/MD5/etc into X parts.
38
+ def create_hashes(my_hash_array, digest, kount)
39
+ blocksize = (digest.length / kount).to_i
40
+ (0...kount.to_i).each do |iter|
41
+ currentstart = (1 + iter) * blocksize - blocksize
42
+ currentend = (1 + iter) * blocksize
43
+ digest_subset = digest[currentstart...currentend]
44
+ range = digest_subset.to_i(16)
45
+ my_hash_array.push(range)
46
+ end
47
+ my_hash_array
48
+ end
49
+
50
+ # List directories for the given path
51
+ def list_directories(path)
52
+ Dir.entries(path).select do |entry|
53
+ next if %w[. ..].include?(entry)
54
+ File.directory?(File.join(path, entry))
55
+ end.sort
56
+ end
57
+
58
+ # List files from the given path
59
+ def list_files(path)
60
+ Dir.glob("#{path}/**").reject do |entry|
61
+ next if %w[. ..].include?(entry)
62
+ File.directory?(entry)
63
+ end.sort
64
+ end
65
+
66
+ # Get the random parts for the robot
67
+ # eyes, ears, etc...
68
+ def get_list_of_files(path)
69
+ # Get all subdirectories
70
+ # sets/set1/blue
71
+ directories = Dir.glob("#{path}/**").select do |entry|
72
+ next if %w[. ..].include?(entry)
73
+ File.directory?(entry)
74
+ end.sort
75
+
76
+ # This is to index into the proper place in the hash array
77
+ iter = 4
78
+ directories.map do |dir|
79
+ files = Dir.entries(dir).reject { |k| %w[. ..].include?(k) }.sort
80
+ sample = files[my_hash_array[iter] % files.length]
81
+ iter += 1
82
+ [dir, sample].join('/')
83
+ end
84
+ end
85
+
86
+ # Default asset path
87
+ def resource_dir
88
+ File.expand_path('../assets', File.dirname(__FILE__))
89
+ end
90
+
91
+ # Where are the sets located
92
+ def sets
93
+ list_directories("#{resource_dir}/sets")
94
+ end
95
+
96
+ # Where are the background sets located
97
+ def bg_sets
98
+ list_directories("#{resource_dir}/backgrounds")
99
+ end
100
+
101
+ # Where are the color sets located for set1
102
+ def colors
103
+ list_directories("#{resource_dir}/sets/set1")
104
+ end
105
+
106
+ # Assemble our robot from elements from the hash_array
107
+ # TODO: see if this file already exists
108
+ def assemble
109
+ # Find Our sets
110
+ # IF it is set1, pick a random color
111
+ robot = Rubohash::Robot.new(build_robot_attrs)
112
+
113
+ roboparts = get_list_of_files(robot.my_set).sort_by { |k| k.split('#')[1] }
114
+ robot.parts = roboparts
115
+
116
+ image = MiniMagick::Image.open(roboparts.first)
117
+ image = image.resize('1024x1024')
118
+
119
+ roboparts.each do |part|
120
+ img = MiniMagick::Image.open(part)
121
+ img = img.resize('1024x1024')
122
+ image = image.composite(img) do |c|
123
+ c.compose 'Over'
124
+ end
125
+ end
126
+
127
+ if Rubohash.use_background
128
+ # use the hash bits to get the actual sample
129
+ background_files = list_files(robot.my_background_set)
130
+
131
+ # Set background itself from hash bits
132
+ background_hash_key = my_hash_array[3] % background_files.size
133
+ background = background_files[background_hash_key]
134
+
135
+ bg = MiniMagick::Image.open(background)
136
+ bg = bg.resize('1024x1024')
137
+ image = image.composite(bg) do |c|
138
+ c.compose 'Dst_Over'
139
+ c.resize '300x300'
140
+ end
141
+ else
142
+ image = image.resize('300x300')
143
+ end
144
+
145
+ robot.name = string
146
+ robot.my_digest = my_digest
147
+
148
+ if Rubohash.mounted
149
+ # Just return the image
150
+ image
151
+ else
152
+ FileUtils.mkdir_p(Rubohash.robot_output_path)
153
+ path = File.join(Rubohash.robot_output_path, "#{robot.name}.#{self.my_format}")
154
+ puts "Writing Robot: '#{path}'"
155
+ image.write path
156
+ robot
157
+ end
158
+ end
159
+
160
+ private
161
+
162
+ # Build out robot attributes
163
+ def build_robot_attrs
164
+ if Rubohash.use_default_set
165
+ set = Rubohash.default_set
166
+ set_hash_key = nil
167
+ else
168
+ # Pull the set from the hash bits
169
+ set_hash_key = my_hash_array[1] % sets.length
170
+ set = sets[set_hash_key]
171
+ end
172
+
173
+ if Rubohash.use_default_bg_set
174
+ bg_sample = Rubohash.default_bg_set
175
+ bg_set_hash_key = nil
176
+ else
177
+ # Pull the background Set from the hash bits
178
+ bg_set_hash_key = my_hash_array[2] % bg_sets.length
179
+ bg_sample = bg_sets[bg_set_hash_key]
180
+ end
181
+
182
+ color = if set == 'set1'
183
+ # Pull the color for the hash bits
184
+ color_hash_key = my_hash_array[0] % colors.length
185
+ color_sample = colors[color_hash_key]
186
+
187
+ set = "set1/#{color_sample}"
188
+ color_sample
189
+ end
190
+
191
+ # Used to build the robot
192
+ {
193
+ my_set: [resource_dir, 'sets', set].join('/'),
194
+ my_color: color,
195
+ my_background_set: [resource_dir, 'backgrounds', bg_sample].join('/'),
196
+ set_hash_key: set_hash_key,
197
+ bg_set_hash_key: bg_set_hash_key,
198
+ color_hash_key: color_hash_key,
199
+ random: {
200
+ set: set,
201
+ color: color,
202
+ bg_sample: bg_sample
203
+ }
204
+ }
205
+ end
206
+ end
207
+ end
@@ -0,0 +1,14 @@
1
+ # Rubohash namespace
2
+ module Rubohash
3
+ # A Robot
4
+ class Robot
5
+ attr_accessor :my_set, :my_color, :my_background_set, :name, :parts, :my_digest
6
+
7
+ # Default the robot params
8
+ def initialize(params = {})
9
+ self.my_set = params.fetch(:my_set, nil)
10
+ self.my_color = params.fetch(:my_color, nil)
11
+ self.my_background_set = params.fetch(:my_background_set, nil)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,5 @@
1
+ # Rubohash namespace
2
+ module Rubohash
3
+ # The version number of this gem
4
+ VERSION = '0.1.1'.freeze
5
+ end
data/lib/rubohash.rb ADDED
@@ -0,0 +1,139 @@
1
+ require 'rubohash/version'
2
+
3
+ require 'securerandom'
4
+ require 'digest'
5
+ require 'logger'
6
+ require 'mini_magick'
7
+
8
+ require 'rubohash/factory'
9
+ require 'rubohash/robot'
10
+ MiniMagick.logger.level = Logger::WARN
11
+
12
+ # Rubohash namespace
13
+ module Rubohash
14
+ @default_extensions = %w[.png .gif .jpg .bmp .jpeg .ppm .datauri]
15
+ @default_set = 'set1'
16
+ @use_default_set = false
17
+ @robot_output_path = File.expand_path('output', Dir.pwd)
18
+ @default_format = 'png'
19
+ @default_bg_set = 'bg1'
20
+ @use_default_bg_set = false
21
+ @use_background = true
22
+ @mounted = false
23
+
24
+ def self.inspect
25
+ %i[
26
+ default_extensions
27
+ default_set
28
+ use_default_set
29
+ robot_output_path
30
+ default_format
31
+ default_bg_set
32
+ use_default_bg_set
33
+ use_background
34
+ mounted
35
+ ].each_with_object({}) do |k, obj|
36
+ obj[k] = Rubohash.instance_variable_get("@#{k}")
37
+ end
38
+ end
39
+
40
+ # Set the default extensions to strip out
41
+ def self.default_extensions=(my_default_extensions)
42
+ @default_extensions = my_default_extensions
43
+ end
44
+
45
+ # The default extensions to strip out
46
+ def self.default_extensions
47
+ @default_extensions
48
+ end
49
+
50
+ # Se the default image set to use
51
+ def self.default_set=(my_default_set)
52
+ @default_set = my_default_set
53
+ end
54
+
55
+ # Get the default image set to use
56
+ def self.default_set
57
+ @default_set
58
+ end
59
+
60
+ # Set whether we should use the default set?
61
+ def self.use_default_set=(my_use_default_set)
62
+ @use_default_set = my_use_default_set
63
+ end
64
+
65
+ # Are we using the default image set?
66
+ def self.use_default_set
67
+ @use_default_set
68
+ end
69
+
70
+ # Set where is the robot image going to be written to
71
+ def self.robot_output_path=(my_robot_output_path)
72
+ @robot_output_path = my_robot_output_path
73
+ end
74
+
75
+ # Where is the robot image going to be written to
76
+ def self.robot_output_path
77
+ @robot_output_path
78
+ end
79
+
80
+ # Set the default image output format
81
+ def self.default_format=(my_default_format)
82
+ @default_format = my_default_format
83
+ end
84
+
85
+ # Get the default image output format
86
+ def self.default_format
87
+ @default_format
88
+ end
89
+
90
+ # Set the default background set
91
+ def self.default_bg_set=(my_default_bg_set)
92
+ @default_bg_set = my_default_bg_set
93
+ end
94
+
95
+ # Get the default background set
96
+ def self.default_bg_set
97
+ @default_bg_set
98
+ end
99
+
100
+ # Set whether we should use the default background set
101
+ def self.use_default_bg_set=(my_use_default_bg_set)
102
+ @use_default_bg_set = my_use_default_bg_set
103
+ end
104
+
105
+ # Get whether we are using the default background set
106
+ def self.use_default_bg_set
107
+ @use_default_bg_set
108
+ end
109
+
110
+ # Set whether we should composite a background
111
+ def self.use_background=(my_use_background)
112
+ @use_background = my_use_background
113
+ end
114
+
115
+ # Get whether we should composite a background
116
+ def self.use_background
117
+ @use_background
118
+ end
119
+
120
+ # Set mounted to rails engine
121
+ def self.mounted=(my_mounted)
122
+ @mounted = my_mounted
123
+ end
124
+
125
+ # Get Mounted to rails engine
126
+ def self.mounted
127
+ @mounted
128
+ end
129
+
130
+ # Assemble a new robot based on string
131
+ def self.assemble!(string)
132
+ Rubohash::Factory.new(string).assemble
133
+ end
134
+
135
+ # Yield to a block to configure the gem
136
+ def self.configure
137
+ yield self
138
+ end
139
+ end
data/output/.gitkeep ADDED
File without changes
data/rubohash.gemspec ADDED
@@ -0,0 +1,36 @@
1
+
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rubohash/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'rubohash'
8
+ spec.version = Rubohash::VERSION
9
+ spec.authors = ['Mark Holmberg']
10
+ spec.email = ['mark.holmberg@icentris.com']
11
+
12
+ spec.summary = 'It generates SHA512 Robot Images.'
13
+ spec.description = 'Ruby adaptation of robohash.org'
14
+ spec.homepage = 'https://github.com/nedzib/rubohash'
15
+ spec.license = 'MIT'
16
+
17
+ spec.metadata = { 'homepage_uri' => spec.homepage }
18
+ spec.required_ruby_version = '>= 2.7'
19
+
20
+ # Specify which files should be added to the gem when it is released.
21
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
+ end
25
+ spec.bindir = 'exe'
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ spec.require_paths = ['lib']
28
+
29
+ spec.add_dependency 'mini_magick', '~> 4.9.4'
30
+
31
+ spec.add_development_dependency 'bundler', '~> 2.4'
32
+ spec.add_development_dependency 'rake', '~> 13.0'
33
+ spec.add_development_dependency 'rspec', '~> 3.12'
34
+ spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.20'
35
+ spec.add_development_dependency 'rubocop', '>= 1.60', '< 2.0'
36
+ end