combstruct 0.1.0a0__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.
- combstruct/__init__.py +60 -0
- combstruct/__main__.py +5 -0
- combstruct/catalog.py +293 -0
- combstruct/data/ecs00/ecs_0001.json +35 -0
- combstruct/data/ecs00/ecs_0002.json +37 -0
- combstruct/data/ecs00/ecs_0003.json +35 -0
- combstruct/data/ecs00/ecs_0004.json +35 -0
- combstruct/data/ecs00/ecs_0005.json +35 -0
- combstruct/data/ecs00/ecs_0006.json +39 -0
- combstruct/data/ecs00/ecs_0007.json +39 -0
- combstruct/data/ecs00/ecs_0008.json +39 -0
- combstruct/data/ecs00/ecs_0009.json +40 -0
- combstruct/data/ecs00/ecs_0010.json +38 -0
- combstruct/data/ecs00/ecs_0011.json +38 -0
- combstruct/data/ecs00/ecs_0012.json +38 -0
- combstruct/data/ecs00/ecs_0013.json +38 -0
- combstruct/data/ecs00/ecs_0014.json +38 -0
- combstruct/data/ecs00/ecs_0015.json +37 -0
- combstruct/data/ecs00/ecs_0016.json +35 -0
- combstruct/data/ecs00/ecs_0017.json +38 -0
- combstruct/data/ecs00/ecs_0018.json +37 -0
- combstruct/data/ecs00/ecs_0019.json +37 -0
- combstruct/data/ecs00/ecs_0020.json +40 -0
- combstruct/data/ecs00/ecs_0021.json +38 -0
- combstruct/data/ecs00/ecs_0022.json +38 -0
- combstruct/data/ecs00/ecs_0023.json +39 -0
- combstruct/data/ecs00/ecs_0024.json +37 -0
- combstruct/data/ecs00/ecs_0025.json +37 -0
- combstruct/data/ecs00/ecs_0026.json +37 -0
- combstruct/data/ecs00/ecs_0027.json +38 -0
- combstruct/data/ecs00/ecs_0028.json +37 -0
- combstruct/data/ecs00/ecs_0029.json +38 -0
- combstruct/data/ecs00/ecs_0030.json +38 -0
- combstruct/data/ecs00/ecs_0031.json +38 -0
- combstruct/data/ecs00/ecs_0032.json +38 -0
- combstruct/data/ecs00/ecs_0033.json +37 -0
- combstruct/data/ecs00/ecs_0034.json +37 -0
- combstruct/data/ecs00/ecs_0035.json +38 -0
- combstruct/data/ecs00/ecs_0036.json +36 -0
- combstruct/data/ecs00/ecs_0037.json +36 -0
- combstruct/data/ecs00/ecs_0038.json +38 -0
- combstruct/data/ecs00/ecs_0039.json +35 -0
- combstruct/data/ecs00/ecs_0040.json +37 -0
- combstruct/data/ecs00/ecs_0041.json +36 -0
- combstruct/data/ecs00/ecs_0042.json +37 -0
- combstruct/data/ecs00/ecs_0043.json +35 -0
- combstruct/data/ecs00/ecs_0044.json +35 -0
- combstruct/data/ecs00/ecs_0045.json +35 -0
- combstruct/data/ecs00/ecs_0046.json +38 -0
- combstruct/data/ecs00/ecs_0047.json +38 -0
- combstruct/data/ecs00/ecs_0048.json +41 -0
- combstruct/data/ecs00/ecs_0049.json +39 -0
- combstruct/data/ecs00/ecs_0050.json +38 -0
- combstruct/data/ecs00/ecs_0051.json +39 -0
- combstruct/data/ecs00/ecs_0052.json +42 -0
- combstruct/data/ecs00/ecs_0053.json +39 -0
- combstruct/data/ecs00/ecs_0054.json +38 -0
- combstruct/data/ecs00/ecs_0055.json +39 -0
- combstruct/data/ecs00/ecs_0056.json +35 -0
- combstruct/data/ecs00/ecs_0057.json +35 -0
- combstruct/data/ecs00/ecs_0058.json +35 -0
- combstruct/data/ecs00/ecs_0059.json +35 -0
- combstruct/data/ecs00/ecs_0060.json +35 -0
- combstruct/data/ecs00/ecs_0061.json +35 -0
- combstruct/data/ecs00/ecs_0062.json +35 -0
- combstruct/data/ecs00/ecs_0063.json +35 -0
- combstruct/data/ecs00/ecs_0064.json +37 -0
- combstruct/data/ecs00/ecs_0065.json +37 -0
- combstruct/data/ecs00/ecs_0066.json +35 -0
- combstruct/data/ecs00/ecs_0067.json +36 -0
- combstruct/data/ecs00/ecs_0068.json +39 -0
- combstruct/data/ecs00/ecs_0069.json +36 -0
- combstruct/data/ecs00/ecs_0070.json +35 -0
- combstruct/data/ecs00/ecs_0071.json +39 -0
- combstruct/data/ecs00/ecs_0072.json +39 -0
- combstruct/data/ecs00/ecs_0073.json +37 -0
- combstruct/data/ecs00/ecs_0074.json +35 -0
- combstruct/data/ecs00/ecs_0075.json +37 -0
- combstruct/data/ecs00/ecs_0076.json +40 -0
- combstruct/data/ecs00/ecs_0077.json +38 -0
- combstruct/data/ecs00/ecs_0078.json +36 -0
- combstruct/data/ecs00/ecs_0079.json +35 -0
- combstruct/data/ecs00/ecs_0080.json +38 -0
- combstruct/data/ecs00/ecs_0081.json +38 -0
- combstruct/data/ecs00/ecs_0082.json +38 -0
- combstruct/data/ecs00/ecs_0083.json +38 -0
- combstruct/data/ecs00/ecs_0084.json +38 -0
- combstruct/data/ecs00/ecs_0085.json +38 -0
- combstruct/data/ecs00/ecs_0086.json +38 -0
- combstruct/data/ecs00/ecs_0087.json +38 -0
- combstruct/data/ecs00/ecs_0088.json +38 -0
- combstruct/data/ecs00/ecs_0089.json +35 -0
- combstruct/data/ecs00/ecs_0090.json +35 -0
- combstruct/data/ecs00/ecs_0091.json +35 -0
- combstruct/data/ecs00/ecs_0092.json +37 -0
- combstruct/data/ecs00/ecs_0093.json +37 -0
- combstruct/data/ecs00/ecs_0094.json +37 -0
- combstruct/data/ecs00/ecs_0095.json +35 -0
- combstruct/data/ecs00/ecs_0096.json +35 -0
- combstruct/data/ecs00/ecs_0097.json +38 -0
- combstruct/data/ecs00/ecs_0098.json +38 -0
- combstruct/data/ecs00/ecs_0099.json +36 -0
- combstruct/data/ecs01/ecs_0100.json +35 -0
- combstruct/data/ecs01/ecs_0101.json +38 -0
- combstruct/data/ecs01/ecs_0102.json +35 -0
- combstruct/data/ecs01/ecs_0103.json +38 -0
- combstruct/data/ecs01/ecs_0104.json +38 -0
- combstruct/data/ecs01/ecs_0105.json +38 -0
- combstruct/data/ecs01/ecs_0106.json +38 -0
- combstruct/data/ecs01/ecs_0107.json +35 -0
- combstruct/data/ecs01/ecs_0108.json +35 -0
- combstruct/data/ecs01/ecs_0109.json +38 -0
- combstruct/data/ecs01/ecs_0110.json +36 -0
- combstruct/data/ecs01/ecs_0111.json +36 -0
- combstruct/data/ecs01/ecs_0112.json +38 -0
- combstruct/data/ecs01/ecs_0113.json +35 -0
- combstruct/data/ecs01/ecs_0114.json +38 -0
- combstruct/data/ecs01/ecs_0115.json +39 -0
- combstruct/data/ecs01/ecs_0116.json +38 -0
- combstruct/data/ecs01/ecs_0117.json +35 -0
- combstruct/data/ecs01/ecs_0118.json +35 -0
- combstruct/data/ecs01/ecs_0119.json +35 -0
- combstruct/data/ecs01/ecs_0120.json +36 -0
- combstruct/data/ecs01/ecs_0121.json +38 -0
- combstruct/data/ecs01/ecs_0122.json +36 -0
- combstruct/data/ecs01/ecs_0123.json +34 -0
- combstruct/data/ecs01/ecs_0124.json +37 -0
- combstruct/data/ecs01/ecs_0125.json +36 -0
- combstruct/data/ecs01/ecs_0126.json +35 -0
- combstruct/data/ecs01/ecs_0127.json +38 -0
- combstruct/data/ecs01/ecs_0128.json +35 -0
- combstruct/data/ecs01/ecs_0129.json +35 -0
- combstruct/data/ecs01/ecs_0130.json +36 -0
- combstruct/data/ecs01/ecs_0131.json +37 -0
- combstruct/data/ecs01/ecs_0132.json +38 -0
- combstruct/data/ecs01/ecs_0133.json +38 -0
- combstruct/data/ecs01/ecs_0134.json +38 -0
- combstruct/data/ecs01/ecs_0135.json +38 -0
- combstruct/data/ecs01/ecs_0136.json +38 -0
- combstruct/data/ecs01/ecs_0137.json +35 -0
- combstruct/data/ecs01/ecs_0138.json +39 -0
- combstruct/data/ecs01/ecs_0139.json +38 -0
- combstruct/data/ecs01/ecs_0140.json +38 -0
- combstruct/data/ecs01/ecs_0141.json +35 -0
- combstruct/data/ecs01/ecs_0142.json +38 -0
- combstruct/data/ecs01/ecs_0143.json +38 -0
- combstruct/data/ecs01/ecs_0144.json +34 -0
- combstruct/data/ecs01/ecs_0145.json +38 -0
- combstruct/data/ecs01/ecs_0146.json +38 -0
- combstruct/data/ecs01/ecs_0147.json +38 -0
- combstruct/data/ecs01/ecs_0148.json +35 -0
- combstruct/data/ecs01/ecs_0149.json +36 -0
- combstruct/data/ecs01/ecs_0150.json +38 -0
- combstruct/data/ecs01/ecs_0151.json +39 -0
- combstruct/data/ecs01/ecs_0152.json +35 -0
- combstruct/data/ecs01/ecs_0153.json +37 -0
- combstruct/data/ecs01/ecs_0154.json +36 -0
- combstruct/data/ecs01/ecs_0155.json +38 -0
- combstruct/data/ecs01/ecs_0156.json +37 -0
- combstruct/data/ecs01/ecs_0157.json +36 -0
- combstruct/data/ecs01/ecs_0158.json +38 -0
- combstruct/data/ecs01/ecs_0159.json +37 -0
- combstruct/data/ecs01/ecs_0160.json +36 -0
- combstruct/data/ecs01/ecs_0161.json +35 -0
- combstruct/data/ecs01/ecs_0162.json +35 -0
- combstruct/data/ecs01/ecs_0163.json +38 -0
- combstruct/data/ecs01/ecs_0164.json +38 -0
- combstruct/data/ecs01/ecs_0165.json +38 -0
- combstruct/data/ecs01/ecs_0166.json +35 -0
- combstruct/data/ecs01/ecs_0167.json +34 -0
- combstruct/data/ecs01/ecs_0168.json +38 -0
- combstruct/data/ecs01/ecs_0169.json +38 -0
- combstruct/data/ecs01/ecs_0170.json +38 -0
- combstruct/data/ecs01/ecs_0171.json +38 -0
- combstruct/data/ecs01/ecs_0172.json +36 -0
- combstruct/data/ecs01/ecs_0173.json +36 -0
- combstruct/data/ecs01/ecs_0174.json +38 -0
- combstruct/data/ecs01/ecs_0175.json +38 -0
- combstruct/data/ecs01/ecs_0176.json +38 -0
- combstruct/data/ecs01/ecs_0177.json +38 -0
- combstruct/data/ecs01/ecs_0178.json +38 -0
- combstruct/data/ecs01/ecs_0179.json +38 -0
- combstruct/data/ecs01/ecs_0180.json +38 -0
- combstruct/data/ecs01/ecs_0181.json +38 -0
- combstruct/data/ecs01/ecs_0182.json +38 -0
- combstruct/data/ecs01/ecs_0183.json +38 -0
- combstruct/data/ecs01/ecs_0184.json +38 -0
- combstruct/data/ecs01/ecs_0185.json +38 -0
- combstruct/data/ecs01/ecs_0186.json +38 -0
- combstruct/data/ecs01/ecs_0187.json +38 -0
- combstruct/data/ecs01/ecs_0188.json +38 -0
- combstruct/data/ecs01/ecs_0189.json +38 -0
- combstruct/data/ecs01/ecs_0190.json +38 -0
- combstruct/data/ecs01/ecs_0191.json +38 -0
- combstruct/data/ecs01/ecs_0192.json +38 -0
- combstruct/data/ecs01/ecs_0193.json +38 -0
- combstruct/data/ecs01/ecs_0194.json +38 -0
- combstruct/data/ecs01/ecs_0195.json +38 -0
- combstruct/data/ecs01/ecs_0196.json +38 -0
- combstruct/data/ecs01/ecs_0197.json +38 -0
- combstruct/data/ecs01/ecs_0198.json +38 -0
- combstruct/data/ecs01/ecs_0199.json +38 -0
- combstruct/data/ecs02/ecs_0200.json +38 -0
- combstruct/data/ecs02/ecs_0201.json +38 -0
- combstruct/data/ecs02/ecs_0202.json +39 -0
- combstruct/data/ecs02/ecs_0203.json +39 -0
- combstruct/data/ecs02/ecs_0204.json +38 -0
- combstruct/data/ecs02/ecs_0205.json +38 -0
- combstruct/data/ecs02/ecs_0206.json +38 -0
- combstruct/data/ecs02/ecs_0207.json +38 -0
- combstruct/data/ecs02/ecs_0208.json +38 -0
- combstruct/data/ecs02/ecs_0209.json +39 -0
- combstruct/data/ecs02/ecs_0210.json +38 -0
- combstruct/data/ecs02/ecs_0211.json +38 -0
- combstruct/data/ecs02/ecs_0212.json +39 -0
- combstruct/data/ecs02/ecs_0213.json +38 -0
- combstruct/data/ecs02/ecs_0214.json +38 -0
- combstruct/data/ecs02/ecs_0215.json +38 -0
- combstruct/data/ecs02/ecs_0216.json +38 -0
- combstruct/data/ecs02/ecs_0217.json +38 -0
- combstruct/data/ecs02/ecs_0218.json +38 -0
- combstruct/data/ecs02/ecs_0219.json +38 -0
- combstruct/data/ecs02/ecs_0220.json +38 -0
- combstruct/data/ecs02/ecs_0221.json +38 -0
- combstruct/data/ecs02/ecs_0222.json +38 -0
- combstruct/data/ecs02/ecs_0223.json +38 -0
- combstruct/data/ecs02/ecs_0224.json +38 -0
- combstruct/data/ecs02/ecs_0225.json +38 -0
- combstruct/data/ecs02/ecs_0226.json +38 -0
- combstruct/data/ecs02/ecs_0227.json +38 -0
- combstruct/data/ecs02/ecs_0228.json +38 -0
- combstruct/data/ecs02/ecs_0229.json +38 -0
- combstruct/data/ecs02/ecs_0230.json +38 -0
- combstruct/data/ecs02/ecs_0231.json +37 -0
- combstruct/data/ecs02/ecs_0232.json +39 -0
- combstruct/data/ecs02/ecs_0233.json +38 -0
- combstruct/data/ecs02/ecs_0234.json +38 -0
- combstruct/data/ecs02/ecs_0235.json +38 -0
- combstruct/data/ecs02/ecs_0236.json +38 -0
- combstruct/data/ecs02/ecs_0237.json +38 -0
- combstruct/data/ecs02/ecs_0238.json +38 -0
- combstruct/data/ecs02/ecs_0239.json +38 -0
- combstruct/data/ecs02/ecs_0240.json +38 -0
- combstruct/data/ecs02/ecs_0241.json +38 -0
- combstruct/data/ecs02/ecs_0242.json +38 -0
- combstruct/data/ecs02/ecs_0243.json +38 -0
- combstruct/data/ecs02/ecs_0244.json +38 -0
- combstruct/data/ecs02/ecs_0245.json +38 -0
- combstruct/data/ecs02/ecs_0246.json +38 -0
- combstruct/data/ecs02/ecs_0247.json +36 -0
- combstruct/data/ecs02/ecs_0248.json +38 -0
- combstruct/data/ecs02/ecs_0249.json +38 -0
- combstruct/data/ecs02/ecs_0250.json +38 -0
- combstruct/data/ecs02/ecs_0251.json +38 -0
- combstruct/data/ecs02/ecs_0252.json +38 -0
- combstruct/data/ecs02/ecs_0253.json +38 -0
- combstruct/data/ecs02/ecs_0254.json +39 -0
- combstruct/data/ecs02/ecs_0255.json +38 -0
- combstruct/data/ecs02/ecs_0256.json +38 -0
- combstruct/data/ecs02/ecs_0257.json +38 -0
- combstruct/data/ecs02/ecs_0258.json +38 -0
- combstruct/data/ecs02/ecs_0259.json +38 -0
- combstruct/data/ecs02/ecs_0260.json +38 -0
- combstruct/data/ecs02/ecs_0261.json +38 -0
- combstruct/data/ecs02/ecs_0262.json +38 -0
- combstruct/data/ecs02/ecs_0263.json +38 -0
- combstruct/data/ecs02/ecs_0264.json +37 -0
- combstruct/data/ecs02/ecs_0265.json +34 -0
- combstruct/data/ecs02/ecs_0266.json +37 -0
- combstruct/data/ecs02/ecs_0267.json +39 -0
- combstruct/data/ecs02/ecs_0268.json +39 -0
- combstruct/data/ecs02/ecs_0269.json +39 -0
- combstruct/data/ecs02/ecs_0270.json +38 -0
- combstruct/data/ecs02/ecs_0271.json +38 -0
- combstruct/data/ecs02/ecs_0272.json +38 -0
- combstruct/data/ecs02/ecs_0273.json +38 -0
- combstruct/data/ecs02/ecs_0274.json +38 -0
- combstruct/data/ecs02/ecs_0275.json +38 -0
- combstruct/data/ecs02/ecs_0276.json +38 -0
- combstruct/data/ecs02/ecs_0277.json +38 -0
- combstruct/data/ecs02/ecs_0278.json +38 -0
- combstruct/data/ecs02/ecs_0279.json +38 -0
- combstruct/data/ecs02/ecs_0280.json +38 -0
- combstruct/data/ecs02/ecs_0281.json +38 -0
- combstruct/data/ecs02/ecs_0282.json +38 -0
- combstruct/data/ecs02/ecs_0283.json +38 -0
- combstruct/data/ecs02/ecs_0284.json +38 -0
- combstruct/data/ecs02/ecs_0285.json +38 -0
- combstruct/data/ecs02/ecs_0286.json +38 -0
- combstruct/data/ecs02/ecs_0287.json +38 -0
- combstruct/data/ecs02/ecs_0288.json +38 -0
- combstruct/data/ecs02/ecs_0289.json +38 -0
- combstruct/data/ecs02/ecs_0290.json +38 -0
- combstruct/data/ecs02/ecs_0291.json +35 -0
- combstruct/data/ecs02/ecs_0292.json +35 -0
- combstruct/data/ecs02/ecs_0293.json +35 -0
- combstruct/data/ecs02/ecs_0294.json +35 -0
- combstruct/data/ecs02/ecs_0295.json +35 -0
- combstruct/data/ecs02/ecs_0296.json +35 -0
- combstruct/data/ecs02/ecs_0297.json +38 -0
- combstruct/data/ecs02/ecs_0298.json +37 -0
- combstruct/data/ecs02/ecs_0299.json +36 -0
- combstruct/data/ecs03/ecs_0300.json +36 -0
- combstruct/data/ecs03/ecs_0301.json +36 -0
- combstruct/data/ecs03/ecs_0302.json +36 -0
- combstruct/data/ecs03/ecs_0303.json +36 -0
- combstruct/data/ecs03/ecs_0304.json +38 -0
- combstruct/data/ecs03/ecs_0305.json +38 -0
- combstruct/data/ecs03/ecs_0306.json +38 -0
- combstruct/data/ecs03/ecs_0307.json +38 -0
- combstruct/data/ecs03/ecs_0308.json +38 -0
- combstruct/data/ecs03/ecs_0309.json +38 -0
- combstruct/data/ecs03/ecs_0310.json +38 -0
- combstruct/data/ecs03/ecs_0311.json +38 -0
- combstruct/data/ecs03/ecs_0312.json +38 -0
- combstruct/data/ecs03/ecs_0313.json +38 -0
- combstruct/data/ecs03/ecs_0314.json +38 -0
- combstruct/data/ecs03/ecs_0315.json +38 -0
- combstruct/data/ecs03/ecs_0316.json +38 -0
- combstruct/data/ecs03/ecs_0317.json +38 -0
- combstruct/data/ecs03/ecs_0318.json +38 -0
- combstruct/data/ecs03/ecs_0319.json +38 -0
- combstruct/data/ecs03/ecs_0320.json +38 -0
- combstruct/data/ecs03/ecs_0321.json +38 -0
- combstruct/data/ecs03/ecs_0322.json +38 -0
- combstruct/data/ecs03/ecs_0323.json +38 -0
- combstruct/data/ecs03/ecs_0324.json +38 -0
- combstruct/data/ecs03/ecs_0325.json +38 -0
- combstruct/data/ecs03/ecs_0326.json +38 -0
- combstruct/data/ecs03/ecs_0327.json +38 -0
- combstruct/data/ecs03/ecs_0328.json +38 -0
- combstruct/data/ecs03/ecs_0329.json +38 -0
- combstruct/data/ecs03/ecs_0330.json +38 -0
- combstruct/data/ecs03/ecs_0331.json +38 -0
- combstruct/data/ecs03/ecs_0332.json +38 -0
- combstruct/data/ecs03/ecs_0333.json +38 -0
- combstruct/data/ecs03/ecs_0334.json +38 -0
- combstruct/data/ecs03/ecs_0335.json +38 -0
- combstruct/data/ecs03/ecs_0336.json +38 -0
- combstruct/data/ecs03/ecs_0337.json +38 -0
- combstruct/data/ecs03/ecs_0338.json +38 -0
- combstruct/data/ecs03/ecs_0339.json +38 -0
- combstruct/data/ecs03/ecs_0340.json +38 -0
- combstruct/data/ecs03/ecs_0341.json +38 -0
- combstruct/data/ecs03/ecs_0342.json +38 -0
- combstruct/data/ecs03/ecs_0343.json +38 -0
- combstruct/data/ecs03/ecs_0344.json +38 -0
- combstruct/data/ecs03/ecs_0345.json +39 -0
- combstruct/data/ecs03/ecs_0346.json +38 -0
- combstruct/data/ecs03/ecs_0347.json +38 -0
- combstruct/data/ecs03/ecs_0348.json +38 -0
- combstruct/data/ecs03/ecs_0349.json +38 -0
- combstruct/data/ecs03/ecs_0350.json +38 -0
- combstruct/data/ecs03/ecs_0351.json +39 -0
- combstruct/data/ecs03/ecs_0352.json +38 -0
- combstruct/data/ecs03/ecs_0353.json +38 -0
- combstruct/data/ecs03/ecs_0354.json +38 -0
- combstruct/data/ecs03/ecs_0355.json +38 -0
- combstruct/data/ecs03/ecs_0356.json +38 -0
- combstruct/data/ecs03/ecs_0357.json +38 -0
- combstruct/data/ecs03/ecs_0358.json +38 -0
- combstruct/data/ecs03/ecs_0359.json +38 -0
- combstruct/data/ecs03/ecs_0360.json +38 -0
- combstruct/data/ecs03/ecs_0361.json +38 -0
- combstruct/data/ecs03/ecs_0362.json +38 -0
- combstruct/data/ecs03/ecs_0363.json +38 -0
- combstruct/data/ecs03/ecs_0364.json +38 -0
- combstruct/data/ecs03/ecs_0365.json +38 -0
- combstruct/data/ecs03/ecs_0366.json +38 -0
- combstruct/data/ecs03/ecs_0367.json +38 -0
- combstruct/data/ecs03/ecs_0368.json +38 -0
- combstruct/data/ecs03/ecs_0369.json +38 -0
- combstruct/data/ecs03/ecs_0370.json +38 -0
- combstruct/data/ecs03/ecs_0371.json +39 -0
- combstruct/data/ecs03/ecs_0372.json +38 -0
- combstruct/data/ecs03/ecs_0373.json +38 -0
- combstruct/data/ecs03/ecs_0374.json +38 -0
- combstruct/data/ecs03/ecs_0375.json +38 -0
- combstruct/data/ecs03/ecs_0376.json +38 -0
- combstruct/data/ecs03/ecs_0377.json +38 -0
- combstruct/data/ecs03/ecs_0378.json +38 -0
- combstruct/data/ecs03/ecs_0379.json +38 -0
- combstruct/data/ecs03/ecs_0380.json +38 -0
- combstruct/data/ecs03/ecs_0381.json +38 -0
- combstruct/data/ecs03/ecs_0382.json +38 -0
- combstruct/data/ecs03/ecs_0383.json +38 -0
- combstruct/data/ecs03/ecs_0384.json +38 -0
- combstruct/data/ecs03/ecs_0385.json +34 -0
- combstruct/data/ecs03/ecs_0386.json +38 -0
- combstruct/data/ecs03/ecs_0387.json +34 -0
- combstruct/data/ecs03/ecs_0388.json +38 -0
- combstruct/data/ecs03/ecs_0389.json +38 -0
- combstruct/data/ecs03/ecs_0390.json +35 -0
- combstruct/data/ecs03/ecs_0391.json +35 -0
- combstruct/data/ecs03/ecs_0392.json +38 -0
- combstruct/data/ecs03/ecs_0393.json +38 -0
- combstruct/data/ecs03/ecs_0394.json +38 -0
- combstruct/data/ecs03/ecs_0395.json +37 -0
- combstruct/data/ecs03/ecs_0396.json +37 -0
- combstruct/data/ecs03/ecs_0397.json +38 -0
- combstruct/data/ecs03/ecs_0398.json +38 -0
- combstruct/data/ecs03/ecs_0399.json +38 -0
- combstruct/data/ecs04/ecs_0400.json +37 -0
- combstruct/data/ecs04/ecs_0401.json +38 -0
- combstruct/data/ecs04/ecs_0402.json +38 -0
- combstruct/data/ecs04/ecs_0403.json +38 -0
- combstruct/data/ecs04/ecs_0404.json +34 -0
- combstruct/data/ecs04/ecs_0405.json +38 -0
- combstruct/data/ecs04/ecs_0406.json +38 -0
- combstruct/data/ecs04/ecs_0407.json +38 -0
- combstruct/data/ecs04/ecs_0408.json +38 -0
- combstruct/data/ecs04/ecs_0409.json +38 -0
- combstruct/data/ecs04/ecs_0410.json +38 -0
- combstruct/data/ecs04/ecs_0411.json +38 -0
- combstruct/data/ecs04/ecs_0412.json +38 -0
- combstruct/data/ecs04/ecs_0413.json +39 -0
- combstruct/data/ecs04/ecs_0414.json +38 -0
- combstruct/data/ecs04/ecs_0415.json +37 -0
- combstruct/data/ecs04/ecs_0416.json +37 -0
- combstruct/data/ecs04/ecs_0417.json +38 -0
- combstruct/data/ecs04/ecs_0418.json +38 -0
- combstruct/data/ecs04/ecs_0419.json +38 -0
- combstruct/data/ecs04/ecs_0420.json +38 -0
- combstruct/data/ecs04/ecs_0421.json +37 -0
- combstruct/data/ecs04/ecs_0422.json +38 -0
- combstruct/data/ecs04/ecs_0423.json +37 -0
- combstruct/data/ecs04/ecs_0424.json +38 -0
- combstruct/data/ecs04/ecs_0425.json +38 -0
- combstruct/data/ecs04/ecs_0426.json +38 -0
- combstruct/data/ecs04/ecs_0427.json +38 -0
- combstruct/data/ecs04/ecs_0428.json +34 -0
- combstruct/data/ecs04/ecs_0429.json +34 -0
- combstruct/data/ecs04/ecs_0430.json +34 -0
- combstruct/data/ecs04/ecs_0431.json +38 -0
- combstruct/data/ecs04/ecs_0432.json +38 -0
- combstruct/data/ecs04/ecs_0433.json +38 -0
- combstruct/data/ecs04/ecs_0434.json +38 -0
- combstruct/data/ecs04/ecs_0435.json +38 -0
- combstruct/data/ecs04/ecs_0436.json +38 -0
- combstruct/data/ecs04/ecs_0437.json +38 -0
- combstruct/data/ecs04/ecs_0438.json +38 -0
- combstruct/data/ecs04/ecs_0439.json +34 -0
- combstruct/data/ecs04/ecs_0440.json +38 -0
- combstruct/data/ecs04/ecs_0441.json +37 -0
- combstruct/data/ecs04/ecs_0442.json +38 -0
- combstruct/data/ecs04/ecs_0443.json +37 -0
- combstruct/data/ecs04/ecs_0444.json +38 -0
- combstruct/data/ecs04/ecs_0445.json +38 -0
- combstruct/data/ecs04/ecs_0446.json +35 -0
- combstruct/data/ecs04/ecs_0447.json +38 -0
- combstruct/data/ecs04/ecs_0448.json +36 -0
- combstruct/data/ecs04/ecs_0449.json +38 -0
- combstruct/data/ecs04/ecs_0450.json +36 -0
- combstruct/data/ecs04/ecs_0451.json +38 -0
- combstruct/data/ecs04/ecs_0452.json +38 -0
- combstruct/data/ecs04/ecs_0453.json +38 -0
- combstruct/data/ecs04/ecs_0454.json +38 -0
- combstruct/data/ecs04/ecs_0455.json +38 -0
- combstruct/data/ecs04/ecs_0456.json +38 -0
- combstruct/data/ecs04/ecs_0457.json +38 -0
- combstruct/data/ecs04/ecs_0458.json +38 -0
- combstruct/data/ecs04/ecs_0459.json +38 -0
- combstruct/data/ecs04/ecs_0460.json +38 -0
- combstruct/data/ecs04/ecs_0461.json +38 -0
- combstruct/data/ecs04/ecs_0462.json +38 -0
- combstruct/data/ecs04/ecs_0463.json +38 -0
- combstruct/data/ecs04/ecs_0464.json +38 -0
- combstruct/data/ecs04/ecs_0465.json +38 -0
- combstruct/data/ecs04/ecs_0466.json +38 -0
- combstruct/data/ecs04/ecs_0467.json +38 -0
- combstruct/data/ecs04/ecs_0468.json +38 -0
- combstruct/data/ecs04/ecs_0469.json +38 -0
- combstruct/data/ecs04/ecs_0470.json +38 -0
- combstruct/data/ecs04/ecs_0471.json +38 -0
- combstruct/data/ecs04/ecs_0472.json +38 -0
- combstruct/data/ecs04/ecs_0473.json +38 -0
- combstruct/data/ecs04/ecs_0474.json +38 -0
- combstruct/data/ecs04/ecs_0475.json +38 -0
- combstruct/data/ecs04/ecs_0476.json +38 -0
- combstruct/data/ecs04/ecs_0477.json +38 -0
- combstruct/data/ecs04/ecs_0478.json +38 -0
- combstruct/data/ecs04/ecs_0479.json +38 -0
- combstruct/data/ecs04/ecs_0480.json +38 -0
- combstruct/data/ecs04/ecs_0481.json +38 -0
- combstruct/data/ecs04/ecs_0482.json +38 -0
- combstruct/data/ecs04/ecs_0483.json +38 -0
- combstruct/data/ecs04/ecs_0484.json +38 -0
- combstruct/data/ecs04/ecs_0485.json +38 -0
- combstruct/data/ecs04/ecs_0486.json +38 -0
- combstruct/data/ecs04/ecs_0487.json +38 -0
- combstruct/data/ecs04/ecs_0488.json +38 -0
- combstruct/data/ecs04/ecs_0489.json +38 -0
- combstruct/data/ecs04/ecs_0490.json +38 -0
- combstruct/data/ecs04/ecs_0491.json +38 -0
- combstruct/data/ecs04/ecs_0492.json +38 -0
- combstruct/data/ecs04/ecs_0493.json +38 -0
- combstruct/data/ecs04/ecs_0494.json +38 -0
- combstruct/data/ecs04/ecs_0495.json +38 -0
- combstruct/data/ecs04/ecs_0496.json +38 -0
- combstruct/data/ecs04/ecs_0497.json +38 -0
- combstruct/data/ecs04/ecs_0498.json +38 -0
- combstruct/data/ecs04/ecs_0499.json +38 -0
- combstruct/data/ecs05/ecs_0500.json +38 -0
- combstruct/data/ecs05/ecs_0501.json +38 -0
- combstruct/data/ecs05/ecs_0502.json +38 -0
- combstruct/data/ecs05/ecs_0503.json +38 -0
- combstruct/data/ecs05/ecs_0504.json +38 -0
- combstruct/data/ecs05/ecs_0505.json +38 -0
- combstruct/data/ecs05/ecs_0506.json +38 -0
- combstruct/data/ecs05/ecs_0507.json +38 -0
- combstruct/data/ecs05/ecs_0508.json +38 -0
- combstruct/data/ecs05/ecs_0509.json +38 -0
- combstruct/data/ecs05/ecs_0510.json +38 -0
- combstruct/data/ecs05/ecs_0511.json +38 -0
- combstruct/data/ecs05/ecs_0512.json +38 -0
- combstruct/data/ecs05/ecs_0513.json +38 -0
- combstruct/data/ecs05/ecs_0514.json +38 -0
- combstruct/data/ecs05/ecs_0515.json +38 -0
- combstruct/data/ecs05/ecs_0516.json +38 -0
- combstruct/data/ecs05/ecs_0517.json +38 -0
- combstruct/data/ecs05/ecs_0518.json +38 -0
- combstruct/data/ecs05/ecs_0519.json +38 -0
- combstruct/data/ecs05/ecs_0520.json +38 -0
- combstruct/data/ecs05/ecs_0521.json +38 -0
- combstruct/data/ecs05/ecs_0522.json +38 -0
- combstruct/data/ecs05/ecs_0523.json +38 -0
- combstruct/data/ecs05/ecs_0524.json +38 -0
- combstruct/data/ecs05/ecs_0525.json +38 -0
- combstruct/data/ecs05/ecs_0526.json +38 -0
- combstruct/data/ecs05/ecs_0527.json +38 -0
- combstruct/data/ecs05/ecs_0528.json +38 -0
- combstruct/data/ecs05/ecs_0529.json +38 -0
- combstruct/data/ecs05/ecs_0530.json +38 -0
- combstruct/data/ecs05/ecs_0531.json +38 -0
- combstruct/data/ecs05/ecs_0532.json +38 -0
- combstruct/data/ecs05/ecs_0533.json +38 -0
- combstruct/data/ecs05/ecs_0534.json +38 -0
- combstruct/data/ecs05/ecs_0535.json +38 -0
- combstruct/data/ecs05/ecs_0536.json +38 -0
- combstruct/data/ecs05/ecs_0537.json +38 -0
- combstruct/data/ecs05/ecs_0538.json +38 -0
- combstruct/data/ecs05/ecs_0539.json +38 -0
- combstruct/data/ecs05/ecs_0540.json +38 -0
- combstruct/data/ecs05/ecs_0541.json +38 -0
- combstruct/data/ecs05/ecs_0542.json +38 -0
- combstruct/data/ecs05/ecs_0543.json +38 -0
- combstruct/data/ecs05/ecs_0544.json +38 -0
- combstruct/data/ecs05/ecs_0545.json +38 -0
- combstruct/data/ecs05/ecs_0546.json +38 -0
- combstruct/data/ecs05/ecs_0547.json +38 -0
- combstruct/data/ecs05/ecs_0548.json +38 -0
- combstruct/data/ecs05/ecs_0549.json +38 -0
- combstruct/data/ecs05/ecs_0550.json +38 -0
- combstruct/data/ecs05/ecs_0551.json +38 -0
- combstruct/data/ecs05/ecs_0552.json +38 -0
- combstruct/data/ecs05/ecs_0553.json +38 -0
- combstruct/data/ecs05/ecs_0554.json +38 -0
- combstruct/data/ecs05/ecs_0555.json +38 -0
- combstruct/data/ecs05/ecs_0556.json +38 -0
- combstruct/data/ecs05/ecs_0557.json +38 -0
- combstruct/data/ecs05/ecs_0558.json +38 -0
- combstruct/data/ecs05/ecs_0559.json +38 -0
- combstruct/data/ecs05/ecs_0560.json +38 -0
- combstruct/data/ecs05/ecs_0561.json +38 -0
- combstruct/data/ecs05/ecs_0562.json +38 -0
- combstruct/data/ecs05/ecs_0563.json +38 -0
- combstruct/data/ecs05/ecs_0564.json +38 -0
- combstruct/data/ecs05/ecs_0565.json +38 -0
- combstruct/data/ecs05/ecs_0566.json +38 -0
- combstruct/data/ecs05/ecs_0567.json +38 -0
- combstruct/data/ecs05/ecs_0568.json +38 -0
- combstruct/data/ecs05/ecs_0569.json +38 -0
- combstruct/data/ecs05/ecs_0570.json +38 -0
- combstruct/data/ecs05/ecs_0571.json +38 -0
- combstruct/data/ecs05/ecs_0572.json +38 -0
- combstruct/data/ecs05/ecs_0573.json +38 -0
- combstruct/data/ecs05/ecs_0574.json +38 -0
- combstruct/data/ecs05/ecs_0575.json +38 -0
- combstruct/data/ecs05/ecs_0576.json +38 -0
- combstruct/data/ecs05/ecs_0577.json +38 -0
- combstruct/data/ecs05/ecs_0578.json +38 -0
- combstruct/data/ecs05/ecs_0579.json +38 -0
- combstruct/data/ecs05/ecs_0580.json +38 -0
- combstruct/data/ecs05/ecs_0581.json +38 -0
- combstruct/data/ecs05/ecs_0582.json +38 -0
- combstruct/data/ecs05/ecs_0583.json +38 -0
- combstruct/data/ecs05/ecs_0584.json +38 -0
- combstruct/data/ecs05/ecs_0585.json +38 -0
- combstruct/data/ecs05/ecs_0586.json +38 -0
- combstruct/data/ecs05/ecs_0587.json +38 -0
- combstruct/data/ecs05/ecs_0588.json +38 -0
- combstruct/data/ecs05/ecs_0589.json +38 -0
- combstruct/data/ecs05/ecs_0590.json +38 -0
- combstruct/data/ecs05/ecs_0591.json +38 -0
- combstruct/data/ecs05/ecs_0592.json +38 -0
- combstruct/data/ecs05/ecs_0593.json +38 -0
- combstruct/data/ecs05/ecs_0594.json +38 -0
- combstruct/data/ecs05/ecs_0595.json +38 -0
- combstruct/data/ecs05/ecs_0596.json +38 -0
- combstruct/data/ecs05/ecs_0597.json +38 -0
- combstruct/data/ecs05/ecs_0598.json +38 -0
- combstruct/data/ecs05/ecs_0599.json +38 -0
- combstruct/data/ecs06/ecs_0600.json +38 -0
- combstruct/data/ecs06/ecs_0601.json +38 -0
- combstruct/data/ecs06/ecs_0602.json +38 -0
- combstruct/data/ecs06/ecs_0603.json +38 -0
- combstruct/data/ecs06/ecs_0604.json +38 -0
- combstruct/data/ecs06/ecs_0605.json +38 -0
- combstruct/data/ecs06/ecs_0606.json +38 -0
- combstruct/data/ecs06/ecs_0607.json +38 -0
- combstruct/data/ecs06/ecs_0608.json +38 -0
- combstruct/data/ecs06/ecs_0609.json +38 -0
- combstruct/data/ecs06/ecs_0610.json +38 -0
- combstruct/data/ecs06/ecs_0611.json +38 -0
- combstruct/data/ecs06/ecs_0612.json +38 -0
- combstruct/data/ecs06/ecs_0613.json +38 -0
- combstruct/data/ecs06/ecs_0614.json +38 -0
- combstruct/data/ecs06/ecs_0615.json +38 -0
- combstruct/data/ecs06/ecs_0616.json +38 -0
- combstruct/data/ecs06/ecs_0617.json +38 -0
- combstruct/data/ecs06/ecs_0618.json +38 -0
- combstruct/data/ecs06/ecs_0619.json +38 -0
- combstruct/data/ecs06/ecs_0620.json +38 -0
- combstruct/data/ecs06/ecs_0621.json +38 -0
- combstruct/data/ecs06/ecs_0622.json +38 -0
- combstruct/data/ecs06/ecs_0623.json +38 -0
- combstruct/data/ecs06/ecs_0624.json +38 -0
- combstruct/data/ecs06/ecs_0625.json +38 -0
- combstruct/data/ecs06/ecs_0626.json +38 -0
- combstruct/data/ecs06/ecs_0627.json +38 -0
- combstruct/data/ecs06/ecs_0628.json +38 -0
- combstruct/data/ecs06/ecs_0629.json +38 -0
- combstruct/data/ecs06/ecs_0630.json +38 -0
- combstruct/data/ecs06/ecs_0631.json +38 -0
- combstruct/data/ecs06/ecs_0632.json +38 -0
- combstruct/data/ecs06/ecs_0633.json +38 -0
- combstruct/data/ecs06/ecs_0634.json +38 -0
- combstruct/data/ecs06/ecs_0635.json +38 -0
- combstruct/data/ecs06/ecs_0636.json +38 -0
- combstruct/data/ecs06/ecs_0637.json +38 -0
- combstruct/data/ecs06/ecs_0638.json +38 -0
- combstruct/data/ecs06/ecs_0639.json +38 -0
- combstruct/data/ecs06/ecs_0640.json +38 -0
- combstruct/data/ecs06/ecs_0641.json +38 -0
- combstruct/data/ecs06/ecs_0642.json +38 -0
- combstruct/data/ecs06/ecs_0643.json +38 -0
- combstruct/data/ecs06/ecs_0644.json +38 -0
- combstruct/data/ecs06/ecs_0645.json +38 -0
- combstruct/data/ecs06/ecs_0646.json +38 -0
- combstruct/data/ecs06/ecs_0647.json +38 -0
- combstruct/data/ecs06/ecs_0648.json +38 -0
- combstruct/data/ecs06/ecs_0649.json +38 -0
- combstruct/data/ecs06/ecs_0650.json +38 -0
- combstruct/data/ecs06/ecs_0651.json +38 -0
- combstruct/data/ecs06/ecs_0652.json +38 -0
- combstruct/data/ecs06/ecs_0653.json +38 -0
- combstruct/data/ecs06/ecs_0654.json +37 -0
- combstruct/data/ecs06/ecs_0655.json +37 -0
- combstruct/data/ecs06/ecs_0656.json +37 -0
- combstruct/data/ecs06/ecs_0657.json +37 -0
- combstruct/data/ecs06/ecs_0658.json +38 -0
- combstruct/data/ecs06/ecs_0659.json +37 -0
- combstruct/data/ecs06/ecs_0660.json +37 -0
- combstruct/data/ecs06/ecs_0661.json +37 -0
- combstruct/data/ecs06/ecs_0662.json +38 -0
- combstruct/data/ecs06/ecs_0663.json +37 -0
- combstruct/data/ecs06/ecs_0664.json +37 -0
- combstruct/data/ecs06/ecs_0665.json +37 -0
- combstruct/data/ecs06/ecs_0666.json +37 -0
- combstruct/data/ecs06/ecs_0667.json +38 -0
- combstruct/data/ecs06/ecs_0668.json +38 -0
- combstruct/data/ecs06/ecs_0669.json +38 -0
- combstruct/data/ecs06/ecs_0670.json +38 -0
- combstruct/data/ecs06/ecs_0671.json +38 -0
- combstruct/data/ecs06/ecs_0672.json +37 -0
- combstruct/data/ecs06/ecs_0673.json +38 -0
- combstruct/data/ecs06/ecs_0674.json +38 -0
- combstruct/data/ecs06/ecs_0675.json +38 -0
- combstruct/data/ecs06/ecs_0676.json +38 -0
- combstruct/data/ecs06/ecs_0677.json +38 -0
- combstruct/data/ecs06/ecs_0678.json +38 -0
- combstruct/data/ecs06/ecs_0679.json +37 -0
- combstruct/data/ecs06/ecs_0680.json +37 -0
- combstruct/data/ecs06/ecs_0681.json +37 -0
- combstruct/data/ecs06/ecs_0682.json +37 -0
- combstruct/data/ecs06/ecs_0683.json +37 -0
- combstruct/data/ecs06/ecs_0684.json +37 -0
- combstruct/data/ecs06/ecs_0685.json +37 -0
- combstruct/data/ecs06/ecs_0686.json +37 -0
- combstruct/data/ecs06/ecs_0687.json +37 -0
- combstruct/data/ecs06/ecs_0688.json +38 -0
- combstruct/data/ecs06/ecs_0689.json +38 -0
- combstruct/data/ecs06/ecs_0690.json +38 -0
- combstruct/data/ecs06/ecs_0691.json +37 -0
- combstruct/data/ecs06/ecs_0692.json +37 -0
- combstruct/data/ecs06/ecs_0693.json +38 -0
- combstruct/data/ecs06/ecs_0694.json +37 -0
- combstruct/data/ecs06/ecs_0695.json +37 -0
- combstruct/data/ecs06/ecs_0696.json +37 -0
- combstruct/data/ecs06/ecs_0697.json +38 -0
- combstruct/data/ecs06/ecs_0698.json +37 -0
- combstruct/data/ecs06/ecs_0699.json +37 -0
- combstruct/data/ecs07/ecs_0700.json +37 -0
- combstruct/data/ecs07/ecs_0701.json +38 -0
- combstruct/data/ecs07/ecs_0702.json +36 -0
- combstruct/data/ecs07/ecs_0703.json +38 -0
- combstruct/data/ecs07/ecs_0704.json +38 -0
- combstruct/data/ecs07/ecs_0705.json +38 -0
- combstruct/data/ecs07/ecs_0706.json +36 -0
- combstruct/data/ecs07/ecs_0707.json +34 -0
- combstruct/data/ecs07/ecs_0708.json +36 -0
- combstruct/data/ecs07/ecs_0709.json +37 -0
- combstruct/data/ecs07/ecs_0710.json +38 -0
- combstruct/data/ecs07/ecs_0711.json +34 -0
- combstruct/data/ecs07/ecs_0712.json +36 -0
- combstruct/data/ecs07/ecs_0713.json +34 -0
- combstruct/data/ecs07/ecs_0714.json +38 -0
- combstruct/data/ecs07/ecs_0715.json +38 -0
- combstruct/data/ecs07/ecs_0716.json +38 -0
- combstruct/data/ecs07/ecs_0717.json +38 -0
- combstruct/data/ecs07/ecs_0718.json +38 -0
- combstruct/data/ecs07/ecs_0719.json +38 -0
- combstruct/data/ecs07/ecs_0720.json +34 -0
- combstruct/data/ecs07/ecs_0721.json +36 -0
- combstruct/data/ecs07/ecs_0722.json +38 -0
- combstruct/data/ecs07/ecs_0723.json +38 -0
- combstruct/data/ecs07/ecs_0724.json +37 -0
- combstruct/data/ecs07/ecs_0725.json +38 -0
- combstruct/data/ecs07/ecs_0726.json +38 -0
- combstruct/data/ecs07/ecs_0727.json +37 -0
- combstruct/data/ecs07/ecs_0728.json +38 -0
- combstruct/data/ecs07/ecs_0729.json +34 -0
- combstruct/data/ecs07/ecs_0730.json +34 -0
- combstruct/data/ecs07/ecs_0731.json +36 -0
- combstruct/data/ecs07/ecs_0732.json +34 -0
- combstruct/data/ecs07/ecs_0733.json +38 -0
- combstruct/data/ecs07/ecs_0734.json +38 -0
- combstruct/data/ecs07/ecs_0735.json +38 -0
- combstruct/data/ecs07/ecs_0736.json +37 -0
- combstruct/data/ecs07/ecs_0737.json +38 -0
- combstruct/data/ecs07/ecs_0738.json +34 -0
- combstruct/data/ecs07/ecs_0739.json +36 -0
- combstruct/data/ecs07/ecs_0740.json +37 -0
- combstruct/data/ecs07/ecs_0741.json +38 -0
- combstruct/data/ecs07/ecs_0742.json +38 -0
- combstruct/data/ecs07/ecs_0743.json +38 -0
- combstruct/data/ecs07/ecs_0744.json +38 -0
- combstruct/data/ecs07/ecs_0745.json +34 -0
- combstruct/data/ecs07/ecs_0746.json +36 -0
- combstruct/data/ecs07/ecs_0747.json +37 -0
- combstruct/data/ecs07/ecs_0748.json +38 -0
- combstruct/data/ecs07/ecs_0749.json +38 -0
- combstruct/data/ecs07/ecs_0750.json +38 -0
- combstruct/data/ecs07/ecs_0751.json +38 -0
- combstruct/data/ecs07/ecs_0752.json +38 -0
- combstruct/data/ecs07/ecs_0753.json +38 -0
- combstruct/data/ecs07/ecs_0754.json +34 -0
- combstruct/data/ecs07/ecs_0755.json +34 -0
- combstruct/data/ecs07/ecs_0756.json +38 -0
- combstruct/data/ecs07/ecs_0757.json +38 -0
- combstruct/data/ecs07/ecs_0758.json +38 -0
- combstruct/data/ecs07/ecs_0759.json +36 -0
- combstruct/data/ecs07/ecs_0760.json +34 -0
- combstruct/data/ecs07/ecs_0761.json +35 -0
- combstruct/data/ecs07/ecs_0762.json +36 -0
- combstruct/data/ecs07/ecs_0763.json +38 -0
- combstruct/data/ecs07/ecs_0764.json +35 -0
- combstruct/data/ecs07/ecs_0765.json +35 -0
- combstruct/data/ecs07/ecs_0766.json +35 -0
- combstruct/data/ecs07/ecs_0767.json +34 -0
- combstruct/data/ecs07/ecs_0768.json +34 -0
- combstruct/data/ecs07/ecs_0769.json +36 -0
- combstruct/data/ecs07/ecs_0770.json +36 -0
- combstruct/data/ecs07/ecs_0771.json +36 -0
- combstruct/data/ecs07/ecs_0772.json +35 -0
- combstruct/data/ecs07/ecs_0773.json +34 -0
- combstruct/data/ecs07/ecs_0774.json +35 -0
- combstruct/data/ecs07/ecs_0775.json +36 -0
- combstruct/data/ecs07/ecs_0776.json +35 -0
- combstruct/data/ecs07/ecs_0777.json +38 -0
- combstruct/data/ecs07/ecs_0778.json +36 -0
- combstruct/data/ecs07/ecs_0779.json +34 -0
- combstruct/data/ecs07/ecs_0780.json +34 -0
- combstruct/data/ecs07/ecs_0781.json +35 -0
- combstruct/data/ecs07/ecs_0782.json +34 -0
- combstruct/data/ecs07/ecs_0783.json +34 -0
- combstruct/data/ecs07/ecs_0784.json +34 -0
- combstruct/data/ecs07/ecs_0785.json +36 -0
- combstruct/data/ecs07/ecs_0786.json +35 -0
- combstruct/data/ecs07/ecs_0787.json +36 -0
- combstruct/data/ecs07/ecs_0788.json +35 -0
- combstruct/data/ecs07/ecs_0789.json +36 -0
- combstruct/data/ecs07/ecs_0790.json +35 -0
- combstruct/data/ecs07/ecs_0791.json +36 -0
- combstruct/data/ecs07/ecs_0792.json +34 -0
- combstruct/data/ecs07/ecs_0793.json +36 -0
- combstruct/data/ecs07/ecs_0794.json +34 -0
- combstruct/data/ecs07/ecs_0795.json +36 -0
- combstruct/data/ecs07/ecs_0796.json +34 -0
- combstruct/data/ecs07/ecs_0797.json +38 -0
- combstruct/data/ecs07/ecs_0798.json +35 -0
- combstruct/data/ecs07/ecs_0799.json +36 -0
- combstruct/data/ecs08/ecs_0800.json +35 -0
- combstruct/data/ecs08/ecs_0801.json +35 -0
- combstruct/data/ecs08/ecs_0802.json +36 -0
- combstruct/data/ecs08/ecs_0803.json +34 -0
- combstruct/data/ecs08/ecs_0804.json +35 -0
- combstruct/data/ecs08/ecs_0805.json +36 -0
- combstruct/data/ecs08/ecs_0806.json +35 -0
- combstruct/data/ecs08/ecs_0807.json +38 -0
- combstruct/data/ecs08/ecs_0808.json +36 -0
- combstruct/data/ecs08/ecs_0809.json +34 -0
- combstruct/data/ecs08/ecs_0810.json +36 -0
- combstruct/data/ecs08/ecs_0811.json +34 -0
- combstruct/data/ecs08/ecs_0812.json +37 -0
- combstruct/data/ecs08/ecs_0813.json +37 -0
- combstruct/data/ecs08/ecs_0814.json +36 -0
- combstruct/data/ecs08/ecs_0815.json +35 -0
- combstruct/data/ecs08/ecs_0816.json +36 -0
- combstruct/data/ecs08/ecs_0817.json +38 -0
- combstruct/data/ecs08/ecs_0818.json +38 -0
- combstruct/data/ecs08/ecs_0819.json +36 -0
- combstruct/data/ecs08/ecs_0820.json +37 -0
- combstruct/data/ecs08/ecs_0821.json +34 -0
- combstruct/data/ecs08/ecs_0822.json +35 -0
- combstruct/data/ecs08/ecs_0823.json +34 -0
- combstruct/data/ecs08/ecs_0824.json +36 -0
- combstruct/data/ecs08/ecs_0825.json +35 -0
- combstruct/data/ecs08/ecs_0826.json +36 -0
- combstruct/data/ecs08/ecs_0827.json +35 -0
- combstruct/data/ecs08/ecs_0828.json +36 -0
- combstruct/data/ecs08/ecs_0829.json +38 -0
- combstruct/data/ecs08/ecs_0830.json +36 -0
- combstruct/data/ecs08/ecs_0831.json +37 -0
- combstruct/data/ecs08/ecs_0832.json +36 -0
- combstruct/data/ecs08/ecs_0833.json +36 -0
- combstruct/data/ecs08/ecs_0834.json +38 -0
- combstruct/data/ecs08/ecs_0835.json +36 -0
- combstruct/data/ecs08/ecs_0836.json +38 -0
- combstruct/data/ecs08/ecs_0837.json +36 -0
- combstruct/data/ecs08/ecs_0838.json +38 -0
- combstruct/data/ecs08/ecs_0839.json +36 -0
- combstruct/data/ecs08/ecs_0840.json +34 -0
- combstruct/data/ecs08/ecs_0841.json +34 -0
- combstruct/data/ecs08/ecs_0842.json +36 -0
- combstruct/data/ecs08/ecs_0843.json +34 -0
- combstruct/data/ecs08/ecs_0844.json +35 -0
- combstruct/data/ecs08/ecs_0845.json +37 -0
- combstruct/data/ecs08/ecs_0846.json +36 -0
- combstruct/data/ecs08/ecs_0847.json +36 -0
- combstruct/data/ecs08/ecs_0848.json +36 -0
- combstruct/data/ecs08/ecs_0849.json +38 -0
- combstruct/data/ecs08/ecs_0850.json +34 -0
- combstruct/data/ecs08/ecs_0851.json +36 -0
- combstruct/data/ecs08/ecs_0852.json +35 -0
- combstruct/data/ecs08/ecs_0853.json +38 -0
- combstruct/data/ecs08/ecs_0854.json +36 -0
- combstruct/data/ecs08/ecs_0855.json +36 -0
- combstruct/data/ecs08/ecs_0856.json +37 -0
- combstruct/data/ecs08/ecs_0857.json +34 -0
- combstruct/data/ecs08/ecs_0858.json +35 -0
- combstruct/data/ecs08/ecs_0859.json +36 -0
- combstruct/data/ecs08/ecs_0860.json +37 -0
- combstruct/data/ecs08/ecs_0861.json +36 -0
- combstruct/data/ecs08/ecs_0862.json +34 -0
- combstruct/data/ecs08/ecs_0863.json +36 -0
- combstruct/data/ecs08/ecs_0864.json +36 -0
- combstruct/data/ecs08/ecs_0865.json +35 -0
- combstruct/data/ecs08/ecs_0866.json +34 -0
- combstruct/data/ecs08/ecs_0867.json +34 -0
- combstruct/data/ecs08/ecs_0868.json +36 -0
- combstruct/data/ecs08/ecs_0869.json +34 -0
- combstruct/data/ecs08/ecs_0870.json +36 -0
- combstruct/data/ecs08/ecs_0871.json +36 -0
- combstruct/data/ecs08/ecs_0872.json +35 -0
- combstruct/data/ecs08/ecs_0873.json +37 -0
- combstruct/data/ecs08/ecs_0874.json +38 -0
- combstruct/data/ecs08/ecs_0875.json +38 -0
- combstruct/data/ecs08/ecs_0876.json +38 -0
- combstruct/data/ecs08/ecs_0877.json +38 -0
- combstruct/data/ecs08/ecs_0878.json +38 -0
- combstruct/data/ecs08/ecs_0879.json +38 -0
- combstruct/data/ecs08/ecs_0880.json +38 -0
- combstruct/data/ecs08/ecs_0881.json +38 -0
- combstruct/data/ecs08/ecs_0882.json +38 -0
- combstruct/data/ecs08/ecs_0883.json +38 -0
- combstruct/data/ecs08/ecs_0884.json +38 -0
- combstruct/data/ecs08/ecs_0885.json +38 -0
- combstruct/data/ecs08/ecs_0886.json +38 -0
- combstruct/data/ecs08/ecs_0887.json +38 -0
- combstruct/data/ecs08/ecs_0888.json +38 -0
- combstruct/data/ecs08/ecs_0889.json +38 -0
- combstruct/data/ecs08/ecs_0890.json +38 -0
- combstruct/data/ecs08/ecs_0891.json +38 -0
- combstruct/data/ecs08/ecs_0892.json +38 -0
- combstruct/data/ecs08/ecs_0893.json +38 -0
- combstruct/data/ecs08/ecs_0894.json +38 -0
- combstruct/data/ecs08/ecs_0895.json +38 -0
- combstruct/data/ecs08/ecs_0896.json +38 -0
- combstruct/data/ecs08/ecs_0897.json +38 -0
- combstruct/data/ecs08/ecs_0898.json +38 -0
- combstruct/data/ecs08/ecs_0899.json +38 -0
- combstruct/data/ecs09/ecs_0900.json +38 -0
- combstruct/data/ecs09/ecs_0901.json +38 -0
- combstruct/data/ecs09/ecs_0902.json +38 -0
- combstruct/data/ecs09/ecs_0903.json +38 -0
- combstruct/data/ecs09/ecs_0904.json +38 -0
- combstruct/data/ecs09/ecs_0905.json +38 -0
- combstruct/data/ecs09/ecs_0906.json +38 -0
- combstruct/data/ecs09/ecs_0907.json +38 -0
- combstruct/data/ecs09/ecs_0908.json +38 -0
- combstruct/data/ecs09/ecs_0909.json +38 -0
- combstruct/data/ecs09/ecs_0910.json +38 -0
- combstruct/data/ecs09/ecs_0911.json +38 -0
- combstruct/data/ecs09/ecs_0912.json +38 -0
- combstruct/data/ecs09/ecs_0913.json +38 -0
- combstruct/data/ecs09/ecs_0914.json +38 -0
- combstruct/data/ecs09/ecs_0915.json +38 -0
- combstruct/data/ecs09/ecs_0916.json +38 -0
- combstruct/data/ecs09/ecs_0917.json +38 -0
- combstruct/data/ecs09/ecs_0918.json +38 -0
- combstruct/data/ecs09/ecs_0919.json +38 -0
- combstruct/data/ecs09/ecs_0920.json +38 -0
- combstruct/data/ecs09/ecs_0921.json +38 -0
- combstruct/data/ecs09/ecs_0922.json +38 -0
- combstruct/data/ecs09/ecs_0923.json +38 -0
- combstruct/data/ecs09/ecs_0924.json +38 -0
- combstruct/data/ecs09/ecs_0925.json +38 -0
- combstruct/data/ecs09/ecs_0926.json +38 -0
- combstruct/data/ecs09/ecs_0927.json +38 -0
- combstruct/data/ecs09/ecs_0928.json +38 -0
- combstruct/data/ecs09/ecs_0929.json +38 -0
- combstruct/data/ecs09/ecs_0930.json +38 -0
- combstruct/data/ecs09/ecs_0931.json +38 -0
- combstruct/data/ecs09/ecs_0932.json +38 -0
- combstruct/data/ecs09/ecs_0933.json +38 -0
- combstruct/data/ecs09/ecs_0934.json +38 -0
- combstruct/data/ecs09/ecs_0935.json +38 -0
- combstruct/data/ecs09/ecs_0936.json +38 -0
- combstruct/data/ecs09/ecs_0937.json +38 -0
- combstruct/data/ecs09/ecs_0938.json +38 -0
- combstruct/data/ecs09/ecs_0939.json +38 -0
- combstruct/data/ecs09/ecs_0940.json +38 -0
- combstruct/data/ecs09/ecs_0941.json +38 -0
- combstruct/data/ecs09/ecs_0942.json +38 -0
- combstruct/data/ecs09/ecs_0943.json +38 -0
- combstruct/data/ecs09/ecs_0944.json +38 -0
- combstruct/data/ecs09/ecs_0945.json +38 -0
- combstruct/data/ecs09/ecs_0946.json +38 -0
- combstruct/data/ecs09/ecs_0947.json +38 -0
- combstruct/data/ecs09/ecs_0948.json +38 -0
- combstruct/data/ecs09/ecs_0949.json +38 -0
- combstruct/data/ecs09/ecs_0950.json +38 -0
- combstruct/data/ecs09/ecs_0951.json +38 -0
- combstruct/data/ecs09/ecs_0952.json +38 -0
- combstruct/data/ecs09/ecs_0953.json +38 -0
- combstruct/data/ecs09/ecs_0954.json +38 -0
- combstruct/data/ecs09/ecs_0955.json +38 -0
- combstruct/data/ecs09/ecs_0956.json +38 -0
- combstruct/data/ecs09/ecs_0957.json +38 -0
- combstruct/data/ecs09/ecs_0958.json +38 -0
- combstruct/data/ecs09/ecs_0959.json +38 -0
- combstruct/data/ecs09/ecs_0960.json +38 -0
- combstruct/data/ecs09/ecs_0961.json +38 -0
- combstruct/data/ecs09/ecs_0962.json +38 -0
- combstruct/data/ecs09/ecs_0963.json +38 -0
- combstruct/data/ecs09/ecs_0964.json +38 -0
- combstruct/data/ecs09/ecs_0965.json +38 -0
- combstruct/data/ecs09/ecs_0966.json +38 -0
- combstruct/data/ecs09/ecs_0967.json +38 -0
- combstruct/data/ecs09/ecs_0968.json +38 -0
- combstruct/data/ecs09/ecs_0969.json +38 -0
- combstruct/data/ecs09/ecs_0970.json +38 -0
- combstruct/data/ecs09/ecs_0971.json +38 -0
- combstruct/data/ecs09/ecs_0972.json +38 -0
- combstruct/data/ecs09/ecs_0973.json +38 -0
- combstruct/data/ecs09/ecs_0974.json +38 -0
- combstruct/data/ecs09/ecs_0975.json +38 -0
- combstruct/data/ecs09/ecs_0976.json +38 -0
- combstruct/data/ecs09/ecs_0977.json +38 -0
- combstruct/data/ecs09/ecs_0978.json +38 -0
- combstruct/data/ecs09/ecs_0979.json +38 -0
- combstruct/data/ecs09/ecs_0980.json +38 -0
- combstruct/data/ecs09/ecs_0981.json +38 -0
- combstruct/data/ecs09/ecs_0982.json +38 -0
- combstruct/data/ecs09/ecs_0983.json +38 -0
- combstruct/data/ecs09/ecs_0984.json +38 -0
- combstruct/data/ecs09/ecs_0985.json +38 -0
- combstruct/data/ecs09/ecs_0986.json +38 -0
- combstruct/data/ecs09/ecs_0987.json +38 -0
- combstruct/data/ecs09/ecs_0988.json +38 -0
- combstruct/data/ecs09/ecs_0989.json +38 -0
- combstruct/data/ecs09/ecs_0990.json +38 -0
- combstruct/data/ecs09/ecs_0991.json +38 -0
- combstruct/data/ecs09/ecs_0992.json +38 -0
- combstruct/data/ecs09/ecs_0993.json +38 -0
- combstruct/data/ecs09/ecs_0994.json +38 -0
- combstruct/data/ecs09/ecs_0995.json +38 -0
- combstruct/data/ecs09/ecs_0996.json +38 -0
- combstruct/data/ecs09/ecs_0997.json +38 -0
- combstruct/data/ecs09/ecs_0998.json +38 -0
- combstruct/data/ecs09/ecs_0999.json +38 -0
- combstruct/data/ecs10/ecs_1000.json +38 -0
- combstruct/data/ecs10/ecs_1001.json +38 -0
- combstruct/data/ecs10/ecs_1002.json +38 -0
- combstruct/data/ecs10/ecs_1003.json +38 -0
- combstruct/data/ecs10/ecs_1004.json +38 -0
- combstruct/data/ecs10/ecs_1005.json +38 -0
- combstruct/data/ecs10/ecs_1006.json +38 -0
- combstruct/data/ecs10/ecs_1007.json +38 -0
- combstruct/data/ecs10/ecs_1008.json +38 -0
- combstruct/data/ecs10/ecs_1009.json +38 -0
- combstruct/data/ecs10/ecs_1010.json +38 -0
- combstruct/data/ecs10/ecs_1011.json +38 -0
- combstruct/data/ecs10/ecs_1012.json +38 -0
- combstruct/data/ecs10/ecs_1013.json +38 -0
- combstruct/data/ecs10/ecs_1014.json +38 -0
- combstruct/data/ecs10/ecs_1015.json +38 -0
- combstruct/data/ecs10/ecs_1016.json +38 -0
- combstruct/data/ecs10/ecs_1017.json +38 -0
- combstruct/data/ecs10/ecs_1018.json +38 -0
- combstruct/data/ecs10/ecs_1019.json +38 -0
- combstruct/data/ecs10/ecs_1020.json +38 -0
- combstruct/data/ecs10/ecs_1021.json +38 -0
- combstruct/data/ecs10/ecs_1022.json +38 -0
- combstruct/data/ecs10/ecs_1023.json +38 -0
- combstruct/data/ecs10/ecs_1024.json +38 -0
- combstruct/data/ecs10/ecs_1025.json +38 -0
- combstruct/data/ecs10/ecs_1026.json +38 -0
- combstruct/data/ecs10/ecs_1027.json +38 -0
- combstruct/data/ecs10/ecs_1028.json +38 -0
- combstruct/data/ecs10/ecs_1029.json +38 -0
- combstruct/data/ecs10/ecs_1030.json +38 -0
- combstruct/data/ecs10/ecs_1031.json +38 -0
- combstruct/data/ecs10/ecs_1032.json +38 -0
- combstruct/data/ecs10/ecs_1033.json +38 -0
- combstruct/data/ecs10/ecs_1034.json +38 -0
- combstruct/data/ecs10/ecs_1035.json +38 -0
- combstruct/data/ecs10/ecs_1036.json +38 -0
- combstruct/data/ecs10/ecs_1037.json +38 -0
- combstruct/data/ecs10/ecs_1038.json +38 -0
- combstruct/data/ecs10/ecs_1039.json +38 -0
- combstruct/data/ecs10/ecs_1040.json +38 -0
- combstruct/data/ecs10/ecs_1041.json +38 -0
- combstruct/data/ecs10/ecs_1042.json +38 -0
- combstruct/data/ecs10/ecs_1043.json +38 -0
- combstruct/data/ecs10/ecs_1044.json +38 -0
- combstruct/data/ecs10/ecs_1045.json +38 -0
- combstruct/data/ecs10/ecs_1046.json +38 -0
- combstruct/data/ecs10/ecs_1047.json +38 -0
- combstruct/data/ecs10/ecs_1048.json +38 -0
- combstruct/data/ecs10/ecs_1049.json +38 -0
- combstruct/data/ecs10/ecs_1050.json +38 -0
- combstruct/data/ecs10/ecs_1051.json +38 -0
- combstruct/data/ecs10/ecs_1052.json +38 -0
- combstruct/data/ecs10/ecs_1053.json +38 -0
- combstruct/data/ecs10/ecs_1054.json +38 -0
- combstruct/data/ecs10/ecs_1055.json +38 -0
- combstruct/data/ecs10/ecs_1056.json +38 -0
- combstruct/data/ecs10/ecs_1057.json +38 -0
- combstruct/data/ecs10/ecs_1058.json +38 -0
- combstruct/data/ecs10/ecs_1059.json +38 -0
- combstruct/data/ecs10/ecs_1060.json +38 -0
- combstruct/data/ecs10/ecs_1061.json +38 -0
- combstruct/data/ecs10/ecs_1062.json +38 -0
- combstruct/data/ecs10/ecs_1063.json +38 -0
- combstruct/data/ecs10/ecs_1064.json +38 -0
- combstruct/data/ecs10/ecs_1065.json +38 -0
- combstruct/data/ecs10/ecs_1066.json +38 -0
- combstruct/data/ecs10/ecs_1067.json +38 -0
- combstruct/data/ecs10/ecs_1068.json +38 -0
- combstruct/data/ecs10/ecs_1069.json +38 -0
- combstruct/data/ecs10/ecs_1070.json +38 -0
- combstruct/data/ecs10/ecs_1071.json +38 -0
- combstruct/data/ecs10/ecs_1072.json +38 -0
- combstruct/data/ecs10/ecs_1073.json +38 -0
- combstruct/data/ecs10/ecs_1074.json +38 -0
- combstruct/data/ecs10/ecs_1075.json +38 -0
- combstruct/py.typed +1 -0
- combstruct/specification.py +180 -0
- combstruct/terms.py +1034 -0
- combstruct-0.1.0a0.dist-info/METADATA +230 -0
- combstruct-0.1.0a0.dist-info/RECORD +1089 -0
- combstruct-0.1.0a0.dist-info/WHEEL +5 -0
- combstruct-0.1.0a0.dist-info/entry_points.txt +2 -0
- combstruct-0.1.0a0.dist-info/licenses/LICENSE.md +494 -0
- combstruct-0.1.0a0.dist-info/licenses/LICENSES/CC-BY-SA-4.0.txt +427 -0
- combstruct-0.1.0a0.dist-info/licenses/NOTICE.md +55 -0
- combstruct-0.1.0a0.dist-info/top_level.txt +1 -0
combstruct/__init__.py
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"""Tools for working with Encyclopedia of Combinatorial Structures data.
|
|
2
|
+
|
|
3
|
+
The initial public API parses Maple ``combstruct``-style specifications and
|
|
4
|
+
computes exact sequence terms in the labelled or unlabelled universe.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from importlib.metadata import PackageNotFoundError as _PackageNotFoundError
|
|
8
|
+
from importlib.metadata import version as _distribution_version
|
|
9
|
+
|
|
10
|
+
from .catalog import (
|
|
11
|
+
Catalog,
|
|
12
|
+
CatalogError,
|
|
13
|
+
Structure,
|
|
14
|
+
StructureNotFoundError,
|
|
15
|
+
default_dataset,
|
|
16
|
+
get_structure,
|
|
17
|
+
iter_structures,
|
|
18
|
+
)
|
|
19
|
+
from .specification import (
|
|
20
|
+
Cardinality,
|
|
21
|
+
Constructor,
|
|
22
|
+
Expression,
|
|
23
|
+
Parser,
|
|
24
|
+
Reference,
|
|
25
|
+
Specification,
|
|
26
|
+
SpecificationError,
|
|
27
|
+
parse_specification,
|
|
28
|
+
)
|
|
29
|
+
from .terms import (
|
|
30
|
+
UnsupportedConstruction,
|
|
31
|
+
compute_terms,
|
|
32
|
+
load_record,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
try:
|
|
36
|
+
__version__ = _distribution_version("combstruct")
|
|
37
|
+
except _PackageNotFoundError:
|
|
38
|
+
__version__ = "0+unknown"
|
|
39
|
+
|
|
40
|
+
__all__ = [
|
|
41
|
+
"Cardinality",
|
|
42
|
+
"Catalog",
|
|
43
|
+
"CatalogError",
|
|
44
|
+
"Constructor",
|
|
45
|
+
"Expression",
|
|
46
|
+
"Parser",
|
|
47
|
+
"Reference",
|
|
48
|
+
"Specification",
|
|
49
|
+
"SpecificationError",
|
|
50
|
+
"Structure",
|
|
51
|
+
"StructureNotFoundError",
|
|
52
|
+
"UnsupportedConstruction",
|
|
53
|
+
"__version__",
|
|
54
|
+
"compute_terms",
|
|
55
|
+
"default_dataset",
|
|
56
|
+
"get_structure",
|
|
57
|
+
"iter_structures",
|
|
58
|
+
"load_record",
|
|
59
|
+
"parse_specification",
|
|
60
|
+
]
|
combstruct/__main__.py
ADDED
combstruct/catalog.py
ADDED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
"""Typed, read-only access to the Encyclopedia of Combinatorial Structures."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import importlib.resources
|
|
6
|
+
import json
|
|
7
|
+
from collections.abc import Iterator, Mapping
|
|
8
|
+
from dataclasses import dataclass
|
|
9
|
+
from functools import cached_property
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
from typing import Any, Self
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CatalogError(ValueError):
|
|
15
|
+
"""The ECS catalogue or one of its records is invalid."""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class StructureNotFoundError(LookupError):
|
|
19
|
+
"""The requested ECS identifier is not present in the catalogue."""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@dataclass(frozen=True, slots=True)
|
|
23
|
+
class Structure:
|
|
24
|
+
"""One immutable record from the Encyclopedia of Combinatorial Structures.
|
|
25
|
+
|
|
26
|
+
Symbolic results are stored as their original ECS strings. A missing
|
|
27
|
+
generating function, recurrence, closed form, or asymptotic equivalent is
|
|
28
|
+
represented by ``None``.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
id: int
|
|
32
|
+
name: str
|
|
33
|
+
description: str
|
|
34
|
+
specification: str
|
|
35
|
+
labeled: bool
|
|
36
|
+
symbol: str
|
|
37
|
+
terms: tuple[int, ...]
|
|
38
|
+
references: tuple[str, ...]
|
|
39
|
+
generating_function: str | None = None
|
|
40
|
+
recurrence: str | None = None
|
|
41
|
+
closed_form: str | None = None
|
|
42
|
+
asymptotic_equivalent: str | None = None
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_record(cls, record: Mapping[str, Any]) -> Self:
|
|
46
|
+
"""Create a structure from a canonical or web-encoded ECS record."""
|
|
47
|
+
|
|
48
|
+
structure_id = _integer(record, "id")
|
|
49
|
+
if structure_id <= 0:
|
|
50
|
+
raise CatalogError("ECS field 'id' must be positive")
|
|
51
|
+
|
|
52
|
+
labeled = record.get("labeled")
|
|
53
|
+
if not isinstance(labeled, bool):
|
|
54
|
+
raise CatalogError("ECS field 'labeled' must be a boolean")
|
|
55
|
+
|
|
56
|
+
return cls(
|
|
57
|
+
id=structure_id,
|
|
58
|
+
name=_nonempty_string(record, "name"),
|
|
59
|
+
description=_nonempty_string(record, "description"),
|
|
60
|
+
specification=_nonempty_string(record, "specification"),
|
|
61
|
+
labeled=labeled,
|
|
62
|
+
symbol=_nonempty_string(record, "symbol"),
|
|
63
|
+
terms=_terms(record),
|
|
64
|
+
references=_references(record),
|
|
65
|
+
generating_function=_optional_string(record, "gf"),
|
|
66
|
+
recurrence=_optional_string(record, "rec"),
|
|
67
|
+
closed_form=_optional_string(record, "closedform"),
|
|
68
|
+
asymptotic_equivalent=_optional_string(record, "equiv"),
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
def as_record(self) -> dict[str, Any]:
|
|
72
|
+
"""Return a canonical mutable record using the ECS source field names."""
|
|
73
|
+
|
|
74
|
+
record: dict[str, Any] = {
|
|
75
|
+
"id": self.id,
|
|
76
|
+
"name": self.name,
|
|
77
|
+
"description": self.description,
|
|
78
|
+
"specification": self.specification,
|
|
79
|
+
"labeled": self.labeled,
|
|
80
|
+
"symbol": self.symbol,
|
|
81
|
+
"terms": list(self.terms),
|
|
82
|
+
"references": list(self.references),
|
|
83
|
+
}
|
|
84
|
+
optional_fields = {
|
|
85
|
+
"gf": self.generating_function,
|
|
86
|
+
"rec": self.recurrence,
|
|
87
|
+
"closedform": self.closed_form,
|
|
88
|
+
"equiv": self.asymptotic_equivalent,
|
|
89
|
+
}
|
|
90
|
+
record.update((name, value) for name, value in optional_fields.items() if value is not None)
|
|
91
|
+
return record
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class Catalog:
|
|
95
|
+
"""A lazy, read-only collection of ECS structures.
|
|
96
|
+
|
|
97
|
+
``dataset`` may be either the package's directory of canonical record files
|
|
98
|
+
or the historical consolidated JSON mapping used by the web application.
|
|
99
|
+
Omitting it selects the appropriate source for the current installation.
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
def __init__(self, dataset: str | Path | None = None):
|
|
103
|
+
self.dataset = Path(dataset) if dataset is not None else _default_catalog_dataset()
|
|
104
|
+
self._cache: dict[int, Structure] = {}
|
|
105
|
+
|
|
106
|
+
@cached_property
|
|
107
|
+
def ids(self) -> tuple[int, ...]:
|
|
108
|
+
"""All available ECS identifiers in increasing order."""
|
|
109
|
+
|
|
110
|
+
if self.dataset.is_dir():
|
|
111
|
+
identifiers = tuple(
|
|
112
|
+
sorted(
|
|
113
|
+
int(path.stem.removeprefix("ecs_")) for path in self.dataset.glob("ecs*/*.json")
|
|
114
|
+
),
|
|
115
|
+
)
|
|
116
|
+
else:
|
|
117
|
+
identifiers = tuple(sorted(int(key) for key in self._record_mapping))
|
|
118
|
+
|
|
119
|
+
if len(identifiers) != len(set(identifiers)):
|
|
120
|
+
raise CatalogError(f"Duplicate ECS identifiers in {self.dataset}")
|
|
121
|
+
return identifiers
|
|
122
|
+
|
|
123
|
+
@cached_property
|
|
124
|
+
def _record_mapping(self) -> Mapping[str, Mapping[str, Any]]:
|
|
125
|
+
if not self.dataset.is_file():
|
|
126
|
+
raise CatalogError(f"ECS dataset does not exist: {self.dataset}")
|
|
127
|
+
with self.dataset.open(encoding="utf-8") as source:
|
|
128
|
+
records = json.load(source)
|
|
129
|
+
if not isinstance(records, dict):
|
|
130
|
+
raise CatalogError(f"Expected an ECS record mapping in {self.dataset}")
|
|
131
|
+
return records
|
|
132
|
+
|
|
133
|
+
def __len__(self) -> int:
|
|
134
|
+
return len(self.ids)
|
|
135
|
+
|
|
136
|
+
def __iter__(self) -> Iterator[Structure]:
|
|
137
|
+
for structure_id in self.ids:
|
|
138
|
+
yield self.get(structure_id)
|
|
139
|
+
|
|
140
|
+
def __contains__(self, structure_id: object) -> bool:
|
|
141
|
+
return (
|
|
142
|
+
isinstance(structure_id, int)
|
|
143
|
+
and not isinstance(structure_id, bool)
|
|
144
|
+
and structure_id in self.ids
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
def get(self, structure_id: int) -> Structure:
|
|
148
|
+
"""Return one structure by ECS identifier."""
|
|
149
|
+
|
|
150
|
+
if not isinstance(structure_id, int) or isinstance(structure_id, bool):
|
|
151
|
+
raise TypeError("structure_id must be an integer")
|
|
152
|
+
if structure_id in self._cache:
|
|
153
|
+
return self._cache[structure_id]
|
|
154
|
+
|
|
155
|
+
if self.dataset.is_dir():
|
|
156
|
+
record = _load_record(self.dataset, structure_id)
|
|
157
|
+
else:
|
|
158
|
+
try:
|
|
159
|
+
stored_record = self._record_mapping[str(structure_id)]
|
|
160
|
+
except KeyError as error:
|
|
161
|
+
raise StructureNotFoundError(
|
|
162
|
+
f"No ECS structure #{structure_id} in {self.dataset}",
|
|
163
|
+
) from error
|
|
164
|
+
if not isinstance(stored_record, Mapping):
|
|
165
|
+
raise CatalogError(f"ECS structure #{structure_id} is not a JSON object")
|
|
166
|
+
record = dict(stored_record)
|
|
167
|
+
|
|
168
|
+
structure = Structure.from_record(record)
|
|
169
|
+
if structure.id != structure_id:
|
|
170
|
+
raise CatalogError(
|
|
171
|
+
f"ECS record #{structure_id} contains identifier {structure.id}",
|
|
172
|
+
)
|
|
173
|
+
self._cache[structure_id] = structure
|
|
174
|
+
return structure
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def _integer(record: Mapping[str, Any], field: str) -> int:
|
|
178
|
+
value = record.get(field)
|
|
179
|
+
if isinstance(value, bool) or not isinstance(value, (int, float, str)):
|
|
180
|
+
raise CatalogError(f"ECS field {field!r} must be an integer")
|
|
181
|
+
try:
|
|
182
|
+
result = int(value)
|
|
183
|
+
except (TypeError, ValueError) as error:
|
|
184
|
+
raise CatalogError(f"ECS field {field!r} must be an integer") from error
|
|
185
|
+
if isinstance(value, float) and not value.is_integer():
|
|
186
|
+
raise CatalogError(f"ECS field {field!r} must be an integer")
|
|
187
|
+
return result
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def _nonempty_string(record: Mapping[str, Any], field: str) -> str:
|
|
191
|
+
value = record.get(field)
|
|
192
|
+
if not isinstance(value, str) or not value:
|
|
193
|
+
raise CatalogError(f"ECS field {field!r} must be a nonempty string")
|
|
194
|
+
return value
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
def _optional_string(record: Mapping[str, Any], field: str) -> str | None:
|
|
198
|
+
value = record.get(field)
|
|
199
|
+
if value is None:
|
|
200
|
+
return None
|
|
201
|
+
if not isinstance(value, str) or not value:
|
|
202
|
+
raise CatalogError(f"ECS field {field!r} must be a nonempty string when present")
|
|
203
|
+
return value
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def _terms(record: Mapping[str, Any]) -> tuple[int, ...]:
|
|
207
|
+
values = record.get("terms")
|
|
208
|
+
if not isinstance(values, list):
|
|
209
|
+
raise CatalogError("ECS field 'terms' must be a list")
|
|
210
|
+
terms = tuple(_integer({"term": value}, "term") for value in values)
|
|
211
|
+
if any(term < 0 for term in terms):
|
|
212
|
+
raise CatalogError("ECS terms must be nonnegative")
|
|
213
|
+
return terms
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def _references(record: Mapping[str, Any]) -> tuple[str, ...]:
|
|
217
|
+
values = record.get("references")
|
|
218
|
+
if not isinstance(values, list) or not all(
|
|
219
|
+
isinstance(value, str) and value for value in values
|
|
220
|
+
):
|
|
221
|
+
raise CatalogError("ECS field 'references' must be a list of nonempty strings")
|
|
222
|
+
return tuple(values)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def default_dataset() -> Path:
|
|
226
|
+
"""Return the legacy repository or installed-package ECS data location."""
|
|
227
|
+
|
|
228
|
+
repository_dataset = Path(__file__).resolve().parents[2] / "react-app" / "public" / "ecs.json"
|
|
229
|
+
if repository_dataset.is_file():
|
|
230
|
+
return repository_dataset
|
|
231
|
+
|
|
232
|
+
packaged_dataset = importlib.resources.files("combstruct").joinpath("data")
|
|
233
|
+
return Path(str(packaged_dataset))
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
def _default_catalog_dataset() -> Path:
|
|
237
|
+
"""Return canonical per-record data for the typed catalogue API."""
|
|
238
|
+
|
|
239
|
+
repository_dataset = Path(__file__).resolve().parents[2] / "structures"
|
|
240
|
+
if repository_dataset.is_dir():
|
|
241
|
+
return repository_dataset
|
|
242
|
+
|
|
243
|
+
packaged_dataset = importlib.resources.files("combstruct").joinpath("data")
|
|
244
|
+
return Path(str(packaged_dataset))
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
def _load_record(dataset: Path, structure_id: int) -> dict[str, Any]:
|
|
248
|
+
"""Load one raw ECS record from a directory or consolidated JSON file."""
|
|
249
|
+
|
|
250
|
+
if not isinstance(structure_id, int) or isinstance(structure_id, bool):
|
|
251
|
+
raise TypeError("structure_id must be an integer")
|
|
252
|
+
|
|
253
|
+
if dataset.is_dir():
|
|
254
|
+
record_path = dataset / f"ecs{structure_id // 100:02d}" / f"ecs_{structure_id:04d}.json"
|
|
255
|
+
try:
|
|
256
|
+
with record_path.open(encoding="utf-8") as source:
|
|
257
|
+
record = json.load(source)
|
|
258
|
+
except FileNotFoundError as error:
|
|
259
|
+
raise StructureNotFoundError(
|
|
260
|
+
f"No ECS structure #{structure_id} in {dataset}",
|
|
261
|
+
) from error
|
|
262
|
+
else:
|
|
263
|
+
if not dataset.is_file():
|
|
264
|
+
raise CatalogError(f"ECS dataset does not exist: {dataset}")
|
|
265
|
+
with dataset.open(encoding="utf-8") as source:
|
|
266
|
+
records = json.load(source)
|
|
267
|
+
if not isinstance(records, dict):
|
|
268
|
+
raise CatalogError(f"Expected an ECS record mapping in {dataset}")
|
|
269
|
+
try:
|
|
270
|
+
record = records[str(structure_id)]
|
|
271
|
+
except KeyError as error:
|
|
272
|
+
raise StructureNotFoundError(
|
|
273
|
+
f"No ECS structure #{structure_id} in {dataset}",
|
|
274
|
+
) from error
|
|
275
|
+
|
|
276
|
+
if not isinstance(record, dict):
|
|
277
|
+
raise CatalogError(f"ECS structure #{structure_id} is not a JSON object")
|
|
278
|
+
return record
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
_DEFAULT_CATALOG = Catalog()
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
def get_structure(structure_id: int) -> Structure:
|
|
285
|
+
"""Return one structure from the bundled ECS catalogue."""
|
|
286
|
+
|
|
287
|
+
return _DEFAULT_CATALOG.get(structure_id)
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
def iter_structures() -> Iterator[Structure]:
|
|
291
|
+
"""Iterate over the bundled ECS catalogue in identifier order."""
|
|
292
|
+
|
|
293
|
+
return iter(_DEFAULT_CATALOG)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 1,
|
|
3
|
+
"name": "Alcohols or Unlabelled Non Plane Ternary Trees",
|
|
4
|
+
"description": "Alcohols or unlabelled non plane ternary Trees",
|
|
5
|
+
"specification": "{S = Union(Z,Prod(Z,Set(S,card = 3))), Z = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
0,
|
|
10
|
+
1,
|
|
11
|
+
0,
|
|
12
|
+
0,
|
|
13
|
+
1,
|
|
14
|
+
0,
|
|
15
|
+
0,
|
|
16
|
+
1,
|
|
17
|
+
0,
|
|
18
|
+
0,
|
|
19
|
+
2,
|
|
20
|
+
0,
|
|
21
|
+
0,
|
|
22
|
+
4,
|
|
23
|
+
0,
|
|
24
|
+
0,
|
|
25
|
+
8,
|
|
26
|
+
0,
|
|
27
|
+
0,
|
|
28
|
+
17,
|
|
29
|
+
0
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A000598"
|
|
33
|
+
],
|
|
34
|
+
"gf": "S(_x) = _x+_x*(1/3*S(_x^3)+1/2*S(_x)*S(_x^2)+1/6*S(_x)^3)"
|
|
35
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 2,
|
|
3
|
+
"name": "Necklaces of 2 colours",
|
|
4
|
+
"description": "Necklaces of 2 colours; binary irreducible polynomials whose degree divides n",
|
|
5
|
+
"specification": "{S = Cycle(Union(c1,c2)), c1 = Atom, c2 =Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
0,
|
|
10
|
+
2,
|
|
11
|
+
3,
|
|
12
|
+
4,
|
|
13
|
+
6,
|
|
14
|
+
8,
|
|
15
|
+
14,
|
|
16
|
+
20,
|
|
17
|
+
36,
|
|
18
|
+
60,
|
|
19
|
+
108,
|
|
20
|
+
188,
|
|
21
|
+
352,
|
|
22
|
+
632,
|
|
23
|
+
1182,
|
|
24
|
+
2192,
|
|
25
|
+
4116,
|
|
26
|
+
7712,
|
|
27
|
+
14602,
|
|
28
|
+
27596,
|
|
29
|
+
52488
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A000031",
|
|
33
|
+
"http://sue.csc.uvic.ca/~cos/inf/neck/NecklaceInfo.html",
|
|
34
|
+
"Same as ECS 130"
|
|
35
|
+
],
|
|
36
|
+
"gf": "Sum(numtheory:-phi(j[1])/j[1]*ln(-1/(-1+2*_x^j[1])),j[1] = 1 .. infinity)"
|
|
37
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 3,
|
|
3
|
+
"name": "Necklaces of 3 colours",
|
|
4
|
+
"description": "Necklaces of 3 colours",
|
|
5
|
+
"specification": "{S= Cycle(Union(c1,c2,c3)), c1 = Atom, c2 = Atom, c3 = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
0,
|
|
10
|
+
3,
|
|
11
|
+
6,
|
|
12
|
+
11,
|
|
13
|
+
24,
|
|
14
|
+
51,
|
|
15
|
+
130,
|
|
16
|
+
315,
|
|
17
|
+
834,
|
|
18
|
+
2195,
|
|
19
|
+
5934,
|
|
20
|
+
16107,
|
|
21
|
+
44368,
|
|
22
|
+
122643,
|
|
23
|
+
341802,
|
|
24
|
+
956635,
|
|
25
|
+
2690844,
|
|
26
|
+
7596483,
|
|
27
|
+
21524542,
|
|
28
|
+
61171659,
|
|
29
|
+
174342216
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A001867"
|
|
33
|
+
],
|
|
34
|
+
"gf": "Sum(numtheory:-phi(j[1])/j[1]*ln(-1/(-1+3*_x^j[1])),j[1] = 1 .. infinity)"
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 4,
|
|
3
|
+
"name": "Necklaces of 4 colours",
|
|
4
|
+
"description": "Necklaces of 4 colours",
|
|
5
|
+
"specification": "{S = Cycle(Union(c1,c2,c3,c4)), c1 = Atom, c2 = Atom, c3 = Atom, c4 = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
0,
|
|
10
|
+
4,
|
|
11
|
+
10,
|
|
12
|
+
24,
|
|
13
|
+
70,
|
|
14
|
+
208,
|
|
15
|
+
700,
|
|
16
|
+
2344,
|
|
17
|
+
8230,
|
|
18
|
+
29144,
|
|
19
|
+
104968,
|
|
20
|
+
381304,
|
|
21
|
+
1398500,
|
|
22
|
+
5162224,
|
|
23
|
+
19175140,
|
|
24
|
+
71582944,
|
|
25
|
+
268439590,
|
|
26
|
+
1010580544,
|
|
27
|
+
3817763740,
|
|
28
|
+
14467258264,
|
|
29
|
+
54975633976
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A001868"
|
|
33
|
+
],
|
|
34
|
+
"gf": "Sum(numtheory:-phi(j[1])/j[1]*ln(-1/(-1+4*_x^j[1])),j[1] = 1 .. infinity)"
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 5,
|
|
3
|
+
"name": "Necklaces of 5 colours",
|
|
4
|
+
"description": "Necklaces of 5 colours",
|
|
5
|
+
"specification": "{S = Cycle(Union(c1,c2,c3,c4,c5)), c1 = Atom, c2 = Atom, c3 = Atom, c4 = Atom, c5 = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
0,
|
|
10
|
+
5,
|
|
11
|
+
15,
|
|
12
|
+
45,
|
|
13
|
+
165,
|
|
14
|
+
629,
|
|
15
|
+
2635,
|
|
16
|
+
11165,
|
|
17
|
+
48915,
|
|
18
|
+
217045,
|
|
19
|
+
976887,
|
|
20
|
+
4438925,
|
|
21
|
+
20346485,
|
|
22
|
+
93900245,
|
|
23
|
+
435970995,
|
|
24
|
+
2034505661,
|
|
25
|
+
9536767665,
|
|
26
|
+
44878791365,
|
|
27
|
+
211927736135,
|
|
28
|
+
1003867701485,
|
|
29
|
+
4768372070757
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A001869"
|
|
33
|
+
],
|
|
34
|
+
"gf": "Sum(numtheory:-phi(j[1])/j[1]*ln(-1/(-1+5*_x^j[1])),j[1] = 1 .. infinity)"
|
|
35
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 6,
|
|
3
|
+
"name": "Words of n letters in a two-letter alphabet",
|
|
4
|
+
"description": "Words of n letters in a two-letter alphabet",
|
|
5
|
+
"specification": "{S= Sequence(Union(a,b)), a = Atom, b = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
1,
|
|
10
|
+
2,
|
|
11
|
+
4,
|
|
12
|
+
8,
|
|
13
|
+
16,
|
|
14
|
+
32,
|
|
15
|
+
64,
|
|
16
|
+
128,
|
|
17
|
+
256,
|
|
18
|
+
512,
|
|
19
|
+
1024,
|
|
20
|
+
2048,
|
|
21
|
+
4096,
|
|
22
|
+
8192,
|
|
23
|
+
16384,
|
|
24
|
+
32768,
|
|
25
|
+
65536,
|
|
26
|
+
131072,
|
|
27
|
+
262144,
|
|
28
|
+
524288,
|
|
29
|
+
1048576
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A000079",
|
|
33
|
+
"Same terms as ECS 267"
|
|
34
|
+
],
|
|
35
|
+
"gf": "-1/(-1+2*_x)",
|
|
36
|
+
"rec": "{2*_f(_n)-_f(_n+1), _f(0) = 1}",
|
|
37
|
+
"closedform": "2^_n",
|
|
38
|
+
"equiv": "exp(-_n)^(-ln(2))"
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 7,
|
|
3
|
+
"name": "Words of n letters in a 3-letter alphabet",
|
|
4
|
+
"description": "Words of n letters in a 3-letter alphabet",
|
|
5
|
+
"specification": "{S = Sequence(Union(a,b,c)), a = Atom, b = Atom, c = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
1,
|
|
10
|
+
3,
|
|
11
|
+
9,
|
|
12
|
+
27,
|
|
13
|
+
81,
|
|
14
|
+
243,
|
|
15
|
+
729,
|
|
16
|
+
2187,
|
|
17
|
+
6561,
|
|
18
|
+
19683,
|
|
19
|
+
59049,
|
|
20
|
+
177147,
|
|
21
|
+
531441,
|
|
22
|
+
1594323,
|
|
23
|
+
4782969,
|
|
24
|
+
14348907,
|
|
25
|
+
43046721,
|
|
26
|
+
129140163,
|
|
27
|
+
387420489,
|
|
28
|
+
1162261467,
|
|
29
|
+
3486784401
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A000244",
|
|
33
|
+
"Same terms as ECS 268"
|
|
34
|
+
],
|
|
35
|
+
"gf": "-1/(-1+3*_x)",
|
|
36
|
+
"rec": "{3*_f(_n)-_f(_n+1), _f(0) = 1}",
|
|
37
|
+
"closedform": "3^_n",
|
|
38
|
+
"equiv": "exp(-_n)^(-ln(3))"
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 8,
|
|
3
|
+
"name": "Words of n letters in a 4-letter alphabet",
|
|
4
|
+
"description": "Words of n letters in a 4-letter alphabet",
|
|
5
|
+
"specification": "{S = Sequence(Union(a,b,c,d)), a = Atom, b = Atom, c = Atom, d = Atom}",
|
|
6
|
+
"labeled": false,
|
|
7
|
+
"symbol": "S",
|
|
8
|
+
"terms": [
|
|
9
|
+
1,
|
|
10
|
+
4,
|
|
11
|
+
16,
|
|
12
|
+
64,
|
|
13
|
+
256,
|
|
14
|
+
1024,
|
|
15
|
+
4096,
|
|
16
|
+
16384,
|
|
17
|
+
65536,
|
|
18
|
+
262144,
|
|
19
|
+
1048576,
|
|
20
|
+
4194304,
|
|
21
|
+
16777216,
|
|
22
|
+
67108864,
|
|
23
|
+
268435456,
|
|
24
|
+
1073741824,
|
|
25
|
+
4294967296,
|
|
26
|
+
17179869184,
|
|
27
|
+
68719476736,
|
|
28
|
+
274877906944,
|
|
29
|
+
1099511627776
|
|
30
|
+
],
|
|
31
|
+
"references": [
|
|
32
|
+
"EIS A000302",
|
|
33
|
+
"Same terms as ECS 269"
|
|
34
|
+
],
|
|
35
|
+
"gf": "-1/(-1+4*_x)",
|
|
36
|
+
"rec": "{4*_f(_n)-_f(_n+1), _f(0) = 1}",
|
|
37
|
+
"closedform": "4^_n",
|
|
38
|
+
"equiv": "exp(-_n)^(-2*ln(2))"
|
|
39
|
+
}
|