multiarrangement 0.1.0__py3-none-any.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 (826) hide show
  1. coverlib/__init__.py +1 -0
  2. coverlib/api.py +71 -0
  3. coverlib/cache.py +53 -0
  4. coverlib/cli.py +50 -0
  5. coverlib/combinatorics.py +40 -0
  6. coverlib/fetchers.py +65 -0
  7. coverlib/optimizer.py +239 -0
  8. coverlib/repair.py +68 -0
  9. multiarrangement/__init__.py +488 -0
  10. multiarrangement/adaptive/__init__.py +18 -0
  11. multiarrangement/adaptive/adaptive_experiment.py +221 -0
  12. multiarrangement/adaptive/lift_weakest.py +577 -0
  13. multiarrangement/cli.py +393 -0
  14. multiarrangement/core/__init__.py +6 -0
  15. multiarrangement/core/batch_generator.py +947 -0
  16. multiarrangement/core/experiment.py +225 -0
  17. multiarrangement/data/__init__.py +1 -0
  18. multiarrangement/data/batches_15videos_batchsize8.txt +6 -0
  19. multiarrangement/data/batches_24videos_batchsize8.txt +15 -0
  20. multiarrangement/data/batches_30videos_batchsize8.txt +22 -0
  21. multiarrangement/data/batches_58videos_batchsize8.txt +77 -0
  22. multiarrangement/data/img1.PNG +0 -0
  23. multiarrangement/examples/__init__.py +2 -0
  24. multiarrangement/examples/ltw_audio.py +38 -0
  25. multiarrangement/examples/ltw_video.py +34 -0
  26. multiarrangement/examples/setcover_audio.py +35 -0
  27. multiarrangement/examples/setcover_video.py +31 -0
  28. multiarrangement/experiment_runner.py +940 -0
  29. multiarrangement/ljcr_cache/v15_k8_t2.txt +6 -0
  30. multiarrangement/optimize_cover_flex.py +868 -0
  31. multiarrangement/optimize_cover_pure.py +804 -0
  32. multiarrangement/results.py +114 -0
  33. multiarrangement/try.py +24 -0
  34. multiarrangement/ui/__init__.py +6 -0
  35. multiarrangement/ui/fullscreen_interface.py +255 -0
  36. multiarrangement/ui/interface.py +577 -0
  37. multiarrangement/utils/__init__.py +7 -0
  38. multiarrangement/utils/data_processing.py +294 -0
  39. multiarrangement/utils/file_utils.py +200 -0
  40. multiarrangement/utils/video_processing.py +414 -0
  41. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (10).mp3 +0 -0
  42. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (11).mp3 +0 -0
  43. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (12).mp3 +0 -0
  44. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (13).mp3 +0 -0
  45. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (14).mp3 +0 -0
  46. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (15).mp3 +0 -0
  47. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (16).mp3 +0 -0
  48. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (2).mp3 +0 -0
  49. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (3).mp3 +0 -0
  50. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (4).mp3 +0 -0
  51. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (5).mp3 +0 -0
  52. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (6).mp3 +0 -0
  53. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (7).mp3 +0 -0
  54. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (8).mp3 +0 -0
  55. multiarrangement-0.1.0.data/data/multiarrangement/15audios/1 - Copy (9).mp3 +0 -0
  56. multiarrangement-0.1.0.data/data/multiarrangement/15videos/002_M.avi +0 -0
  57. multiarrangement-0.1.0.data/data/multiarrangement/15videos/004_F.avi +0 -0
  58. multiarrangement-0.1.0.data/data/multiarrangement/15videos/005_M.avi +0 -0
  59. multiarrangement-0.1.0.data/data/multiarrangement/15videos/007_F.avi +0 -0
  60. multiarrangement-0.1.0.data/data/multiarrangement/15videos/008_M.avi +0 -0
  61. multiarrangement-0.1.0.data/data/multiarrangement/15videos/012_F.avi +0 -0
  62. multiarrangement-0.1.0.data/data/multiarrangement/15videos/013_M.avi +0 -0
  63. multiarrangement-0.1.0.data/data/multiarrangement/15videos/015_F.avi +0 -0
  64. multiarrangement-0.1.0.data/data/multiarrangement/15videos/017_F.avi +0 -0
  65. multiarrangement-0.1.0.data/data/multiarrangement/15videos/020_M.avi +0 -0
  66. multiarrangement-0.1.0.data/data/multiarrangement/15videos/021_F.avi +0 -0
  67. multiarrangement-0.1.0.data/data/multiarrangement/15videos/028_M.avi +0 -0
  68. multiarrangement-0.1.0.data/data/multiarrangement/15videos/031_F.avi +0 -0
  69. multiarrangement-0.1.0.data/data/multiarrangement/15videos/035_M.avi +0 -0
  70. multiarrangement-0.1.0.data/data/multiarrangement/15videos/036_F.avi +0 -0
  71. multiarrangement-0.1.0.data/data/multiarrangement/demovids/Done.mp4 +0 -0
  72. multiarrangement-0.1.0.data/data/multiarrangement/demovids/Doubleclick.mp4 +0 -0
  73. multiarrangement-0.1.0.data/data/multiarrangement/demovids/Same.mkv +0 -0
  74. multiarrangement-0.1.0.data/data/multiarrangement/demovids/drag.mp4 +0 -0
  75. multiarrangement-0.1.0.data/data/multiarrangement/demovids/similar.mp4 +0 -0
  76. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v100_k8_t2.txt +1 -0
  77. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k3_t2.txt +17 -0
  78. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k4_t2.txt +9 -0
  79. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k5_t2.txt +6 -0
  80. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k6_t2.txt +4 -0
  81. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k7_t2.txt +3 -0
  82. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k8_t2.txt +3 -0
  83. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v10_k9_t2.txt +3 -0
  84. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k10_t2.txt +3 -0
  85. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k3_t2.txt +19 -0
  86. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k4_t2.txt +11 -0
  87. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k5_t2.txt +7 -0
  88. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k6_t2.txt +6 -0
  89. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k7_t2.txt +4 -0
  90. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k8_t2.txt +3 -0
  91. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v11_k9_t2.txt +3 -0
  92. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k10_t2.txt +3 -0
  93. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k3_t2.txt +24 -0
  94. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k4_t2.txt +12 -0
  95. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k5_t2.txt +9 -0
  96. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k6_t2.txt +6 -0
  97. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k7_t2.txt +5 -0
  98. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k8_t2.txt +3 -0
  99. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v12_k9_t2.txt +3 -0
  100. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k10_t2.txt +3 -0
  101. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k3_t2.txt +26 -0
  102. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k4_t2.txt +13 -0
  103. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k5_t2.txt +10 -0
  104. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k6_t2.txt +7 -0
  105. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k7_t2.txt +6 -0
  106. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k8_t2.txt +4 -0
  107. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v13_k9_t2.txt +3 -0
  108. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k10_t2.txt +3 -0
  109. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k3_t2.txt +33 -0
  110. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k4_t2.txt +18 -0
  111. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k5_t2.txt +12 -0
  112. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k6_t2.txt +7 -0
  113. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k7_t2.txt +6 -0
  114. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k8_t2.txt +5 -0
  115. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v14_k9_t2.txt +4 -0
  116. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k10_t2.txt +3 -0
  117. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k3_t2.txt +35 -0
  118. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k4_t2.txt +19 -0
  119. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k5_t2.txt +13 -0
  120. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k6_t2.txt +10 -0
  121. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k7_t2.txt +7 -0
  122. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k8_t2.txt +6 -0
  123. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v15_k9_t2.txt +4 -0
  124. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k10_t2.txt +4 -0
  125. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k3_t2.txt +43 -0
  126. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k4_t2.txt +20 -0
  127. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k5_t2.txt +15 -0
  128. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k6_t2.txt +10 -0
  129. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k7_t2.txt +8 -0
  130. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k8_t2.txt +6 -0
  131. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v16_k9_t2.txt +5 -0
  132. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k10_t2.txt +5 -0
  133. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k3_t2.txt +46 -0
  134. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k4_t2.txt +26 -0
  135. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k5_t2.txt +16 -0
  136. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k6_t2.txt +12 -0
  137. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k7_t2.txt +9 -0
  138. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k8_t2.txt +7 -0
  139. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v17_k9_t2.txt +6 -0
  140. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k10_t2.txt +5 -0
  141. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k3_t2.txt +54 -0
  142. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k4_t2.txt +27 -0
  143. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k5_t2.txt +18 -0
  144. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k6_t2.txt +12 -0
  145. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k7_t2.txt +10 -0
  146. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k8_t2.txt +7 -0
  147. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v18_k9_t2.txt +6 -0
  148. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k10_t2.txt +6 -0
  149. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k3_t2.txt +57 -0
  150. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k4_t2.txt +31 -0
  151. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k5_t2.txt +19 -0
  152. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k6_t2.txt +15 -0
  153. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k7_t2.txt +11 -0
  154. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k8_t2.txt +9 -0
  155. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v19_k9_t2.txt +7 -0
  156. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k10_t2.txt +6 -0
  157. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k3_t2.txt +67 -0
  158. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k4_t2.txt +35 -0
  159. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k5_t2.txt +21 -0
  160. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k6_t2.txt +16 -0
  161. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k7_t2.txt +12 -0
  162. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k8_t2.txt +9 -0
  163. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v20_k9_t2.txt +7 -0
  164. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k10_t2.txt +7 -0
  165. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k3_t2.txt +70 -0
  166. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k4_t2.txt +37 -0
  167. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k5_t2.txt +21 -0
  168. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k6_t2.txt +17 -0
  169. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k7_t2.txt +13 -0
  170. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k8_t2.txt +11 -0
  171. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v21_k9_t2.txt +7 -0
  172. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k10_t2.txt +7 -0
  173. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k3_t2.txt +81 -0
  174. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k4_t2.txt +39 -0
  175. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k5_t2.txt +27 -0
  176. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k6_t2.txt +19 -0
  177. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k7_t2.txt +13 -0
  178. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k8_t2.txt +11 -0
  179. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v22_k9_t2.txt +9 -0
  180. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k10_t2.txt +8 -0
  181. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k3_t2.txt +85 -0
  182. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k4_t2.txt +46 -0
  183. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k5_t2.txt +28 -0
  184. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k6_t2.txt +21 -0
  185. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k7_t2.txt +16 -0
  186. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k8_t2.txt +12 -0
  187. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v23_k9_t2.txt +10 -0
  188. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k10_t2.txt +8 -0
  189. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k3_t2.txt +96 -0
  190. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k4_t2.txt +48 -0
  191. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k5_t2.txt +30 -0
  192. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k6_t2.txt +22 -0
  193. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k7_t2.txt +17 -0
  194. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k8_t2.txt +12 -0
  195. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v24_k9_t2.txt +11 -0
  196. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k10_t2.txt +10 -0
  197. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k3_t2.txt +100 -0
  198. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k4_t2.txt +50 -0
  199. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k5_t2.txt +30 -0
  200. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k6_t2.txt +23 -0
  201. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k7_t2.txt +18 -0
  202. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k8_t2.txt +13 -0
  203. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v25_k9_t2.txt +11 -0
  204. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k10_t2.txt +10 -0
  205. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k3_t2.txt +113 -0
  206. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k4_t2.txt +59 -0
  207. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k5_t2.txt +37 -0
  208. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k6_t2.txt +24 -0
  209. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k7_t2.txt +19 -0
  210. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k8_t2.txt +13 -0
  211. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v26_k9_t2.txt +12 -0
  212. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k10_t2.txt +11 -0
  213. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k3_t2.txt +117 -0
  214. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k4_t2.txt +61 -0
  215. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k5_t2.txt +38 -0
  216. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k6_t2.txt +27 -0
  217. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k7_t2.txt +20 -0
  218. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k8_t2.txt +17 -0
  219. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v27_k9_t2.txt +12 -0
  220. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k10_t2.txt +11 -0
  221. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k3_t2.txt +131 -0
  222. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k4_t2.txt +63 -0
  223. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k5_t2.txt +40 -0
  224. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k6_t2.txt +28 -0
  225. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k7_t2.txt +22 -0
  226. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k8_t2.txt +17 -0
  227. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v28_k9_t2.txt +14 -0
  228. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k10_t2.txt +12 -0
  229. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k3_t2.txt +136 -0
  230. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k4_t2.txt +73 -0
  231. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k5_t2.txt +43 -0
  232. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k6_t2.txt +30 -0
  233. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k7_t2.txt +23 -0
  234. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k8_t2.txt +18 -0
  235. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v29_k9_t2.txt +14 -0
  236. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k10_t2.txt +13 -0
  237. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k3_t2.txt +150 -0
  238. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k4_t2.txt +75 -0
  239. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k5_t2.txt +48 -0
  240. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k6_t2.txt +31 -0
  241. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k7_t2.txt +25 -0
  242. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k8_t2.txt +19 -0
  243. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v30_k9_t2.txt +15 -0
  244. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k10_t2.txt +13 -0
  245. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k3_t2.txt +155 -0
  246. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k4_t2.txt +78 -0
  247. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k5_t2.txt +50 -0
  248. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k6_t2.txt +31 -0
  249. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k7_t2.txt +26 -0
  250. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k8_t2.txt +20 -0
  251. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v31_k9_t2.txt +17 -0
  252. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k10_t2.txt +14 -0
  253. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k3_t2.txt +171 -0
  254. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k4_t2.txt +88 -0
  255. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k5_t2.txt +52 -0
  256. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k6_t2.txt +38 -0
  257. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k7_t2.txt +28 -0
  258. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k8_t2.txt +20 -0
  259. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v32_k9_t2.txt +18 -0
  260. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k10_t2.txt +15 -0
  261. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k3_t2.txt +176 -0
  262. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k4_t2.txt +91 -0
  263. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k5_t2.txt +55 -0
  264. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k6_t2.txt +39 -0
  265. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k7_t2.txt +30 -0
  266. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k8_t2.txt +24 -0
  267. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v33_k9_t2.txt +18 -0
  268. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k10_t2.txt +16 -0
  269. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k3_t2.txt +193 -0
  270. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k4_t2.txt +94 -0
  271. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k5_t2.txt +62 -0
  272. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k6_t2.txt +40 -0
  273. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k7_t2.txt +31 -0
  274. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k8_t2.txt +25 -0
  275. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v34_k9_t2.txt +19 -0
  276. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k10_t2.txt +17 -0
  277. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k3_t2.txt +199 -0
  278. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k4_t2.txt +105 -0
  279. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k5_t2.txt +63 -0
  280. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k6_t2.txt +42 -0
  281. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k7_t2.txt +32 -0
  282. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k8_t2.txt +26 -0
  283. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v35_k9_t2.txt +20 -0
  284. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k10_t2.txt +18 -0
  285. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k3_t2.txt +216 -0
  286. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k4_t2.txt +108 -0
  287. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k5_t2.txt +66 -0
  288. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k6_t2.txt +47 -0
  289. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k7_t2.txt +33 -0
  290. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k8_t2.txt +27 -0
  291. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v36_k9_t2.txt +21 -0
  292. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k10_t2.txt +19 -0
  293. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k3_t2.txt +222 -0
  294. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k4_t2.txt +111 -0
  295. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k5_t2.txt +68 -0
  296. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k6_t2.txt +50 -0
  297. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k7_t2.txt +35 -0
  298. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k8_t2.txt +28 -0
  299. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v37_k9_t2.txt +21 -0
  300. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k10_t2.txt +19 -0
  301. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k3_t2.txt +241 -0
  302. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k4_t2.txt +124 -0
  303. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k5_t2.txt +76 -0
  304. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k6_t2.txt +51 -0
  305. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k7_t2.txt +39 -0
  306. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k8_t2.txt +29 -0
  307. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v38_k9_t2.txt +25 -0
  308. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k10_t2.txt +20 -0
  309. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k3_t2.txt +247 -0
  310. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k4_t2.txt +127 -0
  311. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k5_t2.txt +78 -0
  312. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k6_t2.txt +54 -0
  313. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k7_t2.txt +39 -0
  314. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k8_t2.txt +32 -0
  315. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v39_k9_t2.txt +26 -0
  316. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k10_t2.txt +21 -0
  317. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k3_t2.txt +267 -0
  318. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k4_t2.txt +130 -0
  319. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k5_t2.txt +82 -0
  320. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k6_t2.txt +55 -0
  321. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k7_t2.txt +40 -0
  322. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k8_t2.txt +33 -0
  323. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v40_k9_t2.txt +26 -0
  324. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k10_t2.txt +21 -0
  325. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k3_t2.txt +274 -0
  326. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k4_t2.txt +144 -0
  327. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k5_t2.txt +82 -0
  328. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k6_t2.txt +59 -0
  329. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k7_t2.txt +43 -0
  330. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k8_t2.txt +34 -0
  331. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v41_k9_t2.txt +28 -0
  332. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k10_t2.txt +21 -0
  333. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k3_t2.txt +294 -0
  334. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k4_t2.txt +147 -0
  335. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k5_t2.txt +93 -0
  336. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k6_t2.txt +63 -0
  337. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k7_t2.txt +46 -0
  338. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k8_t2.txt +35 -0
  339. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v42_k9_t2.txt +29 -0
  340. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k10_t2.txt +26 -0
  341. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k3_t2.txt +301 -0
  342. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k4_t2.txt +151 -0
  343. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k5_t2.txt +95 -0
  344. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k6_t2.txt +65 -0
  345. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k7_t2.txt +49 -0
  346. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k8_t2.txt +37 -0
  347. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v43_k9_t2.txt +30 -0
  348. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k10_t2.txt +26 -0
  349. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k3_t2.txt +323 -0
  350. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k4_t2.txt +165 -0
  351. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k5_t2.txt +99 -0
  352. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k6_t2.txt +67 -0
  353. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k7_t2.txt +51 -0
  354. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k8_t2.txt +39 -0
  355. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v44_k9_t2.txt +30 -0
  356. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k10_t2.txt +27 -0
  357. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k3_t2.txt +330 -0
  358. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k4_t2.txt +169 -0
  359. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k5_t2.txt +99 -0
  360. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k6_t2.txt +70 -0
  361. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k7_t2.txt +52 -0
  362. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k8_t2.txt +42 -0
  363. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v45_k9_t2.txt +33 -0
  364. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k10_t2.txt +28 -0
  365. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k3_t2.txt +353 -0
  366. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k4_t2.txt +173 -0
  367. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k5_t2.txt +111 -0
  368. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k6_t2.txt +73 -0
  369. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k7_t2.txt +53 -0
  370. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k8_t2.txt +43 -0
  371. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v46_k9_t2.txt +34 -0
  372. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k10_t2.txt +29 -0
  373. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k3_t2.txt +361 -0
  374. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k4_t2.txt +188 -0
  375. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k5_t2.txt +113 -0
  376. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k6_t2.txt +79 -0
  377. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k7_t2.txt +56 -0
  378. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k8_t2.txt +44 -0
  379. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v47_k9_t2.txt +35 -0
  380. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k10_t2.txt +30 -0
  381. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k3_t2.txt +384 -0
  382. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k4_t2.txt +192 -0
  383. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k5_t2.txt +117 -0
  384. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k6_t2.txt +80 -0
  385. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k7_t2.txt +56 -0
  386. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k8_t2.txt +47 -0
  387. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v48_k9_t2.txt +37 -0
  388. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k10_t2.txt +30 -0
  389. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k3_t2.txt +392 -0
  390. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k4_t2.txt +196 -0
  391. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k5_t2.txt +122 -0
  392. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k6_t2.txt +82 -0
  393. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k7_t2.txt +56 -0
  394. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k8_t2.txt +49 -0
  395. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v49_k9_t2.txt +38 -0
  396. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v4_k3_t2.txt +3 -0
  397. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k10_t2.txt +30 -0
  398. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k3_t2.txt +417 -0
  399. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k4_t2.txt +213 -0
  400. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k5_t2.txt +130 -0
  401. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k6_t2.txt +87 -0
  402. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k7_t2.txt +65 -0
  403. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k8_t2.txt +49 -0
  404. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v50_k9_t2.txt +40 -0
  405. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k10_t2.txt +35 -0
  406. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k3_t2.txt +425 -0
  407. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k4_t2.txt +217 -0
  408. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k5_t2.txt +135 -0
  409. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k6_t2.txt +90 -0
  410. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k7_t2.txt +66 -0
  411. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k8_t2.txt +51 -0
  412. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v51_k9_t2.txt +41 -0
  413. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k10_t2.txt +36 -0
  414. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k3_t2.txt +451 -0
  415. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k4_t2.txt +221 -0
  416. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k5_t2.txt +136 -0
  417. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k6_t2.txt +96 -0
  418. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k7_t2.txt +68 -0
  419. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k8_t2.txt +54 -0
  420. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v52_k9_t2.txt +44 -0
  421. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k10_t2.txt +37 -0
  422. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k3_t2.txt +460 -0
  423. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k4_t2.txt +239 -0
  424. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k5_t2.txt +140 -0
  425. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k6_t2.txt +98 -0
  426. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k7_t2.txt +70 -0
  427. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k8_t2.txt +56 -0
  428. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v53_k9_t2.txt +45 -0
  429. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k10_t2.txt +38 -0
  430. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k3_t2.txt +486 -0
  431. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k4_t2.txt +243 -0
  432. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k5_t2.txt +152 -0
  433. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k6_t2.txt +99 -0
  434. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k7_t2.txt +73 -0
  435. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k8_t2.txt +57 -0
  436. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v54_k9_t2.txt +46 -0
  437. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k10_t2.txt +39 -0
  438. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k3_t2.txt +495 -0
  439. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k4_t2.txt +248 -0
  440. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k5_t2.txt +154 -0
  441. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k6_t2.txt +105 -0
  442. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k7_t2.txt +76 -0
  443. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k8_t2.txt +57 -0
  444. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v55_k9_t2.txt +49 -0
  445. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k10_t2.txt +40 -0
  446. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k3_t2.txt +523 -0
  447. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k4_t2.txt +266 -0
  448. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k5_t2.txt +157 -0
  449. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k6_t2.txt +110 -0
  450. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k7_t2.txt +80 -0
  451. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k8_t2.txt +57 -0
  452. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v56_k9_t2.txt +49 -0
  453. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k10_t2.txt +42 -0
  454. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k3_t2.txt +532 -0
  455. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k4_t2.txt +271 -0
  456. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k5_t2.txt +161 -0
  457. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k6_t2.txt +114 -0
  458. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k7_t2.txt +82 -0
  459. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k8_t2.txt +57 -0
  460. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v57_k9_t2.txt +51 -0
  461. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k10_t2.txt +43 -0
  462. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k3_t2.txt +561 -0
  463. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k4_t2.txt +276 -0
  464. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k5_t2.txt +174 -0
  465. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k6_t2.txt +117 -0
  466. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k7_t2.txt +84 -0
  467. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k8_t2.txt +66 -0
  468. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v58_k9_t2.txt +52 -0
  469. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k10_t2.txt +48 -0
  470. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k3_t2.txt +571 -0
  471. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k4_t2.txt +295 -0
  472. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k5_t2.txt +177 -0
  473. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k6_t2.txt +119 -0
  474. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k7_t2.txt +86 -0
  475. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k8_t2.txt +67 -0
  476. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v59_k9_t2.txt +55 -0
  477. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v5_k3_t2.txt +4 -0
  478. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v5_k4_t2.txt +3 -0
  479. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k10_t2.txt +48 -0
  480. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k3_t2.txt +600 -0
  481. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k4_t2.txt +300 -0
  482. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k5_t2.txt +180 -0
  483. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k6_t2.txt +128 -0
  484. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k7_t2.txt +91 -0
  485. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k8_t2.txt +68 -0
  486. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v60_k9_t2.txt +57 -0
  487. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k10_t2.txt +49 -0
  488. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k3_t2.txt +610 -0
  489. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k4_t2.txt +305 -0
  490. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k5_t2.txt +183 -0
  491. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k6_t2.txt +132 -0
  492. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k7_t2.txt +95 -0
  493. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k8_t2.txt +71 -0
  494. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v61_k9_t2.txt +57 -0
  495. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k10_t2.txt +50 -0
  496. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k3_t2.txt +641 -0
  497. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k4_t2.txt +326 -0
  498. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k5_t2.txt +199 -0
  499. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k6_t2.txt +135 -0
  500. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k7_t2.txt +98 -0
  501. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k8_t2.txt +72 -0
  502. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v62_k9_t2.txt +58 -0
  503. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k10_t2.txt +51 -0
  504. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k3_t2.txt +651 -0
  505. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k4_t2.txt +331 -0
  506. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k5_t2.txt +202 -0
  507. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k6_t2.txt +140 -0
  508. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k7_t2.txt +100 -0
  509. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k8_t2.txt +72 -0
  510. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v63_k9_t2.txt +59 -0
  511. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k10_t2.txt +52 -0
  512. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k3_t2.txt +683 -0
  513. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k4_t2.txt +336 -0
  514. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k5_t2.txt +205 -0
  515. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k6_t2.txt +142 -0
  516. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k7_t2.txt +102 -0
  517. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k8_t2.txt +72 -0
  518. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v64_k9_t2.txt +60 -0
  519. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k10_t2.txt +53 -0
  520. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k3_t2.txt +694 -0
  521. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k4_t2.txt +358 -0
  522. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k5_t2.txt +208 -0
  523. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k6_t2.txt +143 -0
  524. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k7_t2.txt +103 -0
  525. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k8_t2.txt +82 -0
  526. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v65_k9_t2.txt +61 -0
  527. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k10_t2.txt +54 -0
  528. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k3_t2.txt +726 -0
  529. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k4_t2.txt +363 -0
  530. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k5_t2.txt +225 -0
  531. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k6_t2.txt +143 -0
  532. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k7_t2.txt +110 -0
  533. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k8_t2.txt +83 -0
  534. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v66_k9_t2.txt +68 -0
  535. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k10_t2.txt +57 -0
  536. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k3_t2.txt +737 -0
  537. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k4_t2.txt +369 -0
  538. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k5_t2.txt +228 -0
  539. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k6_t2.txt +157 -0
  540. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k7_t2.txt +115 -0
  541. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k8_t2.txt +85 -0
  542. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v67_k9_t2.txt +69 -0
  543. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k10_t2.txt +58 -0
  544. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k3_t2.txt +771 -0
  545. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k4_t2.txt +391 -0
  546. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k5_t2.txt +232 -0
  547. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k6_t2.txt +160 -0
  548. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k7_t2.txt +118 -0
  549. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k8_t2.txt +88 -0
  550. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v68_k9_t2.txt +71 -0
  551. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k10_t2.txt +59 -0
  552. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k3_t2.txt +782 -0
  553. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k4_t2.txt +397 -0
  554. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k5_t2.txt +237 -0
  555. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k6_t2.txt +163 -0
  556. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k7_t2.txt +121 -0
  557. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k8_t2.txt +90 -0
  558. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v69_k9_t2.txt +72 -0
  559. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v6_k3_t2.txt +6 -0
  560. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v6_k4_t2.txt +3 -0
  561. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v6_k5_t2.txt +3 -0
  562. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k10_t2.txt +60 -0
  563. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k3_t2.txt +817 -0
  564. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k4_t2.txt +403 -0
  565. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k5_t2.txt +252 -0
  566. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k6_t2.txt +172 -0
  567. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k7_t2.txt +124 -0
  568. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k8_t2.txt +92 -0
  569. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v70_k9_t2.txt +73 -0
  570. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k10_t2.txt +61 -0
  571. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k3_t2.txt +829 -0
  572. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k4_t2.txt +426 -0
  573. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k5_t2.txt +257 -0
  574. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k6_t2.txt +177 -0
  575. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k7_t2.txt +127 -0
  576. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k8_t2.txt +96 -0
  577. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v71_k9_t2.txt +73 -0
  578. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k10_t2.txt +62 -0
  579. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k3_t2.txt +864 -0
  580. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k4_t2.txt +432 -0
  581. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k5_t2.txt +260 -0
  582. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k6_t2.txt +180 -0
  583. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k7_t2.txt +135 -0
  584. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k8_t2.txt +99 -0
  585. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v72_k9_t2.txt +73 -0
  586. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k10_t2.txt +64 -0
  587. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k3_t2.txt +876 -0
  588. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k4_t2.txt +438 -0
  589. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k5_t2.txt +268 -0
  590. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k6_t2.txt +185 -0
  591. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k7_t2.txt +137 -0
  592. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k8_t2.txt +101 -0
  593. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v73_k9_t2.txt +73 -0
  594. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k10_t2.txt +68 -0
  595. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k3_t2.txt +913 -0
  596. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k4_t2.txt +463 -0
  597. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k5_t2.txt +282 -0
  598. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k6_t2.txt +186 -0
  599. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k7_t2.txt +140 -0
  600. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k8_t2.txt +103 -0
  601. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v74_k9_t2.txt +83 -0
  602. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k10_t2.txt +71 -0
  603. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k3_t2.txt +925 -0
  604. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k4_t2.txt +469 -0
  605. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k5_t2.txt +285 -0
  606. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k6_t2.txt +190 -0
  607. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k7_t2.txt +142 -0
  608. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k8_t2.txt +105 -0
  609. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v75_k9_t2.txt +84 -0
  610. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k10_t2.txt +72 -0
  611. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k3_t2.txt +963 -0
  612. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k4_t2.txt +475 -0
  613. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k5_t2.txt +289 -0
  614. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k6_t2.txt +190 -0
  615. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k7_t2.txt +144 -0
  616. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k8_t2.txt +110 -0
  617. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v76_k9_t2.txt +86 -0
  618. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k10_t2.txt +73 -0
  619. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k3_t2.txt +976 -0
  620. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k4_t2.txt +501 -0
  621. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k5_t2.txt +296 -0
  622. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k6_t2.txt +206 -0
  623. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k7_t2.txt +148 -0
  624. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k8_t2.txt +115 -0
  625. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v77_k9_t2.txt +88 -0
  626. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k10_t2.txt +74 -0
  627. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k3_t2.txt +1014 -0
  628. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k4_t2.txt +507 -0
  629. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k5_t2.txt +312 -0
  630. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k6_t2.txt +209 -0
  631. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k7_t2.txt +153 -0
  632. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k8_t2.txt +119 -0
  633. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v78_k9_t2.txt +90 -0
  634. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k10_t2.txt +75 -0
  635. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k3_t2.txt +1027 -0
  636. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k4_t2.txt +514 -0
  637. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k5_t2.txt +316 -0
  638. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k6_t2.txt +211 -0
  639. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k7_t2.txt +158 -0
  640. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k8_t2.txt +121 -0
  641. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v79_k9_t2.txt +90 -0
  642. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v7_k3_t2.txt +7 -0
  643. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v7_k4_t2.txt +5 -0
  644. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v7_k5_t2.txt +3 -0
  645. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v7_k6_t2.txt +3 -0
  646. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k10_t2.txt +75 -0
  647. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k3_t2.txt +1067 -0
  648. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k4_t2.txt +540 -0
  649. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k5_t2.txt +320 -0
  650. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k6_t2.txt +216 -0
  651. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k7_t2.txt +161 -0
  652. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k8_t2.txt +124 -0
  653. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v80_k9_t2.txt +90 -0
  654. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k10_t2.txt +76 -0
  655. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k3_t2.txt +1080 -0
  656. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k4_t2.txt +547 -0
  657. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k5_t2.txt +324 -0
  658. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k6_t2.txt +218 -0
  659. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k7_t2.txt +163 -0
  660. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k8_t2.txt +127 -0
  661. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v81_k9_t2.txt +90 -0
  662. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k10_t2.txt +77 -0
  663. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k3_t2.txt +1121 -0
  664. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k4_t2.txt +554 -0
  665. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k5_t2.txt +345 -0
  666. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k6_t2.txt +233 -0
  667. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k7_t2.txt +169 -0
  668. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k8_t2.txt +131 -0
  669. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v82_k9_t2.txt +101 -0
  670. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k10_t2.txt +85 -0
  671. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k3_t2.txt +1135 -0
  672. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k4_t2.txt +581 -0
  673. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k5_t2.txt +349 -0
  674. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k6_t2.txt +236 -0
  675. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k7_t2.txt +173 -0
  676. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k8_t2.txt +135 -0
  677. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v83_k9_t2.txt +102 -0
  678. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k10_t2.txt +86 -0
  679. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k3_t2.txt +1176 -0
  680. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k4_t2.txt +588 -0
  681. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k5_t2.txt +353 -0
  682. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k6_t2.txt +238 -0
  683. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k7_t2.txt +177 -0
  684. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k8_t2.txt +137 -0
  685. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v84_k9_t2.txt +104 -0
  686. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k10_t2.txt +88 -0
  687. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k3_t2.txt +1190 -0
  688. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k4_t2.txt +595 -0
  689. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k5_t2.txt +357 -0
  690. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k6_t2.txt +252 -0
  691. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k7_t2.txt +182 -0
  692. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k8_t2.txt +139 -0
  693. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v85_k9_t2.txt +107 -0
  694. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k10_t2.txt +90 -0
  695. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k3_t2.txt +1233 -0
  696. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k4_t2.txt +624 -0
  697. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k5_t2.txt +379 -0
  698. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k6_t2.txt +259 -0
  699. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k7_t2.txt +186 -0
  700. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k8_t2.txt +141 -0
  701. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v86_k9_t2.txt +110 -0
  702. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k10_t2.txt +90 -0
  703. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k3_t2.txt +1247 -0
  704. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k4_t2.txt +631 -0
  705. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k5_t2.txt +383 -0
  706. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k6_t2.txt +261 -0
  707. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k7_t2.txt +187 -0
  708. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k8_t2.txt +143 -0
  709. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v87_k9_t2.txt +113 -0
  710. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k10_t2.txt +91 -0
  711. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k3_t2.txt +1291 -0
  712. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k4_t2.txt +638 -0
  713. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k5_t2.txt +388 -0
  714. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k6_t2.txt +264 -0
  715. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k7_t2.txt +193 -0
  716. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k8_t2.txt +145 -0
  717. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v88_k9_t2.txt +118 -0
  718. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k10_t2.txt +91 -0
  719. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k3_t2.txt +1306 -0
  720. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k4_t2.txt +668 -0
  721. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k5_t2.txt +393 -0
  722. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k6_t2.txt +267 -0
  723. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k7_t2.txt +195 -0
  724. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k8_t2.txt +145 -0
  725. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v89_k9_t2.txt +121 -0
  726. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v8_k3_t2.txt +11 -0
  727. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v8_k4_t2.txt +6 -0
  728. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v8_k5_t2.txt +4 -0
  729. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v8_k6_t2.txt +3 -0
  730. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v8_k7_t2.txt +3 -0
  731. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k10_t2.txt +91 -0
  732. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k3_t2.txt +1350 -0
  733. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k4_t2.txt +675 -0
  734. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k5_t2.txt +414 -0
  735. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k6_t2.txt +273 -0
  736. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k7_t2.txt +195 -0
  737. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k8_t2.txt +152 -0
  738. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v90_k9_t2.txt +123 -0
  739. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k10_t2.txt +91 -0
  740. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k3_t2.txt +1365 -0
  741. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k4_t2.txt +683 -0
  742. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k5_t2.txt +419 -0
  743. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k6_t2.txt +273 -0
  744. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k7_t2.txt +195 -0
  745. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k8_t2.txt +158 -0
  746. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v91_k9_t2.txt +126 -0
  747. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k10_t2.txt +102 -0
  748. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k3_t2.txt +1411 -0
  749. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k4_t2.txt +713 -0
  750. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k5_t2.txt +424 -0
  751. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k6_t2.txt +292 -0
  752. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k7_t2.txt +211 -0
  753. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k8_t2.txt +162 -0
  754. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v92_k9_t2.txt +127 -0
  755. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k10_t2.txt +103 -0
  756. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k3_t2.txt +1426 -0
  757. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k4_t2.txt +721 -0
  758. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k5_t2.txt +429 -0
  759. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k6_t2.txt +295 -0
  760. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k7_t2.txt +213 -0
  761. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k8_t2.txt +165 -0
  762. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v93_k9_t2.txt +128 -0
  763. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k10_t2.txt +104 -0
  764. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k3_t2.txt +1473 -0
  765. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k4_t2.txt +729 -0
  766. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k5_t2.txt +452 -0
  767. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k6_t2.txt +303 -0
  768. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k7_t2.txt +218 -0
  769. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k8_t2.txt +167 -0
  770. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v94_k9_t2.txt +130 -0
  771. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k10_t2.txt +107 -0
  772. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k3_t2.txt +1489 -0
  773. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k4_t2.txt +760 -0
  774. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k5_t2.txt +456 -0
  775. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k6_t2.txt +304 -0
  776. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k7_t2.txt +225 -0
  777. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k8_t2.txt +170 -0
  778. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v95_k9_t2.txt +132 -0
  779. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k10_t2.txt +110 -0
  780. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k3_t2.txt +1536 -0
  781. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k4_t2.txt +768 -0
  782. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k5_t2.txt +462 -0
  783. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k6_t2.txt +304 -0
  784. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k7_t2.txt +227 -0
  785. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k8_t2.txt +174 -0
  786. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v96_k9_t2.txt +136 -0
  787. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k10_t2.txt +114 -0
  788. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k3_t2.txt +1552 -0
  789. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k4_t2.txt +776 -0
  790. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k5_t2.txt +466 -0
  791. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k6_t2.txt +324 -0
  792. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k7_t2.txt +229 -0
  793. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k8_t2.txt +181 -0
  794. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v97_k9_t2.txt +140 -0
  795. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k10_t2.txt +119 -0
  796. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k3_t2.txt +1601 -0
  797. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k4_t2.txt +809 -0
  798. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k5_t2.txt +490 -0
  799. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k6_t2.txt +327 -0
  800. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k7_t2.txt +242 -0
  801. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k8_t2.txt +185 -0
  802. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v98_k9_t2.txt +142 -0
  803. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k10_t2.txt +122 -0
  804. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k3_t2.txt +1617 -0
  805. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k4_t2.txt +817 -0
  806. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k5_t2.txt +495 -0
  807. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k6_t2.txt +336 -0
  808. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k7_t2.txt +246 -0
  809. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k8_t2.txt +190 -0
  810. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v99_k9_t2.txt +143 -0
  811. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v9_k3_t2.txt +12 -0
  812. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v9_k4_t2.txt +8 -0
  813. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v9_k5_t2.txt +5 -0
  814. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v9_k6_t2.txt +3 -0
  815. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v9_k7_t2.txt +3 -0
  816. multiarrangement-0.1.0.data/data/multiarrangement/ljcr_cache/v9_k8_t2.txt +3 -0
  817. multiarrangement-0.1.0.data/data/multiarrangement/sample_audio/sample1.wav +1 -0
  818. multiarrangement-0.1.0.data/data/multiarrangement/sample_audio/sample2.mp3 +1 -0
  819. multiarrangement-0.1.0.data/data/multiarrangement/sample_audio/sample3.ogg +1 -0
  820. multiarrangement-0.1.0.data/data/multiarrangement/sample_audio/sample4.flac +1 -0
  821. multiarrangement-0.1.0.dist-info/METADATA +274 -0
  822. multiarrangement-0.1.0.dist-info/RECORD +826 -0
  823. multiarrangement-0.1.0.dist-info/WHEEL +5 -0
  824. multiarrangement-0.1.0.dist-info/entry_points.txt +10 -0
  825. multiarrangement-0.1.0.dist-info/licenses/LICENSE +21 -0
  826. multiarrangement-0.1.0.dist-info/top_level.txt +2 -0
