"""
Handle database of USGS codes used in RDB files, namely for 
parameters (e.g. streamflow in cfs) and statistics (e.g. 
mean)
"""

import os
import pandas as pd
import numpy as np
import io

# copied from http://help.waterdata.usgs.gov/stat_code
stat_cd_tabbed="""00001	MAXIMUM	MAXIMUM VALUES
00002	MINIMUM	MINIMUM VALUES
00003	MEAN	MEAN VALUES
00004	AM	VALUES TAKEN BETWEEN 0001 AND 1200
00005	PM	VALUES TAKEN BETWEEN 1201 AND 2400
00006	SUM	SUMMATION VALUES
00007	MODE	MODAL VALUES
00008	MEDIAN	MEDIAN VALUES
00009	STD	STANDARD DEVIATION VALUES
00010	VARIANCE	VARIANCE VALUES
00011	INSTANTANEOUS	RANDOM INSTANTANEOUS VALUES
00012	EQUIVALENT MEAN	EQUIVALENT MEAN VALUES
00013	SKEWNESS	SKEWNESS VALUES
00021	TIDAL HIGH-HIGH	TIDAL HIGH-HIGH VALUES
00022	TIDAL LOW-HIGH	TIDAL LOW-HIGH VALUES
00023	TIDAL HIGH-LOW	TIDAL HIGH-LOW VALUES
00024	TIDAL LOW-LOW	TIDAL LOW-LOW VALUES
01001	0.1 PERCENTILE	0.1 PERCENTILE
01002	0.2 PERCENTILE	0.2 PERCENTILE
01003	0.3 PERCENTILE	0.3 PERCENTILE
01004	0.4 PERCENTILE	0.4 PERCENTILE
01005	0.5 PERCENTILE	0.5 PERCENTILE
01006	0.6 PERCENTILE	0.6 PERCENTILE
01007	0.7 PERCENTILE	0.7 PERCENTILE
01008	0.8 PERCENTILE	0.8 PERCENTILE
01009	0.9 PERCENTILE	0.9 PERCENTILE
01010	1.0 PERCENTILE	1.0 PERCENTILE
01011	1.1 PERCENTILE	1.1 PERCENTILE
01012	1.2 PERCENTILE	1.2 PERCENTILE
01013	1.3 PERCENTILE	1.3 PERCENTILE
01014	1.4 PERCENTILE	1.4 PERCENTILE
01015	1.5 PERCENTILE	1.5 PERCENTILE
01016	1.6 PERCENTILE	1.6 PERCENTILE
01017	1.7 PERCENTILE	1.7 PERCENTILE
01018	1.8 PERCENTILE	1.8 PERCENTILE
01019	1.9 PERCENTILE	1.9 PERCENTILE
01020	2.0 PERCENTILE	2.0 PERCENTILE
01021	2.1 PERCENTILE	2.1 PERCENTILE
01022	2.2 PERCENTILE	2.2 PERCENTILE
01023	2.3 PERCENTILE	2.3 PERCENTILE
01024	2.4 PERCENTILE	2.4 PERCENTILE
01025	2.5 PERCENTILE	2.5 PERCENTILE
01026	2.6 PERCENTILE	2.6 PERCENTILE
01027	2.7 PERCENTILE	2.7 PERCENTILE
01028	2.8 PERCENTILE	2.8 PERCENTILE
01029	2.9 PERCENTILE	2.9 PERCENTILE
01030	3.0 PERCENTILE	3.0 PERCENTILE
01031	3.1 PERCENTILE	3.1 PERCENTILE
01032	3.2 PERCENTILE	3.2 PERCENTILE
01033	3.3 PERCENTILE	3.3 PERCENTILE
01034	3.4 PERCENTILE	3.4 PERCENTILE
01035	3.5 PERCENTILE	3.5 PERCENTILE
01036	3.6 PERCENTILE	3.6 PERCENTILE
01037	3.7 PERCENTILE	3.7 PERCENTILE
01038	3.8 PERCENTILE	3.8 PERCENTILE
01039	3.9 PERCENTILE	3.9 PERCENTILE
01040	4.0 PERCENTILE	4.0 PERCENTILE
01041	4.1 PERCENTILE	4.1 PERCENTILE
01042	4.2 PERCENTILE	4.2 PERCENTILE
01043	4.3 PERCENTILE	4.3 PERCENTILE
01044	4.4 PERCENTILE	4.4 PERCENTILE
01045	4.5 PERCENTILE	4.5 PERCENTILE
01046	4.6 PERCENTILE	4.6 PERCENTILE
01047	4.7 PERCENTILE	4.7 PERCENTILE
01048	4.8 PERCENTILE	4.8 PERCENTILE
01049	4.9 PERCENTILE	4.9 PERCENTILE
01050	5.0 PERCENTILE	5.0 PERCENTILE
01051	5.1 PERCENTILE	5.1 PERCENTILE
01052	5.2 PERCENTILE	5.2 PERCENTILE
01053	5.3 PERCENTILE	5.3 PERCENTILE
01054	5.4 PERCENTILE	5.4 PERCENTILE
01055	5.5 PERCENTILE	5.5 PERCENTILE
01056	5.6 PERCENTILE	5.6 PERCENTILE
01057	5.7 PERCENTILE	5.7 PERCENTILE
01058	5.8 PERCENTILE	5.8 PERCENTILE
01059	5.9 PERCENTILE	5.9 PERCENTILE
01060	6.0 PERCENTILE	6.0 PERCENTILE
01061	6.1 PERCENTILE	6.1 PERCENTILE
01062	6.2 PERCENTILE	6.2 PERCENTILE
01063	6.3 PERCENTILE	6.3 PERCENTILE
01064	6.4 PERCENTILE	6.4 PERCENTILE
01065	6.5 PERCENTILE	6.5 PERCENTILE
01066	6.6 PERCENTILE	6.6 PERCENTILE
01067	6.7 PERCENTILE	6.7 PERCENTILE
01068	6.8 PERCENTILE	6.8 PERCENTILE
01069	6.9 PERCENTILE	6.9 PERCENTILE
01070	7.0 PERCENTILE	7.0 PERCENTILE
01071	7.1 PERCENTILE	7.1 PERCENTILE
01072	7.2 PERCENTILE	7.2 PERCENTILE
01073	7.3 PERCENTILE	7.3 PERCENTILE
01074	7.4 PERCENTILE	7.4 PERCENTILE
01075	7.5 PERCENTILE	7.5 PERCENTILE
01076	7.6 PERCENTILE	7.6 PERCENTILE
01077	7.7 PERCENTILE	7.7 PERCENTILE
01078	7.8 PERCENTILE	7.8 PERCENTILE
01079	7.9 PERCENTILE	7.9 PERCENTILE
01080	8.0 PERCENTILE	8.0 PERCENTILE
01081	8.1 PERCENTILE	8.1 PERCENTILE
01082	8.2 PERCENTILE	8.2 PERCENTILE
01083	8.3 PERCENTILE	8.3 PERCENTILE
01084	8.4 PERCENTILE	8.4 PERCENTILE
01085	8.5 PERCENTILE	8.5 PERCENTILE
01086	8.6 PERCENTILE	8.6 PERCENTILE
01087	8.7 PERCENTILE	8.7 PERCENTILE
01088	8.8 PERCENTILE	8.8 PERCENTILE
01089	8.9 PERCENTILE	8.9 PERCENTILE
01090	9.0 PERCENTILE	9.0 PERCENTILE
01091	9.1 PERCENTILE	9.1 PERCENTILE
01092	9.2 PERCENTILE	9.2 PERCENTILE
01093	9.3 PERCENTILE	9.3 PERCENTILE
01094	9.4 PERCENTILE	9.4 PERCENTILE
01095	9.5 PERCENTILE	9.5 PERCENTILE
01096	9.6 PERCENTILE	9.6 PERCENTILE
01097	9.7 PERCENTILE	9.7 PERCENTILE
01098	9.8 PERCENTILE	9.8 PERCENTILE
01099	9.9 PERCENTILE	9.9 PERCENTILE
01100	10.0 PERCENTILE	10.0 PERCENTILE
01101	10.1 PERCENTILE	10.1 PERCENTILE
01102	10.2 PERCENTILE	10.2 PERCENTILE
01103	10.3 PERCENTILE	10.3 PERCENTILE
01104	10.4 PERCENTILE	10.4 PERCENTILE
01105	10.5 PERCENTILE	10.5 PERCENTILE
01106	10.6 PERCENTILE	10.6 PERCENTILE
01107	10.7 PERCENTILE	10.7 PERCENTILE
01108	10.8 PERCENTILE	10.8 PERCENTILE
01109	10.9 PERCENTILE	10.9 PERCENTILE
01110	11.0 PERCENTILE	11.0 PERCENTILE
01111	11.1 PERCENTILE	11.1 PERCENTILE
01112	11.2 PERCENTILE	11.2 PERCENTILE
01113	11.3 PERCENTILE	11.3 PERCENTILE
01114	11.4 PERCENTILE	11.4 PERCENTILE
01115	11.5 PERCENTILE	11.5 PERCENTILE
01116	11.6 PERCENTILE	11.6 PERCENTILE
01117	11.7 PERCENTILE	11.7 PERCENTILE
01118	11.8 PERCENTILE	11.8 PERCENTILE
01119	11.9 PERCENTILE	11.9 PERCENTILE
01120	12.0 PERCENTILE	12.0 PERCENTILE
01121	12.1 PERCENTILE	12.1 PERCENTILE
01122	12.2 PERCENTILE	12.2 PERCENTILE
01123	12.3 PERCENTILE	12.3 PERCENTILE
01124	12.4 PERCENTILE	12.4 PERCENTILE
01125	12.5 PERCENTILE	12.5 PERCENTILE
01126	12.6 PERCENTILE	12.6 PERCENTILE
01127	12.7 PERCENTILE	12.7 PERCENTILE
01128	12.8 PERCENTILE	12.8 PERCENTILE
01129	12.9 PERCENTILE	12.9 PERCENTILE
01130	13.0 PERCENTILE	13.0 PERCENTILE
01131	13.1 PERCENTILE	13.1 PERCENTILE
01132	13.2 PERCENTILE	13.2 PERCENTILE
01133	13.3 PERCENTILE	13.3 PERCENTILE
01134	13.4 PERCENTILE	13.4 PERCENTILE
01135	13.5 PERCENTILE	13.5 PERCENTILE
01136	13.6 PERCENTILE	13.6 PERCENTILE
01137	13.7 PERCENTILE	13.7 PERCENTILE
01138	13.8 PERCENTILE	13.8 PERCENTILE
01139	13.9 PERCENTILE	13.9 PERCENTILE
01140	14.0 PERCENTILE	14.0 PERCENTILE
01141	14.1 PERCENTILE	14.1 PERCENTILE
01142	14.2 PERCENTILE	14.2 PERCENTILE
01143	14.3 PERCENTILE	14.3 PERCENTILE
01144	14.4 PERCENTILE	14.4 PERCENTILE
01145	14.5 PERCENTILE	14.5 PERCENTILE
01146	14.6 PERCENTILE	14.6 PERCENTILE
01147	14.7 PERCENTILE	14.7 PERCENTILE
01148	14.8 PERCENTILE	14.8 PERCENTILE
01149	14.9 PERCENTILE	14.9 PERCENTILE
01150	15.0 PERCENTILE	15.0 PERCENTILE
01151	15.1 PERCENTILE	15.1 PERCENTILE
01152	15.2 PERCENTILE	15.2 PERCENTILE
01153	15.3 PERCENTILE	15.3 PERCENTILE
01154	15.4 PERCENTILE	15.4 PERCENTILE
01155	15.5 PERCENTILE	15.5 PERCENTILE
01156	15.6 PERCENTILE	15.6 PERCENTILE
01157	15.7 PERCENTILE	15.7 PERCENTILE
01158	15.8 PERCENTILE	15.8 PERCENTILE
01159	15.9 PERCENTILE	15.9 PERCENTILE
01160	16.0 PERCENTILE	16.0 PERCENTILE
01161	16.1 PERCENTILE	16.1 PERCENTILE
01162	16.2 PERCENTILE	16.2 PERCENTILE
01163	16.3 PERCENTILE	16.3 PERCENTILE
01164	16.4 PERCENTILE	16.4 PERCENTILE
01165	16.5 PERCENTILE	16.5 PERCENTILE
01166	16.6 PERCENTILE	16.6 PERCENTILE
01167	16.7 PERCENTILE	16.7 PERCENTILE
01168	16.8 PERCENTILE	16.8 PERCENTILE
01169	16.9 PERCENTILE	16.9 PERCENTILE
01170	17.0 PERCENTILE	17.0 PERCENTILE
01171	17.1 PERCENTILE	17.1 PERCENTILE
01172	17.2 PERCENTILE	17.2 PERCENTILE
01173	17.3 PERCENTILE	17.3 PERCENTILE
01174	17.4 PERCENTILE	17.4 PERCENTILE
01175	17.5 PERCENTILE	17.5 PERCENTILE
01176	17.6 PERCENTILE	17.6 PERCENTILE
01177	17.7 PERCENTILE	17.7 PERCENTILE
01178	17.8 PERCENTILE	17.8 PERCENTILE
01179	17.9 PERCENTILE	17.9 PERCENTILE
01180	18.0 PERCENTILE	18.0 PERCENTILE
01181	18.1 PERCENTILE	18.1 PERCENTILE
01182	18.2 PERCENTILE	18.2 PERCENTILE
01183	18.3 PERCENTILE	18.3 PERCENTILE
01184	18.4 PERCENTILE	18.4 PERCENTILE
01185	18.5 PERCENTILE	18.5 PERCENTILE
01186	18.6 PERCENTILE	18.6 PERCENTILE
01187	18.7 PERCENTILE	18.7 PERCENTILE
01188	18.8 PERCENTILE	18.8 PERCENTILE
01189	18.9 PERCENTILE	18.9 PERCENTILE
01190	19.0 PERCENTILE	19.0 PERCENTILE
01191	19.1 PERCENTILE	19.1 PERCENTILE
01192	19.2 PERCENTILE	19.2 PERCENTILE
01193	19.3 PERCENTILE	19.3 PERCENTILE
01194	19.4 PERCENTILE	19.4 PERCENTILE
01195	19.5 PERCENTILE	19.5 PERCENTILE
01196	19.6 PERCENTILE	19.6 PERCENTILE
01197	19.7 PERCENTILE	19.7 PERCENTILE
01198	19.8 PERCENTILE	19.8 PERCENTILE
01199	19.9 PERCENTILE	19.9 PERCENTILE
01200	20.0 PERCENTILE	20.0 PERCENTILE
01201	20.1 PERCENTILE	20.1 PERCENTILE
01202	20.2 PERCENTILE	20.2 PERCENTILE
01203	20.3 PERCENTILE	20.3 PERCENTILE
01204	20.4 PERCENTILE	20.4 PERCENTILE
01205	20.5 PERCENTILE	20.5 PERCENTILE
01206	20.6 PERCENTILE	20.6 PERCENTILE
01207	20.7 PERCENTILE	20.7 PERCENTILE
01208	20.8 PERCENTILE	20.8 PERCENTILE
01209	20.9 PERCENTILE	20.9 PERCENTILE
01210	21.0 PERCENTILE	21.0 PERCENTILE
01211	21.1 PERCENTILE	21.1 PERCENTILE
01212	21.2 PERCENTILE	21.2 PERCENTILE
01213	21.3 PERCENTILE	21.3 PERCENTILE
01214	21.4 PERCENTILE	21.4 PERCENTILE
01215	21.5 PERCENTILE	21.5 PERCENTILE
01216	21.6 PERCENTILE	21.6 PERCENTILE
01217	21.7 PERCENTILE	21.7 PERCENTILE
01218	21.8 PERCENTILE	21.8 PERCENTILE
01219	21.9 PERCENTILE	21.9 PERCENTILE
01220	22.0 PERCENTILE	22.0 PERCENTILE
01221	22.1 PERCENTILE	22.1 PERCENTILE
01222	22.2 PERCENTILE	22.2 PERCENTILE
01223	22.3 PERCENTILE	22.3 PERCENTILE
01224	22.4 PERCENTILE	22.4 PERCENTILE
01225	22.5 PERCENTILE	22.5 PERCENTILE
01226	22.6 PERCENTILE	22.6 PERCENTILE
01227	22.7 PERCENTILE	22.7 PERCENTILE
01228	22.8 PERCENTILE	22.8 PERCENTILE
01229	22.9 PERCENTILE	22.9 PERCENTILE
01230	23.0 PERCENTILE	23.0 PERCENTILE
01231	23.1 PERCENTILE	23.1 PERCENTILE
01232	23.2 PERCENTILE	23.2 PERCENTILE
01233	23.3 PERCENTILE	23.3 PERCENTILE
01234	23.4 PERCENTILE	23.4 PERCENTILE
01235	23.5 PERCENTILE	23.5 PERCENTILE
01236	23.6 PERCENTILE	23.6 PERCENTILE
01237	23.7 PERCENTILE	23.7 PERCENTILE
01238	23.8 PERCENTILE	23.8 PERCENTILE
01239	23.9 PERCENTILE	23.9 PERCENTILE
01240	24.0 PERCENTILE	24.0 PERCENTILE
01241	24.1 PERCENTILE	24.1 PERCENTILE
01242	24.2 PERCENTILE	24.2 PERCENTILE
01243	24.3 PERCENTILE	24.3 PERCENTILE
01244	24.4 PERCENTILE	24.4 PERCENTILE
01245	24.5 PERCENTILE	24.5 PERCENTILE
01246	24.6 PERCENTILE	24.6 PERCENTILE
01247	24.7 PERCENTILE	24.7 PERCENTILE
01248	24.8 PERCENTILE	24.8 PERCENTILE
01249	24.9 PERCENTILE	24.9 PERCENTILE
01250	25.0 PERCENTILE	25.0 PERCENTILE
01251	25.1 PERCENTILE	25.1 PERCENTILE
01252	25.2 PERCENTILE	25.2 PERCENTILE
01253	25.3 PERCENTILE	25.3 PERCENTILE
01254	25.4 PERCENTILE	25.4 PERCENTILE
01255	25.5 PERCENTILE	25.5 PERCENTILE
01256	25.6 PERCENTILE	25.6 PERCENTILE
01257	25.7 PERCENTILE	25.7 PERCENTILE
01258	25.8 PERCENTILE	25.8 PERCENTILE
01259	25.9 PERCENTILE	25.9 PERCENTILE
01260	26.0 PERCENTILE	26.0 PERCENTILE
01261	26.1 PERCENTILE	26.1 PERCENTILE
01262	26.2 PERCENTILE	26.2 PERCENTILE
01263	26.3 PERCENTILE	26.3 PERCENTILE
01264	26.4 PERCENTILE	26.4 PERCENTILE
01265	26.5 PERCENTILE	26.5 PERCENTILE
01266	26.6 PERCENTILE	26.6 PERCENTILE
01267	26.7 PERCENTILE	26.7 PERCENTILE
01268	26.8 PERCENTILE	26.8 PERCENTILE
01269	26.9 PERCENTILE	26.9 PERCENTILE
01270	27.0 PERCENTILE	27.0 PERCENTILE
01271	27.1 PERCENTILE	27.1 PERCENTILE
01272	27.2 PERCENTILE	27.2 PERCENTILE
01273	27.3 PERCENTILE	27.3 PERCENTILE
01274	27.4 PERCENTILE	27.4 PERCENTILE
01275	27.5 PERCENTILE	27.5 PERCENTILE
01276	27.6 PERCENTILE	27.6 PERCENTILE
01277	27.7 PERCENTILE	27.7 PERCENTILE
01278	27.8 PERCENTILE	27.8 PERCENTILE
01279	27.9 PERCENTILE	27.9 PERCENTILE
01280	28.0 PERCENTILE	28.0 PERCENTILE
01281	28.1 PERCENTILE	28.1 PERCENTILE
01282	28.2 PERCENTILE	28.2 PERCENTILE
01283	28.3 PERCENTILE	28.3 PERCENTILE
01284	28.4 PERCENTILE	28.4 PERCENTILE
01285	28.5 PERCENTILE	28.5 PERCENTILE
01286	28.6 PERCENTILE	28.6 PERCENTILE
01287	28.7 PERCENTILE	28.7 PERCENTILE
01288	28.8 PERCENTILE	28.8 PERCENTILE
01289	28.9 PERCENTILE	28.9 PERCENTILE
01290	29.0 PERCENTILE	29.0 PERCENTILE
01291	29.1 PERCENTILE	29.1 PERCENTILE
01292	29.2 PERCENTILE	29.2 PERCENTILE
01293	29.3 PERCENTILE	29.3 PERCENTILE
01294	29.4 PERCENTILE	29.4 PERCENTILE
01295	29.5 PERCENTILE	29.5 PERCENTILE
01296	29.6 PERCENTILE	29.6 PERCENTILE
01297	29.7 PERCENTILE	29.7 PERCENTILE
01298	29.8 PERCENTILE	29.8 PERCENTILE
01299	29.9 PERCENTILE	29.9 PERCENTILE
01300	30.0 PERCENTILE	30.0 PERCENTILE
01301	30.1 PERCENTILE	30.1 PERCENTILE
01302	30.2 PERCENTILE	30.2 PERCENTILE
01303	30.3 PERCENTILE	30.3 PERCENTILE
01304	30.4 PERCENTILE	30.4 PERCENTILE
01305	30.5 PERCENTILE	30.5 PERCENTILE
01306	30.6 PERCENTILE	30.6 PERCENTILE
01307	30.7 PERCENTILE	30.7 PERCENTILE
01308	30.8 PERCENTILE	30.8 PERCENTILE
01309	30.9 PERCENTILE	30.9 PERCENTILE
01310	31.0 PERCENTILE	31.0 PERCENTILE
01311	31.1 PERCENTILE	31.1 PERCENTILE
01312	31.2 PERCENTILE	31.2 PERCENTILE
01313	31.3 PERCENTILE	31.3 PERCENTILE
01314	31.4 PERCENTILE	31.4 PERCENTILE
01315	31.5 PERCENTILE	31.5 PERCENTILE
01316	31.6 PERCENTILE	31.6 PERCENTILE
01317	31.7 PERCENTILE	31.7 PERCENTILE
01318	31.8 PERCENTILE	31.8 PERCENTILE
01319	31.9 PERCENTILE	31.9 PERCENTILE
01320	32.0 PERCENTILE	32.0 PERCENTILE
01321	32.1 PERCENTILE	32.1 PERCENTILE
01322	32.2 PERCENTILE	32.2 PERCENTILE
01323	32.3 PERCENTILE	32.3 PERCENTILE
01324	32.4 PERCENTILE	32.4 PERCENTILE
01325	32.5 PERCENTILE	32.5 PERCENTILE
01326	32.6 PERCENTILE	32.6 PERCENTILE
01327	32.7 PERCENTILE	32.7 PERCENTILE
01328	32.8 PERCENTILE	32.8 PERCENTILE
01329	32.9 PERCENTILE	32.9 PERCENTILE
01330	33.0 PERCENTILE	33.0 PERCENTILE
01331	33.1 PERCENTILE	33.1 PERCENTILE
01332	33.2 PERCENTILE	33.2 PERCENTILE
01333	33.3 PERCENTILE	33.3 PERCENTILE
01334	33.4 PERCENTILE	33.4 PERCENTILE
01335	33.5 PERCENTILE	33.5 PERCENTILE
01336	33.6 PERCENTILE	33.6 PERCENTILE
01337	33.7 PERCENTILE	33.7 PERCENTILE
01338	33.8 PERCENTILE	33.8 PERCENTILE
01339	33.9 PERCENTILE	33.9 PERCENTILE
01340	34.0 PERCENTILE	34.0 PERCENTILE
01341	34.1 PERCENTILE	34.1 PERCENTILE
01342	34.2 PERCENTILE	34.2 PERCENTILE
01343	34.3 PERCENTILE	34.3 PERCENTILE
01344	34.4 PERCENTILE	34.4 PERCENTILE
01345	34.5 PERCENTILE	34.5 PERCENTILE
01346	34.6 PERCENTILE	34.6 PERCENTILE
01347	34.7 PERCENTILE	34.7 PERCENTILE
01348	34.8 PERCENTILE	34.8 PERCENTILE
01349	34.9 PERCENTILE	34.9 PERCENTILE
01350	35.0 PERCENTILE	35.0 PERCENTILE
01351	35.1 PERCENTILE	35.1 PERCENTILE
01352	35.2 PERCENTILE	35.2 PERCENTILE
01353	35.3 PERCENTILE	35.3 PERCENTILE
01354	35.4 PERCENTILE	35.4 PERCENTILE
01355	35.5 PERCENTILE	35.5 PERCENTILE
01356	35.6 PERCENTILE	35.6 PERCENTILE
01357	35.7 PERCENTILE	35.7 PERCENTILE
01358	35.8 PERCENTILE	35.8 PERCENTILE
01359	35.9 PERCENTILE	35.9 PERCENTILE
01360	36.0 PERCENTILE	36.0 PERCENTILE
01361	36.1 PERCENTILE	36.1 PERCENTILE
01362	36.2 PERCENTILE	36.2 PERCENTILE
01363	36.3 PERCENTILE	36.3 PERCENTILE
01364	36.4 PERCENTILE	36.4 PERCENTILE
01365	36.5 PERCENTILE	36.5 PERCENTILE
01366	36.6 PERCENTILE	36.6 PERCENTILE
01367	36.7 PERCENTILE	36.7 PERCENTILE
01368	36.8 PERCENTILE	36.8 PERCENTILE
01369	36.9 PERCENTILE	36.9 PERCENTILE
01370	37.0 PERCENTILE	37.0 PERCENTILE
01371	37.1 PERCENTILE	37.1 PERCENTILE
01372	37.2 PERCENTILE	37.2 PERCENTILE
01373	37.3 PERCENTILE	37.3 PERCENTILE
01374	37.4 PERCENTILE	37.4 PERCENTILE
01375	37.5 PERCENTILE	37.5 PERCENTILE
01376	37.6 PERCENTILE	37.6 PERCENTILE
01377	37.7 PERCENTILE	37.7 PERCENTILE
01378	37.8 PERCENTILE	37.8 PERCENTILE
01379	37.9 PERCENTILE	37.9 PERCENTILE
01380	38.0 PERCENTILE	38.0 PERCENTILE
01381	38.1 PERCENTILE	38.1 PERCENTILE
01382	38.2 PERCENTILE	38.2 PERCENTILE
01383	38.3 PERCENTILE	38.3 PERCENTILE
01384	38.4 PERCENTILE	38.4 PERCENTILE
01385	38.5 PERCENTILE	38.5 PERCENTILE
01386	38.6 PERCENTILE	38.6 PERCENTILE
01387	38.7 PERCENTILE	38.7 PERCENTILE
01388	38.8 PERCENTILE	38.8 PERCENTILE
01389	38.9 PERCENTILE	38.9 PERCENTILE
01390	39.0 PERCENTILE	39.0 PERCENTILE
01391	39.1 PERCENTILE	39.1 PERCENTILE
01392	39.2 PERCENTILE	39.2 PERCENTILE
01393	39.3 PERCENTILE	39.3 PERCENTILE
01394	39.4 PERCENTILE	39.4 PERCENTILE
01395	39.5 PERCENTILE	39.5 PERCENTILE
01396	39.6 PERCENTILE	39.6 PERCENTILE
01397	39.7 PERCENTILE	39.7 PERCENTILE
01398	39.8 PERCENTILE	39.8 PERCENTILE
01399	39.9 PERCENTILE	39.9 PERCENTILE
01400	40.0 PERCENTILE	40.0 PERCENTILE
01401	40.1 PERCENTILE	40.1 PERCENTILE
01402	40.2 PERCENTILE	40.2 PERCENTILE
01403	40.3 PERCENTILE	40.3 PERCENTILE
01404	40.4 PERCENTILE	40.4 PERCENTILE
01405	40.5 PERCENTILE	40.5 PERCENTILE
01406	40.6 PERCENTILE	40.6 PERCENTILE
01407	40.7 PERCENTILE	40.7 PERCENTILE
01408	40.8 PERCENTILE	40.8 PERCENTILE
01409	40.9 PERCENTILE	40.9 PERCENTILE
01410	41.0 PERCENTILE	41.0 PERCENTILE
01411	41.1 PERCENTILE	41.1 PERCENTILE
01412	41.2 PERCENTILE	41.2 PERCENTILE
01413	41.3 PERCENTILE	41.3 PERCENTILE
01414	41.4 PERCENTILE	41.4 PERCENTILE
01415	41.5 PERCENTILE	41.5 PERCENTILE
01416	41.6 PERCENTILE	41.6 PERCENTILE
01417	41.7 PERCENTILE	41.7 PERCENTILE
01418	41.8 PERCENTILE	41.8 PERCENTILE
01419	41.9 PERCENTILE	41.9 PERCENTILE
01420	42.0 PERCENTILE	42.0 PERCENTILE
01421	42.1 PERCENTILE	42.1 PERCENTILE
01422	42.2 PERCENTILE	42.2 PERCENTILE
01423	42.3 PERCENTILE	42.3 PERCENTILE
01424	42.4 PERCENTILE	42.4 PERCENTILE
01425	42.5 PERCENTILE	42.5 PERCENTILE
01426	42.6 PERCENTILE	42.6 PERCENTILE
01427	42.7 PERCENTILE	42.7 PERCENTILE
01428	42.8 PERCENTILE	42.8 PERCENTILE
01429	42.9 PERCENTILE	42.9 PERCENTILE
01430	43.0 PERCENTILE	43.0 PERCENTILE
01431	43.1 PERCENTILE	43.1 PERCENTILE
01432	43.2 PERCENTILE	43.2 PERCENTILE
01433	43.3 PERCENTILE	43.3 PERCENTILE
01434	43.4 PERCENTILE	43.4 PERCENTILE
01435	43.5 PERCENTILE	43.5 PERCENTILE
01436	43.6 PERCENTILE	43.6 PERCENTILE
01437	43.7 PERCENTILE	43.7 PERCENTILE
01438	43.8 PERCENTILE	43.8 PERCENTILE
01439	43.9 PERCENTILE	43.9 PERCENTILE
01440	44.0 PERCENTILE	44.0 PERCENTILE
01441	44.1 PERCENTILE	44.1 PERCENTILE
01442	44.2 PERCENTILE	44.2 PERCENTILE
01443	44.3 PERCENTILE	44.3 PERCENTILE
01444	44.4 PERCENTILE	44.4 PERCENTILE
01445	44.5 PERCENTILE	44.5 PERCENTILE
01446	44.6 PERCENTILE	44.6 PERCENTILE
01447	44.7 PERCENTILE	44.7 PERCENTILE
01448	44.8 PERCENTILE	44.8 PERCENTILE
01449	44.9 PERCENTILE	44.9 PERCENTILE
01450	45.0 PERCENTILE	45.0 PERCENTILE
01451	45.1 PERCENTILE	45.1 PERCENTILE
01452	45.2 PERCENTILE	45.2 PERCENTILE
01453	45.3 PERCENTILE	45.3 PERCENTILE
01454	45.4 PERCENTILE	45.4 PERCENTILE
01455	45.5 PERCENTILE	45.5 PERCENTILE
01456	45.6 PERCENTILE	45.6 PERCENTILE
01457	45.7 PERCENTILE	45.7 PERCENTILE
01458	45.8 PERCENTILE	45.8 PERCENTILE
01459	45.9 PERCENTILE	45.9 PERCENTILE
01460	46.0 PERCENTILE	46.0 PERCENTILE
01461	46.1 PERCENTILE	46.1 PERCENTILE
01462	46.2 PERCENTILE	46.2 PERCENTILE
01463	46.3 PERCENTILE	46.3 PERCENTILE
01464	46.4 PERCENTILE	46.4 PERCENTILE
01465	46.5 PERCENTILE	46.5 PERCENTILE
01466	46.6 PERCENTILE	46.6 PERCENTILE
01467	46.7 PERCENTILE	46.7 PERCENTILE
01468	46.8 PERCENTILE	46.8 PERCENTILE
01469	46.9 PERCENTILE	46.9 PERCENTILE
01470	47.0 PERCENTILE	47.0 PERCENTILE
01471	47.1 PERCENTILE	47.1 PERCENTILE
01472	47.2 PERCENTILE	47.2 PERCENTILE
01473	47.3 PERCENTILE	47.3 PERCENTILE
01474	47.4 PERCENTILE	47.4 PERCENTILE
01475	47.5 PERCENTILE	47.5 PERCENTILE
01476	47.6 PERCENTILE	47.6 PERCENTILE
01477	47.7 PERCENTILE	47.7 PERCENTILE
01478	47.8 PERCENTILE	47.8 PERCENTILE
01479	47.9 PERCENTILE	47.9 PERCENTILE
01480	48.0 PERCENTILE	48.0 PERCENTILE
01481	48.1 PERCENTILE	48.1 PERCENTILE
01482	48.2 PERCENTILE	48.2 PERCENTILE
01483	48.3 PERCENTILE	48.3 PERCENTILE
01484	48.4 PERCENTILE	48.4 PERCENTILE
01485	48.5 PERCENTILE	48.5 PERCENTILE
01486	48.6 PERCENTILE	48.6 PERCENTILE
01487	48.7 PERCENTILE	48.7 PERCENTILE
01488	48.8 PERCENTILE	48.8 PERCENTILE
01489	48.9 PERCENTILE	48.9 PERCENTILE
01490	49.0 PERCENTILE	49.0 PERCENTILE
01491	49.1 PERCENTILE	49.1 PERCENTILE
01492	49.2 PERCENTILE	49.2 PERCENTILE
01493	49.3 PERCENTILE	49.3 PERCENTILE
01494	49.4 PERCENTILE	49.4 PERCENTILE
01495	49.5 PERCENTILE	49.5 PERCENTILE
01496	49.6 PERCENTILE	49.6 PERCENTILE
01497	49.7 PERCENTILE	49.7 PERCENTILE
01498	49.8 PERCENTILE	49.8 PERCENTILE
01499	49.9 PERCENTILE	49.9 PERCENTILE
01500	50.0 PERCENTILE	50.0 PERCENTILE
01501	50.1 PERCENTILE	50.1 PERCENTILE
01502	50.2 PERCENTILE	50.2 PERCENTILE
01503	50.3 PERCENTILE	50.3 PERCENTILE
01504	50.4 PERCENTILE	50.4 PERCENTILE
01505	50.5 PERCENTILE	50.5 PERCENTILE
01506	50.6 PERCENTILE	50.6 PERCENTILE
01507	50.7 PERCENTILE	50.7 PERCENTILE
01508	50.8 PERCENTILE	50.8 PERCENTILE
01509	50.9 PERCENTILE	50.9 PERCENTILE
01510	51.0 PERCENTILE	51.0 PERCENTILE
01511	51.1 PERCENTILE	51.1 PERCENTILE
01512	51.2 PERCENTILE	51.2 PERCENTILE
01513	51.3 PERCENTILE	51.3 PERCENTILE
01514	51.4 PERCENTILE	51.4 PERCENTILE
01515	51.5 PERCENTILE	51.5 PERCENTILE
01516	51.6 PERCENTILE	51.6 PERCENTILE
01517	51.7 PERCENTILE	51.7 PERCENTILE
01518	51.8 PERCENTILE	51.8 PERCENTILE
01519	51.9 PERCENTILE	51.9 PERCENTILE
01520	52.0 PERCENTILE	52.0 PERCENTILE
01521	52.1 PERCENTILE	52.1 PERCENTILE
01522	52.2 PERCENTILE	52.2 PERCENTILE
01523	52.3 PERCENTILE	52.3 PERCENTILE
01524	52.4 PERCENTILE	52.4 PERCENTILE
01525	52.5 PERCENTILE	52.5 PERCENTILE
01526	52.6 PERCENTILE	52.6 PERCENTILE
01527	52.7 PERCENTILE	52.7 PERCENTILE
01528	52.8 PERCENTILE	52.8 PERCENTILE
01529	52.9 PERCENTILE	52.9 PERCENTILE
01530	53.0 PERCENTILE	53.0 PERCENTILE
01531	53.1 PERCENTILE	53.1 PERCENTILE
01532	53.2 PERCENTILE	53.2 PERCENTILE
01533	53.3 PERCENTILE	53.3 PERCENTILE
01534	53.4 PERCENTILE	53.4 PERCENTILE
01535	53.5 PERCENTILE	53.5 PERCENTILE
01536	53.6 PERCENTILE	53.6 PERCENTILE
01537	53.7 PERCENTILE	53.7 PERCENTILE
01538	53.8 PERCENTILE	53.8 PERCENTILE
01539	53.9 PERCENTILE	53.9 PERCENTILE
01540	54.0 PERCENTILE	54.0 PERCENTILE
01541	54.1 PERCENTILE	54.1 PERCENTILE
01542	54.2 PERCENTILE	54.2 PERCENTILE
01543	54.3 PERCENTILE	54.3 PERCENTILE
01544	54.4 PERCENTILE	54.4 PERCENTILE
01545	54.5 PERCENTILE	54.5 PERCENTILE
01546	54.6 PERCENTILE	54.6 PERCENTILE
01547	54.7 PERCENTILE	54.7 PERCENTILE
01548	54.8 PERCENTILE	54.8 PERCENTILE
01549	54.9 PERCENTILE	54.9 PERCENTILE
01550	55.0 PERCENTILE	55.0 PERCENTILE
01551	55.1 PERCENTILE	55.1 PERCENTILE
01552	55.2 PERCENTILE	55.2 PERCENTILE
01553	55.3 PERCENTILE	55.3 PERCENTILE
01554	55.4 PERCENTILE	55.4 PERCENTILE
01555	55.5 PERCENTILE	55.5 PERCENTILE
01556	55.6 PERCENTILE	55.6 PERCENTILE
01557	55.7 PERCENTILE	55.7 PERCENTILE
01558	55.8 PERCENTILE	55.8 PERCENTILE
01559	55.9 PERCENTILE	55.9 PERCENTILE
01560	56.0 PERCENTILE	56.0 PERCENTILE
01561	56.1 PERCENTILE	56.1 PERCENTILE
01562	56.2 PERCENTILE	56.2 PERCENTILE
01563	56.3 PERCENTILE	56.3 PERCENTILE
01564	56.4 PERCENTILE	56.4 PERCENTILE
01565	56.5 PERCENTILE	56.5 PERCENTILE
01566	56.6 PERCENTILE	56.6 PERCENTILE
01567	56.7 PERCENTILE	56.7 PERCENTILE
01568	56.8 PERCENTILE	56.8 PERCENTILE
01569	56.9 PERCENTILE	56.9 PERCENTILE
01570	57.0 PERCENTILE	57.0 PERCENTILE
01571	57.1 PERCENTILE	57.1 PERCENTILE
01572	57.2 PERCENTILE	57.2 PERCENTILE
01573	57.3 PERCENTILE	57.3 PERCENTILE
01574	57.4 PERCENTILE	57.4 PERCENTILE
01575	57.5 PERCENTILE	57.5 PERCENTILE
01576	57.6 PERCENTILE	57.6 PERCENTILE
01577	57.7 PERCENTILE	57.7 PERCENTILE
01578	57.8 PERCENTILE	57.8 PERCENTILE
01579	57.9 PERCENTILE	57.9 PERCENTILE
01580	58.0 PERCENTILE	58.0 PERCENTILE
01581	58.1 PERCENTILE	58.1 PERCENTILE
01582	58.2 PERCENTILE	58.2 PERCENTILE
01583	58.3 PERCENTILE	58.3 PERCENTILE
01584	58.4 PERCENTILE	58.4 PERCENTILE
01585	58.5 PERCENTILE	58.5 PERCENTILE
01586	58.6 PERCENTILE	58.6 PERCENTILE
01587	58.7 PERCENTILE	58.7 PERCENTILE
01588	58.8 PERCENTILE	58.8 PERCENTILE
01589	58.9 PERCENTILE	58.9 PERCENTILE
01590	59.0 PERCENTILE	59.0 PERCENTILE
01591	59.1 PERCENTILE	59.1 PERCENTILE
01592	59.2 PERCENTILE	59.2 PERCENTILE
01593	59.3 PERCENTILE	59.3 PERCENTILE
01594	59.4 PERCENTILE	59.4 PERCENTILE
01595	59.5 PERCENTILE	59.5 PERCENTILE
01596	59.6 PERCENTILE	59.6 PERCENTILE
01597	59.7 PERCENTILE	59.7 PERCENTILE
01598	59.8 PERCENTILE	59.8 PERCENTILE
01599	59.9 PERCENTILE	59.9 PERCENTILE
01600	60.0 PERCENTILE	60.0 PERCENTILE
01601	60.1 PERCENTILE	60.1 PERCENTILE
01602	60.2 PERCENTILE	60.2 PERCENTILE
01603	60.3 PERCENTILE	60.3 PERCENTILE
01604	60.4 PERCENTILE	60.4 PERCENTILE
01605	60.5 PERCENTILE	60.5 PERCENTILE
01606	60.6 PERCENTILE	60.6 PERCENTILE
01607	60.7 PERCENTILE	60.7 PERCENTILE
01608	60.8 PERCENTILE	60.8 PERCENTILE
01609	60.9 PERCENTILE	60.9 PERCENTILE
01610	61.0 PERCENTILE	61.0 PERCENTILE
01611	61.1 PERCENTILE	61.1 PERCENTILE
01612	61.2 PERCENTILE	61.2 PERCENTILE
01613	61.3 PERCENTILE	61.3 PERCENTILE
01614	61.4 PERCENTILE	61.4 PERCENTILE
01615	61.5 PERCENTILE	61.5 PERCENTILE
01616	61.6 PERCENTILE	61.6 PERCENTILE
01617	61.7 PERCENTILE	61.7 PERCENTILE
01618	61.8 PERCENTILE	61.8 PERCENTILE
01619	61.9 PERCENTILE	61.9 PERCENTILE
01620	62.0 PERCENTILE	62.0 PERCENTILE
01621	62.1 PERCENTILE	62.1 PERCENTILE
01622	62.2 PERCENTILE	62.2 PERCENTILE
01623	62.3 PERCENTILE	62.3 PERCENTILE
01624	62.4 PERCENTILE	62.4 PERCENTILE
01625	62.5 PERCENTILE	62.5 PERCENTILE
01626	62.6 PERCENTILE	62.6 PERCENTILE
01627	62.7 PERCENTILE	62.7 PERCENTILE
01628	62.8 PERCENTILE	62.8 PERCENTILE
01629	62.9 PERCENTILE	62.9 PERCENTILE
01630	63.0 PERCENTILE	63.0 PERCENTILE
01631	63.1 PERCENTILE	63.1 PERCENTILE
01632	63.2 PERCENTILE	63.2 PERCENTILE
01633	63.3 PERCENTILE	63.3 PERCENTILE
01634	63.4 PERCENTILE	63.4 PERCENTILE
01635	63.5 PERCENTILE	63.5 PERCENTILE
01636	63.6 PERCENTILE	63.6 PERCENTILE
01637	63.7 PERCENTILE	63.7 PERCENTILE
01638	63.8 PERCENTILE	63.8 PERCENTILE
01639	63.9 PERCENTILE	63.9 PERCENTILE
01640	64.0 PERCENTILE	64.0 PERCENTILE
01641	64.1 PERCENTILE	64.1 PERCENTILE
01642	64.2 PERCENTILE	64.2 PERCENTILE
01643	64.3 PERCENTILE	64.3 PERCENTILE
01644	64.4 PERCENTILE	64.4 PERCENTILE
01645	64.5 PERCENTILE	64.5 PERCENTILE
01646	64.6 PERCENTILE	64.6 PERCENTILE
01647	64.7 PERCENTILE	64.7 PERCENTILE
01648	64.8 PERCENTILE	64.8 PERCENTILE
01649	64.9 PERCENTILE	64.9 PERCENTILE
01650	65.0 PERCENTILE	65.0 PERCENTILE
01651	65.1 PERCENTILE	65.1 PERCENTILE
01652	65.2 PERCENTILE	65.2 PERCENTILE
01653	65.3 PERCENTILE	65.3 PERCENTILE
01654	65.4 PERCENTILE	65.4 PERCENTILE
01655	65.5 PERCENTILE	65.5 PERCENTILE
01656	65.6 PERCENTILE	65.6 PERCENTILE
01657	65.7 PERCENTILE	65.7 PERCENTILE
01658	65.8 PERCENTILE	65.8 PERCENTILE
01659	65.9 PERCENTILE	65.9 PERCENTILE
01660	66.0 PERCENTILE	66.0 PERCENTILE
01661	66.1 PERCENTILE	66.1 PERCENTILE
01662	66.2 PERCENTILE	66.2 PERCENTILE
01663	66.3 PERCENTILE	66.3 PERCENTILE
01664	66.4 PERCENTILE	66.4 PERCENTILE
01665	66.5 PERCENTILE	66.5 PERCENTILE
01666	66.6 PERCENTILE	66.6 PERCENTILE
01667	66.7 PERCENTILE	66.7 PERCENTILE
01668	66.8 PERCENTILE	66.8 PERCENTILE
01669	66.9 PERCENTILE	66.9 PERCENTILE
01670	67.0 PERCENTILE	67.0 PERCENTILE
01671	67.1 PERCENTILE	67.1 PERCENTILE
01672	67.2 PERCENTILE	67.2 PERCENTILE
01673	67.3 PERCENTILE	67.3 PERCENTILE
01674	67.4 PERCENTILE	67.4 PERCENTILE
01675	67.5 PERCENTILE	67.5 PERCENTILE
01676	67.6 PERCENTILE	67.6 PERCENTILE
01677	67.7 PERCENTILE	67.7 PERCENTILE
01678	67.8 PERCENTILE	67.8 PERCENTILE
01679	67.9 PERCENTILE	67.9 PERCENTILE
01680	68.0 PERCENTILE	68.0 PERCENTILE
01681	68.1 PERCENTILE	68.1 PERCENTILE
01682	68.2 PERCENTILE	68.2 PERCENTILE
01683	68.3 PERCENTILE	68.3 PERCENTILE
01684	68.4 PERCENTILE	68.4 PERCENTILE
01685	68.5 PERCENTILE	68.5 PERCENTILE
01686	68.6 PERCENTILE	68.6 PERCENTILE
01687	68.7 PERCENTILE	68.7 PERCENTILE
01688	68.8 PERCENTILE	68.8 PERCENTILE
01689	68.9 PERCENTILE	68.9 PERCENTILE
01690	69.0 PERCENTILE	69.0 PERCENTILE
01691	69.1 PERCENTILE	69.1 PERCENTILE
01692	69.2 PERCENTILE	69.2 PERCENTILE
01693	69.3 PERCENTILE	69.3 PERCENTILE
01694	69.4 PERCENTILE	69.4 PERCENTILE
01695	69.5 PERCENTILE	69.5 PERCENTILE
01696	69.6 PERCENTILE	69.6 PERCENTILE
01697	69.7 PERCENTILE	69.7 PERCENTILE
01698	69.8 PERCENTILE	69.8 PERCENTILE
01699	69.9 PERCENTILE	69.9 PERCENTILE
01700	70.0 PERCENTILE	70.0 PERCENTILE
01701	70.1 PERCENTILE	70.1 PERCENTILE
01702	70.2 PERCENTILE	70.2 PERCENTILE
01703	70.3 PERCENTILE	70.3 PERCENTILE
01704	70.4 PERCENTILE	70.4 PERCENTILE
01705	70.5 PERCENTILE	70.5 PERCENTILE
01706	70.6 PERCENTILE	70.6 PERCENTILE
01707	70.7 PERCENTILE	70.7 PERCENTILE
01708	70.8 PERCENTILE	70.8 PERCENTILE
01709	70.9 PERCENTILE	70.9 PERCENTILE
01710	71.0 PERCENTILE	71.0 PERCENTILE
01711	71.1 PERCENTILE	71.1 PERCENTILE
01712	71.2 PERCENTILE	71.2 PERCENTILE
01713	71.3 PERCENTILE	71.3 PERCENTILE
01714	71.4 PERCENTILE	71.4 PERCENTILE
01715	71.5 PERCENTILE	71.5 PERCENTILE
01716	71.6 PERCENTILE	71.6 PERCENTILE
01717	71.7 PERCENTILE	71.7 PERCENTILE
01718	71.8 PERCENTILE	71.8 PERCENTILE
01719	71.9 PERCENTILE	71.9 PERCENTILE
01720	72.0 PERCENTILE	72.0 PERCENTILE
01721	72.1 PERCENTILE	72.1 PERCENTILE
01722	72.2 PERCENTILE	72.2 PERCENTILE
01723	72.3 PERCENTILE	72.3 PERCENTILE
01724	72.4 PERCENTILE	72.4 PERCENTILE
01725	72.5 PERCENTILE	72.5 PERCENTILE
01726	72.6 PERCENTILE	72.6 PERCENTILE
01727	72.7 PERCENTILE	72.7 PERCENTILE
01728	72.8 PERCENTILE	72.8 PERCENTILE
01729	72.9 PERCENTILE	72.9 PERCENTILE
01730	73.0 PERCENTILE	73.0 PERCENTILE
01731	73.1 PERCENTILE	73.1 PERCENTILE
01732	73.2 PERCENTILE	73.2 PERCENTILE
01733	73.3 PERCENTILE	73.3 PERCENTILE
01734	73.4 PERCENTILE	73.4 PERCENTILE
01735	73.5 PERCENTILE	73.5 PERCENTILE
01736	73.6 PERCENTILE	73.6 PERCENTILE
01737	73.7 PERCENTILE	73.7 PERCENTILE
01738	73.8 PERCENTILE	73.8 PERCENTILE
01739	73.9 PERCENTILE	73.9 PERCENTILE
01740	74.0 PERCENTILE	74.0 PERCENTILE
01741	74.1 PERCENTILE	74.1 PERCENTILE
01742	74.2 PERCENTILE	74.2 PERCENTILE
01743	74.3 PERCENTILE	74.3 PERCENTILE
01744	74.4 PERCENTILE	74.4 PERCENTILE
01745	74.5 PERCENTILE	74.5 PERCENTILE
01746	74.6 PERCENTILE	74.6 PERCENTILE
01747	74.7 PERCENTILE	74.7 PERCENTILE
01748	74.8 PERCENTILE	74.8 PERCENTILE
01749	74.9 PERCENTILE	74.9 PERCENTILE
01750	75.0 PERCENTILE	75.0 PERCENTILE
01751	75.1 PERCENTILE	75.1 PERCENTILE
01752	75.2 PERCENTILE	75.2 PERCENTILE
01753	75.3 PERCENTILE	75.3 PERCENTILE
01754	75.4 PERCENTILE	75.4 PERCENTILE
01755	75.5 PERCENTILE	75.5 PERCENTILE
01756	75.6 PERCENTILE	75.6 PERCENTILE
01757	75.7 PERCENTILE	75.7 PERCENTILE
01758	75.8 PERCENTILE	75.8 PERCENTILE
01759	75.9 PERCENTILE	75.9 PERCENTILE
01760	76.0 PERCENTILE	76.0 PERCENTILE
01761	76.1 PERCENTILE	76.1 PERCENTILE
01762	76.2 PERCENTILE	76.2 PERCENTILE
01763	76.3 PERCENTILE	76.3 PERCENTILE
01764	76.4 PERCENTILE	76.4 PERCENTILE
01765	76.5 PERCENTILE	76.5 PERCENTILE
01766	76.6 PERCENTILE	76.6 PERCENTILE
01767	76.7 PERCENTILE	76.7 PERCENTILE
01768	76.8 PERCENTILE	76.8 PERCENTILE
01769	76.9 PERCENTILE	76.9 PERCENTILE
01770	77.0 PERCENTILE	77.0 PERCENTILE
01771	77.1 PERCENTILE	77.1 PERCENTILE
01772	77.2 PERCENTILE	77.2 PERCENTILE
01773	77.3 PERCENTILE	77.3 PERCENTILE
01774	77.4 PERCENTILE	77.4 PERCENTILE
01775	77.5 PERCENTILE	77.5 PERCENTILE
01776	77.6 PERCENTILE	77.6 PERCENTILE
01777	77.7 PERCENTILE	77.7 PERCENTILE
01778	77.8 PERCENTILE	77.8 PERCENTILE
01779	77.9 PERCENTILE	77.9 PERCENTILE
01780	78.0 PERCENTILE	78.0 PERCENTILE
01781	78.1 PERCENTILE	78.1 PERCENTILE
01782	78.2 PERCENTILE	78.2 PERCENTILE
01783	78.3 PERCENTILE	78.3 PERCENTILE
01784	78.4 PERCENTILE	78.4 PERCENTILE
01785	78.5 PERCENTILE	78.5 PERCENTILE
01786	78.6 PERCENTILE	78.6 PERCENTILE
01787	78.7 PERCENTILE	78.7 PERCENTILE
01788	78.8 PERCENTILE	78.8 PERCENTILE
01789	78.9 PERCENTILE	78.9 PERCENTILE
01790	79.0 PERCENTILE	79.0 PERCENTILE
01791	79.1 PERCENTILE	79.1 PERCENTILE
01792	79.2 PERCENTILE	79.2 PERCENTILE
01793	79.3 PERCENTILE	79.3 PERCENTILE
01794	79.4 PERCENTILE	79.4 PERCENTILE
01795	79.5 PERCENTILE	79.5 PERCENTILE
01796	79.6 PERCENTILE	79.6 PERCENTILE
01797	79.7 PERCENTILE	79.7 PERCENTILE
01798	79.8 PERCENTILE	79.8 PERCENTILE
01799	79.9 PERCENTILE	79.9 PERCENTILE
01800	80.0 PERCENTILE	80.0 PERCENTILE
01801	80.1 PERCENTILE	80.1 PERCENTILE
01802	80.2 PERCENTILE	80.2 PERCENTILE
01803	80.3 PERCENTILE	80.3 PERCENTILE
01804	80.4 PERCENTILE	80.4 PERCENTILE
01805	80.5 PERCENTILE	80.5 PERCENTILE
01806	80.6 PERCENTILE	80.6 PERCENTILE
01807	80.7 PERCENTILE	80.7 PERCENTILE
01808	80.8 PERCENTILE	80.8 PERCENTILE
01809	80.9 PERCENTILE	80.9 PERCENTILE
01810	81.0 PERCENTILE	81.0 PERCENTILE
01811	81.1 PERCENTILE	81.1 PERCENTILE
01812	81.2 PERCENTILE	81.2 PERCENTILE
01813	81.3 PERCENTILE	81.3 PERCENTILE
01814	81.4 PERCENTILE	81.4 PERCENTILE
01815	81.5 PERCENTILE	81.5 PERCENTILE
01816	81.6 PERCENTILE	81.6 PERCENTILE
01817	81.7 PERCENTILE	81.7 PERCENTILE
01818	81.8 PERCENTILE	81.8 PERCENTILE
01819	81.9 PERCENTILE	81.9 PERCENTILE
01820	82.0 PERCENTILE	82.0 PERCENTILE
01821	82.1 PERCENTILE	82.1 PERCENTILE
01822	82.2 PERCENTILE	82.2 PERCENTILE
01823	82.3 PERCENTILE	82.3 PERCENTILE
01824	82.4 PERCENTILE	82.4 PERCENTILE
01825	82.5 PERCENTILE	82.5 PERCENTILE
01826	82.6 PERCENTILE	82.6 PERCENTILE
01827	82.7 PERCENTILE	82.7 PERCENTILE
01828	82.8 PERCENTILE	82.8 PERCENTILE
01829	82.9 PERCENTILE	82.9 PERCENTILE
01830	83.0 PERCENTILE	83.0 PERCENTILE
01831	83.1 PERCENTILE	83.1 PERCENTILE
01832	83.2 PERCENTILE	83.2 PERCENTILE
01833	83.3 PERCENTILE	83.3 PERCENTILE
01834	83.4 PERCENTILE	83.4 PERCENTILE
01835	83.5 PERCENTILE	83.5 PERCENTILE
01836	83.6 PERCENTILE	83.6 PERCENTILE
01837	83.7 PERCENTILE	83.7 PERCENTILE
01838	83.8 PERCENTILE	83.8 PERCENTILE
01839	83.9 PERCENTILE	83.9 PERCENTILE
01840	84.0 PERCENTILE	84.0 PERCENTILE
01841	84.1 PERCENTILE	84.1 PERCENTILE
01842	84.2 PERCENTILE	84.2 PERCENTILE
01843	84.3 PERCENTILE	84.3 PERCENTILE
01844	84.4 PERCENTILE	84.4 PERCENTILE
01845	84.5 PERCENTILE	84.5 PERCENTILE
01846	84.6 PERCENTILE	84.6 PERCENTILE
01847	84.7 PERCENTILE	84.7 PERCENTILE
01848	84.8 PERCENTILE	84.8 PERCENTILE
01849	84.9 PERCENTILE	84.9 PERCENTILE
01850	85.0 PERCENTILE	85.0 PERCENTILE
01851	85.1 PERCENTILE	85.1 PERCENTILE
01852	85.2 PERCENTILE	85.2 PERCENTILE
01853	85.3 PERCENTILE	85.3 PERCENTILE
01854	85.4 PERCENTILE	85.4 PERCENTILE
01855	85.5 PERCENTILE	85.5 PERCENTILE
01856	85.6 PERCENTILE	85.6 PERCENTILE
01857	85.7 PERCENTILE	85.7 PERCENTILE
01858	85.8 PERCENTILE	85.8 PERCENTILE
01859	85.9 PERCENTILE	85.9 PERCENTILE
01860	86.0 PERCENTILE	86.0 PERCENTILE
01861	86.1 PERCENTILE	86.1 PERCENTILE
01862	86.2 PERCENTILE	86.2 PERCENTILE
01863	86.3 PERCENTILE	86.3 PERCENTILE
01864	86.4 PERCENTILE	86.4 PERCENTILE
01865	86.5 PERCENTILE	86.5 PERCENTILE
01866	86.6 PERCENTILE	86.6 PERCENTILE
01867	86.7 PERCENTILE	86.7 PERCENTILE
01868	86.8 PERCENTILE	86.8 PERCENTILE
01869	86.9 PERCENTILE	86.9 PERCENTILE
01870	87.0 PERCENTILE	87.0 PERCENTILE
01871	87.1 PERCENTILE	87.1 PERCENTILE
01872	87.2 PERCENTILE	87.2 PERCENTILE
01873	87.3 PERCENTILE	87.3 PERCENTILE
01874	87.4 PERCENTILE	87.4 PERCENTILE
01875	87.5 PERCENTILE	87.5 PERCENTILE
01876	87.6 PERCENTILE	87.6 PERCENTILE
01877	87.7 PERCENTILE	87.7 PERCENTILE
01878	87.8 PERCENTILE	87.8 PERCENTILE
01879	87.9 PERCENTILE	87.9 PERCENTILE
01880	88.0 PERCENTILE	88.0 PERCENTILE
01881	88.1 PERCENTILE	88.1 PERCENTILE
01882	88.2 PERCENTILE	88.2 PERCENTILE
01883	88.3 PERCENTILE	88.3 PERCENTILE
01884	88.4 PERCENTILE	88.4 PERCENTILE
01885	88.5 PERCENTILE	88.5 PERCENTILE
01886	88.6 PERCENTILE	88.6 PERCENTILE
01887	88.7 PERCENTILE	88.7 PERCENTILE
01888	88.8 PERCENTILE	88.8 PERCENTILE
01889	88.9 PERCENTILE	88.9 PERCENTILE
01890	89.0 PERCENTILE	89.0 PERCENTILE
01891	89.1 PERCENTILE	89.1 PERCENTILE
01892	89.2 PERCENTILE	89.2 PERCENTILE
01893	89.3 PERCENTILE	89.3 PERCENTILE
01894	89.4 PERCENTILE	89.4 PERCENTILE
01895	89.5 PERCENTILE	89.5 PERCENTILE
01896	89.6 PERCENTILE	89.6 PERCENTILE
01897	89.7 PERCENTILE	89.7 PERCENTILE
01898	89.8 PERCENTILE	89.8 PERCENTILE
01899	89.9 PERCENTILE	89.9 PERCENTILE
01900	90.0 PERCENTILE	90.0 PERCENTILE
01901	90.1 PERCENTILE	90.1 PERCENTILE
01902	90.2 PERCENTILE	90.2 PERCENTILE
01903	90.3 PERCENTILE	90.3 PERCENTILE
01904	90.4 PERCENTILE	90.4 PERCENTILE
01905	90.5 PERCENTILE	90.5 PERCENTILE
01906	90.6 PERCENTILE	90.6 PERCENTILE
01907	90.7 PERCENTILE	90.7 PERCENTILE
01908	90.8 PERCENTILE	90.8 PERCENTILE
01909	90.9 PERCENTILE	90.9 PERCENTILE
01910	91.0 PERCENTILE	91.0 PERCENTILE
01911	91.1 PERCENTILE	91.1 PERCENTILE
01912	91.2 PERCENTILE	91.2 PERCENTILE
01913	91.3 PERCENTILE	91.3 PERCENTILE
01914	91.4 PERCENTILE	91.4 PERCENTILE
01915	91.5 PERCENTILE	91.5 PERCENTILE
01916	91.6 PERCENTILE	91.6 PERCENTILE
01917	91.7 PERCENTILE	91.7 PERCENTILE
01918	91.8 PERCENTILE	91.8 PERCENTILE
01919	91.9 PERCENTILE	91.9 PERCENTILE
01920	92.0 PERCENTILE	92.0 PERCENTILE
01921	92.1 PERCENTILE	92.1 PERCENTILE
01922	92.2 PERCENTILE	92.2 PERCENTILE
01923	92.3 PERCENTILE	92.3 PERCENTILE
01924	92.4 PERCENTILE	92.4 PERCENTILE
01925	92.5 PERCENTILE	92.5 PERCENTILE
01926	92.6 PERCENTILE	92.6 PERCENTILE
01927	92.7 PERCENTILE	92.7 PERCENTILE
01928	92.8 PERCENTILE	92.8 PERCENTILE
01929	92.9 PERCENTILE	92.9 PERCENTILE
01930	93.0 PERCENTILE	93.0 PERCENTILE
01931	93.1 PERCENTILE	93.1 PERCENTILE
01932	93.2 PERCENTILE	93.2 PERCENTILE
01933	93.3 PERCENTILE	93.3 PERCENTILE
01934	93.4 PERCENTILE	93.4 PERCENTILE
01935	93.5 PERCENTILE	93.5 PERCENTILE
01936	93.6 PERCENTILE	93.6 PERCENTILE
01937	93.7 PERCENTILE	93.7 PERCENTILE
01938	93.8 PERCENTILE	93.8 PERCENTILE
01939	93.9 PERCENTILE	93.9 PERCENTILE
01940	94.0 PERCENTILE	94.0 PERCENTILE
01941	94.1 PERCENTILE	94.1 PERCENTILE
01942	94.2 PERCENTILE	94.2 PERCENTILE
01943	94.3 PERCENTILE	94.3 PERCENTILE
01944	94.4 PERCENTILE	94.4 PERCENTILE
01945	94.5 PERCENTILE	94.5 PERCENTILE
01946	94.6 PERCENTILE	94.6 PERCENTILE
01947	94.7 PERCENTILE	94.7 PERCENTILE
01948	94.8 PERCENTILE	94.8 PERCENTILE
01949	94.9 PERCENTILE	94.9 PERCENTILE
01950	95.0 PERCENTILE	95.0 PERCENTILE
01951	95.1 PERCENTILE	95.1 PERCENTILE
01952	95.2 PERCENTILE	95.2 PERCENTILE
01953	95.3 PERCENTILE	95.3 PERCENTILE
01954	95.4 PERCENTILE	95.4 PERCENTILE
01955	95.5 PERCENTILE	95.5 PERCENTILE
01956	95.6 PERCENTILE	95.6 PERCENTILE
01957	95.7 PERCENTILE	95.7 PERCENTILE
01958	95.8 PERCENTILE	95.8 PERCENTILE
01959	95.9 PERCENTILE	95.9 PERCENTILE
01960	96.0 PERCENTILE	96.0 PERCENTILE
01961	96.1 PERCENTILE	96.1 PERCENTILE
01962	96.2 PERCENTILE	96.2 PERCENTILE
01963	96.3 PERCENTILE	96.3 PERCENTILE
01964	96.4 PERCENTILE	96.4 PERCENTILE
01965	96.5 PERCENTILE	96.5 PERCENTILE
01966	96.6 PERCENTILE	96.6 PERCENTILE
01967	96.7 PERCENTILE	96.7 PERCENTILE
01968	96.8 PERCENTILE	96.8 PERCENTILE
01969	96.9 PERCENTILE	96.9 PERCENTILE
01970	97.0 PERCENTILE	97.0 PERCENTILE
01971	97.1 PERCENTILE	97.1 PERCENTILE
01972	97.2 PERCENTILE	97.2 PERCENTILE
01973	97.3 PERCENTILE	97.3 PERCENTILE
01974	97.4 PERCENTILE	97.4 PERCENTILE
01975	97.5 PERCENTILE	97.5 PERCENTILE
01976	97.6 PERCENTILE	97.6 PERCENTILE
01977	97.7 PERCENTILE	97.7 PERCENTILE
01978	97.8 PERCENTILE	97.8 PERCENTILE
01979	97.9 PERCENTILE	97.9 PERCENTILE
01980	98.0 PERCENTILE	98.0 PERCENTILE
01981	98.1 PERCENTILE	98.1 PERCENTILE
01982	98.2 PERCENTILE	98.2 PERCENTILE
01983	98.3 PERCENTILE	98.3 PERCENTILE"""




