Skip to content

Commit 0b9b0ed

Browse files
author
Justa: admin@board
committed
First commit.
0 parents  commit 0b9b0ed

File tree

155 files changed

+2096
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+2096
-0
lines changed

.drink_tool.swp

12 KB
Binary file not shown.

README

+204
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
This directory contains infrastructure/tooling/data concerning the ordering of drinks for the space.
2+
3+
The primary aim is to be able to :
4+
5+
- Have a place to store invoices
6+
- Have a way to have invoice-data be parseable
7+
- Have a way to have an analysis of each order (costs/income/etc)
8+
- Have a way to use the data to create informational graphs/overviews
9+
10+
11+
The structure of this directory is as follows:
12+
13+
- order_info/ All INPUT files are located here
14+
- order_info/csv/ CSV files describing an order
15+
- order_info/source_material/ Original source-material of order documentation
16+
- order_info/order-summary A file containing order totals of each order (ex VAT, INC vat)
17+
- order_info/pricing-history-notes Lists changes in prices for drinks
18+
- utils/ Contains tools that do all the work
19+
- analysis_info/ Contains CSV files built by analysis tool
20+
- gnuplot_scripts/ Graphing tools <NOT WORKING YET>
21+
- archive/ Store random old stuff here.
22+
23+
=================================
24+
Syntax/structure of files:
25+
=================================
26+
27+
======
28+
order_info/csv/order_*
29+
======
30+
31+
Filenames in order_info/csv is as follows:
32+
33+
'order_$deliverydate-$invoicenumber'
34+
35+
For example: order_20170327-17700810
36+
This is an order delivered on 2017-03-27 with invoice 17700810 associated to it.
37+
38+
The order_info/csv/ files have the following syntax:
39+
40+
supplier|nme|amount_per_batch|batches|price_per_batch(ex vat)|sale_price
41+
42+
The 'Suppler|Name' combo can be anything, but for existing products, please adhere to the list already used; added in appendix A at the end of this text-file.
43+
44+
amount_per_batch = bottles per crate, in most cases. Single bottles or Statiegeld-crates have a amount_per_batch of 1
45+
batches = Amount of crates
46+
price_per_batch(ex vat) = The price per crate, ex VAT, as listed on the invoice
47+
sale_price = The price 1 unit (bottle) is sold for in the space.
48+
49+
50+
======
51+
order_info/source_material/order_*
52+
======
53+
54+
This directory contains (at least) a /pdfs dir that contains all the raw PDF's of the invoices, under their original name.
55+
There are symlinks in this directory pointing into the /pdfs/ dir that use the same filename-structure as described above for the orders_info/csv/ files.
56+
57+
The purpose here is to be able to have a place to store raw invoices and be able to match each csv with it's original pdf afterwards and do an automatic sanity-check during analysis.
58+
59+
======
60+
order_info/order_summary
61+
======
62+
63+
This is is a csv file using | as a separator.
64+
It's purpose is to keep track of all the amounts paid for each order as listed on the invoice.
65+
The format is as follows:
66+
67+
order_file|ex_vat|inc_vat
68+
69+
An example would be:
70+
order_20160609-20154286|442.10|468.04
71+
72+
This entry implies that there is a order_info/csv/order_20160609-20154286 file and a /order_info/source_material/order_20160609-20154286 symlink that links to the PDF containing the invoice. The invoice listed that the EX VAT cost was 442.10 euro and the INC VAT cost was 468.04 for this order.
73+
74+
75+
======
76+
analysis_info/order_*
77+
======
78+
79+
These files are created automatically and are the result of using the analysis tools to parse the order_info/csv files.
80+
The format of these files is an extension of the CSV format used for the order_info/csv files.
81+
There is an EXTRA line at the end of each of these CSV files which contains a special-format summary of the entire invoice.
82+
83+
84+
The first 6 fields are *copied* from the order_info/order* files. They are not modified in any way.
85+
86+
87+
supplier See above
88+
name ""
89+
batch_size ""
90+
batches ""
91+
price_per_batch(ex vat) ""
92+
sale_price ""
93+
price_per_batch(inc vat) This is price_per_batch(ex vat) multiplied by the VAT factor (default = 1.06)
94+
total_items batch_size * batches
95+
item_cost (inc vat) price of each bottle
96+
item_profit sale_price - item_cost = item_profit
97+
item_profit_percentage Same, expressed in percentage
98+
order_cost (inc vat) Cost of this product in this order, inc. vat
99+
order_income (inc vat) What we would expect to get in as income from this order if every sale is paid for
100+
order_profit (inc vat) Difference between total order_income and order_cost for this product
101+
order_profit_percentage The above, expressed as a percentage
102+
vat_factor The VAT factor used in the calculations of this particular item (default 1.06 for everything except statiegeld)
103+
104+
105+
106+
An example:
107+
Club-Mate|Original|20|2|18.00|1.50|19.08|40|0.954|0.546|57.2327044025157|38.16|60|21.84|57.2327044025157|1.06
108+
109+
Which reads, in english:
110+
2 crates of Original Club-Mate bottles (20 bottles/crate), costing 18.00 per crate; sold for 1.50 a piece
111+
112+
Each crate costs us 19.08 inc VAT.
113+
The total order is 40 bottles and each bottle costs us 0.954 inc vat
114+
This works out to 0.546 euro profit per bottle; which is %57.232... percent profit per bottle.
115+
The total order of this product costs us 38.16 inc VAT.
116+
Selling each of the 40 bottles for 1.50 should bring in 60 euros.
117+
The difference between cost/profit is 21.84 euros for this product, which is 57.232...% profit
118+
The VAT factor used to calculate the analysis is 1.06
119+
120+
121+
The format of the last line in each of these files is a total summary of everything contained in the invoice and follows the same syntax as each individual item, but has some specifics and is best explained using an example:
122+
123+
ORDER|TOTAL||38|651.6|1.58379888268156|693.456|716|0.968513966480447|0.615284916201117|63.5287602962553|1134|440.544|1.06
124+
125+
In plain english:
126+
The ORDER TOTAL of the whole invoice contained 38 batches (crates).
127+
It cost us 651.6 ex VAT (this should correspond to the TOTAL figure in the invoice)
128+
The average sales-price of each item 1.583..
129+
The total cost INC vat was 693.45 (and should correspond to the TOTAL INC VAT on the invoice)
130+
The order contains 716 discrete items (batches * batch-size)
131+
The average COST per item is 0.9685...
132+
The average PROFIT per item is 0.61528...
133+
The avarage PROFIT PERCENTAGE is then 63.528..%
134+
If every item gets sold for it's sales_price, this order should result in 1134 of income
135+
The total pfofit on this order is then 440.544
136+
The VAT factor supplied when running this tool was 1.06
137+
138+
139+
=================================
140+
Processing a new invoice
141+
=================================
142+
143+
1) Copy the invoice PDF to order_info/source_material/pdfs
144+
2) Make a symlink in order_info/source_material/ to the PDF of the invoice
145+
*use filename format as described above!*
146+
3) Add an entry in order_info/order_summary for the new order; add the ex VAT and inc VAT totals as listed in the invoice
147+
4) Create a new file in order_info/csv with the same file-name as used for the symlink.
148+
- For each entry in the invoice, create a line with the syntax as described above
149+
- Special care should be taken with 'Statiegeld' items:
150+
- A Statiegeld item always has a batch-size of 1
151+
-- When we PAY a deposit on a crate, it has a POSITIVE cost/item
152+
-- When we get deposit RETURNED, it has a NEGATIVE cost/item.
153+
-- Do not use negative batch-sizes.
154+
-- Use Statiegeld|<description> combinations as listed in Appendix A whenever possible
155+
- NOTE: Statiegeld items are special in that they:
156+
-- Do not have VAT applied to them
157+
-- Do not count towards total ITEMS purchased.
158+
159+
5) When finished, run ./parse_all.sh
160+
6) The analysis_info/ dir will now have been updated.
161+
162+
163+
164+
165+
=================================
166+
Appendix A: Commonly used supplier|name combos:
167+
=================================
168+
Bundaberg|Ginger
169+
Bundaberg|Pink Grapefruit
170+
Bundaberg|Root
171+
Charitea|Mate
172+
Club-Mate|Granat
173+
Club-Mate|Kraftstof
174+
Club-Mate|original
175+
Club-Mate|Original
176+
Club-Mate|Winter
177+
Cucumis|Komkommer-Basilicum
178+
Elixia|Chocolat
179+
Fentimans|Cherrytree Cola
180+
Fentimans|Herbal Tonic
181+
Flora Power|Mate
182+
Fritz|Apfelschorle
183+
Fritz|Cola
184+
Fritz|Druif
185+
Fritz|Koffie
186+
Fritz|Kola
187+
Fritz|Meloen
188+
Heldenpause|Peer-Melisse
189+
Lemonaid|Bloedsinaasappel
190+
Lemonaid|Limoen
191+
Lemonaid|Passievrucht
192+
Proviant|Citroen
193+
Proviant|Rabarber
194+
Sauer|Rhabarberschorle
195+
Statiegeld|krat20
196+
Statiegeld|krat24
197+
Statiegeld|krat_24
198+
Statiegeld|krat_speciaal
199+
Statiegeld|retour_fles
200+
Statiegeld|retour_krat20
201+
Statiegeld|retour_krat20_leeg
202+
Statiegeld|retour_krat24
203+
Statiegeld|retour_krat24_leeg
204+