coverlib/__init__.py ADDED
@@ -0,0 +1 @@
1
+ from .api import generate_cover, CoverResult
coverlib/api.py ADDED
@@ -0,0 +1,71 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from pathlib import Path
4
+ from typing import Dict, List, Optional, Tuple
5
+ from .combinatorics import block_pairs, schonheim_lb
6
+ from .fetchers import fetch_ljcr_cover
7
+ from .cache import get_seed_blocks, save_blocks_file
8
+ from .optimizer import CoverOptimizer
9
+
10
+ @dataclass
11
+ class CoverResult:
12
+ v: int
13
+ k: int
14
+ blocks: List[Tuple[int,...]] # 0-based
15
+ b: int
16
+ lmax: int
17
+ hist: Dict[int,int]
18
+ sumsq: int
19
+
20
+ def generate_cover(
21
+ v: int,
22
+ k: int,
23
+ *,
24
+ passes: int = 12,
25
+ greedy_trials: int = 2,
26
+ forbid_above: int = 2,
27
+ group_rounds: int = 12,
28
+ group_time: float = 10.0,
29
+ group_cands: int = 100,
30
+ cache_dir: Optional[str] = None,
31
+ offline_only: bool = False,
32
+ seed_file: Optional[str] = None,
33
+ seed: int = 12345,
34
+ ) -> CoverResult:
35
+ """High-level API: fetch/cache seed, then rebalance and return result (0-based blocks)."""
36
+ from .repair import coverage_from_blocks # local import to avoid cycles
37
+
38
+ if seed_file:
39
+ path = Path(seed_file)
40
+ from .cache import read_blocks_file
41
+ blocks = read_blocks_file(path, v, k)
42
+ else:
43
+ if cache_dir:
44
+ cache = Path(cache_dir)
45
+ else:
46
+ try:
47
+ import multiarrangement
48
+ cache = Path(multiarrangement.__file__).parent / "ljcr_cache"
49
+ except Exception:
50
+ cache = Path("ljcr_cache")
51
+ blocks = get_seed_blocks(v, k, cache, offline_first=True, offline_only=offline_only, fetcher=fetch_ljcr_cover)
52
+
53
+ counts, _ = coverage_from_blocks(v, blocks)
54
+ if min(counts) < 1:
55
+ from .repair import repair_to_coverage
56
+ blocks = repair_to_coverage(v, k, blocks)
57
+
58
+ opt = CoverOptimizer(v, blocks, seed=seed)
59
+ forbid = None if forbid_above < 0 else forbid_above
60
+ opt.local_search(passes=passes, forbid_above=forbid, greedy_trials=greedy_trials)
61
+
62
+ improved = True
63
+ r = group_rounds
64
+ while r>0 and improved:
65
+ r -= 1
66
+ lnow = opt.lambda_max()
67
+ if lnow <= 2: break
68
+ improved = opt.reduce_lmax_group(target=lnow-1, time_limit=group_time,
69
+ max_pairs_considered=20, candidates_per_block=group_cands)
70
+
71
+ return CoverResult(v=v, k=k, blocks=opt.blocks, b=len(opt.blocks), lmax=opt.lambda_max(), hist=opt.histogram(), sumsq=opt.sumsq())
coverlib/cache.py ADDED
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from pathlib import Path
3
+ from typing import List, Tuple
4
+
5
+ __all__ = ["cache_path", "read_blocks_file", "save_blocks_file", "get_seed_blocks"]
6
+
7
+ def cache_path(cache_dir: Path, v: int, k: int) -> Path:
8
+ cache_dir.mkdir(parents=True, exist_ok=True)
9
+ return cache_dir / f"v{v}_k{k}_t2.txt"
10
+
11
+ def read_blocks_file(path: Path, v: int, k: int) -> List[Tuple[int,...]]:
12
+ blocks: List[Tuple[int,...]] = []
13
+ if not path.exists(): return blocks
14
+ with path.open("r", encoding="utf-8") as f:
15
+ for ln in f:
16
+ ln = ln.strip().replace(",", " ")
17
+ if not ln or ln.startswith("#"): continue
18
+ nums = [int(x) for x in ln.split()]
19
+ if len(nums) != k: continue
20
+ blocks.append(tuple(sorted(nums)))
21
+ if not blocks: return []
22
+ zero_based = any(0 in b for b in blocks)
23
+ if not zero_based:
24
+ blocks = [tuple(x-1 for x in b) for b in blocks]
25
+ for b in blocks:
26
+ if any(x < 0 or x >= v for x in b):
27
+ raise ValueError(f"{path}: item out of range for v={v}.")
28
+ return blocks
29
+
30
+ def save_blocks_file(path: Path, blocks: List[Tuple[int,...]], indexing: str = "zero") -> None:
31
+ path.parent.mkdir(parents=True, exist_ok=True)
32
+ with path.open("w", encoding="utf-8") as f:
33
+ for b in blocks:
34
+ if indexing == "one":
35
+ f.write(" ".join(str(x+1) for x in b) + "\n")
36
+ else:
37
+ f.write(" ".join(str(x) for x in b) + "\n")
38
+
39
+ def get_seed_blocks(v: int, k: int, cache_dir: Path, offline_first: bool, offline_only: bool,
40
+ fetcher) -> List[Tuple[int,...]]:
41
+ p = cache_path(cache_dir, v, k)
42
+ if offline_first or offline_only:
43
+ blocks = read_blocks_file(p, v, k)
44
+ if blocks:
45
+ print(f"Loaded seed from cache: {p} (blocks={len(blocks)})")
46
+ return blocks
47
+ if offline_only:
48
+ raise RuntimeError(f"Cache miss and offline-only enabled. Expected: {p}")
49
+ print(f"Cache miss for (v={v},k={k}). Fetching from LJCR…")
50
+ blocks = fetcher(v, k)
51
+ save_blocks_file(p, blocks, indexing="zero")
52
+ print(f"Saved LJCR seed to cache: {p}")
53
+ return blocks
coverlib/cli.py ADDED
@@ -0,0 +1,50 @@
1
+ from __future__ import annotations
2
+ import argparse
3
+ from pathlib import Path
4
+ from .api import generate_cover
5
+ from .combinatorics import schonheim_lb
6
+
7
+ def main():
8
+ ap = argparse.ArgumentParser(description="covergen: cache-first LJCR (v,k,2) rebalancer (fixed-b)")
9
+ ap.add_argument("--v", type=int, required=True)
10
+ ap.add_argument("--k", type=int, required=True)
11
+ ap.add_argument("--passes", type=int, default=12)
12
+ ap.add_argument("--greedy-trials", type=int, default=2)
13
+ ap.add_argument("--forbid-above", type=int, default=2)
14
+ ap.add_argument("--group-rounds", type=int, default=12)
15
+ ap.add_argument("--group-time", type=float, default=10.0)
16
+ ap.add_argument("--group-cands", type=int, default=100)
17
+ from pathlib import Path
18
+ # Prefer packaged cache under multiarrangement/ljcr_cache if available
19
+ try:
20
+ import multiarrangement
21
+ default_cache = str((Path(multiarrangement.__file__).parent / "ljcr_cache").resolve())
22
+ except Exception:
23
+ default_cache = str((Path(__file__).parent.parent / "ljcr_cache").resolve())
24
+ ap.add_argument("--cache-dir", type=str, default=default_cache)
25
+ ap.add_argument("--offline-only", action="store_true")
26
+ ap.add_argument("--seed-file", type=str, default=None)
27
+ ap.add_argument("--outfile", type=str, default=None)
28
+ args = ap.parse_args()
29
+
30
+ res = generate_cover(
31
+ args.v, args.k,
32
+ passes=args.passes, greedy_trials=args.greedy_trials,
33
+ forbid_above=args.forbid_above,
34
+ group_rounds=args.group_rounds, group_time=args.group_time, group_cands=args.group_cands,
35
+ cache_dir=args.cache_dir, offline_only=args.offline_only, seed_file=args.seed_file,
36
+ )
37
+
38
+ P = args.v*(args.v-1)//2
39
+ avg_lambda = res.b * (args.k*(args.k-1)//2) / P
40
+ print(f"Seed (after repair/prune): b={res.b}, Schönheim≥{schonheim_lb(args.v,args.k)}, avg λ={avg_lambda:.3f}")
41
+ print("Final λ_max:", res.lmax, "hist:", res.hist, "sumsq:", res.sumsq)
42
+
43
+ out = Path(args.outfile or f"rebalance_v{args.v}_k{args.k}.txt")
44
+ with out.open("w", encoding="utf-8") as f:
45
+ for blk in res.blocks:
46
+ f.write(" ".join(str(x) for x in blk) + "\n") # 0-based output by default
47
+ print("Saved improved cover to", out)
48
+
49
+ if __name__ == "__main__":
50
+ main()
@@ -0,0 +1,40 @@
1
+ from __future__ import annotations
2
+ import math
3
+ from typing import Dict, List, Tuple
4
+
5
+ __all__ = [
6
+ "pair_index", "invert_pair_index", "block_pairs", "schonheim_lb", "histogram"
7
+ ]
8
+
9
+ def pair_index(i: int, j: int, v: int) -> int:
10
+ if i > j: i, j = j, i
11
+ prior = i * (v - 1) - (i * (i - 1)) // 2
12
+ return prior + (j - i - 1)
13
+
14
+ def invert_pair_index(p: int, v: int) -> Tuple[int,int]:
15
+ acc = 0
16
+ for i in range(v - 1):
17
+ row = v - 1 - i
18
+ if p < acc + row:
19
+ j = i + 1 + (p - acc)
20
+ return i, j
21
+ acc += row
22
+ raise ValueError("pair index out of range")
23
+
24
+ def block_pairs(block: Tuple[int,...], v: int) -> Tuple[int,...]:
25
+ k = len(block)
26
+ out: List[int] = []
27
+ for a in range(k):
28
+ ia = block[a]
29
+ for b in range(a+1, k):
30
+ ib = block[b]
31
+ out.append(pair_index(ia, ib, v))
32
+ return tuple(out)
33
+
34
+ def schonheim_lb(v: int, k: int) -> int:
35
+ return math.ceil((v / k) * math.ceil((v - 1) / (k - 1)))
36
+
37
+ def histogram(counts: List[int]) -> Dict[int,int]:
38
+ h: Dict[int,int] = {}
39
+ for c in counts: h[c] = h.get(c,0) + 1
40
+ return dict(sorted(h.items()))
coverlib/fetchers.py ADDED
@@ -0,0 +1,65 @@
1
+ from __future__ import annotations
2
+ import html, re, urllib.request
3
+ from typing import List, Tuple
4
+
5
+ LJCR_URL = "https://ljcr.dmgordon.org/cover/show_cover.php?v={v}&k={k}&t=2"
6
+ _INT_RE = re.compile(r"-?\d+")
7
+
8
+ __all__ = ["fetch_ljcr_cover"]
9
+
10
+ def fetch_ljcr_cover(v: int, k: int) -> List[Tuple[int,...]]:
11
+ url = LJCR_URL.format(v=v, k=k)
12
+ try:
13
+ with urllib.request.urlopen(url, timeout=30) as resp:
14
+ data = resp.read().decode("utf-8", errors="replace")
15
+ except Exception as e:
16
+ raise RuntimeError(f"Failed to fetch LJCR page: {e} | URL: {url}")
17
+
18
+ text = html.unescape(data)
19
+ blocks: List[Tuple[int,...]] = []
20
+
21
+ # Strategy 1: parse <pre>/<code>
22
+ for tag in ("pre","code"):
23
+ for m in re.finditer(fr"(?is)<{tag}[^>]*>(.*?)</{tag}>", text):
24
+ for line in m.group(1).splitlines():
25
+ nums = [int(x) for x in _INT_RE.findall(line)]
26
+ if len(nums) == k:
27
+ blk = tuple(sorted(x-1 for x in nums))
28
+ if all(0 <= x < v for x in blk):
29
+ blocks.append(blk)
30
+ if blocks: return blocks
31
+
32
+ # Strategy 2: per-line fallback
33
+ for line in text.splitlines():
34
+ nums = [int(x) for x in _INT_RE.findall(line)]
35
+ if len(nums) == k:
36
+ blk = tuple(sorted(x-1 for x in nums))
37
+ if all(0 <= x < v for x in blk):
38
+ blocks.append(blk)
39
+ if blocks: return blocks
40
+
41
+ # Strategy 3: collect long run after first block-ish line
42
+ allints: List[int] = []
43
+ seen_first = False
44
+ for line in text.splitlines():
45
+ nums = [int(x) for x in _INT_RE.findall(line)]
46
+ if not nums: continue
47
+ if not seen_first and len(nums) == k:
48
+ seen_first = True; allints.extend(nums)
49
+ elif seen_first:
50
+ allints.extend(nums)
51
+ if allints:
52
+ for i in range(0, len(allints), k):
53
+ chunk = allints[i:i+k]
54
+ if len(chunk) != k: continue
55
+ blk = tuple(sorted(x-1 for x in chunk))
56
+ if all(0 <= x < v for x in blk):
57
+ blocks.append(blk)
58
+ if not blocks:
59
+ raise RuntimeError(f"Could not parse any {k}-tuples from LJCR page for (v={v},k={k}). URL: {url}")
60
+
61
+ # sanity: uniform k
62
+ ks = {len(b) for b in blocks}
63
+ if len(ks) != 1 or list(ks)[0] != k:
64
+ raise RuntimeError(f"Parsed blocks have inconsistent k: {ks}")
65
+ return blocks
coverlib/optimizer.py ADDED
@@ -0,0 +1,239 @@
1
+ from __future__ import annotations
2
+ import random, time
3
+ from typing import Dict, List, Optional, Set, Tuple
4
+ from .combinatorics import block_pairs, invert_pair_index, pair_index, histogram
5
+
6
+ __all__ = ["CoverOptimizer"]
7
+
8
+ class CoverOptimizer:
9
+ """Fixed-b cover rebalancer (pure stdlib).
10
+ - Keeps coverage (pair_count >= 1 for all pairs).
11
+ - Improves lexicographically: lambda_max then sumsq.
12
+ - Has 1-opt (coverage-preserving) and a multi-block DFS swap to lower lambda_max.
13
+ """
14
+ def __init__(self, v: int, blocks: List[Tuple[int,...]], seed: int = 12345):
15
+ self.v=v; self.blocks=[tuple(sorted(b)) for b in blocks]; self.k=len(self.blocks[0])
16
+ random.seed(seed)
17
+ self.P = v*(v-1)//2
18
+ self.block_pairs = [block_pairs(b, v) for b in self.blocks]
19
+ self.pair_count = [0]*self.P
20
+ for pp in self.block_pairs:
21
+ for p in pp: self.pair_count[p]+=1
22
+ if min(self.pair_count) < 1:
23
+ raise ValueError("Seed cover does not cover all pairs.")
24
+
25
+ def lambda_max(self)->int: return max(self.pair_count)
26
+ def sumsq(self)->int: return sum(c*c for c in self.pair_count)
27
+ def histogram(self)->Dict[int,int]: return histogram(self.pair_count)
28
+
29
+ def try_replace_block(self, idx:int, *, forbid_above:Optional[int]=2, greedy_trials:int=1) -> bool:
30
+ v,k = self.v,self.k
31
+ old_block = self.blocks[idx]
32
+ old_pairs = set(self.block_pairs[idx])
33
+ critical = [p for p in old_pairs if self.pair_count[p]==1]
34
+ if not critical: return False
35
+ required: Set[int] = set()
36
+ for p in critical:
37
+ i,j = invert_pair_index(p, v); required.add(i); required.add(j)
38
+ if len(required)>k: return False
39
+
40
+ best_eval = (self.lambda_max(), self.sumsq())
41
+ best_cand: Optional[Tuple[int,...]] = None
42
+
43
+ def add_cost(x:int, cur:Tuple[int,...])->int:
44
+ cost=0
45
+ for y in cur:
46
+ if x==y: continue
47
+ c=self.pair_count[pair_index(x,y,v)]
48
+ cost += 1 + 2*c
49
+ return cost
50
+
51
+ trials=max(1,greedy_trials)
52
+ for _ in range(trials):
53
+ S=sorted(required)
54
+ while len(S)<k:
55
+ best_x=None; best_c=None
56
+ for x in range(v):
57
+ if x in S: continue
58
+ c=add_cost(x, tuple(S))
59
+ if best_c is None or c<best_c or (c==best_c and random.random()<0.2):
60
+ best_c=c; best_x=x
61
+ if best_x is None: break
62
+ S.append(best_x)
63
+ if len(S)!=k: continue
64
+ cand=tuple(sorted(S))
65
+ if cand==old_block: continue
66
+ cand_pairs=set(block_pairs(cand, v))
67
+ removed_only = old_pairs - cand_pairs
68
+ added_only = cand_pairs - old_pairs
69
+ if any(self.pair_count[p]==1 for p in removed_only): continue
70
+ if forbid_above is not None and any(self.pair_count[p]+1 > forbid_above for p in added_only): continue
71
+
72
+ cur_lmax=self.lambda_max(); cur_sumsq=self.sumsq()
73
+ delta=0
74
+ for p in removed_only: delta += 1 - 2*self.pair_count[p]
75
+ for p in added_only: delta += 1 + 2*self.pair_count[p]
76
+ new_sumsq = cur_sumsq + delta
77
+
78
+ maybe_inc = any(self.pair_count[p]+1 > cur_lmax for p in added_only)
79
+ maybe_dec = any(self.pair_count[p] == cur_lmax for p in removed_only)
80
+ if maybe_inc or maybe_dec:
81
+ changed={}
82
+ for p in removed_only: changed[p]=self.pair_count[p]-1
83
+ for p in added_only: changed[p]=changed.get(p,self.pair_count[p])+1
84
+ new_lmax=0
85
+ for p in range(self.P):
86
+ c = changed[p] if p in changed else self.pair_count[p]
87
+ if c>new_lmax: new_lmax=c
88
+ else:
89
+ new_lmax=cur_lmax
90
+
91
+ if (new_lmax, new_sumsq) < best_eval:
92
+ best_eval=(new_lmax,new_sumsq); best_cand=cand
93
+
94
+ if best_cand is None: return False
95
+ cand_pairs = set(block_pairs(best_cand, v))
96
+ removed_only = set(self.block_pairs[idx]) - cand_pairs
97
+ added_only = cand_pairs - set(self.block_pairs[idx])
98
+ for p in removed_only: self.pair_count[p]-=1
99
+ for p in added_only: self.pair_count[p]+=1
100
+ self.blocks[idx]=best_cand
101
+ self.block_pairs[idx]=tuple(sorted(cand_pairs))
102
+ assert min(self.pair_count)>=1
103
+ return True
104
+
105
+ def local_search(self, passes:int=8, forbid_above:Optional[int]=2, greedy_trials:int=2)->None:
106
+ for _ in range(passes):
107
+ improved=False
108
+ lmax=self.lambda_max()
109
+ idxs=list(range(len(self.blocks)))
110
+ idxs.sort(key=lambda i: sum(1 for p in self.block_pairs[i] if self.pair_count[p]==lmax), reverse=True)
111
+ for i in idxs:
112
+ if self.try_replace_block(i, forbid_above=forbid_above, greedy_trials=greedy_trials):
113
+ improved=True
114
+ if not improved: break
115
+
116
+ # group DFS (same approach you used)
117
+ def reduce_lmax_group(self, target:int, time_limit:float=15.0, max_pairs_considered:int=20,
118
+ candidates_per_block:int=100, rng=random) -> bool:
119
+ start = time.time()
120
+ v,k = self.v,self.k
121
+ lmax = self.lambda_max()
122
+ if lmax <= target: return False
123
+ offenders = [p for p,c in enumerate(self.pair_count) if c==lmax]
124
+ rng.shuffle(offenders); offenders = offenders[:max_pairs_considered]
125
+ avoid_hi = {p for p,c in enumerate(self.pair_count) if c>=lmax-1}
126
+ from .combinatorics import block_pairs as bp
127
+
128
+ for p0 in offenders:
129
+ if time.time()-start > time_limit: break
130
+ idxs = [i for i,bp_ in enumerate(self.block_pairs) if p0 in bp_]
131
+ if not idxs: continue
132
+ count_out = self.pair_count[:]
133
+ for i in idxs:
134
+ for q in self.block_pairs[i]: count_out[q]-=1
135
+ if any(c > target for c in count_out):
136
+ continue
137
+ critical = {q for q in range(self.P) if count_out[q]==0}
138
+
139
+ cand_lists: List[List[Tuple[int,...]]] = []
140
+ cand_pairs: List[List[Set[int]]] = []
141
+ for i in idxs:
142
+ s: Set[Tuple[int,...]] = set(); tries = 0
143
+ while len(s) < candidates_per_block and tries < candidates_per_block*20:
144
+ tries += 1; S: List[int] = []
145
+ while len(S) < k:
146
+ best_x=None; best_sc=None
147
+ for x in range(v):
148
+ if x in S: continue
149
+ sc = 0.0
150
+ for y in S:
151
+ q = pair_index(x,y,v)
152
+ if q in critical: sc += 5.0
153
+ if q in avoid_hi: sc -= 2.0
154
+ sc += rng.random()*0.1
155
+ if best_sc is None or sc>best_sc:
156
+ best_sc, best_x = sc, x
157
+ if best_x is None: break
158
+ S.append(best_x)
159
+ if len(S)!=k: continue
160
+ blk = tuple(sorted(S)); pp = set(bp(blk, v))
161
+ if p0 in pp: continue
162
+ s.add(blk)
163
+ lst = list(s)
164
+ if not lst:
165
+ orig = set(self.blocks[i])
166
+ while len(s) < min(20, candidates_per_block):
167
+ S = set(orig)
168
+ if len(S)>=2:
169
+ S = set(random.sample(list(S), k-2))
170
+ while len(S) < k:
171
+ S.add(rng.randrange(v))
172
+ blk = tuple(sorted(S)); pp = set(bp(blk,v))
173
+ if p0 in pp: continue
174
+ s.add(blk)
175
+ lst = list(s)
176
+ cand_lists.append(lst)
177
+ cand_pairs.append([set(bp(blk,v)) for blk in lst])
178
+
179
+ temp = count_out[:]
180
+ critical_list = sorted(list(critical))
181
+ need = {q:1 for q in critical_list}
182
+ cover_pos = {q:set() for q in critical_list}
183
+ for pos in range(len(idxs)):
184
+ for m,pp in enumerate(cand_pairs[pos]):
185
+ for q in critical_list:
186
+ if q in pp: cover_pos[q].add(pos)
187
+ if any(len(cover_pos[q])==0 for q in critical_list):
188
+ continue
189
+
190
+ solution = [None]*len(idxs)
191
+ deadline = start + time_limit
192
+
193
+ def dfs(pos:int)->bool:
194
+ if time.time() > deadline: return False
195
+ if pos == len(idxs):
196
+ return True
197
+ order = list(range(len(cand_lists[pos])))
198
+ order.sort(key=lambda m: (
199
+ sum(temp[q] for q in cand_pairs[pos][m] if temp[q] >= target-1),
200
+ -sum(1 for q in cand_pairs[pos][m] if q in need and need[q]>0)
201
+ ))
202
+ for m in order:
203
+ pp = cand_pairs[pos][m]
204
+ if any(temp[q]+1 > target for q in pp):
205
+ continue
206
+ ok=True
207
+ for q in critical_list:
208
+ if need[q]<=0: continue
209
+ possible = any( (q in cand_pairs[p2][mm]) for p2 in range(pos, len(idxs)) for mm in range(len(cand_lists[p2])) )
210
+ if not possible: ok=False; break
211
+ if not ok: continue
212
+
213
+ for q in pp: temp[q]+=1
214
+ changed=[]
215
+ for q in pp:
216
+ if q in need and need[q]>0:
217
+ need[q]-=1; changed.append(q)
218
+
219
+ solution[pos]=m
220
+ if dfs(pos+1): return True
221
+
222
+ solution[pos]=None
223
+ for q in pp: temp[q]-=1
224
+ for q in changed: need[q]+=1
225
+ return False
226
+
227
+ if dfs(0):
228
+ for pos, i in enumerate(idxs):
229
+ m = solution[pos]
230
+ new_blk = cand_lists[pos][m]
231
+ old_pp = self.block_pairs[i]
232
+ for q in old_pp: self.pair_count[q]-=1
233
+ self.blocks[i] = new_blk
234
+ new_pp = tuple(sorted(block_pairs(new_blk, v)))
235
+ self.block_pairs[i] = new_pp
236
+ for q in new_pp: self.pair_count[q]+=1
237
+ assert min(self.pair_count) >= 1
238
+ return True
239
+ return False
coverlib/repair.py ADDED
@@ -0,0 +1,68 @@
1
+ from __future__ import annotations
2
+ import random
3
+ from typing import List, Optional, Set, Tuple
4
+ from .combinatorics import block_pairs, invert_pair_index, pair_index
5
+
6
+ __all__ = ["repair_to_coverage", "greedy_sample_block"]
7
+
8
+ def greedy_sample_block(v: int, k: int, uncovered_pairs: Set[int], trials: int = 512, rng=random) -> Tuple[int,...]:
9
+ if not uncovered_pairs:
10
+ return tuple(sorted(rng.sample(range(v), k)))
11
+ deg = [0]*v
12
+ for p in uncovered_pairs:
13
+ i,j = invert_pair_index(p, v); deg[i]+=1; deg[j]+=1
14
+ weights = [d+1 for d in deg]
15
+ best_blk, best_score = None, -1
16
+ for _ in range(trials):
17
+ cand = set(); w = weights[:]; total = sum(w)
18
+ while len(cand) < k and total>0:
19
+ r = rng.uniform(0,total); acc=0
20
+ for u,wu in enumerate(w):
21
+ acc += wu
22
+ if acc >= r:
23
+ cand.add(u); total-=w[u]; w[u]=0; break
24
+ if len(cand) < k:
25
+ remain = [u for u in range(v) if u not in cand]
26
+ rng.shuffle(remain)
27
+ for u in remain[:k-len(cand)]: cand.add(u)
28
+ blk = tuple(sorted(cand))
29
+ c=0
30
+ for a in range(k):
31
+ ia = blk[a]
32
+ for b in range(a+1,k):
33
+ ib = blk[b]
34
+ if pair_index(ia,ib,v) in uncovered_pairs: c+=1
35
+ if c>best_score: best_score, best_blk = c, blk
36
+ return best_blk # type: ignore
37
+
38
+ def repair_to_coverage(v: int, k: int, blocks: List[Tuple[int,...]], rng=random) -> List[Tuple[int,...]]:
39
+ counts, bpairs = coverage_from_blocks(v, blocks)
40
+ P = v*(v-1)//2
41
+ uncovered = {p for p in range(P) if counts[p]==0}
42
+ if not uncovered: return blocks
43
+ while uncovered:
44
+ blk = greedy_sample_block(v,k,uncovered, trials=512, rng=rng)
45
+ blocks.append(blk)
46
+ pp = block_pairs(blk,v); bpairs.append(pp)
47
+ for p in pp:
48
+ if counts[p]==0: uncovered.discard(p)
49
+ counts[p]+=1
50
+ # prune (safe deletions)
51
+ order = list(range(len(blocks))); rng.shuffle(order)
52
+ for idx in order:
53
+ pp = bpairs[idx]
54
+ if any(counts[p]==1 for p in pp): continue
55
+ for p in pp: counts[p]-=1
56
+ blocks[idx] = None # type: ignore
57
+ return [b for b in blocks if b is not None]
58
+
59
+ # local helper to avoid circular import
60
+ from .combinatorics import block_pairs as _bp
61
+
62
+ def coverage_from_blocks(v: int, blocks: List[Tuple[int,...]]):
63
+ P = v*(v-1)//2
64
+ counts = [0]*P
65
+ bpairs = [_bp(b, v) for b in blocks]
66
+ for pp in bpairs:
67
+ for p in pp: counts[p]+=1
68
+ return counts, bpairs