#
# USGS Parameter Code Definitions File
#
# Column Definitions
#  parameter_cd  - Parameter Code
#  parameter_group_nm  - Group Name
#  parameter_nm  - Parameter Name/Description
#  casrn  - CASRN
#  srsname  - SRSName
#  parameter_units  - Parameter Unit

# parameter_cd	parameter_group_nm	parameter_nm	casrn	srsname	parameter_units

# This used to use an embedded string, but the real file is quite large and better
# managed as a separate, tab-separated-value file.
code_fn=os.path.join(os.path.dirname(__file__),'usgs_parm_codes.tsv')

_parm_codes=None
def parm_codes(): 
    global _parm_codes
    if _parm_codes is None:
        df=pd.read_csv(code_fn,
                       comment='#',sep="\t",skiprows=[16])
        _parm_codes=df.set_index('parameter_cd')
        
    return _parm_codes

_stat_codes=None
def stat_codes():
    global _stat_codes
    if _stat_codes is None:
        fp=io.StringIO(stat_cd_tabbed)
        df=pd.read_csv(fp,comment='#',sep="\t",header=None,
                       names=['stat_cd','name','desc'])
        _stat_codes=df.set_index('stat_cd')
    return _stat_codes

################################################################################

def sanitize_code(code):
    """ Make a canonical text version of a code - a 5 digit, 0-padded string
    """
    try:
        code = "%05i"%code
    except TypeError:
        code=str(code)
    return code

# Simple parsing (this could be cleaner with pandas or other higher-level interface)
def stat_code_lookup(code):
    """
    code: an integer or string code for USGS statistics.
    returns the name of the statistics, or if it cannot be found,
    a string representation of the code (e.g. "99900")
    """
    try:
        return stat_codes().loc[int(code)]
    except KeyError:
        return None

def parm_code_lookup(code):
    try:
        #return list(parm_cds['parm_cd']).index(code)
        return parm_codes().loc[int(code)]
    except KeyError:
        return None