README.FIRST

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
The file 'README' contains all the information required to understand the tool and it's inner workings.
2+
3+
BUT
4+
5+
If you just want to run an analysis over the drink-orders as you have received them or edited them, this is a short-cut guide:
6+
7+
- Add pdf/csv/order-summary-entries as described in "README"
8+
- rm analysis_info/order*
9+
- ./parse_all.sh > textual_info
10+
11+
Done.
12+
13+
You will now have freshly made CSV files in analysis_info made from new/updated input-data
14+
If you do not care about the produced CSV's but just want some 'quick ansers', you can use the 'textual_info' output to read in "normal english" just how much profit/costs/etc there were per order, per product.
15+
16+
17+
Short-cut shell-magic examples:
18+
19+
Produce output that should match up with the amounts in order_info/order-summary
20+
------
21+
echo "EX VAT|INC VAT";grep "ORDER" analysis_info/* | cut -f5.7 -d"|"
22+
------
23+
24+
25+
Return list of all the individual manufacterer/product combinations we have used so far:
26+
------
27+
cd order_info/csv; cut -f1,2 -d"|" * | sort | uniq
28+
------
29+
30+
For each order ever made, give a succint CSV that lists the most relevant stats, with a column-heading included:
31+
------
32+
for i in `cd analysis_info; ls analysis*`; do echo ===== $i =====; echo "Manufacturer|Product|Cost INC VAT|Income|Profit|Profit%"; cut -d"|" -f1,2,7,12,13,14,15 analysis_info/$i; echo ; done
33+
------
34+
35+
For each order ever made, return how many bottles the order had of which product. Note it also returns crate-deposits and such, but these dont get counted in the bottle-totals for each order:
36+
------
37+
for i in `cd analysis_info; ls analysis*`; do echo ===== $i =====; echo "Manufacturer|Product|Bottles"; cut -d"|" -f1,2,8 analysis_info/$i; echo ; done
38+
------
39+
40+
For each order ever made, return how much it cost (inc vat), profit percentage, total income, total profit
41+
------
42+
for i in `cd analysis_info; ls analysis*`; do echo ===== $i =====; echo "Order cost (inc vat)|order profit percentage|order income|order profit"; grep -i "ORDER" analysis_info/$i | cut -d"|" -f7,11,12,13,11 ; echo ; done
43+
------
44+
45+
Produce a list of all order-date+manufacter+product combinations and list the SALES-PRICE and PROFIT-PERCENTAGE made on that product at that time; excluding 'statiegeld'
46+
------
47+
echo "Order:Manufacterer|Product|Sales-Price|profit%"; cd analysis_info; for i in `ls analysis*`; do grep -v -H -i 'ORDER' $i | grep -v -i "statiegeld" | cut -f"1,6,2,11" -d"|"; done | sort -n -t"|" -k 3
48+
------
49+
50+
51+
52+
Etc etc.
53+
54+
This gives you an idea of what kind of data is in the csv's and what can be done with them.
55+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Fritz|Kola|24|3|17.00|2.00|18.02|72|0.750833333333333|1.24916666666667|166.370699223085|54.06|144|89.94|166.370699223085|1.06
2+
Bundaberg|Ginger|12|4|17.40|2.00|18.444|48|1.537|0.463|30.1236174365647|73.776|96|22.224|30.1236174365647|1.06
3+
Club-Mate|Kraftstof|20|2|18.87|2.00|20.0022|40|1.00011|0.99989|99.9780024197338|40.0044|80|39.9956|99.9780024197338|1.06
4+
Club-Mate|Original|20|8|18.87|2.00|20.0022|160|1.00011|0.99989|99.9780024197338|160.0176|320|159.9824|99.9780024197338|1.06
5+
Sauer|Rhabarberschorle|24|2|22.17|2.00|23.5002|48|0.979175|1.020825|104.253580820589|47.0004|96|48.9996|104.253580820589|1.06
6+
Statiegeld|krat24|1|3|5.00|0|5.00|3|5|-5|-100|15|0|-15|-100|0
7+
Statiegeld|krat20|1|10|4.50|0|4.50|10|4.5|-4.5|-100|45|0|-45|-100|0
8+
Statiegeld|krat_speciaal|1|2|4.60|0|4.60|2|4.6|-4.6|-100|9.2|0|-9.2|-100|0
9+
Statiegeld|retour_krat20|1|5|-4.50|0|-4.50|5|-4.5|4.5|-100|-22.5|0|22.5|-100|0
10+
Statiegeld|retour_krat20_leeg|1|3|-1.50|0|-1.50|3|-1.5|1.5|-100|-4.5|0|4.5|-100|0
11+
Statiegeld|retour_krat24|1|4|-5.00|0|-5.00|4|-5|5|-100|-20|0|20|-100|0
12+
Statiegeld|retour_krat_speciaal|1|2|-4.60|0|-4.60|2|-4.6|4.6|-100|-9.2|0|9.2|-100|0
13+
ORDER|TOTAL||19|366.64|2|387.8584|368|1.05396304347826|0.946036956521739|89.759974258647|736|348.1416|1.06
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Club-Mate|Original|20|4|18.87|2.00|20.0022|80|1.00011|0.99989|99.9780024197338|80.0088|160|79.9912|99.9780024197338|1.06
2+
Club-Mate|Kraftstof|20|4|18.87|2.00|20.0022|80|1.00011|0.99989|99.9780024197338|80.0088|160|79.9912|99.9780024197338|1.06
3+
Fritz|Kola|24|4|17.00|2.00|18.02|96|0.750833333333333|1.24916666666667|166.370699223085|72.08|192|119.92|166.370699223085|1.06
4+
Bundaberg|Ginger|12|5|17.40|2.00|18.444|60|1.537|0.463|30.1236174365647|92.22|120|27.78|30.1236174365647|1.06
5+
Fentimans|Rose Lemonade|12|2|17.50|2.00|18.55|24|1.54583333333333|0.454166666666667|29.3800539083558|37.1|48|10.9|29.3800539083558|1.06
6+
Sauer|Rhabarberschorle|24|2|22.17|2.00|23.5002|48|0.979175|1.020825|104.253580820589|47.0004|96|48.9996|104.253580820589|1.06
7+
Statiegeld|krat20|1|8|4.50|0|4.50|8|4.5|-4.5|-100|36|0|-36|-100|0
8+
Statiegeld|krat24|1|4|5.00|0|5.00|4|5|-5|-100|20|0|-20|-100|0
9+
Statiegeld|krat_speciaal|1|2|4.60|0|4.60|2|4.6|-4.6|-100|9.2|0|-9.2|-100|0
10+
Statiegeld|retour_krat20|1|4|-4.50|0|-4.50|4|-4.5|4.5|-100|-18|0|18|-100|0
11+
Statiegeld|retour_krat24|1|2|-5.00|0|-5.00|2|-5|5|-100|-10|0|10|-100|0
12+
ORDER|TOTAL||21|422.5|2|445.618|388|1.1485|0.8515|74.140182847192|776|330.382|1.06
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Club-Mate|Original|20|6|18.87|2.00|20.0022|120|1.00011|0.99989|99.9780024197338|120.0132|240|119.9868|99.9780024197338|1.06
2+
Bundaberg|Ginger|12|9|17.40|2.00|18.444|108|1.537|0.463|30.1236174365647|165.996|216|50.004|30.1236174365648|1.06
3+
Flora Power|Mate|20|2|0.00001|2.00|1.06e-05|40|5.3e-07|1.99999947|377358390.566038|2.12e-05|80|79.9999788|377358390.566038|1.06
4+
Fritz|Kola|24|2|17.00|2.00|18.02|48|0.750833333333333|1.24916666666667|166.370699223085|36.04|96|59.96|166.370699223085|1.06
5+
Fentimans|Cherrytree Cola|12|1|17.50|2.00|18.55|12|1.54583333333333|0.454166666666667|29.3800539083558|18.55|24|5.45|29.3800539083558|1.06
6+
Bundaberg|Root|12|2|17.40|2.00|18.444|24|1.537|0.463|30.1236174365647|36.888|48|11.112|30.1236174365647|1.06
7+
Statiegeld|krat20|1|6|4.50|0|4.50|6|4.5|-4.5|-100|27|0|-27|-100|0
8+
Statiegeld|krat20|1|2|4.50|0|4.50|2|4.5|-4.5|-100|9|0|-9|-100|0
9+
Statiegeld|krat24|1|2|5.00|0|5.00|2|5|-5|-100|10|0|-10|-100|0
10+
Statiegeld|retour_krat20|1|11|-4.50|0|-4.50|11|-4.5|4.5|-100|-49.5|0|49.5|-100|0
11+
Statiegeld|retour_krat20_leeg|1|1|-1.50|0|-1.50|1|-1.5|1.5|-100|-1.5|0|1.5|-100|0
12+
Statiegeld|retour_krat24|1|5|-5.00|0|-5.00|5|-5|5|-100|-25|0|25|-100|0
13+
Statiegeld|retour_krat_speciaal|1|1|-4.60|0|-4.60|1|-4.6|4.6|-100|-4.6|0|4.6|-100|0
14+
ORDER|TOTAL||22|321.52002|2|342.8872212|352|0.974111423863636|1.02588857613636|105.315321328166|704|361.1127788|1.06
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Flora Power|Mate|20|2|0.00001|2.00|1.06e-05|40|5.3e-07|1.99999947|377358390.566038|2.12e-05|80|79.9999788|377358390.566038|1.06
2+
Club-Mate|Original|20|10|18.87|2.00|20.0022|200|1.00011|0.99989|99.9780024197338|200.022|400|199.978|99.9780024197338|1.06
3+
Club-Mate|Kraftstof|20|2|18.87|2.00|20.0022|40|1.00011|0.99989|99.9780024197338|40.0044|80|39.9956|99.9780024197338|1.06
4+
Bundaberg|Ginger|12|3|17.40|2.00|18.444|36|1.537|0.463|30.1236174365647|55.332|72|16.668|30.1236174365648|1.06
5+
Bundaberg|Root|12|2|17.40|2.00|18.444|24|1.537|0.463|30.1236174365647|36.888|48|11.112|30.1236174365647|1.06
6+
Fritz|Kola|24|2|17.00|2.00|18.02|48|0.750833333333333|1.24916666666667|166.370699223085|36.04|96|59.96|166.370699223085|1.06
7+
Fritz|Appel-Kers|24|2|17.00|2.00|18.02|48|0.750833333333333|1.24916666666667|166.370699223085|36.04|96|59.96|166.370699223085|1.06
8+
Fentimans|Cherrytree Cola|12|2|17.50|2.00|18.55|24|1.54583333333333|0.454166666666667|29.3800539083558|37.1|48|10.9|29.3800539083558|1.06
9+
Fentimans|Dandelion & Burdock|12|2|17.50|2.00|18.55|24|1.54583333333333|0.454166666666667|29.3800539083558|37.1|48|10.9|29.3800539083558|1.06
10+
Fentimans|Mandarin & Sevellie Orange Jigger|12|2|17.50|2.00|18.55|24|1.54583333333333|0.454166666666667|29.3800539083558|37.1|48|10.9|29.3800539083558|1.06
11+
Statiegeld|krat20|1|2|4.50|0|4.50|2|4.5|-4.5|-100|9|0|-9|-100|0
12+
Statiegeld|krat20|1|12|4.50|0|4.50|12|4.5|-4.5|-100|54|0|-54|-100|0
13+
Statiegeld|krat24|1|4|5.00|0|5.00|4|5|-5|-100|20|0|-20|-100|0
14+
Statiegeld|retour_krat20|1|7|-4.50|0|-4.50|7|-4.5|4.5|-100|-31.5|0|31.5|-100|0
15+
Statiegeld|retour_krat20_leeg|1|2|-1.50|0|-1.50|2|-1.5|1.5|-100|-3|0|3|-100|0
16+
Statiegeld|retour_krat24|1|2|-5.00|0|-5.00|2|-5|5|-100|-10|0|10|-100|0
17+
Statiegeld|retour_krat_speciaal|1|1|-4.60|0|-4.60|1|-4.6|4.6|-100|-4.6|0|4.6|-100|0
18+
ORDER|TOTAL||29|520.34002|2|549.5264212|508|1.08174492362205|0.918255076377952|84.8864696589769|1016|466.4735788|1.06
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Club-Mate|Original|20|8|18.87|2.00|20.0022|160|1.00011|0.99989|99.9780024197338|160.0176|320|159.9824|99.9780024197338|1.06
2+
Club-Mate|Granat|20|3|18.87|2.00|20.0022|60|1.00011|0.99989|99.9780024197338|60.0066|120|59.9934|99.9780024197338|1.06
3+
Bundaberg|Ginger|12|3|17.40|2.00|18.444|36|1.537|0.463|30.1236174365647|55.332|72|16.668|30.1236174365648|1.06
4+
Bundaberg|Root|12|3|17.40|2.00|18.444|36|1.537|0.463|30.1236174365647|55.332|72|16.668|30.1236174365648|1.06
5+
Flora Power|Mate|20|3|0.00001|2.00|1.06e-05|60|5.3e-07|1.99999947|377358390.566038|3.18e-05|120|119.9999682|377358390.566038|1.06
6+
Fritz|Kola|24|6|17.00|2.00|18.02|144|0.750833333333333|1.24916666666667|166.370699223085|108.12|288|179.88|166.370699223085|1.06
7+
Fritz|Appel-Kers|24|2|17.00|2.00|18.02|48|0.750833333333333|1.24916666666667|166.370699223085|36.04|96|59.96|166.370699223085|1.06
8+
Acqua Monaco|Lemon Monaco|24|2|25.20|2.00|26.712|48|1.113|0.887|79.6945193171608|53.424|96|42.576|79.6945193171608|1.06
9+
Fentimans|Wild English Elderflower|12|2|17.50|2.00|18.55|24|1.54583333333333|0.454166666666667|29.3800539083558|37.1|48|10.9|29.3800539083558|1.06
10+
Wostok|Peer Rozemarijn|24|2|22.00|2.00|23.32|48|0.971666666666667|1.02833333333333|105.831903945111|46.64|96|49.36|105.831903945111|1.06
11+
Statiegeld|krat20|1|11|4.50|0|4.50|11|4.5|-4.5|-100|49.5|0|-49.5|-100|0
12+
Statiegeld|krat20|1|3|4.50|0|4.50|3|4.5|-4.5|-100|13.5|0|-13.5|-100|0
13+
Statiegeld|krat24|1|8|5.00|0|5.00|8|5|-5|-100|40|0|-40|-100|0
14+
Statiegeld|retour_krat20|1|8|-4.50|0|-4.50|8|-4.5|4.5|-100|-36|0|36|-100|0
15+
Statiegeld|retour_krat24|1|4|-5.00|0|-5.00|4|-5|5|-100|-20|0|20|-100|0
16+
Statiegeld|retour_krat_speciaal|1|5|-4.60|0|-4.60|5|-4.6|4.6|-100|-23|0|23|-100|0
17+
ORDER|TOTAL||34|601.37003|2|636.0122318|664|0.957849746686747|1.04215025331325|108.801015703988|1328|691.9877682|1.06

0 commit comments

Comments
 (0)