From baf2e1412c8f5700f35f30880d156fc9dc1416f5 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Mon, 24 Jun 2019 12:34:52 +0000 Subject: [PATCH 01/38] VLAB Issue #64890 --Merge the branch post_reff_gfdl2 to the master. Squashed commit of the following: commit ecf4fb63f0e64bf6d49dcdc3b1af24a5273551ee Author: Wen Meng Date: Wed Jun 19 14:28:52 2019 +0000 VLAB Issue #64890 --A small bug fix in CALRAD_WCLOUD_newcrtm.f; Add GOES 16/17 BTgeneration control files for fv3sar. commit 19951f5e840feb69d3013dc7421d1da2f562d409 Author: Sharon Nebuda Date: Tue Jun 11 21:25:01 2019 +0000 Task 64890 Add varying effective radius for GFDL microphysical species Change-Id: I66a42b2961e07182591c0b8ce334eeae1317097d --- parm/fv3sar_goes.xml | 144 ++++ parm/postxconfig-NT-fv3sar_goes.txt | 758 ++++++++++++++++++++++ sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f | 120 +++- 3 files changed, 994 insertions(+), 28 deletions(-) create mode 100755 parm/fv3sar_goes.xml create mode 100644 parm/postxconfig-NT-fv3sar_goes.txt diff --git a/parm/fv3sar_goes.xml b/parm/fv3sar_goes.xml new file mode 100755 index 000000000..84c6dfbdd --- /dev/null +++ b/parm/fv3sar_goes.xml @@ -0,0 +1,144 @@ + + + + + BGGOES + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + meso_nam12km + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA177_ON_TOP_OF_ATMOS + SBTA177 + 4.0 + + + + SBTA178_ON_TOP_OF_ATMOS + SBTA178 + 4.0 + + + + SBTA179_ON_TOP_OF_ATMOS + SBTA179 + 4.0 + + + + SBTA1710_ON_TOP_OF_ATMOS + SBTA1710 + 4.0 + + + + SBTA1711_ON_TOP_OF_ATMOS + SBTA1711 + 4.0 + + + + SBTA1712_ON_TOP_OF_ATMOS + SBTA1712 + 4.0 + + + + SBTA1713_ON_TOP_OF_ATMOS + SBTA1713 + 4.0 + + + + SBTA1714_ON_TOP_OF_ATMOS + SBTA1714 + 4.0 + + + + SBTA1715_ON_TOP_OF_ATMOS + SBTA1715 + 4.0 + + + + SBTA1716_ON_TOP_OF_ATMOS + SBTA1716 + 4.0 + + + + + diff --git a/parm/postxconfig-NT-fv3sar_goes.txt b/parm/postxconfig-NT-fv3sar_goes.txt new file mode 100644 index 000000000..f62a7075a --- /dev/null +++ b/parm/postxconfig-NT-fv3sar_goes.txt @@ -0,0 +1,758 @@ +1 +20 +BGGOES +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +meso_nam12km +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +937 +SBTA177_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA177 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +938 +SBTA178_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA178 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +939 +SBTA179_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA179 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +940 +SBTA1710_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1710 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +941 +SBTA1711_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1711 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +942 +SBTA1712_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1712 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +943 +SBTA1713_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1713 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +944 +SBTA1714_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1714 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +945 +SBTA1715_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1715 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +946 +SBTA1716_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1716 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f index 56eb1a8fe..ccf0903e5 100644 --- a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f +++ b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f @@ -955,20 +955,8 @@ SUBROUTINE CALRAD_WCLOUD atmosphere(1)%cloud(5)%effective_radius(k), atmosphere(1)%cloud(5)%water_content(k), & atmosphere(1)%cloud(6)%effective_radius(k), atmosphere(1)%cloud(6)%water_content(k) - else if(imp_physics==11)then ! GFDL - atmosphere(1)%cloud(1)%water_content(k)=max(0.,qqw(i,j,k)*dpovg) - atmosphere(1)%cloud(2)%water_content(k)=max(0.,qqi(i,j,k)*dpovg) - atmosphere(1)%cloud(3)%water_content(k)=max(0.,qqr(i,j,k)*dpovg) - atmosphere(1)%cloud(4)%water_content(k)=max(0.,qqs(i,j,k)*dpovg) - atmosphere(1)%cloud(5)%water_content(k)=max(0.,qqg(i,j,k)*dpovg) - atmosphere(1)%cloud(1)%effective_radius(k)=10. - atmosphere(1)%cloud(2)%effective_radius(k)=50. - atmosphere(1)%cloud(3)%effective_radius(k)=1000. - atmosphere(1)%cloud(4)%effective_radius(k)=250. - atmosphere(1)%cloud(5)%effective_radius(k)=1000. - - else if(imp_physics==8 .or. imp_physics==6 .or. imp_physics==2 .or. imp_physics==28 & - )then + else if(imp_physics==8 .or. imp_physics==6 .or. imp_physics==2 .or. & + imp_physics==28 .or. imp_physics==11)then atmosphere(1)%cloud(1)%water_content(k)=max(0.,qqw(i,j,k)*dpovg) atmosphere(1)%cloud(2)%water_content(k)=max(0.,qqi(i,j,k)*dpovg) atmosphere(1)%cloud(3)%water_content(k)=max(0.,qqr(i,j,k)*dpovg) @@ -1535,19 +1523,8 @@ SUBROUTINE CALRAD_WCLOUD atmosphere(1)%cloud(5)%effective_radius(k), atmosphere(1)%cloud(5)%water_content(k), & atmosphere(1)%cloud(6)%effective_radius(k), atmosphere(1)%cloud(6)%water_content(k) - else if(imp_physics==11)then ! GFDL - atmosphere(1)%cloud(1)%water_content(k)=max(0.,qqw(i,j,k)*dpovg) - atmosphere(1)%cloud(2)%water_content(k)=max(0.,qqi(i,j,k)*dpovg) - atmosphere(1)%cloud(3)%water_content(k)=max(0.,qqr(i,j,k)*dpovg) - atmosphere(1)%cloud(4)%water_content(k)=max(0.,qqs(i,j,k)*dpovg) - atmosphere(1)%cloud(5)%water_content(k)=max(0.,qqg(i,j,k)*dpovg) - atmosphere(1)%cloud(1)%effective_radius(k)=10. - atmosphere(1)%cloud(2)%effective_radius(k)=50. - atmosphere(1)%cloud(3)%effective_radius(k)=1000. - atmosphere(1)%cloud(4)%effective_radius(k)=250. - atmosphere(1)%cloud(5)%effective_radius(k)=1000. - - else if(imp_physics==8 .or. imp_physics==6 .or. imp_physics==2 .or. imp_physics==28) then + else if(imp_physics==8 .or. imp_physics==6 .or. imp_physics==2 .or. & + imp_physics==28 .or. imp_physics==11)then atmosphere(1)%cloud(1)%water_content(k)=max(0.,qqw(i,j,k)*dpovg) atmosphere(1)%cloud(2)%water_content(k)=max(0.,qqi(i,j,k)*dpovg) atmosphere(1)%cloud(3)%water_content(k)=max(0.,qqr(i,j,k)*dpovg) @@ -2106,13 +2083,15 @@ REAL FUNCTION EFFR(pmid,t,q,qqw,qqi,qqr,f_rimef, nlice, nrain, & integer :: n,count,count1,mp_opt real :: rho, ncc, rhox real :: n0_s, n0_r, n0_g + real :: lambdar, lambdas, lambdag !------------------------------------------------------------------------------- ! GAMMA FUNCTION & RELATED VARIABLES !------------------------------------------------------------------------------- real :: gamma - real :: gamma_crg, gamma_i, gamma_s + real :: gamma_crg, gamma_s +! real :: gamma_i real :: WGAMMA, GAMMLN @@ -2200,6 +2179,26 @@ REAL FUNCTION EFFR(pmid,t,q,qqw,qqi,qqr,f_rimef, nlice, nrain, & nthom_sb = (/ 0.476221, -0.015896, 0.165977, 0.007468, -0.000141, & 0.060366, 0.000079, 0.000594, 0.0, -0.003577/) +!------------------------------------------------------------------------------- +! CONSTANTS FOR GFDL MICROPHYSICS SCHEME - which is Lin for precip clouds +!------------------------------------------------------------------------------- + + real, parameter :: gfdl_rhoi=100., gfdl_rhor=1000., gfdl_rhos=100. + real, parameter :: gfdl_rhog=400., gfdl_cnp=3.e8 + real, parameter :: gfdl_tice = 273.16 + + real, parameter :: gfdl_qmin = 1.0e-5, gfdl_ccn = 1.0e8, gfdl_beta = 1.22 + real, parameter :: gfdl_gammar = 17.837789, gfdl_gammas = 8.2850630, gfdl_gammag = 11.631769 + real, parameter :: gfdl_alphar = 0.8, gfdl_alphas = 0.25, gfdl_alphag = 0.5 + real, parameter :: gfdl_n0r=8.e6, gfdl_n0s=3.e6, gfdl_n0g=4.e6 + + real, parameter :: gfdl_rewmin = 5.0, gfdl_rewmax = 10.0 + real, parameter :: gfdl_reimin = 10.0, gfdl_reimax = 150.0 + real, parameter :: gfdl_rermin = 0.0, gfdl_rermax = 10000.0 + real, parameter :: gfdl_resmin = 0.0, gfdl_resmax = 10000.0 + real, parameter :: gfdl_regmin = 0.0, gfdl_regmax = 10000.0 + + if(mp_opt.eq.6) then !WSM6 SCHEME @@ -2215,6 +2214,10 @@ REAL FUNCTION EFFR(pmid,t,q,qqw,qqi,qqr,f_rimef, nlice, nrain, & endif + gamma_crg = 6.0 ! gamma(1.0 + beta_crg) + gamma_s = 2.981134 ! gamma(1.0 + beta_s) +! gamma_i = 2.0 ! gamma(1.0 + beta_i) + !------------------------------------------------------------------------------ ! SET DIAMETER ARRAYS TO ZERO, COMPUTE DENSITY !------------------------------------------------------------------------------ @@ -2554,6 +2557,67 @@ REAL FUNCTION EFFR(pmid,t,q,qqw,qqi,qqr,f_rimef, nlice, nrain, & END SELECT + elseif(mp_opt.eq.11)then ! GFDL + + SELECT CASE(species) + + CASE("C") + +! cloud water (martin et al., 1994) + if (qqw > min_qc) then + effr = exp (1.0 / 3.0 * log ((3. * qqw ) / (4. * pi * gfdl_rhor * gfdl_ccn))) * 1.0e6 + effr = max (gfdl_rewmin, min (gfdl_rewmax, effr)) + effr = effr*2. ! because need diameter here, converted to radius at exit + end if + + CASE("I") + +! cloud ice (heymsfield and mcfarquhar, 1996) + if (qqi > min_qi) then + if ((t-gfdl_tice) .lt. - 50) then + effr = gfdl_beta / 9.917 * exp ((1 - 0.891) * log (1.0e3 * qqi)) * 1.0e3 + elseif ((t-gfdl_tice) .lt. - 40.) then + effr = gfdl_beta / 9.337 * exp ((1 - 0.920) * log (1.0e3 * qqi)) * 1.0e3 + elseif ((t-gfdl_tice) .lt. - 30.) then + effr = gfdl_beta / 9.208 * exp ((1 - 0.945) * log (1.0e3 * qqi)) * 1.0e3 + else + effr = gfdl_beta / 9.387 * exp ((1 - 0.969) * log (1.0e3 * qqi)) * 1.0e3 + endif + effr = max (gfdl_reimin, min (gfdl_reimax, effr)) + effr = effr*2. ! because need diameter here, converted to radius at exit + end if + + CASE("R") + + if ( qqr > min_qr ) then !rain diameter: assume gamma distribution + lambdar = exp (0.25 * log (pi * gfdl_rhor * gfdl_n0r / qqr)) + effr = 0.5*exp (log (gfdl_gammar / 6.) / gfdl_alphar) / lambdar * 1.0e6 + effr = max (gfdl_rermin, min (gfdl_rermax, effr)) + effr = effr*2. ! because need diameter here, converted to radius at exit + endif + + + CASE("S") + + if ( qqs > min_qs ) then !snow diameter: assume gamma distribution + lambdas = exp (0.25 * log (pi * gfdl_rhos * gfdl_n0s / qqs)) + effr = 0.5 * exp (log (gfdl_gammas / 6.) / gfdl_alphas) / lambdas * 1.0e6 + effr = max (gfdl_resmin, min (gfdl_resmax, effr)) + effr = effr*2. ! because need diameter here, converted to radius at exit + endif + + CASE("G") + + if ( qqg > min_qg ) then !graupel diameter: assume gamma distribution + lambdag = exp (0.25 * log (pi * gfdl_rhog * gfdl_n0g / qqg)) + effr = 0.5 * exp (log (gfdl_gammag / 6.) / gfdl_alphag) / lambdag * 1.0e6 + effr = max (gfdl_regmin, min (gfdl_regmax, effr)) + effr = effr*2. ! because need diameter here, converted to radius at exit + endif + + END SELECT + + elseif(mp_opt.eq.5.or.mp_opt.eq.85.or.mp_opt.eq.95)then SELECT CASE (species) From dd08ec482bc0618655eeda37ca658bceb62d85d3 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Fri, 28 Jun 2019 14:11:42 +0000 Subject: [PATCH 02/38] VLAB Issue #64890 -- For regional FV3 BT generation, Using ozone from model output instead of setting is as 0. --- sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f index ccf0903e5..69214d004 100644 --- a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f +++ b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f @@ -339,7 +339,7 @@ SUBROUTINE CALRAD_WCLOUD ! Initialize ozone to zeros for WRF NMM and ARW for now if (MODELNAME == 'NMM' .OR. MODELNAME == 'NCAR' .OR. MODELNAME == 'RAPR' & - .OR. MODELNAME == 'FV3R')o3=0.0 + )o3=0.0 ! Compute solar zenith angle for GFS, ARW now computes czen in INITPOST ! if (MODELNAME == 'GFS')then jdn=iw3jdn(idat(3),idat(1),idat(2)) From c66b0d41404c4adba5f4697f40182c5615e2ffdf Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Tue, 2 Jul 2019 09:31:11 -0600 Subject: [PATCH 03/38] Bug fix for nemsiompiio format for FV3GFS processing --- comupp/src/lib/nemsio/bafrio.f | 284 ------------------ comupp/src/lib/nemsio/makefile | 2 +- comupp/src/lib/nemsio/nemsio_module_mpi.f90 | 5 +- comupp/src/lib/nemsio/nemsio_openclose.f90 | 317 ++++++++++++-------- comupp/src/lib/nemsio/nemsio_read.f90 | 8 +- comupp/src/lib/nemsio/nemsio_write.f90 | 8 +- 6 files changed, 203 insertions(+), 421 deletions(-) delete mode 100644 comupp/src/lib/nemsio/bafrio.f diff --git a/comupp/src/lib/nemsio/bafrio.f b/comupp/src/lib/nemsio/bafrio.f deleted file mode 100644 index 6edf26b23..000000000 --- a/comupp/src/lib/nemsio/bafrio.f +++ /dev/null @@ -1,284 +0,0 @@ -!----------------------------------------------------------------------- - SUBROUTINE BAFRINDEX(LU,IB,LX,IX,do_byteswap) -! - IMPLICIT NONE - INTEGER,INTENT(IN):: LU,IB - INTEGER,INTENT(INOUT):: LX - INTEGER,INTENT(OUT):: IX - logical,intent(in) :: do_byteswap - integer(kind=8) :: LONG_JB,LONG_JX,LONG_IX -! - call BAFRINDEXL(LU,LONG_JB,LONG_JX,LONG_IX,do_byteswap) - LX=LONG_JX - IX=LONG_IX - return - end SUBROUTINE BAFRINDEX -!----------------------------------------------------------------------- - SUBROUTINE BAFRINDEXL(LU,IB,LX,IX,do_byteswap) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! -! SUBPROGRAM: BAFRINDEX BYTE-ADDRESSABLE FORTRAN RECORD INDEX -! PRGMMR: IREDELL ORG: W/NMC23 DATE: 1999-01-21 -! -! ABSTRACT: THIS SUBPROGRAM EITHER READS AN UNFORMATTED FORTRAN RECORD -! AND RETURN ITS LENGTH AND START BYTE OF THE NEXT FORTRAN RECORD; -! OR GIVEN THE RECORD LENGTH, WITHOUT I/O IT DETERMINES THE START BYTE -! OF THE NEXT FORTRAN RECORD. -! -! PROGRAM HISTORY LOG: -! 1999-01-21 IREDELL -! -! USAGE: CALL BAFRINDEX(LU,IB,LX,IX) -! INPUT ARGUMENTS: -! LU INTEGER LOGICAL UNIT TO READ -! IF LU<=0, THEN DETERMINE IX FROM LX -! IB INTEGER FORTRAN RECORD START BYTE -! (FOR THE FIRST FORTRAN RECORD, IB SHOULD BE 0) -! LX INTEGER RECORD LENGTH IN BYTES IF LU<=0 -! -! OUTPUT ARGUMENTS: -! LX INTEGER RECORD LENGTH IN BYTES IF LU>0, -! OR LX=-1 FOR I/O ERROR (PROBABLE END OF FILE), -! OR LX=-2 FOR I/O ERROR (INVALID FORTRAN RECORD) -! IX INTEGER START BYTE FOR THE NEXT FORTRAN RECORD -! (COMPUTED ONLY IF LX>=0) -! -! SUBPROGRAMS CALLED: -! BAREAD BYTE-ADDRESSABLE READ -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! -!$$$ - IMPLICIT NONE - INTEGER,INTENT(IN):: LU - INTEGER(KIND=8),INTENT(IN):: IB - INTEGER(KIND=8),INTENT(INOUT):: LX - INTEGER(KIND=8),INTENT(OUT):: IX - logical,intent(in) :: do_byteswap - INTEGER(KIND=8),PARAMETER:: LBCW=4 - INTEGER(KIND=LBCW):: BCW1,BCW2 - INTEGER(KIND=8):: KR - INTEGER(4) LBCW2 -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! COMPARE FIRST BLOCK CONTROL WORD AND TRAILING BLOCK CONTROL WORD - IF(LU.GT.0) THEN - CALL BAREADL(LU,IB,LBCW,KR,BCW1) -!LLF+MP-- - if(do_byteswap) then - LBCW2=LBCW - CALL byteswap(BCW1,LBCW2,1) - endif -!LLF+MP== - IF(KR.NE.LBCW) THEN - LX=-1 - ELSE - CALL BAREADL(LU,IB+LBCW+BCW1,LBCW,KR,BCW2) -!LLF+MP-- - if(do_byteswap) CALL byteswap(BCW2,LBCW2,1) -!LLF+MP== - IF(KR.NE.LBCW.OR.BCW1.NE.BCW2) THEN - LX=-2 - ELSE - LX=BCW1 - ENDIF - ENDIF - ENDIF -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! COMPUTE START BYTE FOR THE NEXT FORTRAN RECORD - IF(LX.GE.0) IX=IB+LBCW+LX+LBCW -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - END SUBROUTINE BAFRINDEXL -!----------------------------------------------------------------------- - SUBROUTINE BAFRREAD(LU,IB,NB,KA,A,do_byteswap) -! - IMPLICIT NONE - INTEGER,INTENT(IN):: LU,IB,NB - INTEGER,INTENT(OUT):: KA - CHARACTER,INTENT(OUT):: A(NB) - logical,intent(in) :: do_byteswap - INTEGER(KIND=8) :: LONG_IB,LONG_NB,LONG_KA -! - if(IB<0 .or. NB<0 ) THEN - print *,'WRONG: in BAFRREAD starting postion IB or read '// & - & 'data size NB < 0, STOP! Consider use bafreadl and long integer' - KA=0 - return - ENDIF - LONG_IB=IB - LONG_NB=NB - CALL BAFRREADL(LU,LONG_IB,LONG_NB,LONG_KA,A,do_byteswap) - KA=LONG_KA - END SUBROUTINE BAFRREAD -!----------------------------------------------------------------------- - SUBROUTINE BAFRREADL(LU,IB,NB,KA,A,do_byteswap) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! -! SUBPROGRAM: BAFRREAD BYTE-ADDRESSABLE FORTRAN RECORD READ -! PRGMMR: IREDELL ORG: W/NMC23 DATE: 1999-01-21 -! -! ABSTRACT: THIS SUBPROGRAM READS AN UNFORMATTED FORTRAN RECORD -! -! PROGRAM HISTORY LOG: -! 1999-01-21 IREDELL -! -! USAGE: CALL BAFRREAD(LU,IB,NB,KA,A) -! INPUT ARGUMENTS: -! LU INTEGER LOGICAL UNIT TO READ -! IB INTEGER FORTRAN RECORD START BYTE -! (FOR THE FIRST FORTRAN RECORD, IB SHOULD BE 0) -! NB INTEGER NUMBER OF BYTES TO READ -! -! OUTPUT ARGUMENTS: -! KA INTEGER NUMBER OF BYTES IN FORTRAN RECORD -! (IN WHICH CASE THE NEXT FORTRAN RECORD -! SHOULD HAVE A START BYTE OF IB+KA), -! OR KA=-1 FOR I/O ERROR (PROBABLE END OF FILE), -! OR KA=-2 FOR I/O ERROR (INVALID FORTRAN RECORD), -! OR KA=-3 FOR I/O ERROR (REQUEST LONGER THAN RECORD) -! A CHARACTER*1 (NB) DATA READ -! -! SUBPROGRAMS CALLED: -! BAFRINDEX BYTE-ADDRESSABLE FORTRAN RECORD INDEX -! BAREAD BYTE-ADDRESSABLE READ -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! -!$$$ - IMPLICIT NONE - INTEGER,INTENT(IN):: LU - INTEGER(kind=8),INTENT(IN):: IB,NB - INTEGER(kind=8),INTENT(OUT):: KA - CHARACTER,INTENT(OUT):: A(NB) - logical,intent(in) :: do_byteswap - INTEGER(kind=8),PARAMETER:: LBCW=4 - INTEGER(kind=8):: LX,IX - INTEGER(kind=8):: KR -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! VALIDATE FORTRAN RECORD - CALL BAFRINDEXL(LU,IB,LX,IX,do_byteswap) -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! READ IF VALID - IF(LX.LT.0) THEN - KA=LX - ELSEIF(LX.LT.NB) THEN - KA=-3 - ELSE - CALL BAREADL(LU,IB+LBCW,NB,KR,A) - IF(KR.NE.NB) THEN - KA=-1 - ELSE - KA=LBCW+LX+LBCW - ENDIF - ENDIF -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - END SUBROUTINE BAFRREADL -!----------------------------------------------------------------------- - SUBROUTINE BAFRWRITE(LU,IB,NB,KA,A,do_byteswap) -! - IMPLICIT NONE - INTEGER,INTENT(IN):: LU,IB,NB - INTEGER,INTENT(OUT):: KA - CHARACTER,INTENT(OUT):: A(NB) - logical,intent(in) :: do_byteswap - INTEGER(KIND=8) :: LONG_IB,LONG_NB,LONG_KA -! - if(IB<0 .or. NB<0 ) THEN - print *,'WRONG: in BAFRREAD starting postion IB or read '// & - & 'data size NB <0, STOP! ' // & - & 'Consider use bafrrwritel and long integer' - KA=0 - return - ENDIF - LONG_IB=IB - LONG_NB=NB - CALL BAFRWRITEL(LU,LONG_IB,LONG_NB,LONG_KA,A,do_byteswap) - KA=LONG_KA -! - END SUBROUTINE BAFRWRITE -!----------------------------------------------------------------------- - SUBROUTINE BAFRWRITEL(LU,IB,NB,KA,A,do_byteswap) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! -! SUBPROGRAM: BAFRWRITE BYTE-ADDRESSABLE FORTRAN RECORD WRITE -! PRGMMR: IREDELL ORG: W/NMC23 DATE: 1999-01-21 -! -! ABSTRACT: THIS SUBPROGRAM WRITES AN UNFORMATTED FORTRAN RECORD -! -! PROGRAM HISTORY LOG: -! 1999-01-21 IREDELL -! -! USAGE: CALL BAFRWRITE(LU,IB,NB,KA,A) -! INPUT ARGUMENTS: -! LU INTEGER LOGICAL UNIT TO WRITE -! IB INTEGER FORTRAN RECORD START BYTE -! (FOR THE FIRST FORTRAN RECORD, IB SHOULD BE 0) -! NB INTEGER NUMBER OF BYTES TO WRITE -! A CHARACTER*1 (NB) DATA TO WRITE -! -! OUTPUT ARGUMENTS: -! KA INTEGER NUMBER OF BYTES IN FORTRAN RECORD -! (IN WHICH CASE THE NEXT FORTRAN RECORD -! SHOULD HAVE A START BYTE OF IB+KA), -! OR KA=-1 FOR I/O ERROR -! -! SUBPROGRAMS CALLED: -! BAWRITE BYTE-ADDRESSABLE WRITE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! -!$$$ - IMPLICIT NONE - INTEGER,INTENT(IN):: LU - INTEGER(KIND=8),INTENT(IN):: IB,NB - INTEGER(kind=8),INTENT(OUT):: KA - CHARACTER,INTENT(IN):: A(NB) - logical,intent(in) :: do_byteswap - INTEGER(kind=8),PARAMETER:: LBCW=4 - INTEGER(kind=LBCW):: BCW - INTEGER(kind=8):: KR -!LLF+MP-- - INTEGER(LBCW)::BCW2,LBCW2 -!LLF+MP== -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! WRITE DATA BRACKETED BY BLOCK CONTROL WORDS - BCW=NB -! print *,'in writel,bcw=',bcw,'do_byteswap=',do_byteswap -!LLF+MP-- - if(do_byteswap) then - LBCW2=LBCW - CALL byteswap(BCW,LBCW2,1) - endif -!LLF+MP== - CALL BAWRITEL(LU,IB,LBCW,KR,BCW) -!LLF+MP-- - if(do_byteswap) CALL byteswap(BCW,LBCW2,1) -!LLF+MP== - IF(KR.NE.LBCW) THEN - KA=-1 - ELSE - CALL BAWRITEL(LU,IB+LBCW,NB,KR,A) - IF(KR.NE.NB) THEN - KA=-1 - ELSE -!LLF+MP-- - BCW2=BCW - if(do_byteswap) CALL byteswap(BCW,LBCW2,1) -!LLF+MP== - CALL BAWRITEL(LU,IB+LBCW+BCW2,LBCW,KR,BCW) -! CALL BAWRITEL(LU,IB+LBCW+BCW,LBCW,KR,BCW) -!LLF+MP-- - if(do_byteswap) CALL byteswap(BCW,LBCW2,1) -!LLF+MP== - IF(KR.NE.LBCW) THEN - KA=-1 - ELSE - KA=LBCW+BCW+LBCW - ENDIF - ENDIF - ENDIF -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - END SUBROUTINE BAFRWRITEL - diff --git a/comupp/src/lib/nemsio/makefile b/comupp/src/lib/nemsio/makefile index 8b52d4451..9fca2176c 100644 --- a/comupp/src/lib/nemsio/makefile +++ b/comupp/src/lib/nemsio/makefile @@ -20,7 +20,7 @@ EXTRA_ARFLAGS = # # What files are we looking for - yes bafrio, very poor style OBJS_F = nemsio_openclose.o nemsio_read.o nemsio_write.o \ - nemsio_module.o nemsio_module_mpi.o bafrio.o + nemsio_module.o nemsio_module_mpi.o OBJS_F77 = OBJS_C = OBJS = $(OBJS_F) $(OBJS_F77) $(OBJS_C) diff --git a/comupp/src/lib/nemsio/nemsio_module_mpi.f90 b/comupp/src/lib/nemsio/nemsio_module_mpi.f90 index 7665ffc13..7599abc5e 100644 --- a/comupp/src/lib/nemsio/nemsio_module_mpi.f90 +++ b/comupp/src/lib/nemsio/nemsio_module_mpi.f90 @@ -125,10 +125,9 @@ module nemsio_module_mpi ! !$$$ end module document block ! - implicit none - include 'mpif.h' ! use mpif + use mpi ! -! implicit none + implicit none private !------------------------------------------------------------------------------ ! private variables and type needed by nemsio_gfile diff --git a/comupp/src/lib/nemsio/nemsio_openclose.f90 b/comupp/src/lib/nemsio/nemsio_openclose.f90 index a965e7db9..674cf67e5 100644 --- a/comupp/src/lib/nemsio/nemsio_openclose.f90 +++ b/comupp/src/lib/nemsio/nemsio_openclose.f90 @@ -318,7 +318,7 @@ module nemsio_openclose character(16) :: machine_endian='big_endian' !------------------------------------------------------------------------------ - integer(nemsio_intkind),save :: fileunit(600:699)=0 + integer(nemsio_intkind),save :: fileunit(600:1699)=0 !------------------------------------------------------------------------------ !----- interface @@ -493,7 +493,9 @@ subroutine nemsio_open(gfile,gfname,gaction,iret,gdatatype,version, & !------------------------------------------------------------ ! open and read meta data for READ !------------------------------------------------------------ - print *,'in rcreate, gfname=',gfname,'gaction=',lowercase(gaction) +! print *,'in rcreate, gfname=',gfname,'gaction=',lowercase(gaction) + gfile%gfname=gfname + gfile%gaction=gaction if ( equal_str_nocase(trim(gaction),'read') .or. equal_str_nocase(trim(gaction),'rdwr')) then if ( equal_str_nocase(trim(gaction),'read') )then call baopenr(gfile%flunit,gfname,ios) @@ -517,7 +519,7 @@ subroutine nemsio_open(gfile,gfname,gaction,iret,gdatatype,version, & ! ! read meta data for gfile ! - call nemsio_rcreate(gfile,ios) + call nemsio_rcreate(gfile,gfname,gaction,ios) if ( ios.ne.0) then if ( present(iret)) then iret=ios @@ -538,7 +540,7 @@ subroutine nemsio_open(gfile,gfname,gaction,iret,gdatatype,version, & call nemsio_stop endif endif - call nemsio_wcreate(gfile,ios,gdatatype=gdatatype, & + call nemsio_wcreate(gfile,gfname,gaction,ios,gdatatype=gdatatype, & version=version, nmeta=nmeta,lmeta=lmeta,modelname=modelname, & nrec=nrec,idate=idate,nfday=nfday,nfhour=nfhour, & nfminute=nfminute,nfsecondn=nfsecondn, nfsecondd=nfsecondd, & @@ -649,12 +651,14 @@ subroutine nemsio_close(gfile,iret) !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end subroutine nemsio_close !------------------------------------------------------------------------------ - subroutine nemsio_rcreate(gfile,iret) + subroutine nemsio_rcreate(gfile,gfname,gaction,iret) !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - ! abstract: read nemsio meta data !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - implicit none type(nemsio_gfile),intent(inout) :: gfile + character*(*),intent(in) :: gfname + character*(*),intent(in) :: gaction integer(nemsio_intkind),intent(out) :: iret !local variables integer(nemsio_intkind) :: ios,nmeta @@ -664,6 +668,7 @@ subroutine nemsio_rcreate(gfile,iret) type(nemsio_meta3) :: meta3 integer(nemsio_intkind) :: i character(nemsio_charkind8),allocatable :: char8var(:) + logical(nemsio_logickind) :: lreadcrt,ltlendian !------------------------------------------------------------ ! read first meta data record !------------------------------------------------------------ @@ -671,15 +676,37 @@ subroutine nemsio_rcreate(gfile,iret) gfile%do_byteswap=.false. iskip=0 iread=nemsio_lmeta1 - call bafrreadl(gfile%flunit,iskip,iread,nread,meta1,gfile%do_byteswap) + call bafrreadl(gfile%flunit,iskip,iread,nread,meta1) + lreadcrt=meta1%lmeta==120.and.(meta1%nmeta<13.and.meta1%nmeta>0).and. & + (meta1%version<300000.and.meta1%version>=nemsio_intfill) if(nread.lt.iread) then -! check byteswap - gfile%do_byteswap=.true. - call bafrreadl(gfile%flunit,iskip,iread,nread,meta1,gfile%do_byteswap) - if(nread.lt.iread) then - print *,'WARNING: the file probably is in mixed endian, the program will STOP!' - return +! control words not right, file is little endian + call nemsio_close(gfile,iret=iret) + gfile%file_endian='little_endian' + gfile%do_byteswap=.false. +!reset unit + ltlendian=.true. + call nemsio_getlu(gfile,gfname,gaction,iret,ltlendian=ltlendian) + if ( equal_str_nocase(trim(gaction),'read') )then + call baopenr(gfile%flunit,gfname,ios) + if(ios/=0) print *,'Cant open file ',trim(gfname),' ios=',ios + else if ( equal_str_nocase(trim(gaction),'rdwr') )then + call baopen(gfile%flunit,gfname,ios) + if(ios/=0) print *,'Cant open file ',trim(gfname),' ios=',ios + endif + gfile%gfname=gfname + gfile%gaction=gaction + if(trim(machine_endian)=='big_endian') gfile%do_byteswap=.true. + if(trim(machine_endian)=='little_endian') gfile%do_byteswap=.false. + call bafrreadl(gfile%flunit,iskip,iread,nread,meta1) + if(nread Date: Tue, 2 Jul 2019 17:29:29 +0000 Subject: [PATCH 05/38] Vlabs Issue #62636 -- Merge branch post_chem to the master. Squashed commit of the following: commit eb3f7084a27b084fd821df9e5a236b0a120172a5 Merge: 6a69a6e dd08ec4 Author: Wen Meng Date: Tue Jul 2 14:53:27 2019 +0000 Vlab Issue #62636 --Sync the changes from master. Merge remote-tracking branch 'origin/master' into post_chem commit 6a69a6e0001319e3087f67e9d0ee2aec78114b01 Author: Wen Meng Date: Tue Jul 2 14:50:18 2019 +0000 Vlabd Issue #62636 -- Set gocart_on default as false. commit f7c99e52b86994d1f2fbca5a5afe80fcb340d749 Author: Wen Meng Date: Fri May 31 13:55:22 2019 +0000 VLAB Issue #62636 -- Add changes of chemistry fields from GSD. Change-Id: I734e31fee9d388c0949488c1757b0179a9e54ef2 --- parm/optics_luts_DUST.dat | 720 +++++++++++ parm/optics_luts_SALT.dat | 720 +++++++++++ parm/optics_luts_SOOT.dat | 288 +++++ parm/optics_luts_SUSO.dat | 144 +++ parm/optics_luts_WASO.dat | 288 +++++ parm/post_avblflds.xml | 873 +++++++++++++- parm/postcntrl_gefs_chem.xml | 218 ++++ parm/postxconfig-NT-gefs-chem.txt | 1202 +++++++++++++++++++ sorc/ncep_post.fd/ALLOCATE_ALL.f | 13 + sorc/ncep_post.fd/CLDRAD.f | 458 +++++-- sorc/ncep_post.fd/DEALLOCATE.f | 13 + sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f | 255 +++- sorc/ncep_post.fd/MDLFLD.f | 41 +- sorc/ncep_post.fd/MPI_FIRST.f | 6 +- sorc/ncep_post.fd/RQSTFLD.f | 43 +- sorc/ncep_post.fd/VRBLS2D_mod.f | 6 +- sorc/ncep_post.fd/VRBLS4D_mod.f | 2 + 17 files changed, 5070 insertions(+), 220 deletions(-) create mode 100644 parm/optics_luts_DUST.dat create mode 100644 parm/optics_luts_SALT.dat create mode 100644 parm/optics_luts_SOOT.dat create mode 100644 parm/optics_luts_SUSO.dat create mode 100644 parm/optics_luts_WASO.dat create mode 100755 parm/postcntrl_gefs_chem.xml create mode 100644 parm/postxconfig-NT-gefs-chem.txt diff --git a/parm/optics_luts_DUST.dat b/parm/optics_luts_DUST.dat new file mode 100644 index 000000000..091e6d851 --- /dev/null +++ b/parm/optics_luts_DUST.dat @@ -0,0 +1,720 @@ + DUST 1 ext + 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 + 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 + 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 + 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 1.94526 + 1.94526 1.94526 1.94526 1.94526 + 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 + 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 + 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 + 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 2.03330 + 2.03330 2.03330 2.03330 2.03330 + 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 + 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 + 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 + 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 2.01985 + 2.01985 2.01985 2.01985 2.01985 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 + 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 + 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 + 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 + 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 1.98512 + 1.98512 1.98512 1.98512 1.98512 + 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 + 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 + 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 + 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 0.69298 + 0.69298 0.69298 0.69298 0.69298 + 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 + 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 + 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 + 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 0.03731 + 0.03731 0.03731 0.03731 0.03731 + DUST 1 sca + 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 + 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 + 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 + 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 1.72335 + 1.72335 1.72335 1.72335 1.72335 + 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 + 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 + 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 + 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 1.90441 + 1.90441 1.90441 1.90441 1.90441 + 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 + 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 + 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 + 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 1.93668 + 1.93668 1.93668 1.93668 1.93668 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 + 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 + 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 + 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 + 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 1.93648 + 1.93648 1.93648 1.93648 1.93648 + 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 + 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 + 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 + 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 0.67112 + 0.67112 0.67112 0.67112 0.67112 + 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 + 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 + 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 + 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 0.00316 + 0.00316 0.00316 0.00316 0.00316 + DUST 1 asy + 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 + 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 + 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 + 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 0.76866 + 0.76866 0.76866 0.76866 0.76866 + 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 + 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 + 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 + 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 0.73430 + 0.73430 0.73430 0.73430 0.73430 + 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 + 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 + 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 + 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 0.71490 + 0.71490 0.71490 0.71490 0.71490 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 + 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 + 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 + 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 + 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 0.70663 + 0.70663 0.70663 0.70663 0.70663 + 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 + 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 + 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 + 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 0.66104 + 0.66104 0.66104 0.66104 0.66104 + 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 + 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 + 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 + 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 0.03627 + 0.03627 0.03627 0.03627 0.03627 + DUST 1 ssa + 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 + 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 + 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 + 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 0.88592 + 0.88592 0.88592 0.88592 0.88592 + 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 + 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 + 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 + 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 0.93707 + 0.93707 0.93707 0.93707 0.93707 + 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 + 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 + 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 + 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 0.95953 + 0.95953 0.95953 0.95953 0.95953 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 + 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 + 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 + 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 + 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 0.97558 + 0.97558 0.97558 0.97558 0.97558 + 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 + 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 + 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 + 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 0.96845 + 0.96845 0.96845 0.96845 0.96845 + 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 + 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 + 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 + 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 0.08471 + 0.08471 0.08471 0.08471 0.08471 + DUST 2 ext + 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 + 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 + 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 + 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 0.58966 + 0.58966 0.58966 0.58966 0.58966 + 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 + 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 + 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 + 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 0.62557 + 0.62557 0.62557 0.62557 0.62557 + 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 + 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 + 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 + 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 0.64042 + 0.64042 0.64042 0.64042 0.64042 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 + 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 + 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 + 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 + 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 0.66713 + 0.66713 0.66713 0.66713 0.66713 + 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 + 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 + 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 + 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 0.78356 + 0.78356 0.78356 0.78356 0.78356 + 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 + 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 + 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 + 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 0.05914 + 0.05914 0.05914 0.05914 0.05914 + DUST 2 sca + 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 + 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 + 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 + 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 0.46412 + 0.46412 0.46412 0.46412 0.46412 + 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 + 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 + 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 + 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 0.54218 + 0.54218 0.54218 0.54218 0.54218 + 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 + 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 + 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 + 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 0.58176 + 0.58176 0.58176 0.58176 0.58176 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 + 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 + 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 + 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 + 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 0.62836 + 0.62836 0.62836 0.62836 0.62836 + 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 + 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 + 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 + 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 0.75997 + 0.75997 0.75997 0.75997 0.75997 + 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 + 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 + 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 + 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 0.02087 + 0.02087 0.02087 0.02087 0.02087 + DUST 2 asy + 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 + 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 + 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 + 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 0.83487 + 0.83487 0.83487 0.83487 0.83487 + 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 + 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 + 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 + 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 0.79347 + 0.79347 0.79347 0.79347 0.79347 + 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 + 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 + 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 + 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 0.76141 + 0.76141 0.76141 0.76141 0.76141 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 + 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 + 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 + 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 + 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 0.72310 + 0.72310 0.72310 0.72310 0.72310 + 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 + 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 + 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 + 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 0.81796 + 0.81796 0.81796 0.81796 0.81796 + 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 + 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 + 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 + 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 0.14457 + 0.14457 0.14457 0.14457 0.14457 + DUST 2 ssa + 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 + 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 + 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 + 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 0.78710 + 0.78710 0.78710 0.78710 0.78710 + 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 + 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 + 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 + 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 0.86761 + 0.86761 0.86761 0.86761 0.86761 + 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 + 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 + 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 + 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 0.90965 + 0.90965 0.90965 0.90965 0.90965 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 + 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 + 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 + 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 + 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 0.94190 + 0.94190 0.94190 0.94190 0.94190 + 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 + 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 + 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 + 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 0.96989 + 0.96989 0.96989 0.96989 0.96989 + 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 + 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 + 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 + 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 0.35293 + 0.35293 0.35293 0.35293 0.35293 + DUST 3 ext + 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 + 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 + 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 + 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 0.30961 + 0.30961 0.30961 0.30961 0.30961 + 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 + 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 + 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 + 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 0.32530 + 0.32530 0.32530 0.32530 0.32530 + 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 + 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 + 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 + 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 0.33188 + 0.33188 0.33188 0.33188 0.33188 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 + 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 + 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 + 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 + 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 0.34707 + 0.34707 0.34707 0.34707 0.34707 + 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 + 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 + 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 + 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 0.37902 + 0.37902 0.37902 0.37902 0.37902 + 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 + 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 + 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 + 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 0.11891 + 0.11891 0.11891 0.11891 0.11891 + DUST 3 sca + 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 + 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 + 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 + 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 0.22334 + 0.22334 0.22334 0.22334 0.22334 + 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 + 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 + 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 + 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 0.26447 + 0.26447 0.26447 0.26447 0.26447 + 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 + 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 + 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 + 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 0.28950 + 0.28950 0.28950 0.28950 0.28950 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 + 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 + 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 + 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 + 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 0.31858 + 0.31858 0.31858 0.31858 0.31858 + 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 + 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 + 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 + 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 0.35529 + 0.35529 0.35529 0.35529 0.35529 + 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 + 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 + 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 + 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 0.07107 + 0.07107 0.07107 0.07107 0.07107 + DUST 3 asy + 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 + 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 + 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 + 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 0.88755 + 0.88755 0.88755 0.88755 0.88755 + 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 + 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 + 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 + 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 0.84493 + 0.84493 0.84493 0.84493 0.84493 + 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 + 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 + 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 + 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 0.80525 + 0.80525 0.80525 0.80525 0.80525 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 + 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 + 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 + 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 + 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 0.77045 + 0.77045 0.77045 0.77045 0.77045 + 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 + 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 + 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 + 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 0.78078 + 0.78078 0.78078 0.78078 0.78078 + 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 + 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 + 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 + 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 0.40709 + 0.40709 0.40709 0.40709 0.40709 + DUST 3 ssa + 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 + 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 + 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 + 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 0.72138 + 0.72138 0.72138 0.72138 0.72138 + 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 + 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 + 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 + 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 0.81464 + 0.81464 0.81464 0.81464 0.81464 + 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 + 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 + 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 + 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 0.87476 + 0.87476 0.87476 0.87476 0.87476 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 + 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 + 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 + 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 + 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 0.91791 + 0.91791 0.91791 0.91791 0.91791 + 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 + 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 + 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 + 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 0.93741 + 0.93741 0.93741 0.93741 0.93741 + 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 + 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 + 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 + 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 0.59768 + 0.59768 0.59768 0.59768 0.59768 + DUST 4 ext + 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 + 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 + 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 + 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 0.15758 + 0.15758 0.15758 0.15758 0.15758 + 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 + 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 + 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 + 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 0.16549 + 0.16549 0.16549 0.16549 0.16549 + 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 + 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 + 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 + 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 0.16689 + 0.16689 0.16689 0.16689 0.16689 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 + 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 + 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 + 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 + 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 0.17247 + 0.17247 0.17247 0.17247 0.17247 + 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 + 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 + 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 + 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 0.17635 + 0.17635 0.17635 0.17635 0.17635 + 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 + 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 + 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 + 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 0.17303 + 0.17303 0.17303 0.17303 0.17303 + DUST 4 sca + 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 + 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 + 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 + 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 0.10305 + 0.10305 0.10305 0.10305 0.10305 + 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 + 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 + 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 + 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 0.12311 + 0.12311 0.12311 0.12311 0.12311 + 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 + 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 + 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 + 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 0.13626 + 0.13626 0.13626 0.13626 0.13626 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 + 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 + 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 + 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 + 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 0.15123 + 0.15123 0.15123 0.15123 0.15123 + 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 + 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 + 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 + 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 0.15466 + 0.15466 0.15466 0.15466 0.15466 + 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 + 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 + 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 + 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 0.12175 + 0.12175 0.12175 0.12175 0.12175 + DUST 4 asy + 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 + 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 + 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 + 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 0.92024 + 0.92024 0.92024 0.92024 0.92024 + 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 + 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 + 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 + 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 0.88508 + 0.88508 0.88508 0.88508 0.88508 + 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 + 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 + 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 + 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 0.84821 + 0.84821 0.84821 0.84821 0.84821 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 + 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 + 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 + 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 + 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 0.81404 + 0.81404 0.81404 0.81404 0.81404 + 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 + 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 + 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 + 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 0.80682 + 0.80682 0.80682 0.80682 0.80682 + 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 + 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 + 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 + 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 0.69051 + 0.69051 0.69051 0.69051 0.69051 + DUST 4 ssa + 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 + 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 + 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 + 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 0.65398 + 0.65398 0.65398 0.65398 0.65398 + 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 + 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 + 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 + 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 0.74653 + 0.74653 0.74653 0.74653 0.74653 + 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 + 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 + 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 + 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 0.82004 + 0.82004 0.82004 0.82004 0.82004 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 + 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 + 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 + 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 + 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 0.87701 + 0.87701 0.87701 0.87701 0.87701 + 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 + 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 + 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 + 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 0.87697 + 0.87697 0.87697 0.87697 0.87697 + 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 + 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 + 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 + 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 0.70367 + 0.70367 0.70367 0.70367 0.70367 + DUST 5 ext + 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 + 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 + 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 + 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 0.08076 + 0.08076 0.08076 0.08076 0.08076 + 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 + 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 + 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 + 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 0.08415 + 0.08415 0.08415 0.08415 0.08415 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 + 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 + 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 + 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 + 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 0.08549 + 0.08549 0.08549 0.08549 0.08549 + 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 + 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 + 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 + 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 0.08936 + 0.08936 0.08936 0.08936 0.08936 + 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 + 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 + 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 + 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 0.12043 + 0.12043 0.12043 0.12043 0.12043 + DUST 5 sca + 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 + 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 + 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 + 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 0.04853 + 0.04853 0.04853 0.04853 0.04853 + 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 + 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 + 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 + 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 0.05618 + 0.05618 0.05618 0.05618 0.05618 + 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 + 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 + 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 + 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 0.06277 + 0.06277 0.06277 0.06277 0.06277 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 + 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 + 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 + 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 + 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 0.07023 + 0.07023 0.07023 0.07023 0.07023 + 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 + 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 + 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 + 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 0.07249 + 0.07249 0.07249 0.07249 0.07249 + 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 + 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 + 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 + 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 0.07996 + 0.07996 0.07996 0.07996 0.07996 + DUST 5 asy + 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 + 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 + 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 + 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 0.94078 + 0.94078 0.94078 0.94078 0.94078 + 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 + 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 + 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 + 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 0.91727 + 0.91727 0.91727 0.91727 0.91727 + 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 + 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 + 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 + 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 0.88035 + 0.88035 0.88035 0.88035 0.88035 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 + 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 + 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 + 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 + 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 0.84813 + 0.84813 0.84813 0.84813 0.84813 + 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 + 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 + 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 + 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 0.85620 + 0.85620 0.85620 0.85620 0.85620 + 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 + 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 + 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 + 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 0.80500 + 0.80500 0.80500 0.80500 0.80500 + DUST 5 ssa + 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 + 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 + 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 + 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 0.60095 + 0.60095 0.60095 0.60095 0.60095 + 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 + 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 + 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 + 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 0.67084 + 0.67084 0.67084 0.67084 0.67084 + 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 + 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 + 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 + 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 0.75274 + 0.75274 0.75274 0.75274 0.75274 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 + 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 + 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 + 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 + 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 0.82177 + 0.82177 0.82177 0.82177 0.82177 + 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 + 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 + 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 + 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 0.81122 + 0.81122 0.81122 0.81122 0.81122 + 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 + 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 + 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 + 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 0.66393 + 0.66393 0.66393 0.66393 0.66393 diff --git a/parm/optics_luts_SALT.dat b/parm/optics_luts_SALT.dat new file mode 100644 index 000000000..fc9071825 --- /dev/null +++ b/parm/optics_luts_SALT.dat @@ -0,0 +1,720 @@ + SALT 1 ext + 5.05002 6.11950 6.43790 6.73164 7.03002 7.34763 7.69632 8.08879 + 8.54076 9.07344 9.71688 10.51519 11.53473 12.87661 14.69765 17.25561 + 21.05365 22.04990 23.15974 24.40698 25.82249 27.44547 29.32418 31.51558 + 34.08474 37.10831 40.68913 44.99194 50.31469 57.18630 66.30163 78.38275 + 78.38275 78.38275 78.38275 78.38275 + 2.01987 2.54028 2.70423 2.85889 3.01906 3.19259 3.38620 3.60727 + 3.86490 4.17116 4.54269 5.00328 5.58821 6.35192 7.38343 8.84164 + 11.05475 11.64478 12.30565 13.05196 13.90272 14.88286 16.02520 17.37317 + 18.98384 20.93191 23.31514 26.26461 29.96862 34.73272 41.12864 50.30136 + 50.30136 50.30136 50.30136 50.30136 + 0.79814 1.03404 1.10754 1.17641 1.24724 1.32342 1.40779 1.50338 + 1.61396 1.74453 1.90213 2.09720 2.34597 2.67522 3.13264 3.81135 + 4.91680 5.22492 5.57534 5.97667 6.43977 6.97850 7.61069 8.35963 + 9.25609 10.34157 11.67355 13.33466 15.45023 18.22486 22.02282 27.55261 + 27.55261 27.55261 27.55261 27.55261 + 0.46016 0.61055 0.65825 0.70325 0.74982 0.80021 0.85632 0.92027 + 0.99463 1.08290 1.18994 1.32293 1.49289 1.71772 2.02857 2.48477 + 3.21505 3.41656 3.64512 3.90645 4.20795 4.55939 4.97378 5.46887 + 6.06921 6.80943 7.73931 8.93190 10.49683 12.60376 15.52839 19.76064 + 19.76064 19.76064 19.76064 19.76064 + 0.16350 0.22233 0.24142 0.25960 0.27860 0.29934 0.32267 0.34954 + 0.38115 0.41916 0.46591 0.52495 0.60178 0.70556 0.85241 1.07324 + 1.43453 1.53504 1.64917 1.77966 1.92999 2.10469 2.30966 2.55286 + 2.84516 3.20188 3.64529 4.20908 4.94674 5.94866 7.37947 9.56741 + 9.56741 9.56741 9.56741 9.56741 + 0.01415 0.01899 0.02058 0.02210 0.02369 0.02544 0.02742 0.02971 + 0.03242 0.03571 0.03981 0.04503 0.05194 0.06144 0.07523 0.09666 + 0.13344 0.14403 0.15624 0.17043 0.18708 0.20682 0.23048 0.25925 + 0.29475 0.33937 0.39662 0.47198 0.57421 0.71827 0.93128 1.26683 + 1.26683 1.26683 1.26683 1.26683 + 0.00553 0.01458 0.01743 0.02010 0.02285 0.02580 0.02905 0.03272 + 0.03694 0.04187 0.04775 0.05491 0.06386 0.07536 0.09072 0.11226 + 0.14462 0.15314 0.16261 0.17319 0.18510 0.19859 0.21400 0.23177 + 0.25249 0.27696 0.30628 0.34205 0.38667 0.44386 0.51979 0.62546 + 0.62546 0.62546 0.62546 0.62546 + SALT 1 sca + 5.04996 6.11944 6.43784 6.73158 7.02996 7.34757 7.69626 8.08873 + 8.54070 9.07338 9.71682 10.51519 11.53473 12.87661 14.69765 17.25561 + 21.05365 22.04990 23.15974 24.40698 25.82249 27.44547 29.32418 31.51558 + 34.08474 37.10831 40.68913 44.99194 50.31469 57.18630 66.30163 78.38275 + 78.38275 78.38275 78.38275 78.38275 + 2.01987 2.54028 2.70423 2.85889 3.01906 3.19259 3.38620 3.60727 + 3.86490 4.17116 4.54269 5.00328 5.58821 6.35192 7.38343 8.84164 + 11.05475 11.64478 12.30565 13.05196 13.90272 14.88286 16.02520 17.37317 + 18.98384 20.93191 23.31514 26.26461 29.96862 34.73272 41.12864 50.30136 + 50.30136 50.30136 50.30136 50.30136 + 0.79814 1.03404 1.10754 1.17641 1.24724 1.32342 1.40779 1.50338 + 1.61396 1.74453 1.90213 2.09720 2.34597 2.67522 3.13264 3.81135 + 4.91680 5.22492 5.57534 5.97667 6.43977 6.97850 7.61069 8.35963 + 9.25609 10.34157 11.67355 13.33466 15.45023 18.22486 22.02282 27.55261 + 27.55261 27.55261 27.55261 27.55261 + 0.46016 0.61055 0.65825 0.70325 0.74982 0.80021 0.85632 0.92027 + 0.99463 1.08290 1.18994 1.32293 1.49289 1.71772 2.02857 2.48477 + 3.21505 3.41656 3.64512 3.90645 4.20795 4.55939 4.97378 5.46887 + 6.06921 6.80943 7.73931 8.93190 10.49683 12.60376 15.52839 19.76064 + 19.76064 19.76064 19.76064 19.76064 + 0.16349 0.22232 0.24141 0.25959 0.27858 0.29933 0.32266 0.34952 + 0.38114 0.41914 0.46590 0.52493 0.60178 0.70556 0.85241 1.07324 + 1.43453 1.53504 1.64917 1.77966 1.92999 2.10469 2.30966 2.55286 + 2.84516 3.20188 3.64529 4.20908 4.94674 5.94866 7.37947 9.56741 + 9.56741 9.56741 9.56741 9.56741 + 0.01238 0.01709 0.01864 0.02012 0.02168 0.02340 0.02534 0.02759 + 0.03026 0.03350 0.03753 0.04269 0.04951 0.05891 0.07256 0.09381 + 0.13031 0.14083 0.15296 0.16707 0.18362 0.20324 0.22677 0.25539 + 0.29072 0.33514 0.39215 0.46720 0.56906 0.71264 0.92501 1.25966 + 1.25966 1.25966 1.25966 1.25966 + 0.00000 0.00001 0.00001 0.00001 0.00001 0.00001 0.00001 0.00001 + 0.00001 0.00001 0.00001 0.00001 0.00001 0.00001 0.00002 0.00002 + 0.00002 0.00003 0.00003 0.00003 0.00003 0.00004 0.00004 0.00004 + 0.00005 0.00006 0.00006 0.00008 0.00009 0.00011 0.00014 0.00020 + 0.00020 0.00020 0.00020 0.00020 + SALT 1 asy + 0.58458 0.60348 0.60852 0.61306 0.61760 0.62237 0.62757 0.63335 + 0.63992 0.64750 0.65633 0.66666 0.67866 0.69232 0.70733 0.72307 + 0.73923 0.74261 0.74610 0.74975 0.75363 0.75779 0.76228 0.76709 + 0.77221 0.77760 0.78323 0.78913 0.79531 0.80171 0.80792 0.81362 + 0.81362 0.81362 0.81362 0.81362 + 0.40421 0.45655 0.47039 0.48238 0.49380 0.50511 0.51653 0.52820 + 0.54018 0.55248 0.56506 0.57784 0.59072 0.60362 0.61672 0.63087 + 0.64873 0.65323 0.65819 0.66371 0.66987 0.67675 0.68440 0.69285 + 0.70202 0.71177 0.72187 0.73205 0.74212 0.75214 0.76266 0.77474 + 0.77474 0.77474 0.77474 0.77474 + 0.21556 0.24701 0.25620 0.26458 0.27298 0.28177 0.29125 0.30167 + 0.31332 0.32655 0.34180 0.35965 0.38085 0.40641 0.43761 0.47591 + 0.52221 0.53236 0.54275 0.55331 0.56400 0.57473 0.58543 0.59600 + 0.60638 0.61657 0.62663 0.63684 0.64771 0.66019 0.67566 0.69562 + 0.69562 0.69562 0.69562 0.69562 + 0.15838 0.18100 0.18761 0.19364 0.19969 0.20605 0.21291 0.22047 + 0.22898 0.23870 0.25001 0.26342 0.27967 0.29984 0.32563 0.35972 + 0.40650 0.41791 0.43015 0.44327 0.45732 0.47233 0.48832 0.50526 + 0.52305 0.54151 0.56034 0.57917 0.59751 0.61502 0.63181 0.64923 + 0.64923 0.64923 0.64923 0.64923 + 0.09235 0.10516 0.10887 0.11226 0.11564 0.11919 0.12302 0.12723 + 0.13195 0.13733 0.14359 0.15100 0.15998 0.17117 0.18558 0.20500 + 0.23282 0.23993 0.24773 0.25633 0.26587 0.27652 0.28847 0.30199 + 0.31740 0.33511 0.35564 0.37966 0.40794 0.44136 0.48062 0.52550 + 0.52550 0.52550 0.52550 0.52550 + 0.02628 0.02990 0.03095 0.03190 0.03285 0.03384 0.03491 0.03608 + 0.03739 0.03888 0.04061 0.04264 0.04510 0.04814 0.05202 0.05720 + 0.06452 0.06637 0.06840 0.07062 0.07309 0.07583 0.07890 0.08237 + 0.08633 0.09088 0.09620 0.10251 0.11013 0.11957 0.13160 0.14762 + 0.14762 0.14762 0.14762 0.14762 + 0.00050 0.00056 0.00057 0.00059 0.00061 0.00062 0.00064 0.00066 + 0.00068 0.00071 0.00074 0.00077 0.00082 0.00087 0.00093 0.00102 + 0.00115 0.00118 0.00122 0.00126 0.00130 0.00135 0.00140 0.00146 + 0.00153 0.00161 0.00170 0.00181 0.00194 0.00211 0.00231 0.00259 + 0.00259 0.00259 0.00259 0.00259 + SALT 1 ssa + 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 + 0.99999 0.99999 0.99999 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99992 0.99994 0.99994 0.99995 0.99995 0.99995 0.99995 0.99996 + 0.99996 0.99996 0.99997 0.99997 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.87476 0.89969 0.90563 0.91061 0.91524 0.91972 0.92419 0.92869 + 0.93330 0.93804 0.94294 0.94803 0.95332 0.95884 0.96457 0.97049 + 0.97656 0.97779 0.97902 0.98024 0.98147 0.98269 0.98391 0.98513 + 0.98634 0.98753 0.98872 0.98988 0.99103 0.99216 0.99326 0.99434 + 0.99434 0.99434 0.99434 0.99434 + 0.00083 0.00039 0.00034 0.00031 0.00029 0.00027 0.00025 0.00024 + 0.00022 0.00021 0.00020 0.00019 0.00018 0.00017 0.00017 0.00017 + 0.00017 0.00017 0.00017 0.00017 0.00018 0.00018 0.00018 0.00019 + 0.00019 0.00020 0.00021 0.00022 0.00023 0.00025 0.00028 0.00031 + 0.00031 0.00031 0.00031 0.00031 + SALT 2 ext + 3.92320 4.52008 4.74019 4.89318 5.05181 5.24457 5.42960 5.62340 + 5.86708 6.09753 6.41769 6.75186 7.18007 7.68328 8.31436 9.13831 + 10.19574 10.51001 10.79470 11.09178 11.60239 12.06707 12.29040 13.11444 + 13.59966 13.87440 14.75170 15.57825 16.73382 18.04535 19.58566 22.03241 + 22.03241 22.03241 22.03241 22.03241 + 3.79288 4.40700 4.58778 4.74768 4.89883 5.06956 5.25906 5.44788 + 5.67352 5.91421 6.20978 6.54858 6.97046 7.48636 8.13370 9.03409 + 10.29293 10.61562 10.97600 11.35074 11.80667 12.27513 12.81713 13.42884 + 14.10279 14.90457 15.79955 16.85887 18.10855 19.55892 21.36991 23.58377 + 23.58377 23.58377 23.58377 23.58377 + 3.52180 4.13567 4.31185 4.47029 4.62859 4.79422 4.97521 5.17949 + 5.40904 5.66582 5.95943 6.30219 6.72882 7.25625 7.91080 8.80390 + 10.02847 10.35061 10.69004 11.05850 11.46447 11.91478 12.44125 13.00783 + 13.66299 14.41801 15.30474 16.36222 17.66087 19.26600 21.33587 24.10196 + 24.10196 24.10196 24.10196 24.10196 + 3.13802 3.71063 3.87930 4.03428 4.19152 4.35782 4.53707 4.73374 + 4.95429 5.20690 5.50303 5.85824 6.29089 6.82103 7.50458 8.42978 + 9.71623 10.04928 10.40795 10.79474 11.21861 11.68709 12.22827 12.82852 + 13.49544 14.25267 15.17339 16.21051 17.48328 19.02589 21.04308 23.69620 + 23.69620 23.69620 23.69620 23.69620 + 2.22445 2.67520 2.81304 2.94158 3.07277 3.21208 3.36362 3.53156 + 3.72099 3.93885 4.19531 4.50617 4.89528 5.39239 6.03651 6.91337 + 8.21919 8.55253 8.91636 9.31637 9.76176 10.26536 10.83956 11.48752 + 12.21737 13.05056 14.03755 15.21224 16.59040 18.30222 20.42513 23.20636 + 23.20636 23.20636 23.20636 23.20636 + 0.51837 0.66577 0.71066 0.75237 0.79497 0.84053 0.89073 0.94737 + 1.01270 1.08972 1.18268 1.29785 1.44481 1.63873 1.90461 2.28678 + 2.87568 3.03377 3.21117 3.41174 3.64041 3.90340 4.20860 4.56591 + 4.98799 5.49176 6.10137 6.85395 7.80948 9.06316 10.75417 13.11954 + 13.11954 13.11954 13.11954 13.11954 + 0.00596 0.01634 0.01964 0.02274 0.02594 0.02937 0.03317 0.03746 + 0.04240 0.04818 0.05509 0.06353 0.07408 0.08768 0.10589 0.13150 + 0.17017 0.18039 0.19176 0.20449 0.21883 0.23511 0.25376 0.27531 + 0.30051 0.33037 0.36629 0.41032 0.46554 0.53681 0.63226 0.76664 + 0.76664 0.76664 0.76664 0.76664 + SALT 2 sca + 3.92312 4.52001 4.74011 4.89310 5.05173 5.24449 5.42952 5.62332 + 5.86700 6.09745 6.41769 6.75186 7.18007 7.68328 8.31436 9.13831 + 10.19574 10.51001 10.79470 11.09178 11.60239 12.06707 12.29040 13.11444 + 13.59966 13.87440 14.75170 15.57825 16.73382 18.04535 19.58566 22.03241 + 22.03241 22.03241 22.03241 22.03241 + 3.79288 4.40700 4.58778 4.74768 4.89883 5.06956 5.25906 5.44788 + 5.67352 5.91421 6.20978 6.54858 6.97046 7.48636 8.13370 9.03409 + 10.29293 10.61562 10.97600 11.35074 11.80667 12.27513 12.81713 13.42884 + 14.10279 14.90457 15.79955 16.85887 18.10855 19.55892 21.36991 23.58377 + 23.58377 23.58377 23.58377 23.58377 + 3.52180 4.13567 4.31185 4.47029 4.62859 4.79422 4.97521 5.17949 + 5.40904 5.66582 5.95943 6.30219 6.72882 7.25625 7.91080 8.80390 + 10.02847 10.35061 10.69004 11.05850 11.46447 11.91478 12.44125 13.00783 + 13.66299 14.41801 15.30474 16.36222 17.66087 19.26600 21.33587 24.10196 + 24.10196 24.10196 24.10196 24.10196 + 3.13802 3.71063 3.87930 4.03428 4.19152 4.35782 4.53707 4.73374 + 4.95429 5.20690 5.50303 5.85824 6.29089 6.82103 7.50458 8.42978 + 9.71623 10.04928 10.40795 10.79474 11.21861 11.68709 12.22827 12.82852 + 13.49544 14.25267 15.17339 16.21051 17.48328 19.02589 21.04308 23.69620 + 23.69620 23.69620 23.69620 23.69620 + 2.22443 2.67518 2.81301 2.94156 3.07275 3.21206 3.36360 3.53153 + 3.72096 3.93882 4.19529 4.50614 4.89528 5.39239 6.03651 6.91337 + 8.21919 8.55253 8.91636 9.31637 9.76176 10.26536 10.83956 11.48752 + 12.21737 13.05056 14.03755 15.21224 16.59040 18.30222 20.42513 23.20636 + 23.20636 23.20636 23.20636 23.20636 + 0.51562 0.66280 0.70763 0.74929 0.79184 0.83735 0.88749 0.94407 + 1.00933 1.08626 1.17913 1.29418 1.44100 1.63474 1.90039 2.28226 + 2.87071 3.02869 3.20596 3.40638 3.63488 3.89770 4.20268 4.55975 + 4.98155 5.48499 6.09421 6.84631 7.80122 9.05411 10.74408 13.10802 + 13.10802 13.10802 13.10802 13.10802 + 0.00033 0.00042 0.00045 0.00047 0.00050 0.00053 0.00056 0.00060 + 0.00064 0.00069 0.00075 0.00083 0.00092 0.00106 0.00125 0.00154 + 0.00203 0.00217 0.00233 0.00251 0.00273 0.00299 0.00329 0.00366 + 0.00412 0.00469 0.00542 0.00639 0.00770 0.00955 0.01230 0.01670 + 0.01670 0.01670 0.01670 0.01670 + SALT 2 asy + 0.67542 0.70249 0.70269 0.70999 0.71295 0.71536 0.71960 0.72311 + 0.72690 0.73228 0.73490 0.73907 0.74357 0.74728 0.75114 0.75486 + 0.76109 0.76015 0.76204 0.76223 0.76263 0.76468 0.76282 0.76566 + 0.76328 0.76748 0.76687 0.76869 0.76727 0.76684 0.76948 0.77201 + 0.77201 0.77201 0.77201 0.77201 + 0.68544 0.70453 0.70872 0.71294 0.71657 0.71885 0.72158 0.72583 + 0.72875 0.73322 0.73512 0.74012 0.74352 0.74660 0.75236 0.75749 + 0.76452 0.76555 0.76712 0.76884 0.76978 0.77233 0.77310 0.77548 + 0.77687 0.77805 0.78024 0.78100 0.78161 0.78240 0.78185 0.78291 + 0.78291 0.78291 0.78291 0.78291 + 0.70246 0.72227 0.72728 0.73133 0.73492 0.73823 0.74126 0.74433 + 0.74783 0.75167 0.75554 0.75915 0.76225 0.76647 0.77037 0.77360 + 0.77666 0.77702 0.77799 0.77868 0.77940 0.77956 0.77970 0.78072 + 0.78107 0.78123 0.78251 0.78290 0.78376 0.78459 0.78658 0.78861 + 0.78861 0.78861 0.78861 0.78861 + 0.70699 0.72704 0.73167 0.73551 0.73909 0.74267 0.74633 0.75004 + 0.75377 0.75753 0.76134 0.76526 0.76966 0.77417 0.77836 0.78299 + 0.78676 0.78746 0.78837 0.78921 0.78985 0.79014 0.79013 0.79085 + 0.79126 0.79112 0.79088 0.79097 0.78989 0.79016 0.78978 0.78985 + 0.78985 0.78985 0.78985 0.78985 + 0.68554 0.70727 0.71257 0.71712 0.72145 0.72572 0.73000 0.73436 + 0.73884 0.74349 0.74841 0.75374 0.75970 0.76632 0.77314 0.77997 + 0.78820 0.78998 0.79169 0.79329 0.79476 0.79619 0.79776 0.79951 + 0.80118 0.80252 0.80352 0.80479 0.80562 0.80552 0.80573 0.80429 + 0.80429 0.80429 0.80429 0.80429 + 0.51132 0.53955 0.54648 0.55249 0.55828 0.56417 0.57035 0.57700 + 0.58432 0.59249 0.60177 0.61239 0.62458 0.63850 0.65411 0.67129 + 0.69031 0.69446 0.69879 0.70334 0.70815 0.71325 0.71866 0.72441 + 0.73047 0.73688 0.74367 0.75092 0.75873 0.76705 0.77562 0.78473 + 0.78473 0.78473 0.78473 0.78473 + 0.01089 0.01240 0.01284 0.01324 0.01364 0.01405 0.01450 0.01500 + 0.01555 0.01618 0.01691 0.01777 0.01880 0.02009 0.02174 0.02393 + 0.02704 0.02783 0.02869 0.02964 0.03069 0.03186 0.03317 0.03465 + 0.03634 0.03828 0.04056 0.04325 0.04651 0.05054 0.05568 0.06252 + 0.06252 0.06252 0.06252 0.06252 + SALT 2 ssa + 0.99998 0.99998 0.99998 0.99998 0.99998 0.99999 0.99999 0.99999 + 0.99999 0.99999 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 + 0.99999 0.99999 0.99999 0.99999 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99468 0.99554 0.99574 0.99591 0.99606 0.99621 0.99636 0.99651 + 0.99667 0.99683 0.99700 0.99717 0.99736 0.99757 0.99779 0.99802 + 0.99827 0.99832 0.99838 0.99843 0.99848 0.99854 0.99859 0.99865 + 0.99871 0.99877 0.99883 0.99888 0.99894 0.99900 0.99906 0.99912 + 0.99912 0.99912 0.99912 0.99912 + 0.05610 0.02583 0.02287 0.02087 0.01931 0.01801 0.01690 0.01592 + 0.01506 0.01428 0.01360 0.01299 0.01248 0.01207 0.01180 0.01171 + 0.01192 0.01202 0.01214 0.01229 0.01247 0.01270 0.01297 0.01330 + 0.01370 0.01419 0.01480 0.01556 0.01653 0.01779 0.01946 0.02178 + 0.02178 0.02178 0.02178 0.02178 + SALT 3 ext + 0.73223 0.83605 0.88353 0.91770 0.94933 0.99725 1.02249 1.06009 + 1.11559 1.14597 1.18059 1.27753 1.36040 1.45706 1.59088 1.74910 + 1.97633 2.05619 2.11098 2.21013 2.29844 2.36463 2.48754 2.58265 + 2.74141 2.84189 3.00886 3.22452 3.47060 3.77134 4.13927 4.68067 + 4.68067 4.68067 4.68067 4.68067 + 0.73237 0.87481 0.90127 0.94801 0.97468 1.01770 1.05973 1.11451 + 1.13800 1.19715 1.29348 1.34318 1.42909 1.52337 1.61257 1.83417 + 2.04820 2.11080 2.16904 2.25381 2.34663 2.44612 2.51526 2.58453 + 2.75972 2.86769 3.07774 3.29052 3.51497 3.76408 4.12395 4.73206 + 4.73206 4.73206 4.73206 4.73206 + 0.74135 0.89473 0.92708 0.95577 0.99269 1.01703 1.06963 1.10021 + 1.16444 1.21065 1.26881 1.32762 1.41299 1.52431 1.66651 1.82909 + 2.04366 2.11313 2.18531 2.25960 2.41644 2.42957 2.55525 2.69109 + 2.91226 3.01570 3.19302 3.43289 3.58514 3.89802 4.32934 4.83758 + 4.83758 4.83758 4.83758 4.83758 + 0.75595 0.91552 0.92789 0.98916 0.99950 1.04383 1.08156 1.12254 + 1.17661 1.21770 1.27607 1.35032 1.43322 1.53233 1.68257 1.84986 + 2.08707 2.15617 2.21373 2.29024 2.38571 2.49513 2.55300 2.72621 + 2.82340 2.92687 3.12310 3.41613 3.61206 3.94424 4.37670 4.90942 + 4.90942 4.90942 4.90942 4.90942 + 0.84179 0.99233 1.04040 1.07193 1.12029 1.14799 1.20379 1.23802 + 1.28508 1.36306 1.42194 1.49097 1.58120 1.68704 1.79287 1.96037 + 2.18639 2.25468 2.30069 2.37457 2.43548 2.50868 2.64731 2.73154 + 2.84683 3.01659 3.22138 3.39036 3.67440 4.01502 4.43323 4.88924 + 4.88924 4.88924 4.88924 4.88924 + 1.13182 1.31923 1.37531 1.42478 1.47228 1.51999 1.56986 1.62483 + 1.68838 1.75953 1.83677 1.92183 2.02541 2.14934 2.28975 2.47586 + 2.71085 2.76766 2.82633 2.88841 2.96357 3.04665 3.13315 3.22898 + 3.35064 3.48217 3.65101 3.85069 4.11147 4.44492 4.89202 5.52588 + 5.52588 5.52588 5.52588 5.52588 + 0.01987 0.03631 0.04141 0.04617 0.05103 0.05623 0.06193 0.06833 + 0.07565 0.08418 0.09430 0.10658 0.12183 0.14136 0.16732 0.20359 + 0.25794 0.27225 0.28814 0.30592 0.32592 0.34861 0.37456 0.40453 + 0.43955 0.48101 0.53088 0.59202 0.66872 0.76777 0.90052 1.08746 + 1.08746 1.08746 1.08746 1.08746 + SALT 3 sca + 0.73216 0.83599 0.88346 0.91764 0.94927 0.99718 1.02243 1.06003 + 1.11552 1.14591 1.18059 1.27753 1.36040 1.45706 1.59088 1.74910 + 1.97633 2.05619 2.11098 2.21013 2.29844 2.36463 2.48754 2.58265 + 2.74141 2.84189 3.00886 3.22452 3.47060 3.77134 4.13927 4.68067 + 4.68067 4.68067 4.68067 4.68067 + 0.73237 0.87481 0.90127 0.94801 0.97468 1.01770 1.05973 1.11451 + 1.13800 1.19715 1.29348 1.34318 1.42909 1.52337 1.61257 1.83417 + 2.04820 2.11080 2.16904 2.25381 2.34663 2.44612 2.51526 2.58453 + 2.75972 2.86769 3.07774 3.29052 3.51497 3.76408 4.12395 4.73206 + 4.73206 4.73206 4.73206 4.73206 + 0.74135 0.89473 0.92708 0.95577 0.99269 1.01703 1.06963 1.10021 + 1.16444 1.21065 1.26881 1.32762 1.41299 1.52431 1.66651 1.82909 + 2.04366 2.11313 2.18531 2.25960 2.41644 2.42957 2.55525 2.69109 + 2.91226 3.01570 3.19302 3.43289 3.58514 3.89802 4.32934 4.83758 + 4.83758 4.83758 4.83758 4.83758 + 0.75595 0.91552 0.92789 0.98916 0.99950 1.04383 1.08156 1.12254 + 1.17661 1.21770 1.27607 1.35032 1.43322 1.53233 1.68257 1.84986 + 2.08707 2.15617 2.21373 2.29024 2.38571 2.49513 2.55300 2.72621 + 2.82340 2.92687 3.12310 3.41613 3.61206 3.94424 4.37670 4.90942 + 4.90942 4.90942 4.90942 4.90942 + 0.84176 0.99230 1.04037 1.07190 1.12026 1.14796 1.20376 1.23799 + 1.28505 1.36303 1.42191 1.49097 1.58120 1.68704 1.79287 1.96037 + 2.18639 2.25468 2.30069 2.37457 2.43548 2.50868 2.64731 2.73154 + 2.84683 3.01659 3.22138 3.39036 3.67440 4.01502 4.43323 4.88924 + 4.88924 4.88924 4.88924 4.88924 + 1.12772 1.31502 1.37104 1.42047 1.46793 1.51561 1.56544 1.62036 + 1.68383 1.75490 1.83206 1.91703 2.02045 2.14420 2.28440 2.47016 + 2.70465 2.76133 2.81987 2.88179 2.95675 3.03961 3.12589 3.22145 + 3.34277 3.47395 3.64228 3.84144 4.10150 4.43405 4.88004 5.51224 + 5.51224 5.51224 5.51224 5.51224 + 0.01316 0.01600 0.01684 0.01762 0.01841 0.01925 0.02017 0.02121 + 0.02240 0.02379 0.02546 0.02751 0.03009 0.03346 0.03806 0.04471 + 0.05510 0.05792 0.06108 0.06467 0.06876 0.07346 0.07892 0.08534 + 0.09297 0.10219 0.11354 0.12780 0.14623 0.17086 0.20524 0.25610 + 0.25610 0.25610 0.25610 0.25610 + SALT 3 asy + 0.76696 0.78296 0.78171 0.78435 0.78365 0.79018 0.78830 0.79508 + 0.79829 0.79747 0.80115 0.80628 0.80849 0.81249 0.81251 0.81848 + 0.81844 0.82506 0.82314 0.82779 0.82936 0.82425 0.83115 0.83222 + 0.83444 0.83113 0.83163 0.84063 0.83807 0.83708 0.84751 0.84768 + 0.84768 0.84768 0.84768 0.84768 + 0.74584 0.76045 0.76555 0.76915 0.76862 0.77636 0.78140 0.77770 + 0.78627 0.78880 0.78487 0.78613 0.78932 0.79754 0.80833 0.81265 + 0.81790 0.81209 0.82050 0.81253 0.82706 0.82420 0.81823 0.81703 + 0.82895 0.82915 0.83102 0.83498 0.82996 0.83446 0.83855 0.84559 + 0.84559 0.84559 0.84559 0.84559 + 0.70882 0.72986 0.73438 0.73784 0.73582 0.74524 0.74129 0.75181 + 0.75384 0.75043 0.75917 0.76349 0.76767 0.77256 0.77794 0.78588 + 0.78538 0.79651 0.79113 0.79679 0.80055 0.80129 0.80744 0.81030 + 0.81418 0.81142 0.81376 0.82109 0.82217 0.82068 0.82759 0.83071 + 0.83071 0.83071 0.83071 0.83071 + 0.70298 0.71071 0.72401 0.71026 0.73084 0.72196 0.73364 0.73629 + 0.72943 0.74239 0.75273 0.75330 0.75663 0.76369 0.76529 0.77466 + 0.77970 0.78604 0.77994 0.78774 0.78637 0.78919 0.79449 0.79548 + 0.79168 0.79089 0.79396 0.80418 0.81345 0.80918 0.82170 0.82537 + 0.82537 0.82537 0.82537 0.82537 + 0.67942 0.70115 0.70169 0.71061 0.70816 0.71888 0.71639 0.72393 + 0.73198 0.72623 0.73066 0.73680 0.73956 0.74518 0.75561 0.75739 + 0.76274 0.75742 0.76222 0.76314 0.76715 0.76869 0.76816 0.76859 + 0.77970 0.77406 0.78427 0.78500 0.78649 0.79733 0.79771 0.80546 + 0.80546 0.80546 0.80546 0.80546 + 0.74607 0.76205 0.76547 0.76866 0.77164 0.77428 0.77643 0.77796 + 0.77928 0.78114 0.78311 0.78423 0.78395 0.78465 0.78358 0.78102 + 0.77576 0.77479 0.77394 0.77215 0.76960 0.76815 0.76681 0.76414 + 0.76193 0.76111 0.75807 0.75833 0.75782 0.75872 0.76430 0.76990 + 0.76990 0.76990 0.76990 0.76990 + 0.10527 0.12170 0.12650 0.13089 0.13529 0.13991 0.14490 0.15040 + 0.15657 0.16362 0.17181 0.18151 0.19325 0.20783 0.22650 0.25139 + 0.28633 0.29508 0.30461 0.31500 0.32640 0.33893 0.35277 0.36812 + 0.38521 0.40431 0.42575 0.44987 0.47703 0.50757 0.54172 0.57950 + 0.57950 0.57950 0.57950 0.57950 + SALT 3 ssa + 0.99991 0.99992 0.99993 0.99993 0.99993 0.99994 0.99994 0.99994 + 0.99994 0.99995 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99997 0.99997 0.99997 0.99997 0.99997 0.99997 0.99997 0.99998 + 0.99998 0.99998 0.99998 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99637 0.99681 0.99689 0.99697 0.99705 0.99712 0.99719 0.99725 + 0.99730 0.99737 0.99743 0.99750 0.99755 0.99761 0.99766 0.99770 + 0.99771 0.99771 0.99771 0.99771 0.99770 0.99769 0.99768 0.99767 + 0.99765 0.99764 0.99761 0.99760 0.99757 0.99756 0.99755 0.99753 + 0.99753 0.99753 0.99753 0.99753 + 0.66248 0.44060 0.40665 0.38160 0.36073 0.34237 0.32573 0.31039 + 0.29607 0.28263 0.26998 0.25808 0.24696 0.23670 0.22747 0.21959 + 0.21362 0.21274 0.21199 0.21139 0.21096 0.21072 0.21071 0.21096 + 0.21151 0.21245 0.21386 0.21587 0.21867 0.22254 0.22792 0.23550 + 0.23550 0.23550 0.23550 0.23550 + SALT 4 ext + 0.28582 0.34184 0.35889 0.37240 0.38943 0.40291 0.41589 0.43551 + 0.45656 0.47778 0.50003 0.52280 0.56763 0.59570 0.66111 0.74252 + 0.84508 0.86978 0.89264 0.92710 0.96338 1.00284 1.04333 1.09021 + 1.14782 1.21823 1.28349 1.38313 1.47665 1.60857 1.77050 1.98996 + 1.98996 1.98996 1.98996 1.98996 + 0.29012 0.34466 0.36276 0.37069 0.39121 0.40036 0.41719 0.43583 + 0.45461 0.47661 0.50227 0.53810 0.57094 0.61839 0.66033 0.74053 + 0.84456 0.87611 0.89424 0.93785 0.97327 1.01132 1.04549 1.10372 + 1.15797 1.23396 1.29155 1.37979 1.49328 1.62552 1.79664 2.00311 + 2.00311 2.00311 2.00311 2.00311 + 0.29551 0.35698 0.36597 0.38817 0.39387 0.41952 0.42432 0.44691 + 0.46350 0.49105 0.51564 0.54155 0.58353 0.61698 0.68147 0.75716 + 0.85880 0.89008 0.92565 0.94647 0.98494 1.02590 1.07081 1.11410 + 1.15620 1.23388 1.31298 1.40384 1.48745 1.64919 1.80955 2.02185 + 2.02185 2.02185 2.02185 2.02185 + 0.30163 0.36193 0.37329 0.39338 0.40062 0.42195 0.43610 0.45329 + 0.47620 0.49828 0.52199 0.55656 0.59095 0.63564 0.68487 0.75862 + 0.86547 0.89297 0.92170 0.95197 0.99178 1.02213 1.06834 1.12474 + 1.18950 1.23854 1.32421 1.41201 1.52211 1.64665 1.81431 2.04256 + 2.04256 2.04256 2.04256 2.04256 + 0.30094 0.36031 0.37751 0.38757 0.40518 0.41654 0.43808 0.44660 + 0.46900 0.48776 0.50947 0.54461 0.58333 0.62511 0.68518 0.75853 + 0.87676 0.90581 0.93768 0.97347 1.01857 1.06316 1.09152 1.15981 + 1.19995 1.28082 1.34127 1.43847 1.51103 1.66116 1.83029 2.06337 + 2.06337 2.06337 2.06337 2.06337 + 0.30849 0.36773 0.38189 0.39376 0.41148 0.42336 0.44169 0.45624 + 0.48024 0.50044 0.52193 0.55506 0.59253 0.63645 0.70261 0.78601 + 0.91004 0.94678 0.97653 1.01908 1.05324 1.10264 1.15778 1.21157 + 1.28141 1.35735 1.44206 1.53395 1.66141 1.80102 1.96026 2.13573 + 2.13573 2.13573 2.13573 2.13573 + 0.11067 0.12977 0.13568 0.14118 0.14680 0.15282 0.15943 0.16685 + 0.17534 0.18523 0.19698 0.21121 0.22888 0.25146 0.28140 0.32307 + 0.38514 0.40139 0.41940 0.43949 0.46203 0.48749 0.51650 0.54984 + 0.58857 0.63412 0.68846 0.75441 0.83616 0.94021 1.07717 1.26580 + 1.26580 1.26580 1.26580 1.26580 + SALT 4 sca + 0.28577 0.34179 0.35883 0.37234 0.38938 0.40285 0.41583 0.43546 + 0.45651 0.47778 0.50003 0.52280 0.56763 0.59570 0.66111 0.74252 + 0.84508 0.86978 0.89264 0.92710 0.96338 1.00284 1.04333 1.09021 + 1.14782 1.21823 1.28349 1.38313 1.47665 1.60857 1.77050 1.98996 + 1.98996 1.98996 1.98996 1.98996 + 0.29012 0.34466 0.36276 0.37069 0.39121 0.40036 0.41719 0.43583 + 0.45461 0.47661 0.50227 0.53810 0.57094 0.61839 0.66033 0.74053 + 0.84456 0.87611 0.89424 0.93785 0.97327 1.01132 1.04549 1.10372 + 1.15797 1.23396 1.29155 1.37979 1.49328 1.62552 1.79664 2.00311 + 2.00311 2.00311 2.00311 2.00311 + 0.29551 0.35698 0.36597 0.38817 0.39387 0.41952 0.42432 0.44691 + 0.46350 0.49105 0.51564 0.54155 0.58353 0.61698 0.68147 0.75716 + 0.85880 0.89008 0.92565 0.94647 0.98494 1.02590 1.07081 1.11410 + 1.15620 1.23388 1.31298 1.40384 1.48745 1.64919 1.80955 2.02185 + 2.02185 2.02185 2.02185 2.02185 + 0.30163 0.36193 0.37329 0.39338 0.40062 0.42195 0.43610 0.45329 + 0.47620 0.49828 0.52199 0.55656 0.59095 0.63564 0.68487 0.75862 + 0.86547 0.89297 0.92170 0.95197 0.99178 1.02213 1.06834 1.12474 + 1.18950 1.23854 1.32421 1.41201 1.52211 1.64665 1.81431 2.04256 + 2.04256 2.04256 2.04256 2.04256 + 0.30092 0.36029 0.37749 0.38754 0.40516 0.41651 0.43806 0.44658 + 0.46898 0.48774 0.50947 0.54461 0.58333 0.62511 0.68518 0.75853 + 0.87676 0.90581 0.93768 0.97347 1.01857 1.06316 1.09152 1.15981 + 1.19995 1.28082 1.34127 1.43847 1.51103 1.66116 1.83029 2.06337 + 2.06337 2.06337 2.06337 2.06337 + 0.30461 0.36350 0.37773 0.38963 0.40720 0.41920 0.43735 0.45182 + 0.47571 0.49591 0.51737 0.55047 0.58779 0.63152 0.69741 0.78044 + 0.90410 0.94076 0.97031 1.01257 1.04674 1.09610 1.15090 1.20436 + 1.27391 1.34947 1.43398 1.52499 1.65217 1.79079 1.94916 2.12263 + 2.12263 2.12263 2.12263 2.12263 + 0.10077 0.10153 0.10223 0.10301 0.10393 0.10503 0.10635 0.10796 + 0.10994 0.11241 0.11553 0.11953 0.12479 0.13187 0.14176 0.15626 + 0.17905 0.18520 0.19211 0.19990 0.20875 0.21887 0.23055 0.24415 + 0.26016 0.27927 0.30240 0.33093 0.36688 0.41345 0.47593 0.56373 + 0.56373 0.56373 0.56373 0.56373 + SALT 4 asy + 0.79219 0.80722 0.81004 0.81083 0.81556 0.81598 0.81854 0.82142 + 0.82344 0.82667 0.82789 0.83284 0.83630 0.83486 0.83758 0.84331 + 0.84719 0.84631 0.84995 0.84753 0.85350 0.85009 0.85284 0.85508 + 0.85473 0.85436 0.85249 0.85381 0.85760 0.85954 0.86277 0.86053 + 0.86053 0.86053 0.86053 0.86053 + 0.78993 0.80044 0.80380 0.80731 0.80887 0.80982 0.81488 0.81363 + 0.81490 0.81733 0.82523 0.82742 0.82702 0.83370 0.83623 0.83885 + 0.84361 0.83988 0.84565 0.84305 0.84415 0.84479 0.85353 0.84893 + 0.85214 0.84912 0.85363 0.85411 0.85388 0.85458 0.85900 0.86161 + 0.86161 0.86161 0.86161 0.86161 + 0.77439 0.78709 0.79324 0.79331 0.80054 0.79509 0.80527 0.80169 + 0.80943 0.81488 0.80777 0.81061 0.81945 0.82146 0.82673 0.82984 + 0.83528 0.83624 0.83783 0.83793 0.83969 0.84352 0.84529 0.84349 + 0.84429 0.84945 0.84546 0.84928 0.85134 0.85269 0.85480 0.85563 + 0.85563 0.85563 0.85563 0.85563 + 0.77551 0.78808 0.79384 0.79416 0.79770 0.79659 0.80291 0.80583 + 0.80938 0.81279 0.81402 0.81466 0.81654 0.81811 0.82587 0.82669 + 0.82914 0.83246 0.83295 0.83559 0.83577 0.83650 0.84003 0.83862 + 0.84186 0.84392 0.84566 0.84793 0.84778 0.85131 0.85061 0.85419 + 0.85419 0.85419 0.85419 0.85419 + 0.76524 0.78653 0.78241 0.79084 0.78712 0.79706 0.78977 0.79488 + 0.80048 0.80057 0.80440 0.81068 0.81602 0.81869 0.81964 0.82674 + 0.83068 0.83049 0.83805 0.83080 0.83663 0.83513 0.83519 0.84081 + 0.83466 0.83894 0.83705 0.84019 0.83731 0.84378 0.84482 0.84854 + 0.84854 0.84854 0.84854 0.84854 + 0.66455 0.69156 0.69323 0.70204 0.70161 0.70749 0.70582 0.71669 + 0.71737 0.72188 0.72587 0.73454 0.74304 0.74533 0.75365 0.76748 + 0.77987 0.77748 0.78461 0.78132 0.78718 0.79272 0.79773 0.79812 + 0.80973 0.81065 0.81032 0.81644 0.82474 0.82559 0.83079 0.82984 + 0.82984 0.82984 0.82984 0.82984 + 0.56571 0.60550 0.61525 0.62359 0.63152 0.63939 0.64745 0.65585 + 0.66473 0.67424 0.68454 0.69581 0.70827 0.72221 0.73802 0.75623 + 0.77752 0.78222 0.78708 0.79211 0.79733 0.80274 0.80837 0.81424 + 0.82037 0.82677 0.83348 0.84054 0.84799 0.85594 0.86455 0.87409 + 0.87409 0.87409 0.87409 0.87409 + SALT 4 ssa + 0.99980 0.99984 0.99984 0.99985 0.99986 0.99986 0.99987 0.99987 + 0.99987 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99991 0.99993 0.99993 0.99994 0.99994 0.99994 0.99994 0.99994 + 0.99994 0.99995 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.98741 0.98849 0.98908 0.98952 0.98958 0.99017 0.99015 0.99033 + 0.99057 0.99096 0.99127 0.99174 0.99200 0.99225 0.99261 0.99292 + 0.99348 0.99364 0.99364 0.99361 0.99383 0.99406 0.99405 0.99405 + 0.99415 0.99420 0.99440 0.99416 0.99444 0.99432 0.99434 0.99387 + 0.99387 0.99387 0.99387 0.99387 + 0.91052 0.78238 0.75346 0.72966 0.70796 0.68728 0.66708 0.64706 + 0.62702 0.60686 0.58650 0.56594 0.54521 0.52442 0.50377 0.48367 + 0.46489 0.46141 0.45806 0.45485 0.45181 0.44897 0.44637 0.44403 + 0.44202 0.44040 0.43925 0.43866 0.43876 0.43974 0.44183 0.44536 + 0.44536 0.44536 0.44536 0.44536 + SALT 5 ext + 0.09611 0.11706 0.12294 0.12783 0.13221 0.13813 0.14304 0.14895 + 0.15721 0.16418 0.17401 0.18481 0.19663 0.21336 0.23347 0.26043 + 0.29842 0.30717 0.31739 0.32897 0.34211 0.35492 0.37065 0.38788 + 0.40907 0.43188 0.45794 0.49051 0.52812 0.57590 0.63444 0.71544 + 0.71544 0.71544 0.71544 0.71544 + 0.09688 0.11800 0.12306 0.12756 0.13372 0.13722 0.14376 0.14978 + 0.15789 0.16512 0.17561 0.18563 0.19874 0.21426 0.23572 0.26191 + 0.29939 0.30878 0.31891 0.33040 0.34288 0.35660 0.37323 0.39124 + 0.41138 0.43419 0.45911 0.49275 0.52991 0.57799 0.63820 0.71672 + 0.71672 0.71672 0.71672 0.71672 + 0.09717 0.11780 0.12404 0.13005 0.13447 0.13857 0.14503 0.15183 + 0.15791 0.16626 0.17628 0.18724 0.19985 0.21583 0.23733 0.26339 + 0.30117 0.31046 0.32141 0.33198 0.34443 0.36014 0.37477 0.39307 + 0.41245 0.43618 0.46299 0.49519 0.53336 0.58036 0.64133 0.72034 + 0.72034 0.72034 0.72034 0.72034 + 0.09821 0.11903 0.12400 0.12899 0.13398 0.14078 0.14616 0.15213 + 0.15920 0.16683 0.17627 0.18762 0.20096 0.21701 0.23676 0.26284 + 0.30212 0.31204 0.32210 0.33425 0.34724 0.36051 0.37623 0.39359 + 0.41236 0.43634 0.46390 0.49532 0.53488 0.58085 0.64134 0.72251 + 0.72251 0.72251 0.72251 0.72251 + 0.09935 0.11897 0.12566 0.13089 0.13451 0.14083 0.14651 0.15343 + 0.16230 0.16904 0.17854 0.18886 0.20114 0.21788 0.23956 0.26703 + 0.30479 0.31382 0.32236 0.33508 0.34780 0.36376 0.37838 0.39630 + 0.41585 0.43804 0.46780 0.49954 0.53836 0.59006 0.64863 0.72677 + 0.72677 0.72677 0.72677 0.72677 + 0.10246 0.12374 0.12965 0.13531 0.14118 0.14693 0.15261 0.15950 + 0.16641 0.17403 0.18454 0.19618 0.20971 0.22440 0.24554 0.27395 + 0.31001 0.31913 0.33043 0.34238 0.35585 0.36868 0.39029 0.40953 + 0.42526 0.45284 0.47442 0.50800 0.54554 0.59541 0.65655 0.73989 + 0.73989 0.73989 0.73989 0.73989 + 0.17115 0.18924 0.19401 0.19827 0.20249 0.20693 0.21173 0.21708 + 0.22314 0.23012 0.23830 0.24814 0.26027 0.27565 0.29579 0.32336 + 0.36336 0.37363 0.38493 0.39740 0.41125 0.42673 0.44414 0.46387 + 0.48643 0.51248 0.54294 0.57906 0.62267 0.67646 0.74474 0.83474 + 0.83474 0.83474 0.83474 0.83474 + SALT 5 sca + 0.09605 0.11701 0.12288 0.12778 0.13215 0.13808 0.14299 0.14889 + 0.15721 0.16418 0.17401 0.18481 0.19663 0.21336 0.23347 0.26043 + 0.29842 0.30717 0.31739 0.32897 0.34211 0.35492 0.37065 0.38788 + 0.40907 0.43188 0.45794 0.49051 0.52812 0.57590 0.63444 0.71544 + 0.71544 0.71544 0.71544 0.71544 + 0.09688 0.11800 0.12306 0.12756 0.13372 0.13722 0.14376 0.14978 + 0.15789 0.16512 0.17561 0.18563 0.19874 0.21426 0.23572 0.26191 + 0.29939 0.30878 0.31891 0.33040 0.34288 0.35660 0.37323 0.39124 + 0.41138 0.43419 0.45911 0.49275 0.52991 0.57799 0.63820 0.71672 + 0.71672 0.71672 0.71672 0.71672 + 0.09717 0.11780 0.12404 0.13005 0.13447 0.13857 0.14503 0.15183 + 0.15791 0.16626 0.17628 0.18724 0.19985 0.21583 0.23733 0.26339 + 0.30117 0.31046 0.32141 0.33198 0.34443 0.36014 0.37477 0.39307 + 0.41245 0.43618 0.46299 0.49519 0.53336 0.58036 0.64133 0.72034 + 0.72034 0.72034 0.72034 0.72034 + 0.09821 0.11903 0.12400 0.12899 0.13398 0.14078 0.14616 0.15213 + 0.15920 0.16683 0.17627 0.18762 0.20096 0.21701 0.23676 0.26284 + 0.30212 0.31204 0.32210 0.33425 0.34724 0.36051 0.37623 0.39359 + 0.41236 0.43634 0.46390 0.49532 0.53488 0.58085 0.64134 0.72251 + 0.72251 0.72251 0.72251 0.72251 + 0.09933 0.11895 0.12564 0.13087 0.13449 0.14081 0.14649 0.15341 + 0.16227 0.16901 0.17854 0.18886 0.20114 0.21788 0.23956 0.26703 + 0.30479 0.31382 0.32236 0.33508 0.34780 0.36376 0.37838 0.39630 + 0.41585 0.43804 0.46780 0.49954 0.53836 0.59006 0.64863 0.72677 + 0.72677 0.72677 0.72677 0.72677 + 0.09903 0.12012 0.12614 0.13171 0.13749 0.14316 0.14877 0.15569 + 0.16265 0.17008 0.18059 0.19210 0.20543 0.21992 0.24094 0.26898 + 0.30452 0.31368 0.32492 0.33669 0.34995 0.36246 0.38379 0.40289 + 0.41842 0.44563 0.46659 0.49973 0.53669 0.58548 0.64562 0.72753 + 0.72753 0.72753 0.72753 0.72753 + 0.15880 0.15780 0.15800 0.15832 0.15878 0.15940 0.16023 0.16133 + 0.16277 0.16464 0.16706 0.17023 0.17448 0.18030 0.18844 0.20026 + 0.21832 0.22308 0.22835 0.23422 0.24079 0.24819 0.25656 0.26611 + 0.27709 0.28983 0.30480 0.32261 0.34416 0.37078 0.40454 0.44892 + 0.44892 0.44892 0.44892 0.44892 + SALT 5 asy + 0.81539 0.82609 0.82934 0.83157 0.83362 0.83514 0.83655 0.83872 + 0.83985 0.84264 0.84529 0.84743 0.85302 0.85519 0.85665 0.85768 + 0.86122 0.86360 0.86212 0.86333 0.86477 0.86218 0.86623 0.86399 + 0.86502 0.86415 0.86740 0.86596 0.86927 0.86873 0.86975 0.86904 + 0.86904 0.86904 0.86904 0.86904 + 0.81200 0.82661 0.82937 0.83016 0.83265 0.83557 0.83993 0.84105 + 0.84273 0.84530 0.84562 0.84832 0.85197 0.85891 0.85659 0.85993 + 0.86474 0.86278 0.86436 0.86372 0.86397 0.86398 0.86609 0.86593 + 0.86735 0.86697 0.86696 0.86729 0.86983 0.86902 0.87019 0.87098 + 0.87098 0.87098 0.87098 0.87098 + 0.80878 0.82177 0.82567 0.82600 0.82842 0.83192 0.83590 0.83807 + 0.83879 0.84152 0.84541 0.84652 0.84682 0.85363 0.85596 0.85863 + 0.86083 0.86266 0.86181 0.86116 0.86233 0.86320 0.86440 0.86284 + 0.86490 0.86599 0.86694 0.86752 0.86798 0.86963 0.86987 0.87074 + 0.87074 0.87074 0.87074 0.87074 + 0.80896 0.82226 0.82677 0.82650 0.82988 0.83122 0.83182 0.83394 + 0.83855 0.84052 0.84326 0.84579 0.84979 0.85152 0.85240 0.85740 + 0.85979 0.86214 0.86060 0.86116 0.86242 0.86236 0.86371 0.86463 + 0.86578 0.86477 0.86541 0.86660 0.86653 0.86885 0.86903 0.87065 + 0.87065 0.87065 0.87065 0.87065 + 0.80333 0.81704 0.82046 0.82229 0.82400 0.82879 0.83080 0.83331 + 0.83495 0.84067 0.83908 0.84294 0.84683 0.85033 0.85050 0.85284 + 0.85823 0.85708 0.85995 0.86142 0.86266 0.86007 0.86138 0.86042 + 0.86260 0.86216 0.86555 0.86498 0.86736 0.86520 0.86693 0.86989 + 0.86989 0.86989 0.86989 0.86989 + 0.79801 0.80914 0.81214 0.81397 0.81787 0.81992 0.82193 0.82513 + 0.82654 0.83370 0.82951 0.83913 0.83710 0.83905 0.84609 0.84953 + 0.84746 0.85063 0.85488 0.85287 0.85502 0.85536 0.85474 0.85597 + 0.86078 0.85893 0.86395 0.86267 0.86241 0.86299 0.86573 0.86605 + 0.86605 0.86605 0.86605 0.86605 + 0.76305 0.82826 0.84026 0.84948 0.85742 0.86465 0.87144 0.87797 + 0.88432 0.89056 0.89672 0.90286 0.90907 0.91539 0.92181 0.92840 + 0.93529 0.93672 0.93819 0.93968 0.94121 0.94276 0.94436 0.94598 + 0.94764 0.94933 0.95107 0.95288 0.95477 0.95675 0.95884 0.96106 + 0.96106 0.96106 0.96106 0.96106 + SALT 5 ssa + 0.99942 0.99954 0.99955 0.99960 0.99957 0.99960 0.99963 0.99964 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99979 0.99982 0.99982 0.99983 0.99984 0.99984 0.99984 0.99985 + 0.99985 0.99986 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.96650 0.97077 0.97291 0.97338 0.97384 0.97437 0.97485 0.97613 + 0.97745 0.97731 0.97859 0.97917 0.97960 0.98000 0.98128 0.98186 + 0.98230 0.98293 0.98334 0.98341 0.98340 0.98312 0.98335 0.98379 + 0.98392 0.98406 0.98350 0.98373 0.98377 0.98332 0.98335 0.98329 + 0.98329 0.98329 0.98329 0.98329 + 0.92781 0.83386 0.81439 0.79853 0.78411 0.77033 0.75677 0.74320 + 0.72947 0.71545 0.70102 0.68604 0.67041 0.65409 0.63707 0.61931 + 0.60084 0.59705 0.59323 0.58939 0.58551 0.58160 0.57765 0.57367 + 0.56964 0.56555 0.56139 0.55713 0.55272 0.54811 0.54319 0.53780 + 0.53780 0.53780 0.53780 0.53780 diff --git a/parm/optics_luts_SOOT.dat b/parm/optics_luts_SOOT.dat new file mode 100644 index 000000000..3ae4c496c --- /dev/null +++ b/parm/optics_luts_SOOT.dat @@ -0,0 +1,288 @@ + SOOT 1 ext + 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 + 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 + 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 + 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 + 20.34592 20.34592 20.34592 20.34592 + 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 + 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 + 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 + 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 + 14.44748 14.44748 14.44748 14.44748 + 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 + 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 + 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 + 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 + 9.64142 9.64142 9.64142 9.64142 + 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 + 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 + 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 + 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 + 7.85537 7.85537 7.85537 7.85537 + 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 + 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 + 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 + 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 + 5.46885 5.46885 5.46885 5.46885 + 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 + 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 + 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 + 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 + 2.55233 2.55233 2.55233 2.55233 + 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 + 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 + 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 + 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 + 0.32237 0.32237 0.32237 0.32237 + SOOT 1 sca + 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 + 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 + 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 + 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 + 6.35905 6.35905 6.35905 6.35905 + 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 + 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 + 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 + 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 + 3.85470 3.85470 3.85470 3.85470 + 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 + 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 + 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 + 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 + 2.05186 2.05186 2.05186 2.05186 + 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 + 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 + 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 + 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 + 1.45413 1.45413 1.45413 1.45413 + 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 + 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 + 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 + 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 + 0.73050 0.73050 0.73050 0.73050 + 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 + 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 + 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 + 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 + 0.10295 0.10295 0.10295 0.10295 + 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 + 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 + 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 + 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 + 0.00007 0.00007 0.00007 0.00007 + SOOT 1 asy + 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 + 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 + 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 + 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 + 0.45291 0.45291 0.45291 0.45291 + 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 + 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 + 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 + 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 + 0.39508 0.39508 0.39508 0.39508 + 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 + 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 + 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 + 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 + 0.33878 0.33878 0.33878 0.33878 + 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 + 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 + 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 + 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 + 0.31094 0.31094 0.31094 0.31094 + 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 + 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 + 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 + 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 + 0.25723 0.25723 0.25723 0.25723 + 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 + 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 + 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 + 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 + 0.11889 0.11889 0.11889 0.11889 + 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 + 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 + 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 + 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 + 0.00279 0.00279 0.00279 0.00279 + SOOT 1 ssa + 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 + 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 + 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 + 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 + 0.31255 0.31255 0.31255 0.31255 + 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 + 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 + 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 + 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 + 0.26681 0.26681 0.26681 0.26681 + 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 + 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 + 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 + 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 + 0.21251 0.21251 0.21251 0.21251 + 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 + 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 + 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 + 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 + 0.18482 0.18482 0.18482 0.18482 + 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 + 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 + 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 + 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 + 0.13357 0.13357 0.13357 0.13357 + 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 + 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 + 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 + 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 + 0.04034 0.04034 0.04034 0.04034 + 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 + 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 + 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 + 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 + 0.00022 0.00022 0.00022 0.00022 + SOOT 2 ext + 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 20.34592 + 20.34592 20.34592 20.34592 20.34592 20.60607 20.60607 21.12668 22.97558 + 25.49610 26.08892 26.69615 27.31882 27.95798 28.94982 29.63450 30.33900 + 31.06423 31.81103 32.97353 33.77798 35.03102 35.89854 37.71447 39.15009 + 41.16645 44.42029 48.55590 60.52386 + 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 14.44748 + 14.44748 14.44748 14.44748 14.44748 14.62500 14.62500 14.97704 16.19620 + 17.79894 18.16893 18.54588 18.93058 19.32380 19.93125 20.34901 20.77781 + 21.21832 21.67121 22.37512 22.86168 23.61896 24.14293 25.23937 26.10642 + 27.32592 29.30054 31.81529 39.17355 + 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 9.64142 + 9.64142 9.64142 9.64142 9.64142 9.75695 9.75695 9.98407 10.75095 + 11.71941 11.93797 12.15912 12.38341 12.61137 12.96135 13.20074 13.44553 + 13.69618 13.95313 14.35132 14.62590 15.05247 15.34723 15.96344 16.45045 + 17.13535 18.24493 19.65957 23.83722 + 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 7.85537 + 7.85537 7.85537 7.85537 7.85537 7.94883 7.94883 8.13179 8.74178 + 9.49549 9.66336 9.83250 10.00337 10.17643 10.44104 10.62138 10.80531 + 10.99321 11.18543 11.48263 11.68717 12.00440 12.22332 12.68038 13.04123 + 13.54842 14.36989 15.41630 18.51746 + 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 5.46885 + 5.46885 5.46885 5.46885 5.46885 5.53334 5.53334 5.65859 6.06571 + 6.54595 6.64970 6.75319 6.85674 6.96066 7.11789 7.22402 7.33149 + 7.44058 7.55150 7.72187 7.83843 8.01829 8.14184 8.39862 8.60047 + 8.88319 9.33951 9.91767 11.63766 + 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 2.55233 + 2.55233 2.55233 2.55233 2.55233 2.58426 2.58426 2.64528 2.83313 + 3.03001 3.06878 3.10615 3.14226 3.17728 3.22806 3.26093 3.29314 + 3.32482 3.35605 3.40229 3.43284 3.47845 3.50883 3.56986 3.61615 + 3.67896 3.77652 3.89339 4.23037 + 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 0.32237 + 0.32237 0.32237 0.32237 0.32237 0.33355 0.33355 0.35593 0.43352 + 0.52975 0.55050 0.57102 0.59134 0.61147 0.64136 0.66110 0.68073 + 0.70026 0.71973 0.74885 0.76825 0.79737 0.81685 0.85602 0.88568 + 0.92572 0.98714 1.06051 1.25578 + SOOT 2 sca + 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 6.35905 + 6.35905 6.35905 6.35905 6.35905 6.47679 6.47679 6.72139 7.68319 + 9.20100 9.58718 9.99269 10.41825 10.86456 11.57454 12.07592 12.60056 + 13.14919 13.72251 14.63032 15.26843 16.27673 16.98408 18.48643 19.69272 + 21.41132 24.23504 27.90322 38.78739 + 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 3.85470 + 3.85470 3.85470 3.85470 3.85470 3.92565 3.92565 4.07262 4.64690 + 5.54754 5.77628 6.01643 6.26843 6.53276 6.95337 7.25056 7.56170 + 7.88729 8.22781 8.76762 9.14757 9.74880 10.17119 11.06990 11.79303 + 12.82585 14.53052 16.75744 23.44330 + 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 2.05186 + 2.05186 2.05186 2.05186 2.05186 2.09065 2.09065 2.17087 2.48320 + 2.97158 3.09559 3.22581 3.36251 3.50597 3.73442 3.89598 4.06528 + 4.24259 4.42821 4.72287 4.93055 5.25970 5.49131 5.98518 6.38361 + 6.95422 7.89968 9.14094 12.91248 + 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 1.45413 + 1.45413 1.45413 1.45413 1.45413 1.48221 1.48221 1.54026 1.76599 + 2.11874 2.20833 2.30244 2.40125 2.50499 2.67029 2.78725 2.90987 + 3.03837 3.17298 3.38681 3.53764 3.77687 3.94536 4.30501 4.59552 + 5.01215 5.70394 6.61430 9.39676 + 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 0.73050 + 0.73050 0.73050 0.73050 0.73050 0.74513 0.74513 0.77534 0.89269 + 1.07608 1.12271 1.17173 1.22324 1.27736 1.36370 1.42487 1.48907 + 1.55643 1.62708 1.73948 1.81890 1.94509 2.03413 2.22460 2.37886 + 2.60069 2.97044 3.45902 4.96951 + 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 0.10295 + 0.10295 0.10295 0.10295 0.10295 0.10525 0.10525 0.10997 0.12811 + 0.15618 0.16331 0.17080 0.17867 0.18696 0.20019 0.20959 0.21947 + 0.22986 0.24078 0.25821 0.27057 0.29028 0.30423 0.33423 0.35866 + 0.39401 0.45348 0.53270 0.78435 + 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 + 0.00007 0.00007 0.00007 0.00007 0.00007 0.00007 0.00008 0.00009 + 0.00011 0.00012 0.00012 0.00013 0.00013 0.00014 0.00014 0.00015 + 0.00016 0.00016 0.00017 0.00018 0.00019 0.00019 0.00020 0.00022 + 0.00023 0.00025 0.00028 0.00038 + SOOT 2 asy + 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 0.45291 + 0.45291 0.45291 0.45291 0.45291 0.45814 0.45814 0.46829 0.50094 + 0.53703 0.54426 0.55123 0.55794 0.56442 0.57370 0.57961 0.58532 + 0.59082 0.59613 0.60376 0.60863 0.61562 0.62008 0.62858 0.63460 + 0.64217 0.65261 0.66362 0.68597 + 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 0.39508 + 0.39508 0.39508 0.39508 0.39508 0.39988 0.39988 0.40926 0.43984 + 0.47459 0.48169 0.48858 0.49527 0.50176 0.51114 0.51718 0.52303 + 0.52872 0.53425 0.54226 0.54740 0.55486 0.55966 0.56887 0.57544 + 0.58380 0.59555 0.60812 0.63443 + 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 0.33878 + 0.33878 0.33878 0.33878 0.33878 0.34296 0.34296 0.35115 0.37826 + 0.40990 0.41648 0.42291 0.42920 0.43534 0.44429 0.45008 0.45575 + 0.46129 0.46671 0.47461 0.47974 0.48721 0.49206 0.50144 0.50822 + 0.51692 0.52929 0.54271 0.57171 + 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 0.31094 + 0.31094 0.31094 0.31094 0.31094 0.31478 0.31478 0.32232 0.34743 + 0.37711 0.38334 0.38945 0.39544 0.40132 0.40991 0.41550 0.42098 + 0.42636 0.43163 0.43935 0.44437 0.45173 0.45651 0.46582 0.47256 + 0.48127 0.49374 0.50735 0.53720 + 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 0.25723 + 0.25723 0.25723 0.25723 0.25723 0.26043 0.26043 0.26673 0.28803 + 0.31386 0.31938 0.32483 0.33020 0.33550 0.34331 0.34843 0.35347 + 0.35845 0.36337 0.37061 0.37536 0.38235 0.38694 0.39592 0.40249 + 0.41104 0.42341 0.43703 0.46779 + 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 0.11889 + 0.11889 0.11889 0.11889 0.11889 0.12052 0.12052 0.12380 0.13557 + 0.15132 0.15491 0.15851 0.16215 0.16580 0.17131 0.17500 0.17870 + 0.18241 0.18612 0.19170 0.19542 0.20099 0.20469 0.21207 0.21757 + 0.22485 0.23562 0.24746 0.27610 + 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 0.00279 + 0.00279 0.00279 0.00279 0.00279 0.00281 0.00281 0.00284 0.00300 + 0.00326 0.00333 0.00339 0.00346 0.00354 0.00365 0.00373 0.00381 + 0.00389 0.00397 0.00410 0.00419 0.00433 0.00442 0.00461 0.00476 + 0.00496 0.00528 0.00566 0.00668 + SOOT 2 ssa + 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 0.31255 + 0.31255 0.31255 0.31255 0.31255 0.31431 0.31431 0.31815 0.33441 + 0.36088 0.36748 0.37431 0.38136 0.38860 0.39981 0.40750 0.41533 + 0.42329 0.43138 0.44370 0.45202 0.46464 0.47311 0.49017 0.50301 + 0.52012 0.54558 0.57466 0.64086 + 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 0.26681 + 0.26681 0.26681 0.26681 0.26681 0.26842 0.26842 0.27192 0.28691 + 0.31168 0.31792 0.32441 0.33113 0.33807 0.34887 0.35631 0.36393 + 0.37172 0.37966 0.39185 0.40012 0.41275 0.42129 0.43859 0.45173 + 0.46936 0.49591 0.52671 0.59845 + 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 0.21251 + 0.21251 0.21251 0.21251 0.21251 0.21397 0.21397 0.21713 0.23068 + 0.25328 0.25903 0.26502 0.27126 0.27773 0.28785 0.29487 0.30209 + 0.30950 0.31710 0.32883 0.33686 0.34918 0.35756 0.37469 0.38782 + 0.40562 0.43277 0.46477 0.54154 + 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 0.18482 + 0.18482 0.18482 0.18482 0.18482 0.18618 0.18618 0.18912 0.20172 + 0.22283 0.22822 0.23386 0.23974 0.24585 0.25544 0.26210 0.26898 + 0.27607 0.28335 0.29463 0.30237 0.31430 0.32245 0.33917 0.35205 + 0.36961 0.39661 0.42872 0.50715 + 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 0.13357 + 0.13357 0.13357 0.13357 0.13357 0.13466 0.13466 0.13702 0.14717 + 0.16439 0.16884 0.17351 0.17840 0.18351 0.19159 0.19724 0.20311 + 0.20918 0.21546 0.22527 0.23205 0.24258 0.24984 0.26488 0.27660 + 0.29277 0.31805 0.34877 0.42702 + 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 0.04034 + 0.04034 0.04034 0.04034 0.04034 0.04073 0.04073 0.04157 0.04522 + 0.05155 0.05322 0.05499 0.05686 0.05884 0.06202 0.06427 0.06665 + 0.06914 0.07175 0.07589 0.07882 0.08345 0.08670 0.09362 0.09918 + 0.10710 0.12008 0.13682 0.18541 + 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 + 0.00022 0.00022 0.00022 0.00022 0.00022 0.00022 0.00021 0.00021 + 0.00021 0.00021 0.00021 0.00021 0.00022 0.00022 0.00022 0.00022 + 0.00022 0.00022 0.00023 0.00023 0.00023 0.00023 0.00024 0.00024 + 0.00025 0.00026 0.00027 0.00030 diff --git a/parm/optics_luts_SUSO.dat b/parm/optics_luts_SUSO.dat new file mode 100644 index 000000000..1dfbbb2cf --- /dev/null +++ b/parm/optics_luts_SUSO.dat @@ -0,0 +1,144 @@ + SUSO 1 ext + 7.73574 8.34077 9.01847 9.79756 10.56687 11.25723 11.82404 12.73465 + 13.69757 14.43105 15.18178 16.20457 17.10606 18.02381 18.71644 19.88663 + 21.39725 21.69895 21.98503 21.98853 22.28346 22.58576 23.15534 23.39982 + 23.84385 24.06293 24.51358 25.00588 25.91299 26.64322 27.54119 28.40457 + 29.08818 30.92253 32.82631 36.20938 + 5.58873 6.14138 6.74038 7.39951 8.11619 8.87692 9.46058 10.26406 + 11.12697 12.06703 13.05719 14.03514 14.76294 15.78562 16.91784 18.43632 + 19.83288 20.09694 20.36124 20.59992 20.90023 21.20483 21.82609 22.14195 + 22.77966 23.09829 23.72646 24.33966 25.25155 25.87116 26.83667 28.19881 + 29.23095 30.82813 32.75817 36.69236 + 3.31207 3.69518 4.11907 4.58516 5.09164 5.63784 6.07565 6.69957 + 7.36950 8.08748 8.85806 9.67966 10.32481 11.22101 12.16159 13.40919 + 14.74813 15.02697 15.30918 15.52048 15.80454 16.09111 16.67167 16.96568 + 17.56121 17.86268 18.47295 19.09309 20.04345 20.69253 21.69324 23.07807 + 24.14427 25.94363 28.14392 32.47068 + 2.45815 2.76058 3.09290 3.45767 3.85859 4.29913 4.65656 5.16882 + 5.72132 6.31488 6.95118 7.63204 8.17365 8.93990 9.75735 10.84532 + 12.00156 12.24143 12.48439 12.66905 12.91792 13.16988 13.68326 13.94479 + 14.47786 14.74947 15.30288 15.86951 16.74229 17.33793 18.25102 19.50795 + 20.48379 22.17376 24.30063 28.46202 + 1.29901 1.47546 1.67134 1.88900 2.13114 2.40046 2.62166 2.94330 + 3.29584 3.67915 4.09326 4.53889 4.89468 5.39959 5.94207 6.67816 + 7.48389 7.65360 7.82616 7.95643 8.13294 8.31215 8.67857 8.86574 + 9.24796 9.44299 9.84091 10.24936 10.88210 11.31761 11.99217 12.93336 + 13.67245 14.97092 16.63907 19.97588 + 0.16741 0.19773 0.23237 0.27172 0.31621 0.36627 0.40777 0.46878 + 0.53684 0.61257 0.69669 0.79001 0.86655 0.97806 1.10126 1.27318 + 1.46669 1.50813 1.55052 1.58343 1.62739 1.67231 1.76509 1.81298 + 1.91178 1.96271 2.06769 2.17686 2.34861 2.46852 2.65665 2.92317 + 3.13507 3.51176 4.00407 5.02953 + 0.21202 0.22864 0.24477 0.26054 0.27611 0.29162 0.30329 0.31899 + 0.33496 0.35128 0.36804 0.38532 0.39865 0.41699 0.43601 0.46084 + 0.48692 0.49229 0.49772 0.50113 0.50664 0.51220 0.52350 0.52924 + 0.54089 0.54680 0.55880 0.57105 0.58989 0.60276 0.62257 0.64990 + 0.67112 0.70789 0.75441 0.84679 + SUSO 1 sca + 7.73574 8.34077 9.01847 9.79756 10.56687 11.25723 11.82404 12.73465 + 13.69757 14.43105 15.18178 16.20457 17.10606 18.02381 18.71644 19.88663 + 21.39725 21.69895 21.98503 21.98853 22.28346 22.58576 23.15534 23.39982 + 23.84385 24.06293 24.51358 25.00588 25.91299 26.64322 27.54119 28.40457 + 29.08818 30.92253 32.82631 36.20938 + 5.58873 6.14138 6.74038 7.39951 8.11619 8.87692 9.46058 10.26406 + 11.12697 12.06703 13.05719 14.03514 14.76294 15.78562 16.91784 18.43632 + 19.83288 20.09694 20.36124 20.59992 20.90023 21.20483 21.82609 22.14195 + 22.77966 23.09829 23.72646 24.33966 25.25155 25.87116 26.83667 28.19881 + 29.23095 30.82813 32.75817 36.69236 + 3.31207 3.69518 4.11907 4.58516 5.09164 5.63784 6.07565 6.69957 + 7.36950 8.08748 8.85806 9.67966 10.32481 11.22101 12.16159 13.40919 + 14.74813 15.02697 15.30918 15.52048 15.80454 16.09111 16.67167 16.96568 + 17.56121 17.86268 18.47295 19.09309 20.04345 20.69253 21.69324 23.07807 + 24.14427 25.94363 28.14392 32.47068 + 2.45815 2.76058 3.09290 3.45767 3.85859 4.29913 4.65656 5.16882 + 5.72132 6.31488 6.95118 7.63204 8.17365 8.93990 9.75735 10.84532 + 12.00156 12.24143 12.48439 12.66905 12.91792 13.16988 13.68326 13.94479 + 14.47786 14.74947 15.30288 15.86951 16.74229 17.33793 18.25102 19.50795 + 20.48379 22.17376 24.30063 28.46202 + 1.29901 1.47546 1.67134 1.88900 2.13114 2.40046 2.62166 2.94330 + 3.29584 3.67915 4.09326 4.53889 4.89468 5.39959 5.94207 6.67816 + 7.48389 7.65360 7.82616 7.95643 8.13294 8.31215 8.67857 8.86574 + 9.24796 9.44299 9.84091 10.24936 10.88210 11.31761 11.99217 12.93336 + 13.67245 14.97092 16.63907 19.97588 + 0.16682 0.19708 0.23165 0.27093 0.31533 0.36530 0.40673 0.46765 + 0.53559 0.61121 0.69521 0.78840 0.86483 0.97620 1.09924 1.27095 + 1.46423 1.50563 1.54797 1.58084 1.62474 1.66962 1.76230 1.81013 + 1.90883 1.95971 2.06457 2.17363 2.34521 2.46500 2.65294 2.91921 + 3.13091 3.50725 3.99912 5.02370 + 0.00024 0.00027 0.00029 0.00032 0.00034 0.00037 0.00040 0.00043 + 0.00047 0.00051 0.00055 0.00060 0.00063 0.00069 0.00075 0.00083 + 0.00092 0.00094 0.00096 0.00098 0.00100 0.00102 0.00106 0.00109 + 0.00113 0.00116 0.00121 0.00126 0.00134 0.00140 0.00149 0.00162 + 0.00173 0.00192 0.00218 0.00273 + SUSO 1 asy + 0.72773 0.73613 0.74157 0.74672 0.75419 0.75910 0.76028 0.76100 + 0.76606 0.77061 0.76986 0.76700 0.76909 0.77512 0.77541 0.76937 + 0.77046 0.77150 0.77266 0.77147 0.77080 0.77041 0.77120 0.77219 + 0.77378 0.77415 0.77410 0.77297 0.76948 0.76765 0.77072 0.77416 + 0.77304 0.76521 0.77263 0.76503 + 0.72822 0.73720 0.74519 0.75267 0.75957 0.76588 0.76990 0.77422 + 0.77801 0.78191 0.78602 0.78951 0.79120 0.79262 0.79403 0.79707 + 0.79994 0.80018 0.80032 0.79947 0.79960 0.79973 0.80003 0.80021 + 0.80065 0.80093 0.80150 0.80195 0.80214 0.80199 0.80158 0.80123 + 0.80154 0.80221 0.80055 0.79972 + 0.67724 0.68875 0.69959 0.70973 0.71902 0.72749 0.73341 0.74079 + 0.74754 0.75370 0.75943 0.76472 0.76837 0.77284 0.77700 0.78183 + 0.78630 0.78715 0.78798 0.78859 0.78937 0.79012 0.79157 0.79226 + 0.79359 0.79423 0.79545 0.79660 0.79820 0.79920 0.80066 0.80260 + 0.80402 0.80610 0.80790 0.81028 + 0.63978 0.65308 0.66507 0.67604 0.68630 0.69601 0.70293 0.71162 + 0.71973 0.72728 0.73433 0.74089 0.74550 0.75131 0.75672 0.76283 + 0.76829 0.76932 0.77034 0.77115 0.77215 0.77314 0.77507 0.77602 + 0.77788 0.77879 0.78058 0.78232 0.78482 0.78639 0.78860 0.79131 + 0.79321 0.79615 0.79933 0.80450 + 0.54677 0.56084 0.57463 0.58835 0.60203 0.61554 0.62540 0.63793 + 0.64956 0.66019 0.66986 0.67868 0.68483 0.69254 0.69983 0.70853 + 0.71686 0.71847 0.72006 0.72123 0.72277 0.72429 0.72725 0.72870 + 0.73153 0.73292 0.73564 0.73828 0.74210 0.74457 0.74815 0.75273 + 0.75601 0.76119 0.76689 0.77584 + 0.19514 0.21053 0.22658 0.24328 0.26059 0.27845 0.29215 0.31077 + 0.32968 0.34876 0.36784 0.38675 0.40072 0.41892 0.43646 0.45723 + 0.47650 0.48016 0.48375 0.48625 0.48971 0.49310 0.49970 0.50290 + 0.50912 0.51213 0.51798 0.52359 0.53160 0.53669 0.54398 0.55312 + 0.55961 0.56988 0.58153 0.60180 + 0.00400 0.00423 0.00448 0.00474 0.00501 0.00529 0.00552 0.00582 + 0.00614 0.00647 0.00682 0.00717 0.00744 0.00782 0.00820 0.00870 + 0.00922 0.00932 0.00943 0.00954 0.00964 0.00975 0.00997 0.01008 + 0.01030 0.01041 0.01064 0.01087 0.01122 0.01145 0.01181 0.01230 + 0.01267 0.01331 0.01409 0.01559 + SUSO 1 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99647 0.99669 0.99689 0.99706 0.99722 0.99737 0.99746 0.99758 + 0.99769 0.99779 0.99788 0.99796 0.99802 0.99810 0.99817 0.99825 + 0.99832 0.99834 0.99835 0.99836 0.99838 0.99839 0.99842 0.99843 + 0.99846 0.99847 0.99849 0.99852 0.99855 0.99857 0.99861 0.99864 + 0.99867 0.99872 0.99876 0.99884 + 0.00114 0.00116 0.00118 0.00121 0.00124 0.00128 0.00131 0.00135 + 0.00139 0.00144 0.00149 0.00155 0.00159 0.00165 0.00172 0.00180 + 0.00190 0.00192 0.00194 0.00195 0.00197 0.00199 0.00203 0.00205 + 0.00209 0.00212 0.00216 0.00220 0.00227 0.00232 0.00240 0.00250 + 0.00258 0.00271 0.00289 0.00323 diff --git a/parm/optics_luts_WASO.dat b/parm/optics_luts_WASO.dat new file mode 100644 index 000000000..5aa6edfd0 --- /dev/null +++ b/parm/optics_luts_WASO.dat @@ -0,0 +1,288 @@ + WASO 1 ext + 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 + 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 + 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 + 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 6.95366 + 6.95366 6.95366 6.95366 6.95366 + 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 + 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 + 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 + 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 4.77879 + 4.77879 4.77879 4.77879 4.77879 + 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 + 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 + 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 + 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 2.81464 + 2.81464 2.81464 2.81464 2.81464 + 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 + 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 + 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 + 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 2.07320 + 2.07320 2.07320 2.07320 2.07320 + 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 + 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 + 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 + 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 1.07431 + 1.07431 1.07431 1.07431 1.07431 + 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 + 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 + 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 + 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 0.21372 + 0.21372 0.21372 0.21372 0.21372 + 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 + 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 + 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 + 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 0.02017 + 0.02017 0.02017 0.02017 0.02017 + WASO 1 sca + 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 + 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 + 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 + 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 6.65030 + 6.65030 6.65030 6.65030 6.65030 + 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 + 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 + 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 + 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 4.64638 + 4.64638 4.64638 4.64638 4.64638 + 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 + 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 + 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 + 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 2.71377 + 2.71377 2.71377 2.71377 2.71377 + 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 + 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 + 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 + 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 1.98187 + 1.98187 1.98187 1.98187 1.98187 + 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 + 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 + 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 + 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 0.97653 + 0.97653 0.97653 0.97653 0.97653 + 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 + 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 + 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 + 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 0.12177 + 0.12177 0.12177 0.12177 0.12177 + 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 + 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 + 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 + 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 0.00008 + 0.00008 0.00008 0.00008 0.00008 + WASO 1 asy + 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 + 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 + 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 + 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 0.65618 + 0.65618 0.65618 0.65618 0.65618 + 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 + 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 + 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 + 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 0.63266 + 0.63266 0.63266 0.63266 0.63266 + 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 + 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 + 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 + 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 0.58519 + 0.58519 0.58519 0.58519 0.58519 + 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 + 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 + 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 + 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 0.55260 + 0.55260 0.55260 0.55260 0.55260 + 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 + 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 + 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 + 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 0.46903 + 0.46903 0.46903 0.46903 0.46903 + 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 + 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 + 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 + 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 0.17629 + 0.17629 0.17629 0.17629 0.17629 + 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 + 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 + 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 + 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 0.00367 + 0.00367 0.00367 0.00367 0.00367 + WASO 1 ssa + 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 + 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 + 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 + 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 0.95637 + 0.95637 0.95637 0.95637 0.95637 + 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 + 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 + 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 + 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 0.97229 + 0.97229 0.97229 0.97229 0.97229 + 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 + 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 + 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 + 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 0.96407 + 0.96407 0.96407 0.96407 0.96407 + 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 + 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 + 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 + 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 0.95583 + 0.95583 0.95583 0.95583 0.95583 + 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 + 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 + 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 + 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 0.90899 + 0.90899 0.90899 0.90899 0.90899 + 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 + 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 + 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 + 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 0.56977 + 0.56977 0.56977 0.56977 0.56977 + 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 + 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 + 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 + 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 0.00396 + 0.00396 0.00396 0.00396 0.00396 + WASO 2 ext + 6.95366 7.24715 7.71502 8.04677 8.39077 8.91326 9.26404 9.81291 + 10.20032 10.60910 11.26944 11.73484 12.42241 13.09399 13.55488 14.82169 + 16.30297 16.88607 17.16759 17.71769 17.99096 18.54636 19.12998 19.75999 + 20.43631 21.51217 22.62897 23.54462 25.01420 26.86273 28.88831 31.83935 + 35.85559 41.07476 50.23763 66.45586 + 4.77879 4.98333 5.30836 5.53652 5.77453 6.15198 6.41667 6.83014 + 7.11666 7.41307 7.87889 8.20541 8.72179 9.27022 9.65166 10.64154 + 11.68562 12.12861 12.35685 12.82775 13.07058 13.57055 14.08673 14.61235 + 15.13974 15.93054 16.73704 17.55959 18.77368 20.35673 21.99387 24.46232 + 27.86497 32.38970 40.10886 54.65770 + 2.81464 2.94023 3.14073 3.28237 3.43040 3.66487 3.83003 4.09217 + 4.27701 4.47004 4.77492 4.98849 5.32513 5.68287 5.93378 6.60425 + 7.33293 7.64079 7.79843 8.12144 8.28692 8.62611 8.97666 9.33897 + 9.71338 10.29795 10.90963 11.49302 12.37479 13.54217 14.78378 16.66255 + 19.30590 22.86893 29.18167 41.13515 + 2.07320 2.16712 2.31746 2.42440 2.53702 2.71713 2.84493 3.04850 + 3.19223 3.34242 3.58004 3.74693 4.01048 4.29050 4.48662 5.01121 + 5.58806 5.83453 5.96125 6.22170 6.35542 6.62976 6.91315 7.20551 + 7.50692 7.97661 8.46862 8.94398 9.66584 10.63043 11.66414 13.22516 + 15.44478 18.49437 23.93890 34.51738 + 1.07431 1.12712 1.21199 1.27257 1.33657 1.43929 1.51251 1.62977 + 1.71308 1.80062 1.94002 2.03846 2.19454 2.36101 2.47794 2.79203 + 3.13916 3.28788 3.36446 3.52220 3.60341 3.77067 3.94458 4.12535 + 4.31320 4.60855 4.92048 5.22062 5.68136 6.29983 6.96739 7.98970 + 9.46855 11.54450 15.34511 23.06160 + 0.21372 0.22330 0.23861 0.24949 0.26095 0.27929 0.29234 0.31323 + 0.32810 0.34375 0.36879 0.38660 0.41507 0.44580 0.46761 0.52719 + 0.59463 0.62400 0.63923 0.67081 0.68717 0.72109 0.75665 0.79390 + 0.83291 0.89484 0.96105 1.02521 1.12593 1.26400 1.41632 1.65500 + 2.00870 2.51981 3.50678 5.68136 + 0.02017 0.02315 0.02798 0.03143 0.03507 0.04087 0.04498 0.05148 + 0.05606 0.06082 0.06831 0.07355 0.08177 0.09042 0.09644 0.11235 + 0.12953 0.13677 0.14047 0.14802 0.15188 0.15976 0.16786 0.17618 + 0.18472 0.19795 0.21171 0.22513 0.24492 0.27102 0.29867 0.34008 + 0.39811 0.47670 0.61582 0.88483 + WASO 2 sca + 6.65030 6.94440 7.41232 7.74368 8.08750 8.61155 8.96414 9.51478 + 9.90247 10.31074 10.96898 11.43306 12.12185 12.79643 13.25862 14.52398 + 15.99992 16.58383 16.86630 17.41870 17.69305 18.25002 18.83391 19.46259 + 20.13681 21.20985 22.32516 23.24404 24.71357 26.56362 28.58670 31.53811 + 35.55159 40.77392 49.93301 66.14916 + 4.64638 4.85108 5.17627 5.40451 5.64256 6.02000 6.28473 6.69842 + 6.98514 7.28172 7.74763 8.07410 8.59021 9.13827 9.51951 10.50947 + 11.55381 11.99670 12.22483 12.69544 12.93809 13.43765 13.95345 14.47886 + 15.00628 15.79744 16.60423 17.42659 18.64020 20.22300 21.86010 24.32777 + 27.73003 32.25370 39.97218 54.51816 + 2.71377 2.83921 3.03951 3.18104 3.32896 3.56327 3.72831 3.99024 + 4.17492 4.36779 4.67243 4.88583 5.22221 5.57965 5.83036 6.50035 + 7.22866 7.53638 7.69394 8.01680 8.18219 8.52122 8.87157 9.23368 + 9.60788 10.19213 10.80350 11.38708 12.26854 13.43554 14.67676 16.55486 + 19.19751 22.75974 29.07126 41.02308 + 1.98187 2.07558 2.22558 2.33229 2.44467 2.62440 2.75195 2.95515 + 3.09863 3.24859 3.48588 3.65255 3.91578 4.19548 4.39138 4.91545 + 5.49174 5.73797 5.86458 6.12480 6.25841 6.53253 6.81571 7.10788 + 7.40910 7.87852 8.37024 8.84569 9.56716 10.53125 11.56448 13.12490 + 15.34371 18.39234 23.83558 34.41216 + 0.97653 1.02880 1.11287 1.17294 1.23642 1.33839 1.41111 1.52765 + 1.61049 1.69758 1.83633 1.93435 2.08985 2.25576 2.37233 2.68556 + 3.03186 3.18026 3.25668 3.41409 3.49514 3.66207 3.83564 4.01609 + 4.20360 4.49847 4.80991 5.11006 5.57024 6.18803 6.85493 7.87632 + 9.35396 11.42852 15.22731 22.94094 + 0.12177 0.13046 0.14452 0.15461 0.16532 0.18259 0.19496 0.21487 + 0.22911 0.24415 0.26832 0.28555 0.31319 0.34311 0.36440 0.42268 + 0.48885 0.51773 0.53271 0.56379 0.57991 0.61334 0.64841 0.68518 + 0.72371 0.78493 0.85043 0.91436 1.01418 1.15113 1.30236 1.53954 + 1.89137 2.40021 3.38358 5.55208 + 0.00008 0.00008 0.00009 0.00009 0.00010 0.00011 0.00011 0.00012 + 0.00012 0.00013 0.00014 0.00014 0.00015 0.00016 0.00017 0.00019 + 0.00021 0.00022 0.00023 0.00024 0.00024 0.00026 0.00027 0.00028 + 0.00029 0.00031 0.00034 0.00036 0.00039 0.00044 0.00049 0.00058 + 0.00071 0.00090 0.00131 0.00231 + WASO 2 asy + 0.65618 0.66190 0.66989 0.67496 0.68002 0.68755 0.69207 0.69781 + 0.70115 0.70420 0.70862 0.71189 0.71741 0.72196 0.72424 0.72824 + 0.73339 0.73644 0.73787 0.74025 0.74116 0.74245 0.74314 0.74352 + 0.74419 0.74611 0.74909 0.75078 0.75364 0.75658 0.75768 0.76192 + 0.76332 0.76932 0.77366 0.77786 + 0.63266 0.63888 0.64778 0.65333 0.65860 0.66615 0.67102 0.67795 + 0.68222 0.68621 0.69176 0.69524 0.70030 0.70527 0.70854 0.71622 + 0.72240 0.72456 0.72560 0.72767 0.72871 0.73082 0.73303 0.73531 + 0.73756 0.74053 0.74287 0.74466 0.74762 0.75132 0.75434 0.75782 + 0.76259 0.76613 0.77130 0.77674 + 0.58519 0.59165 0.60101 0.60698 0.61272 0.62090 0.62611 0.63363 + 0.63847 0.64316 0.64991 0.65419 0.66034 0.66623 0.67004 0.67912 + 0.68740 0.69049 0.69200 0.69495 0.69639 0.69923 0.70199 0.70468 + 0.70731 0.71112 0.71477 0.71801 0.72233 0.72733 0.73191 0.73787 + 0.74486 0.75181 0.76092 0.77113 + 0.55260 0.55883 0.56790 0.57379 0.57956 0.58803 0.59354 0.60160 + 0.60681 0.61187 0.61920 0.62391 0.63074 0.63727 0.64147 0.65142 + 0.66069 0.66425 0.66599 0.66942 0.67109 0.67438 0.67755 0.68061 + 0.68356 0.68782 0.69191 0.69565 0.70072 0.70674 0.71239 0.71957 + 0.72783 0.73673 0.74808 0.76163 + 0.46903 0.47549 0.48522 0.49174 0.49827 0.50804 0.51452 0.52411 + 0.53039 0.53654 0.54548 0.55123 0.55953 0.56743 0.57247 0.58440 + 0.59548 0.59970 0.60178 0.60588 0.60789 0.61187 0.61579 0.61965 + 0.62345 0.62903 0.63445 0.63921 0.64587 0.65374 0.66116 0.67085 + 0.68233 0.69485 0.71114 0.73222 + 0.17629 0.18232 0.19162 0.19798 0.20446 0.21441 0.22119 0.23154 + 0.23856 0.24566 0.25646 0.26373 0.27475 0.28584 0.29326 0.31181 + 0.33019 0.33744 0.34104 0.34818 0.35172 0.35872 0.36560 0.37236 + 0.37900 0.38868 0.39803 0.40599 0.41745 0.43094 0.44353 0.45983 + 0.47895 0.50041 0.53118 0.57497 + 0.00367 0.00376 0.00389 0.00399 0.00409 0.00424 0.00435 0.00452 + 0.00464 0.00476 0.00494 0.00507 0.00527 0.00547 0.00561 0.00597 + 0.00634 0.00650 0.00657 0.00673 0.00681 0.00697 0.00714 0.00731 + 0.00748 0.00774 0.00800 0.00826 0.00863 0.00910 0.00959 0.01030 + 0.01125 0.01248 0.01452 0.01809 + WASO 2 ssa + 0.95637 0.95822 0.96076 0.96233 0.96386 0.96615 0.96763 0.96962 + 0.97080 0.97188 0.97334 0.97428 0.97580 0.97728 0.97814 0.97991 + 0.98141 0.98210 0.98245 0.98312 0.98344 0.98402 0.98452 0.98495 + 0.98534 0.98595 0.98657 0.98723 0.98798 0.98887 0.98956 0.99054 + 0.99152 0.99268 0.99394 0.99538 + 0.97229 0.97346 0.97512 0.97616 0.97715 0.97855 0.97944 0.98071 + 0.98152 0.98228 0.98334 0.98400 0.98491 0.98577 0.98631 0.98759 + 0.98872 0.98912 0.98932 0.98969 0.98986 0.99021 0.99054 0.99086 + 0.99119 0.99164 0.99206 0.99243 0.99289 0.99343 0.99392 0.99450 + 0.99516 0.99580 0.99659 0.99745 + 0.96407 0.96556 0.96769 0.96905 0.97036 0.97221 0.97338 0.97503 + 0.97608 0.97707 0.97849 0.97938 0.98063 0.98180 0.98253 0.98424 + 0.98575 0.98631 0.98658 0.98709 0.98734 0.98782 0.98827 0.98871 + 0.98912 0.98971 0.99025 0.99077 0.99140 0.99211 0.99275 0.99353 + 0.99438 0.99522 0.99621 0.99727 + 0.95583 0.95765 0.96025 0.96191 0.96350 0.96579 0.96724 0.96930 + 0.97061 0.97186 0.97364 0.97475 0.97633 0.97781 0.97873 0.98085 + 0.98273 0.98342 0.98375 0.98439 0.98470 0.98531 0.98588 0.98642 + 0.98694 0.98768 0.98836 0.98899 0.98977 0.99065 0.99144 0.99241 + 0.99345 0.99448 0.99568 0.99695 + 0.90899 0.91277 0.91822 0.92170 0.92507 0.92989 0.93296 0.93734 + 0.94012 0.94278 0.94655 0.94893 0.95229 0.95542 0.95738 0.96187 + 0.96582 0.96727 0.96796 0.96931 0.96995 0.97120 0.97238 0.97351 + 0.97459 0.97611 0.97753 0.97882 0.98044 0.98225 0.98386 0.98581 + 0.98790 0.98995 0.99232 0.99477 + 0.56977 0.58423 0.60565 0.61970 0.63351 0.65375 0.66688 0.68598 + 0.69830 0.71028 0.72757 0.73864 0.75456 0.76966 0.77927 0.80176 + 0.82212 0.82969 0.83336 0.84047 0.84391 0.85057 0.85695 0.86306 + 0.86890 0.87717 0.88490 0.89188 0.90074 0.91071 0.91954 0.93024 + 0.94159 0.95254 0.96487 0.97724 + 0.00396 0.00362 0.00322 0.00300 0.00281 0.00258 0.00245 0.00229 + 0.00220 0.00212 0.00201 0.00195 0.00187 0.00181 0.00177 0.00170 + 0.00165 0.00163 0.00163 0.00161 0.00161 0.00160 0.00159 0.00159 + 0.00159 0.00158 0.00159 0.00158 0.00160 0.00162 0.00165 0.00169 + 0.00178 0.00190 0.00213 0.00261 diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml index 501cd7efa..e66c69299 100755 --- a/parm/post_avblflds.xml +++ b/parm/post_avblflds.xml @@ -4956,7 +4956,7 @@ 611 - Seasalt_AER_OPT_DEP_at550 + SEASALT_AER_OPT_DEP_at550 tmpl4_48 AOTK entire_atmos @@ -4996,7 +4996,7 @@ tmpl4_48 AOTK entire_atmos - sea_salt_dry + particulate_org_matter_dry smaller_than_first_limit 6 20 @@ -5014,7 +5014,7 @@ tmpl4_48 AOTK entire_atmos - black_carbondry + black_carbon_dry smaller_than_first_limit 6 20 @@ -5054,37 +5054,37 @@ 617 - DUST_DRY_DEPOSITION_FLUX + DUST25_SFC_MASS_CON tmpl4_48 - DDMFLX - entire_atmos + PMTF + surface dust_dry smaller_than_first_limit - 6 - 20 + 7 + 25 9.0 618 - DUST_WET_DEPOSITION_FLUX + SEAS25_SFC_MASS_CON tmpl4_48 - WLSMFLX - entire_atmos - dust_dry + PMTF + surface + sea_salt_dry smaller_than_first_limit - 6 - 20 + 7 + 25 9.0 619 - CR_AER_SFC_MASS_CON + PM10_SFC_MASS_CON tmpl4_48 - MASSDEN + PMTC surface - dust_dry + total_aerosol smaller_than_first_limit 6 10 @@ -5093,11 +5093,11 @@ 620 - FN_AER_SFC_MASS_CON + PM25_SFC_MASS_CON tmpl4_48 - MASSDEN + PMTF surface - dust_dry + total_aerosol smaller_than_first_limit 7 25 @@ -5106,11 +5106,11 @@ 621 - CR_AER_COL_MASS_DEN + PM10_COL_MASS_DEN tmpl4_48 COLMD entire_atmos - dust_dry + total_aerosol smaller_than_first_limit 6 10 @@ -5119,11 +5119,11 @@ 622 - FN_AER_COL_MASS_DEN + PM25_COL_MASS_DEN tmpl4_48 COLMD entire_atmos - dust_dry + total_aerosol smaller_than_first_limit 7 25 @@ -5242,9 +5242,9 @@ 629 DUST1_ON_HYBRID_LVL tmpl4_48 - MASSMR - hybrid_lvl + PMTF dust_dry + hybrid_lvl between_first_second_limit_noincl2ndlmt 7 2 @@ -5257,9 +5257,9 @@ 630 DUST2_ON_HYBRID_LVL tmpl4_48 - MASSMR - hybrid_lvl + PMTF dust_dry + hybrid_lvl between_first_second_limit_noincl2ndlmt 7 20 @@ -5272,9 +5272,9 @@ 631 DUST3_ON_HYBRID_LVL tmpl4_48 - MASSMR - hybrid_lvl + PMTC dust_dry + hybrid_lvl between_first_second_limit_noincl2ndlmt 7 36 @@ -5287,9 +5287,9 @@ 632 DUST4_ON_HYBRID_LVL tmpl4_48 - MASSMR - hybrid_lvl + PMTC dust_dry + hybrid_lvl between_first_second_limit_noincl2ndlmt 7 60 @@ -5302,9 +5302,9 @@ 633 DUST5_ON_HYBRID_LVL tmpl4_48 - MASSMR - hybrid_lvl + PMTC dust_dry + hybrid_lvl between_first_second_limit_noincl2ndlmt 7 120 @@ -5313,6 +5313,811 @@ 11.0 + + 634 + SEASALT1_ON_HYBRID_LVL + tmpl4_48 + PMTF + sea_salt_dry + hybrid_lvl + between_first_second_limit_noincl2ndlmt + 8 + 6 + 8 + 20 + 11.0 + + + + 635 + SEASALT2_ON_HYBRID_LVL + tmpl4_48 + PMTF + sea_salt_dry + hybrid_lvl + between_first_second_limit_noincl2ndlmt + 7 + 2 + 7 + 10 + 11.0 + + + + 636 + SEASALT3_ON_HYBRID_LVL + tmpl4_48 + PMTC + sea_salt_dry + hybrid_lvl + between_first_second_limit_noincl2ndlmt + 7 + 10 + 7 + 30 + 11.0 + + + + 637 + SEASALT4_ON_HYBRID_LVL + tmpl4_48 + PMTC + sea_salt_dry + hybrid_lvl + between_first_second_limit_noincl2ndlmt + 7 + 30 + 7 + 100 + 11.0 + + + + 638 + SEASALT5_ON_HYBRID_LVL + tmpl4_48 + PMTC + sea_salt_dry + hybrid_lvl + between_first_second_limit_noincl2ndlmt + 7 + 100 + 7 + 200 + 11.0 + + + + 639 + SO4_ON_HYBRID_LVL + tmpl4_48 + PMTF + sulphate_dry + hybrid_lvl + equall_to_first_limit + 9 + 139 + 11.0 + + + + 640 + OCPHOBIC_ON_HYBRID_LVL + tmpl4_48 + PMTF + particulate_org_matter_hydrophobic + hybrid_lvl + equall_to_first_limit + 10 + 424 + 11.0 + + + + 641 + OCPHILIC_ON_HYBRID_LVL + tmpl4_48 + PMTF + particulate_org_matter_hydrophilic + hybrid_lvl + equall_to_first_limit + 10 + 424 + 11.0 + + + + 642 + BCPHOBIC_ON_HYBRID_LVL + tmpl4_48 + PMTF + black_carbon_hydrophobic + hybrid_lvl + equall_to_first_limit + 10 + 236 + 11.0 + + + + 643 + BCPHILIC_ON_HYBRID_LVL + tmpl4_48 + PMTF + black_carbon_hydrophilic + hybrid_lvl + equall_to_first_limit + 10 + 236 + 11.0 + + + + 644 + AIR_DENSITY_ON_HYBRID_LVL + DEN + hybrid_lvl + 4.0 + + + + 645 + LAYER_THICKNESS_ON_HYBRID_LVL + THICK + hybrid_lvl + 4.0 + + + + 646 + DUST_COL_MASS_DEN + tmpl4_48 + COLMD + entire_atmos + dust_dry + smaller_than_first_limit + 7 + 25 + 9.0 + + + + 647 + SEAS_COL_MASS_DEN + tmpl4_48 + COLMD + entire_atmos + sea_salt_dry + smaller_than_first_limit + 7 + 25 + 9.0 + + + + 648 + BC_COL_MASS_DEN + tmpl4_48 + COLMD + entire_atmos + black_carbon_dry + smaller_than_first_limit + 10 + 236 + 9.0 + + + + 649 + OC_COL_MASS_DEN + tmpl4_48 + COLMD + entire_atmos + particulate_org_matter_dry + smaller_than_first_limit + 10 + 424 + 9.0 + + + + 650 + SULF_COL_MASS_DEN + tmpl4_48 + COLMD + entire_atmos + sulphate_dry + smaller_than_first_limit + 7 + 25 + 9.0 + + + + 651 + DUST_AER_SCAT_OPT_DEP_at550 + tmpl4_48 + SAOTK + dust_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 565 + entire_atmos + 9.0 + + + + 652 + SEASALT_AER_SCAT_OPT_DEP_at550 + tmpl4_48 + SAOTK + sea_salt_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 565 + entire_atmos + 9.0 + + + + 653 + SULFATE_AER_SCAT_OPT_DEP_at550 + tmpl4_48 + SAOTK + sulphate_dry + smaller_than_first_limit + 8 + 70 + between_first_second_limit + 9 + 545 + 9 + 565 + entire_atmos + 9.0 + + + + 654 + ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 + tmpl4_48 + SAOTK + particulate_org_matter_dry + smaller_than_first_limit + 8 + 70 + between_first_second_limit + 9 + 545 + 9 + 565 + entire_atmos + 9.0 + + + + 655 + BLACK_CARBON_AER_SCAT_OPT_DEP_at550 + tmpl4_48 + SAOTK + black_carbon_dry + smaller_than_first_limit + 8 + 70 + between_first_second_limit + 9 + 545 + 9 + 565 + entire_atmos + 9.0 + + + + 656 + ANGSTROM_EXP_at440_860 + tmpl4_48 + ANGSTEXP + total_aerosol + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 430 + 9 + 876 + entire_atmos + 9.0 + + + + 663 + SEASALT_EMISSION_FLUX + tmpl4_48 + AEMFLX + sea_salt_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 664 + SEASALT_SEDIMENTATION_FLUX + tmpl4_48 + SEDMFLX + sea_salt_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 665 + SEASALT_DRY_DEPOSITION_FLUX + tmpl4_48 + DDMFLX + sea_salt_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 666 + SEASALT_WET_DEPOSITION_FLUX + tmpl4_48 + WLSMFLX + sea_salt_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 667 + BLACK_CARBON_EMISSION_FLUX + tmpl4_48 + AEMFLX + black_carbon_dry + smaller_than_first_limit + 10 + 236 + entire_atmos + 9.0 + + + + 668 + BLACK_CARBON_SEDIMENTATION_FLUX + tmpl4_48 + SEDMFLX + black_carbon_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 669 + BLACK_CARBON_DRY_DEPOSITION_FLUX + tmpl4_48 + DDMFLX + black_carbon_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 670 + BLACK_CARBON_WET_DEPOSITION_FLUX + tmpl4_48 + WLSMFLX + black_carbon_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 671 + ORGANIC_CARBON_EMISSION_FLUX + tmpl4_48 + AEMFLX + particulate_org_matter_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 672 + ORGANIC_CARBON_SEDIMENTATION_FLUX + tmpl4_48 + SEDMFLX + particulate_org_matter_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 673 + ORGANIC_CARBON_DRY_DEPOSITION_FLUX + tmpl4_48 + DDMFLX + particulate_org_matter_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 674 + ORGANIC_CARBON_WET_DEPOSITION_FLUX + tmpl4_48 + WLSMFLX + particulate_org_matter_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 675 + SULFATE_EMISSION_FLUX + tmpl4_48 + AEMFLX + sulphate_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 676 + SULFATE_SEDIMENTATION_FLUX + tmpl4_48 + SEDMFLX + sulphate_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 677 + SULFATE_DRY_DEPOSITION_FLUX + tmpl4_48 + DDMFLX + sulphate_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 678 + SULFATE_WET_DEPOSITION_FLUX + tmpl4_48 + WLSMFLX + sulphate_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 679 + DUST_SCAVENGING_FLUX + tmpl4_48 + WDCPMFLX + dust_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 680 + SEASALT_SCAVENGING_FLUX + tmpl4_48 + WDCPMFLX + sea_salt_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 681 + BLACK_CARBON_SCAVENGING_FLUX + tmpl4_48 + WDCPMFLX + black_carbon_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 682 + ORGANIC_CARBON_SCAVENGING_FLUX + tmpl4_48 + WDCPMFLX + particulate_org_matter_dry + smaller_than_first_limit + 8 + 70 + entire_atmos + 9.0 + + + + 683 + SS_CR_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + sea_salt_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 684 + SS_FN_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + sea_salt_dry + smaller_than_first_limit + 7 + 25 + surface + 9.0 + + + + 685 + DU_CR_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + dust_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 686 + DU_FN_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + dust_dry + smaller_than_first_limit + 7 + 25 + surface + 9.0 + + + + 687 + BC_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + black_carbon_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 688 + OC_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + particulate_org_matter_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 689 + SU_AER_SFC_MASS_CON + AVE + tmpl4_48 + MASSDEN + sulphate_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 690 + INST_SU_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + sulphate_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 691 + INST_OC_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + particulate_org_matter_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + + 692 + INST_BC_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + black_carbon_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 693 + INST_DU_CR_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + dust_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 694 + INST_DU_FN_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + dust_dry + smaller_than_first_limit + 7 + 25 + surface + 9.0 + + + + 695 + INST_SS_CR_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + sea_salt_dry + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 696 + INST_SS_FN_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + sea_salt_dry + smaller_than_first_limit + 7 + 25 + surface + 9.0 + + + + 697 + INST_CR_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + total_aerosol + smaller_than_first_limit + 6 + 10 + surface + 9.0 + + + + 698 + INST_FN_AER_SFC_MASS_CON + tmpl4_48 + MASSDEN + total_aerosol + smaller_than_first_limit + 7 + 25 + surface + 9.0 + + 750 diff --git a/parm/postcntrl_gefs_chem.xml b/parm/postcntrl_gefs_chem.xml new file mode 100755 index 000000000..cb248b3f0 --- /dev/null +++ b/parm/postcntrl_gefs_chem.xml @@ -0,0 +1,218 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + DUST25_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 + + + + SULF_COL_MASS_DEN + 9.0 + + + + DUST1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + + diff --git a/parm/postxconfig-NT-gefs-chem.txt b/parm/postxconfig-NT-gefs-chem.txt new file mode 100644 index 000000000..6a94c4066 --- /dev/null +++ b/parm/postxconfig-NT-gefs-chem.txt @@ -0,0 +1,1202 @@ +1 +32 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +1 +9.0 +0 +0 +0 +? +? +? +617 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +648 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +649 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +650 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f index 1bb67f158..046d94925 100644 --- a/sorc/ncep_post.fd/ALLOCATE_ALL.f +++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f @@ -455,6 +455,8 @@ SUBROUTINE ALLOCATE_ALL() allocate(soot(im,jsta_2l:jend_2u,lm,nbin_bc)) allocate(waso(im,jsta_2l:jend_2u,lm,nbin_oc)) allocate(suso(im,jsta_2l:jend_2u,lm,nbin_su)) + allocate(pp25(im,jsta_2l:jend_2u,lm,nbin_su)) + allocate(pp10(im,jsta_2l:jend_2u,lm,nbin_su)) ! vrbls3d allocate(ext(im,jsta_2l:jend_2u,lm)) allocate(asy(im,jsta_2l:jend_2u,lm)) @@ -502,6 +504,17 @@ SUBROUTINE ALLOCATE_ALL() allocate(sscmass(im,jsta_2l:jend_2u)) allocate(sssmass25(im,jsta_2l:jend_2u)) allocate(sscmass25(im,jsta_2l:jend_2u)) + allocate(dustcb(im,jsta_2l:jend_2u)) + allocate(occb(im,jsta_2l:jend_2u)) + allocate(bccb(im,jsta_2l:jend_2u)) + allocate(sulfcb(im,jsta_2l:jend_2u)) + allocate(pp25cb(im,jsta_2l:jend_2u)) + allocate(pp10cb(im,jsta_2l:jend_2u)) + allocate(sscb(im,jsta_2l:jend_2u)) + allocate(dustallcb(im,jsta_2l:jend_2u)) + allocate(ssallcb(im,jsta_2l:jend_2u)) + allocate(dustpm(im,jsta_2l:jend_2u)) + allocate(sspm(im,jsta_2l:jend_2u)) endif ! HWRF RRTMG output allocate(acswupt(im,jsta_2l:jend_2u)) diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index 986c2868a..39053f043 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -105,7 +105,9 @@ SUBROUTINE CLDRAD AIRDIFFSWIN, DUSMASS, DUSMASS25, DUCMASS, DUCMASS25, & ALWINC, ALWTOAC, SWDDNI, SWDDIF, SWDNBC, SWDDNIC, & SWDDIFC, SWUPBC, LWDNBC, LWUPBC, SWUPT, & - TAOD5502D, AERSSA2D, AERASY2D, MEAN_FRP, LWP, IWP + TAOD5502D, AERSSA2D, AERASY2D, MEAN_FRP, LWP, IWP, & + TAOD5502D, AERSSA2D, AERASY2D, & + DUSTCB,SSCB,BCCB,OCCB,SULFCB,DUSTPM,SSPM use masks, only: LMH, HTM use params_mod, only: TFRZ, D00, H99999, QCLDMIN, SMALL, D608, H1, ROG, & GI, RD, QCONV, ABSCOEFI, ABSCOEF, STBOL, PQ0, A2, & @@ -113,6 +115,7 @@ SUBROUTINE CLDRAD use ctlblk_mod, only: JSTA, JEND, SPVAL, MODELNAME, GRIB, CFLD,DATAPD, & FLD_INFO, AVRAIN, THEAT, IFHR, IFMIN, AVCNVC, & TCLOD, ARDSW, TRDSW, ARDLW, NBIN_DU, TRDLW, IM, & + NBIN_SS, NBIN_OC, NBIN_BC, NBIN_SU, & JM, LM, gocart_on, me use rqstfld_mod, only: IGET, ID, LVLS, IAVBLFLD use gridspec_mod, only: dyval, gridtype @@ -172,6 +175,27 @@ SUBROUTINE CLDRAD integer, parameter :: NOAER = 20 ! unit for LUTs file integer, parameter :: nAero=KCM2 ! num of aer species in LUTs CHARACTER :: AerosolName(KCM2)*4, AerosolName_rd*4, aerosol_file*30 + CHARACTER :: AerName_rd*4, AerOpt*3 + +! - aerosol optical properties: mass extinction efficiency + REAL, ALLOCATABLE :: extrhd_DU(:,:,:), extrhd_SS(:,:,:), & + & extrhd_SU(:,:,:), extrhd_BC(:,:,:), & + & extrhd_OC(:,:,:) + +! - aerosol optical properties: mass scattering efficienc + REAL, ALLOCATABLE :: scarhd_DU(:,:,:), scarhd_SS(:,:,:), & + & scarhd_SU(:,:,:), scarhd_BC(:,:,:), & + & scarhd_OC(:,:,:) + +! - aerosol optical properties: asymmetry factor + REAL, ALLOCATABLE :: asyrhd_DU(:,:,:), asyrhd_SS(:,:,:), & + & asyrhd_SU(:,:,:), asyrhd_BC(:,:,:), & + & asyrhd_OC(:,:,:) + +! - aerosol optical properties: single scatter albedo + REAL, ALLOCATABLE :: ssarhd_DU(:,:,:), ssarhd_SS(:,:,:), & + & ssarhd_SU(:,:,:), ssarhd_BC(:,:,:), & + & ssarhd_OC(:,:,:) ! --- aerosol optical properties mapped onto specified spectral bands ! - relative humidity independent aerosol optical properties: du @@ -186,13 +210,11 @@ SUBROUTINE CLDRAD integer, allocatable :: ihh(:,:,:) REAL :: rh3d, DRH0, DRH1, EXT01, EXT02 INTEGER :: IH1, IH2 - -! REAL :: rh3d, DRH0, DRH1, EXT01, EXT02, RDRH(IM,jsta:jend,LM) -! INTEGER :: IH1, IH2, IHH(IM,jsta:jend,LM) -! - INTEGER :: IOS, INDX, ISSAM, ISSCM, ISUSO, IWASO, ISOOT + INTEGER :: IOS, INDX, ISSAM, ISSCM, ISUSO, IWASO, ISOOT, NBIN REAL :: CCDRY, CCWET, SSAM, SSCM REAL,dimension(im,jsta:jend) :: AOD_DU, AOD_SS, AOD_SU, AOD_OC, AOD_BC, AOD + REAL :: ANG1, ANG2 + INTEGER :: INDX_EXT(nAero), INDX_SCA(nAero) ! real (kind=kind_phys), dimension(KRHLEV) :: rhlev data rhlev (:)/ .0, .05, .10, .15, .20, .25, .30, .35, & @@ -202,7 +224,7 @@ SUBROUTINE CLDRAD & .96, .97, .98, .99/ ! data aerosol_file /"AEROSOL_LUTS.dat"/ - data AerosolName /'WASO', 'SOOT', 'SUSO', 'SSAM', 'SSCM'/ + data AerosolName /'DUST', 'SALT', 'SUSO', 'SOOT', 'WASO'/ ! ! @@ -4434,38 +4456,146 @@ SUBROUTINE CLDRAD & .OR. IGET(623).GT.0 .OR. IGET(624).GT.0 .OR. IGET(625).GT.0 & & .OR. IGET(626).GT.0 .or. IGET(627).GT.0 .OR. IGET(628).GT.0 ) THEN +!!! ALLOCATE AEROSOL OPTICAL PROPERTIES + ALLOCATE ( extrhd_DU(KRHLEV,nbin_du,NBDSW)) + ALLOCATE ( extrhd_SS(KRHLEV,nbin_ss,NBDSW)) + ALLOCATE ( extrhd_SU(KRHLEV,nbin_su,NBDSW)) + ALLOCATE ( extrhd_BC(KRHLEV,nbin_bc,NBDSW)) + ALLOCATE ( extrhd_OC(KRHLEV,nbin_oc,NBDSW)) + + ALLOCATE ( scarhd_DU(KRHLEV,nbin_du,NBDSW)) + ALLOCATE ( scarhd_SS(KRHLEV,nbin_ss,NBDSW)) + ALLOCATE ( scarhd_SU(KRHLEV,nbin_su,NBDSW)) + ALLOCATE ( scarhd_BC(KRHLEV,nbin_bc,NBDSW)) + ALLOCATE ( scarhd_OC(KRHLEV,nbin_oc,NBDSW)) + + ALLOCATE ( asyrhd_DU(KRHLEV,nbin_du,NBDSW)) + ALLOCATE ( asyrhd_SS(KRHLEV,nbin_ss,NBDSW)) + ALLOCATE ( asyrhd_SU(KRHLEV,nbin_su,NBDSW)) + ALLOCATE ( asyrhd_BC(KRHLEV,nbin_bc,NBDSW)) + ALLOCATE ( asyrhd_OC(KRHLEV,nbin_oc,NBDSW)) + + ALLOCATE ( ssarhd_DU(KRHLEV,nbin_du,NBDSW)) + ALLOCATE ( ssarhd_SS(KRHLEV,nbin_ss,NBDSW)) + ALLOCATE ( ssarhd_SU(KRHLEV,nbin_su,NBDSW)) + ALLOCATE ( ssarhd_BC(KRHLEV,nbin_bc,NBDSW)) + ALLOCATE ( ssarhd_OC(KRHLEV,nbin_oc,NBDSW)) + PRINT *, 'aft AEROSOL allocate, nbin_du=',nbin_du, & + 'nbin_ss=',nbin_ss,'nbin_su=',nbin_su,'nbin_bc=', & + 'nbin_oc=',nbin_oc,'nAero=',nAero + !!! READ AEROSOL LUTS - open(unit=NOAER, file=aerosol_file, status='OLD', iostat=ios) - IF (IOS .GT. 0) THEN - print *, ' ERROR! Non-zero iostat for reading LUTS ' - stop - ENDIF + DO i = 1, nAero + CLOSE(UNIT=NOAER) + aerosol_file='optics_luts_'//AerosolName(i)//'.dat' + open(unit=NOAER, file=aerosol_file, status='OLD', iostat=ios) + IF (IOS .GT. 0) THEN + print *,' ERROR! Non-zero iostat for rd_LUTS ', aerosol_file + stop + ENDIF + print *,'i=',i,'read aerosol_file=',trim(aerosol_file),'ios=',ios +! + IF (AerosolName(i) .EQ. 'DUST') nbin = nbin_du + IF (AerosolName(i) .EQ. 'SALT') nbin = nbin_ss + IF (AerosolName(i) .EQ. 'SUSO') nbin = nbin_su + IF (AerosolName(i) .EQ. 'SOOT') nbin = nbin_bc + IF (AerosolName(i) .EQ. 'WASO') nbin = nbin_oc + DO J = 1, NBIN + read(NOAER,'(2x,a4,1x,i1,1x,a3)')AerName_rd,ib, AerOpt + IF (AerName_rd .ne. AerosolName(i)) STOP + IF (j .ne. ib ) STOP + IF (AerOpt .ne. 'ext' ) STOP + + IF (AerosolName(i) .EQ. 'DUST') THEN + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (extrhd_du(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (scarhd_du(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (asyrhd_du(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (ssarhd_du(ii,j,ib), ii=1,KRHLEV) + enddo - read(NOAER,'(2x,a4)') AerosolName_rd - print *, 'AerosolName = ', AerosolName_rd + ELSEIF (AerosolName(i) .EQ. 'SALT') THEN + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (extrhd_ss(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (scarhd_ss(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (asyrhd_ss(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (ssarhd_ss(ii,j,ib), ii=1,KRHLEV) + enddo - do ib = 1,NBDSW - read(NOAER,'(8f10.5)') (extrhi(ii, ib), ii=1, KCM1) - enddo + ELSEIF (AerosolName(i) .EQ. 'SUSO') THEN + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (extrhd_su(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (scarhd_su(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (asyrhd_su(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (ssarhd_su(ii,j,ib), ii=1,KRHLEV) + enddo - DO i = 1, KCM2 - read(NOAER,'(2x,a4)') AerosolName_rd - print *, 'AerosolName = ', AerosolName_rd - IF (AerosolName_rd .ne. AerosolName(i)) THEN - print *, ' ERROR! incorrect aerosol species ', AerosolName_rd - stop - ENDIF - do ib = 1, NBDSW - read(NOAER,*) (extrhd(ii,i,ib), ii=1, KRHLEV) - enddo + ELSEIF (AerosolName(i) .EQ. 'SOOT') THEN + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (extrhd_bc(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (scarhd_bc(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (asyrhd_bc(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (ssarhd_bc(ii,j,ib), ii=1,KRHLEV) + enddo - if ( AerosolName_rd .EQ. 'SOOT') ISOOT = i - if ( AerosolName_rd .EQ. 'SUSO') ISUSO = i - if ( AerosolName_rd .EQ. 'WASO') IWASO = i - if ( AerosolName_rd .EQ. 'SSAM') ISSAM = i - if ( AerosolName_rd .EQ. 'SSCM') ISSCM = i + ELSEIF (AerosolName(i) .EQ. 'WASO') THEN + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (extrhd_oc(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (scarhd_oc(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (asyrhd_oc(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (ssarhd_oc(ii,j,ib), ii=1,KRHLEV) + enddo - ENDDO + ENDIF + + ENDDO ! j-loop for nbin + ENDDO ! i-loop for nAero + print *,'finish reading coef' CLOSE(UNIT=NOAER) @@ -4543,13 +4673,13 @@ SUBROUTINE CLDRAD ! COMPUTE DUST AOD AOD_DU=SPVAL - EXT=SPVAL + EXT=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM - EXT(I,J,L) = DUST(I,J,L,1) * EXTRHI(1,IB) - DO N=2, KCM1 - EXT(I,J,L) = EXT(I,J,L) + DUST(I,J,L,N)*EXTRHI(N,IB) + DO N=1, NBIN_DU + EXT01 = EXTRHD_DU(1,N,IB) + EXT(I,J,L) = EXT(I,J,L)+1e-9*DUST(I,J,L,N) * EXT01 ENDDO EXT(I,J,L) = EXT(I,J,L) * 1000. ENDDO ! L-loop @@ -4559,15 +4689,18 @@ SUBROUTINE CLDRAD ! COMPUTE SULFATE AOD AOD_SU=SPVAL - EXT=SPVAL + EXT=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM ih1 = ihh(I,J,L) ih2 = ih1 + 1 - ext01 = extrhd(ih1,ISUSO,ib) & - & + rdrh(I,J,L)*(extrhd(ih2,ISUSO,ib)-extrhd(ih1,ISUSO,ib)) - EXT(I,J,L) = SUSO(I,J,L,1) * ext01 * 1000. + DO N = 1, NBIN_SU + EXT01 = EXTRHD_SU(IH1,N,IB) & + & + RDRH(I,J,L)*(EXTRHD_SU(IH2,N,IB)-EXTRHD_SU(IH1,N,IB)) + EXT(I,J,L) = EXT(I,J,L)+1e-9*SUSO(I,J,L,N) * EXT01 + ENDDO ! N-loop + EXT(I,J,L) = EXT(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop ENDDO ! J-loop @@ -4576,20 +4709,17 @@ SUBROUTINE CLDRAD ! COMPUTE SEA SALT AOD AOD_SS=SPVAL - EXT=SPVAL + EXT=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM ih1 = ihh (I,J,L) ih2 = ih1 + 1 -! lump bin1-2 to SSAM, bin3-5 to SSCM - SSAM = SALT(I,J,L,1)+SALT(I,J,L,2) - SSCM = SALT(I,J,L,3)+SALT(I,J,L,4)+SALT(I,J,L,5) - ext01 = extrhd(ih1,ISSAM,ib) & - & + rdrh(I,J,L)*(extrhd(ih2,ISSAM,ib)-extrhd(ih1,ISSAM,ib)) - ext02 = extrhd(ih1,ISSCM,ib) & - & + rdrh(I,J,L)*(extrhd(ih2,ISSCM,ib)-extrhd(ih1,ISSCM,ib)) - EXT(I,J,L) = SSAM * ext01 + SSCM * ext02 + DO N = 1, NBIN_SS + EXT01 = EXTRHD_SS(IH1,N,IB) & + & + RDRH(I,J,L)*(EXTRHD_SS(IH2,N,IB)-EXTRHD_SS(IH1,N,IB)) + EXT(I,J,L) = EXT(I,J,L)+1e-9*SALT(I,J,L,N)*EXT01 + ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop @@ -4599,18 +4729,17 @@ SUBROUTINE CLDRAD ! COMPUTE BLACK CARBON AOD AOD_BC=SPVAL - EXT=SPVAL + EXT=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM - CCDRY = SOOT(I,J,L,1) - CCWET = SOOT(I,J,L,2) - ih1 = ihh (I,J,L) - ih2 = ih1 + 1 - ext01 = extrhd(1,ISOOT,ib) - ext02 = extrhd(ih1,ISOOT,ib) & - & + rdrh(I,J,L)*(extrhd(ih2,ISOOT,ib)-extrhd(ih1,ISOOT,ib)) - EXT(I,J,L) = CCDRY * ext01 + CCWET * ext02 + ih1 = ihh (I,J,L) + ih2 = ih1 + 1 + DO N = 1, NBIN_BC + EXT01 = EXTRHD_BC(IH1,N,IB) & + & + RDRH(I,J,L)*(EXTRHD_BC(IH2,N,IB)-EXTRHD_BC(IH1,N,IB)) + EXT(I,J,L) = EXT(I,J,L)+1e-9*SOOT(I,J,L,N)*EXT01 + ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop @@ -4619,18 +4748,17 @@ SUBROUTINE CLDRAD ! COMPUTE ORGANIC CARBON AOD AOD_OC=SPVAL - EXT=SPVAL + EXT=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM - CCDRY = WASO(I,J,L,1) - CCWET = WASO(I,J,L,2) - ih1 = ihh (I,J,L) - ih2 = ih1 + 1 - ext01 = extrhd(1,IWASO,ib) - ext02 = extrhd(ih1,IWASO,ib) & - & + rdrh(I,J,L)*(extrhd(ih2,IWASO,ib)-extrhd(ih1,IWASO,ib)) - EXT(I,J,L) = CCDRY * ext01 + CCWET * ext02 + ih1 = ihh (I,J,L) + ih2 = ih1 + 1 + DO N = 1, NBIN_OC + EXT01 = EXTRHD_OC(IH1,N,IB) & + & + RDRH(I,J,L)*(EXTRHD_OC(IH2,N,IB)-EXTRHD_OC(IH1,N,IB)) + EXT(I,J,L) = EXT(I,J,L)+1e-9*WASO(I,J,L,N)*EXT01 + ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop @@ -4828,61 +4956,90 @@ SUBROUTINE CLDRAD ENDIF !! ADD DUST DRY DEPOSITION FLUXES (kg/m2/sec) - IF (IGET(617).GT.0) THEN +! IF (IGET(618).GT.0) THEN +! DO J = JSTA,JEND +! DO I = 1,IM +! GRID1(I,J) = DUWT(I,J,1)*1.E-6 +! DO K=2,NBIN_DU +! GRID1(I,J) = GRID1(I,J)+ DUWT(I,J,K)*1.E-6 +! END DO +! END DO +! END DO +! ID(1:25) = 0 +! ID(02)=141 +! if(grib=='grib1') then +! CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) +! elseif(grib=='grib2') then +! cfld=cfld+1 +! fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) +! datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) +! endif +! ENDIF + +!! ADD AEROSOL SURFACE PM25 DUST MASS CONCENTRATION (ug/m3) + IF (IGET(617).GT.0 ) THEN DO J = JSTA,JEND DO I = 1,IM - GRID1(I,J) = DUDP(I,J,1)*1.E-6 - DO K=2,NBIN_DU - GRID1(I,J) = GRID1(I,J)+ DUDP(I,J,K)*1.E-6 - END DO + !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 + GRID1(I,J) = DUSTPM(I,J) !ug/m3 lzhang END DO END DO - if(ifhr==3) then - print *,'DUST_DRY_DEPOSITION_FLUX=',maxval(grid1(1:im,jsta:jend)), & - minval(grid1(1:im,jsta:jend)),'DUDP1=',maxval(dudp(1:im,jsta:jend,1)), & - minval(dudp(1:im,jsta:jend,1)),'dudp2=',maxval(dudp(1:im,jsta:jend,2)), & - minval(dudp(1:im,jsta:jend,2)),'dudp3=',maxval(dudp(1:im,jsta:jend,3)), & - minval(dudp(1:im,jsta:jend,3)),'dudp4=',maxval(dudp(1:im,jsta:jend,4)), & - minval(dudp(1:im,jsta:jend,4)),'dudp5=',maxval(dudp(1:im,jsta:jend,5)), & - minval(dudp(1:im,jsta:jend,5)) - endif ID(1:25) = 0 - ID(02)=141 + ID(02)=129 if(grib=='grib1') then - CALL GRIBIT(IGET(617),LVLS(1,IGET(617)),GRID1,IM,JM) + CALL GRIBIT(IGET(617),LVLS(1,IGET(617)),GRID1,IM,JM) elseif(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(617)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(617)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF !! ADD DUST WET DEPOSITION FLUXES (kg/m2/sec) - IF (IGET(618).GT.0) THEN +! IF (IGET(618).GT.0) THEN +! DO J = JSTA,JEND +! DO I = 1,IM +! GRID1(I,J) = DUWT(I,J,1)*1.E-6 +! DO K=2,NBIN_DU +! GRID1(I,J) = GRID1(I,J)+ DUWT(I,J,K)*1.E-6 +! END DO +! END DO +! END DO +! ID(1:25) = 0 +! ID(02)=141 +! if(grib=='grib1') then +! CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) +! elseif(grib=='grib2') then +! cfld=cfld+1 +! fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) +! datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) +! endif +! ENDIF + +!! ADD AEROSOL SURFACE PM25 SEA SALT MASS CONCENTRATION (ug/m3) + IF (IGET(618).GT.0 ) THEN DO J = JSTA,JEND DO I = 1,IM - GRID1(I,J) = DUWT(I,J,1)*1.E-6 - DO K=2,NBIN_DU - GRID1(I,J) = GRID1(I,J)+ DUWT(I,J,K)*1.E-6 - END DO + !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 + GRID1(I,J) = SSPM(I,J) !ug/m3 lzhang END DO END DO ID(1:25) = 0 - ID(02)=141 + ID(02)=129 if(grib=='grib1') then - CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) + CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) elseif(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF - -!! ADD AEROSOL SURFACE PM10 MASS CONCENTRATION (kg/m3) +!! ADD AEROSOL SURFACE PM10 MASS CONCENTRATION (ug/m3) IF (IGET(619).GT.0 ) THEN DO J = JSTA,JEND DO I = 1,IM - GRID1(I,J) = DUSMASS(I,J) * 1.E-6 + !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 + GRID1(I,J) = DUSMASS(I,J) !ug/m3 END DO END DO ID(1:25) = 0 @@ -4896,11 +5053,12 @@ SUBROUTINE CLDRAD endif ENDIF -!! ADD AEROSOL SURFACE PM2.5 MASS CONCENTRATION (kg/m3) +!! ADD AEROSOL SURFACE PM2.5 MASS CONCENTRATION (ug/m3) IF (IGET(620).GT.0 ) THEN DO J = JSTA,JEND DO I = 1,IM - GRID1(I,J) = DUSMASS25(I,J) * 1.E-6 + !GRID1(I,J) = DUSMASS25(I,J) * 1.E-6 + GRID1(I,J) = DUSMASS25(I,J) ! ug/m3 END DO END DO ID(1:25) = 0 @@ -4917,7 +5075,8 @@ SUBROUTINE CLDRAD IF (IGET(621).GT.0 ) THEN DO J = JSTA,JEND DO I = 1,IM - GRID1(I,J) = DUCMASS(I,J) * 1.E-6 + !GRID1(I,J) = DUCMASS(I,J) * 1.E-6 + GRID1(I,J) = DUCMASS(I,J) * 1.E-9 END DO END DO ID(1:25) = 0 @@ -4935,7 +5094,8 @@ SUBROUTINE CLDRAD IF (IGET(622).GT.0 ) THEN DO J = JSTA,JEND DO I = 1,IM - GRID1(I,J) = DUCMASS25(I,J) * 1.E-6 + !GRID1(I,J) = DUCMASS25(I,J) * 1.E-6 + GRID1(I,J) = DUCMASS25(I,J) * 1.E-9 END DO END DO ID(1:25) = 0 @@ -4949,6 +5109,96 @@ SUBROUTINE CLDRAD endif ENDIF +!! ADD DUST PM2.5 COLUMN DENSITY (kg/m2) + IF (IGET(646).GT.0 ) THEN + DO J = JSTA,JEND + DO I = 1,IM + GRID1(I,J) = DUSTCB(I,J) * 1.E-9 + END DO + END DO + ID(1:25) = 0 + ID(02)=141 + if(grib=='grib1') then + CALL GRIBIT(IGET(646),LVLS(1,IGET(646)),GRID1,IM,JM) + elseif(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(646)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF + +!! ADD SEA SALT PM2.5 COLUMN DENSITY (kg/m2) + IF (IGET(647).GT.0 ) THEN + DO J = JSTA,JEND + DO I = 1,IM + GRID1(I,J) = SSCB(I,J) * 1.E-9 + END DO + END DO + ID(1:25) = 0 + ID(02)=141 + if(grib=='grib1') then + CALL GRIBIT(IGET(647),LVLS(1,IGET(647)),GRID1,IM,JM) + elseif(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(647)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF + +!! ADD BC COLUMN DENSITY (kg/m2) + IF (IGET(648).GT.0 ) THEN + DO J = JSTA,JEND + DO I = 1,IM + GRID1(I,J) = BCCB(I,J) * 1.E-9 + END DO + END DO + ID(1:25) = 0 + ID(02)=141 + if(grib=='grib1') then + CALL GRIBIT(IGET(648),LVLS(1,IGET(648)),GRID1,IM,JM) + elseif(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(648)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF + +!! ADD OC COLUMN DENSITY (kg/m2) + IF (IGET(649).GT.0 ) THEN + DO J = JSTA,JEND + DO I = 1,IM + GRID1(I,J) = OCCB(I,J) * 1.E-9 + END DO + END DO + ID(1:25) = 0 + ID(02)=141 + if(grib=='grib1') then + CALL GRIBIT(IGET(649),LVLS(1,IGET(649)),GRID1,IM,JM) + elseif(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(649)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF + +!! ADD SULF COLUMN DENSITY (kg/m2) + IF (IGET(650).GT.0 ) THEN + DO J = JSTA,JEND + DO I = 1,IM + GRID1(I,J) = SULFCB(I,J) * 1.E-9 + END DO + END DO + ID(1:25) = 0 + ID(02)=141 + if(grib=='grib1') then + CALL GRIBIT(IGET(650),LVLS(1,IGET(650)),GRID1,IM,JM) + elseif(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(650)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF + endif ! if gocart_on ! ! END OF ROUTINE. diff --git a/sorc/ncep_post.fd/DEALLOCATE.f b/sorc/ncep_post.fd/DEALLOCATE.f index 36c60aa66..567a0c440 100644 --- a/sorc/ncep_post.fd/DEALLOCATE.f +++ b/sorc/ncep_post.fd/DEALLOCATE.f @@ -448,6 +448,8 @@ SUBROUTINE DE_ALLOCATE deallocate(soot) deallocate(waso) deallocate(suso) + deallocate(pp25) + deallocate(pp10) ! vrbls3d deallocate(ext) deallocate(asy) @@ -495,6 +497,17 @@ SUBROUTINE DE_ALLOCATE deallocate(sscmass) deallocate(sssmass25) deallocate(sscmass25) + deallocate(dustcb) + deallocate(occb) + deallocate(bccb) + deallocate(sulfcb) + deallocate(pp25cb) + deallocate(pp10cb) + deallocate(sscb) + deallocate(dustallcb) + deallocate(ssallcb) + deallocate(dustpm) + deallocate(sspm) endif ! ! HWRF RRTMG output diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 86609457d..4b0df880a 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -46,7 +46,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! LANGUAGE: FORTRAN ! MACHINE : CRAY C-90 !$$$ - use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO + use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO, PP25, PP10 use vrbls3d, only: t, q, uh, vh,wh,pmid,pint,alpint, dpres,zint,zmid,o3, & qqr, qqs, cwm, qqi, qqw, omga, rhomid, q2, cfr, rlwtt, rswtt, tcucn, & tcucns, train, el_pbl, exch_h, vdifftt, vdiffmois, dconvmois, nradtt, & @@ -70,7 +70,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) maxqshltr, minqshltr, acond, sr, u10h, v10h, & avgedir,avgecan,avgetrans,avgesnow,avgprec_cont,avgcprate_cont, & avisbeamswin,avisdiffswin,airbeamswin,airdiffswin, & - alwoutc,alwtoac,aswoutc,aswtoac,alwinc,aswinc,avgpotevp,snoavg + alwoutc,alwtoac,aswoutc,aswtoac,alwinc,aswinc,avgpotevp,snoavg, & + dustcb,bccb,occb,sulfcb,sscb,dustallcb,ssallcb,dustpm,sspm,pp25cb,pp10cb use soil, only: sldpth, sh2o, smc, stc use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice ! use kinds, only: i_llong @@ -1335,9 +1336,12 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! deallocate(wrk1,wrk2) + print *, 'gocart_on2=',gocart_on if (gocart_on) then ! GFS output dust in nemsio (GOCART) + dustcb=0.0 + dustallcb=0.0 do n=1,nbin_du do l=1,lm !$omp parallel do private(i,j) @@ -1349,7 +1353,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) enddo enddo ! DUST = SPVAL - VarName='du001' + !VarName='du001' + VarName='dust1' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1361,7 +1366,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,1) end do ! do loop for l - VarName='du002' + !VarName='du002' + VarName='dust2' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1370,10 +1376,15 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,recname,reclevtyp,reclev,VarName,VcoordName & ,dust(1:im,jsta_2l:jend_2u,ll,2)) + dustcb(1:im,jsta_2l:jend_2u)=dustcb(1:im,jsta_2l:jend_2u)+ & + (dust(1:im,jsta_2l:jend_2u,ll,1)+0.38*dust(1:im,jsta_2l:jend_2u,ll,2))* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav + ! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,2) end do ! do loop for l - VarName='du003' + !VarName='du003' + VarName='dust3' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1384,7 +1395,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,3) end do ! do loop for l - VarName='du004' + !VarName='du004' + VarName='dust4' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1396,7 +1408,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,4) end do ! do loop for l - VarName='du005' + !VarName='du005' + VarName='dust5' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1405,10 +1418,17 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,recname,reclevtyp,reclev,VarName,VcoordName & ,dust(1:im,jsta_2l:jend_2u,ll,5)) + dustallcb(1:im,jsta_2l:jend_2u)=dustallcb(1:im,jsta_2l:jend_2u)+ & + (dust(1:im,jsta_2l:jend_2u,ll,1)+dust(1:im,jsta_2l:jend_2u,ll,2)+ & + dust(1:im,jsta_2l:jend_2u,ll,3)+0.67*dust(1:im,jsta_2l:jend_2u,ll,4))* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav + ! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,5) end do ! do loop for l ! ! GFS output sea salt in nemsio (GOCART) + sscb=0.0 + ssallcb=0.0 do n=1,nbin_ss do l=1,lm !$omp parallel do private(i,j) @@ -1420,7 +1440,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) enddo enddo ! SALT = SPVAL - VarName='ss001' + !VarName='ss001' + VarName='seas1' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1432,7 +1453,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,1) end do ! do loop for l - VarName='ss002' + !VarName='ss002' + VarName='seas2' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1444,7 +1466,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,2) end do ! do loop for l - VarName='ss003' + !VarName='ss003' + VarName='seas3' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1452,11 +1475,16 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,l,nrec,fldsize,spval,tmp & ,recname,reclevtyp,reclev,VarName,VcoordName & ,salt(1:im,jsta_2l:jend_2u,ll,3)) + + sscb(1:im,jsta_2l:jend_2u)=sscb(1:im,jsta_2l:jend_2u)+ & + (salt(1:im,jsta_2l:jend_2u,ll,2)+0.75*salt(1:im,jsta_2l:jend_2u,ll,3))* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,3) end do ! do loop for l - VarName='ss004' + !VarName='ss004' + VarName='seas4' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1467,7 +1495,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,4) end do ! do loop for l - VarName='ss005' + !VarName='ss005' + VarName='seas5' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1475,10 +1504,18 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,l,nrec,fldsize,spval,tmp & ,recname,reclevtyp,reclev,VarName,VcoordName & ,salt(1:im,jsta_2l:jend_2u,ll,5)) + + ssallcb(1:im,jsta_2l:jend_2u)=ssallcb(1:im,jsta_2l:jend_2u)+ & + (salt(1:im,jsta_2l:jend_2u,ll,1)+salt(1:im,jsta_2l:jend_2u,ll,2)+ & + salt(1:im,jsta_2l:jend_2u,ll,3)+ & + salt(1:im,jsta_2l:jend_2u,ll,4)*0.83)* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav + ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,5) end do ! do loop for l ! GFS output black carbon in nemsio (GOCART) + bccb=0.0 do n=1,nbin_oc do l=1,lm !$omp parallel do private(i,j) @@ -1490,7 +1527,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) enddo enddo ! SOOT = SPVAL - VarName='bcphobic' + !VarName='bcphobic' + VarName='bc1' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1502,7 +1540,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,soot(isa,jsa,ll,1) end do ! do loop for l - VarName='bcphilic' + !VarName='bcphilic' + VarName='bc2' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1511,9 +1550,14 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,recname,reclevtyp,reclev,VarName,VcoordName & ,soot(1:im,jsta_2l:jend_2u,ll,2)) + bccb(1:im,jsta_2l:jend_2u)=bccb(1:im,jsta_2l:jend_2u)+ & + (soot(1:im,jsta_2l:jend_2u,ll,1)+soot(1:im,jsta_2l:jend_2u,ll,2))* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav + ! if(debugprint)print*,'sample l ',VarName,' = ',ll,soot(isa,jsa,ll,2) end do ! do loop for l + occb=0.0 ! GFS output organic carbon in nemsio (GOCART) do n=1,nbin_oc do l=1,lm @@ -1526,7 +1570,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) enddo enddo ! WASO = SPVAL - VarName='ocphobic' + !VarName='ocphobic' + VarName='oc1' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1538,7 +1583,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample l ',VarName,' = ',ll,waso(isa,jsa,ll,1) end do ! do loop for l - VarName='ocphilic' + !VarName='ocphilic' + VarName='oc2' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1547,10 +1593,15 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,recname,reclevtyp,reclev,VarName,VcoordName & ,waso(1:im,jsta_2l:jend_2u,ll,2)) + occb(1:im,jsta_2l:jend_2u)=occb(1:im,jsta_2l:jend_2u)+ & + (waso(1:im,jsta_2l:jend_2u,ll,1)+waso(1:im,jsta_2l:jend_2u,ll,2)) * & + dpres(1:im,jsta_2l:jend_2u,ll)/grav + ! if(debugprint)print*,'sample l ',VarName,' = ',ll,waso(isa,jsa,ll,2) end do ! do loop for l ! GFS output sulfate in nemsio (GOCART) + sulfcb=0.0 do n=1,nbin_su do l=1,lm !$omp parallel do private(i,j) @@ -1562,7 +1613,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) enddo enddo ! SUSO = SPVAL - VarName='so4' + !VarName='so4' + VarName='sulf' VcoordName='mid layer' do l=1,lm ll=lm-l+1 @@ -1571,9 +1623,69 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,recname,reclevtyp,reclev,VarName,VcoordName & ,suso(1:im,jsta_2l:jend_2u,ll,1)) + sulfcb(1:im,jsta_2l:jend_2u)=sulfcb(1:im,jsta_2l:jend_2u)+ & + suso(1:im,jsta_2l:jend_2u,ll,1)* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav + ! if(debugprint)print*,'sample l ',VarName,' = ',ll,suso(isa,jsa,ll,1) end do ! do loop for l +! GFS output pp25 in nemsio (GOCART) + pp25cb=0.0 + do n=1,nbin_su + do l=1,lm +!$omp parallel do private(i,j) + do j=jsta_2l,jend_2u + do i=1,im + pp25(i,j,l,n) = spval + enddo + enddo + enddo + enddo +! PP25 = SPVAL + !VarName='so4' + VarName='pp25' + VcoordName='mid layer' + do l=1,lm + ll=lm-l+1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName & + ,pp25(1:im,jsta_2l:jend_2u,ll,1)) + pp25cb(1:im,jsta_2l:jend_2u)=pp25cb(1:im,jsta_2l:jend_2u)+ & + pp25(1:im,jsta_2l:jend_2u,ll,1)* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav +! if(debugprint)print*,'sample l ',VarName,' = +! ',ll,suso(isa,jsa,ll,1) + end do ! do loop for l +! GFS output pp10 in nemsio (GOCART) + pp10cb=0.0 + do n=1,nbin_su + do l=1,lm +!$omp parallel do private(i,j) + do j=jsta_2l,jend_2u + do i=1,im + pp10(i,j,l,n) = spval + enddo + enddo + enddo + enddo +! PP10 = SPVAL + !VarName='so4' + VarName='pp10' + VcoordName='mid layer' + do l=1,lm + ll=lm-l+1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName & + ,pp10(1:im,jsta_2l:jend_2u,ll,1)) + pp10cb(1:im,jsta_2l:jend_2u)=pp10cb(1:im,jsta_2l:jend_2u)+ & + pp10(1:im,jsta_2l:jend_2u,ll,1)* & + dpres(1:im,jsta_2l:jend_2u,ll)/grav +! if(debugprint)print*,'sample l ',VarName,' = +! ',ll,suso(isa,jsa,ll,1) + end do ! do loop for l ! -- compute air density RHOMID and remove negative tracer values do l=1,lm @@ -1612,6 +1724,43 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) end do end do end do + l=lm +!$omp parallel do private(i,j) + do j=jsta,jend + do i=1,im + dustcb(i,j) = MAX(dustcb(i,j), 0.0) + dustallcb(i,j) = MAX(dustallcb(i,j), 0.0) + sscb(i,j) = MAX(sscb(i,j), 0.0) + ssallcb(i,j) = MAX(ssallcb(i,j), 0.0) + bccb(i,j) = MAX(bccb(i,j), 0.0) + occb(i,j) = MAX(occb(i,j), 0.0) + sulfcb(i,j) = MAX(sulfcb(i,j), 0.0) + pp25cb(i,j) = MAX(sulfcb(i,j), 0.0) + pp10cb(i,j) = MAX(sulfcb(i,j), 0.0) +! PM10 concentration + dusmass(i,j)=(dust(i,j,l,1)+dust(i,j,l,2)+dust(i,j,l,3)+ & + 0.74*dust(i,j,l,4)+salt(i,j,l,1)+salt(i,j,l,2)+salt(i,j,l,3)+ & + salt(i,j,l,4) + & + salt(i,j,l,5)+soot(i,j,l,1)+soot(i,j,l,2)+waso(i,j,l,1)+ & + waso(i,j,l,2) +suso(i,j,l,1)+pp25(i,j,l,1)+pp10(i,j,l,1)) & + *RHOMID(i,j,l) !ug/m3 +! PM25 dust and seasalt + dustpm(i,j)=(dust(i,j,l,1)+0.38*dust(i,j,l,2))*RHOMID(i,j,l) !ug/m3 + sspm(i,j)=(salt(i,j,l,1)+salt(i,j,l,2)+ & + 0.83*salt(i,j,l,3))*RHOMID(i,j,l) !ug/m3 +! PM25 concentration + dusmass25(i,j)=(dust(i,j,l,1)+0.38*dust(i,j,l,2)+ & + salt(i,j,l,1)+salt(i,j,l,2)+0.83*salt(i,j,l,3) + & + soot(i,j,l,1)+soot(i,j,l,2)+waso(i,j,l,1)+ & + waso(i,j,l,2) +suso(i,j,l,1)+pp25(i,j,l,1))*RHOMID(i,j,l) !ug/m3 +! PM10 column + ducmass(i,j)=dustallcb(i,j)+ssallcb(i,j)+bccb(i,j)+ & + occb(i,j)+sulfcb(i,j)+pp25cb(i,j)+pp10cb(i,j) +! PM25 column + ducmass25(i,j)=dustcb(i,j)+sscb(i,j)+bccb(i,j)+occb(i,j) & + +sulfcb(i,j)+pp25cb(i,j) + end do + end do endif ! endif for gocart_on ! ! done with sigma file, close it for now @@ -3593,44 +3742,48 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! if(debugprint)print*,'sample ',VarName,' = ',duwt(isa,jsa,k) enddo -! retrieve sfc mass concentration - VarName='DUSMASS' - VcoordName='atmos col' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,dusmass) +!lzhang +!! retrieve sfc mass concentration +! VarName='DUSMASS' +! VcoordName='atmos col' +! l=1 +! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & +! ,l,nrec,fldsize,spval,tmp & +! ,recname,reclevtyp,reclev,VarName,VcoordName & +! ,dusmass) ! if(debugprint)print*,'sample ',VarName,' = ',dusmass(isa,jsa) -! retrieve col mass density - VarName='DUCMASS' - VcoordName='atmos col' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,ducmass) -! if(debugprint)print*,'sample ',VarName,' = ',ducmass(isa,jsa) - -! retrieve sfc mass concentration (pm2.5) - VarName='DUSMASS25' - VcoordName='atmos col' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,dusmass25) +!lzhang +!! retrieve col mass density +! VarName='DUCMASS' +! VcoordName='atmos col' +! l=1 +! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & +! ,l,nrec,fldsize,spval,tmp & +! ,recname,reclevtyp,reclev,VarName,VcoordName & +! ,ducmass) +!! if(debugprint)print*,'sample ',VarName,' = ',ducmass(isa,jsa) + +!lzhang +!! retrieve sfc mass concentration (pm2.5) +! VarName='DUSMASS25' +! VcoordName='atmos col' +! l=1 +! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & +! ,l,nrec,fldsize,spval,tmp & +! ,recname,reclevtyp,reclev,VarName,VcoordName & +! ,dusmass25) ! if(debugprint)print*,'sample ',VarName,' = ',dusmass25(isa,jsa) -! retrieve col mass density (pm2.5) - VarName='DUCMASS25' - VcoordName='atmos col' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,ducmass25) +!lzhang +!! retrieve col mass density (pm2.5) +! VarName='DUCMASS25' +! VcoordName='atmos col' +! l=1 +! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & +! ,l,nrec,fldsize,spval,tmp & +! ,recname,reclevtyp,reclev,VarName,VcoordName & +! ,ducmass25) ! if(debugprint)print*,'sample ',VarName,' = ',ducmass25(isa,jsa) if (me == 0) print *,'after aer files reading,mype=',me diff --git a/sorc/ncep_post.fd/MDLFLD.f b/sorc/ncep_post.fd/MDLFLD.f index 63046d202..586989c0f 100644 --- a/sorc/ncep_post.fd/MDLFLD.f +++ b/sorc/ncep_post.fd/MDLFLD.f @@ -858,6 +858,7 @@ SUBROUTINE MDLFLD (IGET(450).GT.0).OR.(IGET(480).GT.0).OR. & (IGET(774).GT.0).OR.(IGET(747).GT.0).OR. & (IGET(464).GT.0).OR.(IGET(467).GT.0).OR. & + (IGET(629).GT.0).OR.(IGET(630).GT.0).OR. & (IGET(909).GT.0).OR.(IGET(737).GT.0) ) THEN DO 190 L=1,LM @@ -2275,7 +2276,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = DUST(I,J,LL,1) + !GRID1(I,J) = DUST(I,J,LL,1) + GRID1(I,J) = DUST(I,J,LL,1)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2304,7 +2306,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = DUST(I,J,LL,2) + !GRID1(I,J) = DUST(I,J,LL,2) + GRID1(I,J) = DUST(I,J,LL,2)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2333,7 +2336,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = DUST(I,J,LL,3) + !GRID1(I,J) = DUST(I,J,LL,3) + GRID1(I,J) = DUST(I,J,LL,3)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2362,7 +2366,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = DUST(I,J,LL,4) + !GRID1(I,J) = DUST(I,J,LL,4) + GRID1(I,J) = DUST(I,J,LL,4)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2391,7 +2396,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = DUST(I,J,LL,5) + !GRID1(I,J) = DUST(I,J,LL,5) + GRID1(I,J) = DUST(I,J,LL,5)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2420,7 +2426,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SALT(I,J,LL,2) + GRID1(I,J) = SALT(I,J,LL,1)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2449,7 +2455,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SALT(I,J,LL,3) + GRID1(I,J) = SALT(I,J,LL,2)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2478,7 +2484,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SALT(I,J,LL,4) + GRID1(I,J) = SALT(I,J,LL,3)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2507,7 +2513,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SALT(I,J,LL,5) + GRID1(I,J) = SALT(I,J,LL,4)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2536,7 +2542,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SALT(I,J,LL,1) + GRID1(I,J) = SALT(I,J,LL,5)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2565,7 +2571,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SUSO(I,J,LL,1) + !GRID1(I,J) = SUSO(I,J,LL,1) + GRID1(I,J) = SUSO(I,J,LL,1)*RHOMID(I,J,LL) !lzhang ug/kg-->ug/m3 ENDDO ENDDO if(grib=="grib1") then @@ -2594,7 +2601,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = WASO(I,J,LL,1) + !GRID1(I,J) = WASO(I,J,LL,1) + GRID1(I,J) = WASO(I,J,LL,1)*RHOMID(I,J,LL) !lzhang ENDDO ENDDO if(grib=="grib1") then @@ -2623,7 +2631,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = WASO(I,J,LL,2) + !GRID1(I,J) = WASO(I,J,LL,2) + GRID1(I,J) = WASO(I,J,LL,2)*RHOMID(I,J,LL) !lzhang ENDDO ENDDO if(grib=="grib1") then @@ -2652,7 +2661,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SOOT(I,J,LL,1) + !GRID1(I,J) = SOOT(I,J,LL,1) + GRID1(I,J) = SOOT(I,J,LL,1)*RHOMID(I,J,LL) !lzhang ENDDO ENDDO if(grib=="grib1") then @@ -2681,7 +2691,8 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = SOOT(I,J,LL,2) + !GRID1(I,J) = SOOT(I,J,LL,2) + GRID1(I,J) = SOOT(I,J,LL,2)*RHOMID(I,J,LL) !lzhang ENDDO ENDDO if(grib=="grib1") then diff --git a/sorc/ncep_post.fd/MPI_FIRST.f b/sorc/ncep_post.fd/MPI_FIRST.f index 359104ba6..a0492d89b 100644 --- a/sorc/ncep_post.fd/MPI_FIRST.f +++ b/sorc/ncep_post.fd/MPI_FIRST.f @@ -37,7 +37,7 @@ SUBROUTINE MPI_FIRST() ! MACHINE : IBM RS/6000 SP !$$$ ! - use vrbls4d, only: dust, salt, soot, waso, suso + use vrbls4d, only: dust, salt, soot, waso, suso, pp25, pp10 use vrbls3d, only: u, v, t, q, uh, vh, wh, pmid, pmidv, pint, alpint, zmid, & zint, q2, omga, t_adj, ttnd, rswtt, rlwtt, exch_h, train, tcucn, & el_pbl, cwm, f_ice, f_rain, f_rimef, qqw, qqi, qqr, qqs,qqg, qqni, qqnr, & @@ -77,7 +77,9 @@ SUBROUTINE MPI_FIRST() avisdiffswin, airbeamswin, airdiffswin, snowfall, dusmass, ducmass, & dusmass25, susmass, sucmass, susmass25, sucmass25, ocsmass, occmass, & ocsmass25, occmass25, bcsmass, bccmass, bcsmass25, bccmass25, & - sssmass, sscmass, sssmass25, sscmass25, ducmass25 + sssmass, sscmass, sssmass25, sscmass25, ducmass25, & + dustcb, sscb, bccb, occb, sulfcb, dustallcb, ssallcb,dustpm,sspm, pp25cb,& + pp10cb !lzhang use soil, only: smc, stc, sh2o, sldpth, rtdpth, sllevel use masks, only: htm, vtm, hbm2, sm, sice, lmh, gdlat, gdlon, dx, dy, lmv use ctlblk_mod, only: me, num_procs, jm, jsta, jend, jsta_m, jsta_m2, & diff --git a/sorc/ncep_post.fd/RQSTFLD.f b/sorc/ncep_post.fd/RQSTFLD.f index 338a60687..cf8ffa204 100644 --- a/sorc/ncep_post.fd/RQSTFLD.f +++ b/sorc/ncep_post.fd/RQSTFLD.f @@ -708,7 +708,7 @@ module RQSTFLD_mod & 'UPHL ON spec_hgt_lvl_above_grnd'/ !427 DATA IFILV(428),AVBL(428),IQ(428),IS(428),AVBLGRB2(428) & & /1,'VERT INTEG GRAUP ',179,200, & - & 'TCOLG ON entire_atmos_single_lyr'/ + & 'TCOLG ON entire_atmos_single_lyr'/ !428 DATA IFILV(429),AVBL(429),IQ(429),IS(429),AVBLGRB2(429) & & /1,'MAX VERT INTEG GRAUP',239,200, & & 'MAXVIG ON entire_atmos_single_lyr'/ !429 @@ -1867,24 +1867,24 @@ module RQSTFLD_mod & /1,'DUST SEDIMENTATION ',152,200, & 'dust sedimentation fluxes '/ DATA IFILV(617),AVBL(617),IQ(617),IS(617),AVBLGRB2(617) & - & /1,'DUST DRY DEPOSITION ',153,200, & - 'dust dry deposition fluxes '/ + & /1,'DUST25 SFC MASS CON ',153,001, & + 'dust pm25 sfc mass concentration '/ DATA IFILV(618),AVBL(618),IQ(618),IS(618),AVBLGRB2(618) & - & /1,'DUST WET DEPOSITION ',154,200, & - 'dust wet deposition fluxes '/ + & /1,'SEAS25 SFC MASS CON ',154,001, & + 'seas pm25 sfc mass concentration '/ ! ADD AEROSOL SURFACE MASS CONCENTRATION (GOCART), use table 129 DATA IFILV(619),AVBL(619),IQ(619),IS(619),AVBLGRB2(619) & - & /1,'CR AER SFC MASS CON ',156,001, & - 'coarse aer sfc mass concentration '/ + & /1,'PM10 SFC MASS CON ',156,001, & + 'coarse sfc mass concentration '/ DATA IFILV(620),AVBL(620),IQ(620),IS(620),AVBLGRB2(620) & - & /1,'FN AER SFC MASS CON ',157,001, & - 'fine aer sfc mass concentration '/ + & /1,'PM25 SFC MASS CON ',157,001, & + 'fine sfc mass concentration '/ ! ADD AEROSOL COLUMN MASS DENSITY (GOCART) DATA IFILV(621),AVBL(621),IQ(621),IS(621),AVBLGRB2(621) & - & /1,'CR AER COL MASS DEN ',155,200, & + & /1,'PM10 COL MASS DEN ',155,200, & 'coarse aerosol col mass density '/ DATA IFILV(622),AVBL(622),IQ(622),IS(622),AVBLGRB2(622) & - & /1,'FN AER COL MASS DEN ',158,200, & + & /1,'PM25 COL MASS DEN ',158,200, & 'fine aerosol col mass density '/ ! ADD AEROSOL OPTICAL DEPTH AT OTHER CHANNELS (GOCART) DATA IFILV(623),AVBL(623),IQ(623),IS(623),AVBLGRB2(623) & @@ -1935,8 +1935,8 @@ module RQSTFLD_mod & /1,'SEASALT 4 ON MDL SFC',248,109, & & 'SS4 ON hybrid_lvl'/ DATA IFILV(638),AVBL(638),IQ(638),IS(638),AVBLGRB2(638) & - & /1,'SEASALT 0 ON MDL SFC',253,109, & - & 'SS0 ON hybrid_lvl'/ + & /1,'SEASALT 5 ON MDL SFC',253,109, & + & 'SS5 ON hybrid_lvl'/ DATA IFILV(639),AVBL(639),IQ(639),IS(639),AVBLGRB2(639) & & /1,'SULFATE ON MDL SFC ',254,109, & & 'SO4 ON hybrid_lvl'/ @@ -1959,6 +1959,23 @@ module RQSTFLD_mod DATA IFILV(645),AVBL(645),IQ(645),IS(645),AVBLGRB2(645) & & /1,'DPRES ON MDL SFCS ',1,110, & & 'DPRES hybrid_lvl '/ +! ADD OTHER PM2.5 AEROSOL COLUMN MASS DENSITY (GOCART) + DATA IFILV(646),AVBL(646),IQ(646),IS(646),AVBLGRB2(646) & + & /1,'DUST COL MASS DEN ',159,200, & + 'fine dust col mass density '/ + DATA IFILV(647),AVBL(647),IQ(647),IS(647),AVBLGRB2(647) & + & /1,'SEAS COL MASS DEN ',160,200, & + 'fine seas col mass density '/ + DATA IFILV(648),AVBL(648),IQ(648),IS(648),AVBLGRB2(648) & + & /1,'BC COL MASS DEN ',161,200, & + 'fine bc col mass density '/ + DATA IFILV(649),AVBL(649),IQ(649),IS(649),AVBLGRB2(649) & + & /1,'OC COL MASS DEN ',162,200, & + 'fine oc col mass density '/ + DATA IFILV(650),AVBL(650),IQ(650),IS(650),AVBLGRB2(650) & + & /1,'SULF COL MASS DEN ',163,200, & + 'fine sulf col mass density '/ + ! Reserving Index 601-700 for GOCART ! diff --git a/sorc/ncep_post.fd/VRBLS2D_mod.f b/sorc/ncep_post.fd/VRBLS2D_mod.f index f29946115..921508219 100644 --- a/sorc/ncep_post.fd/VRBLS2D_mod.f +++ b/sorc/ncep_post.fd/VRBLS2D_mod.f @@ -84,6 +84,10 @@ module vrbls2d ,SUSMASS(:,:),SUCMASS(:,:),SUSMASS25(:,:),SUCMASS25(:,:) & ,OCSMASS(:,:),OCCMASS(:,:),OCSMASS25(:,:),OCCMASS25(:,:) & ,BCSMASS(:,:),BCCMASS(:,:),BCSMASS25(:,:),BCCMASS25(:,:) & - ,SSSMASS(:,:),SSCMASS(:,:),SSSMASS25(:,:),SSCMASS25(:,:) + ,SSSMASS(:,:),SSCMASS(:,:),SSSMASS25(:,:),SSCMASS25(:,:) & + ,DUSTCB(:,:),SSCB(:,:),OCCB(:,:),BCCB(:,:),SULFCB(:,:) & + ,DUSTALLCB(:,:),SSALLCB(:,:),DUSTPM(:,:),SSPM(:,:),PP25CB(:,:) & + ,PP10CB(:,:)!lzhang, add for FV3-Chem + ! end module vrbls2d diff --git a/sorc/ncep_post.fd/VRBLS4D_mod.f b/sorc/ncep_post.fd/VRBLS4D_mod.f index fdade4c90..9606a56a0 100644 --- a/sorc/ncep_post.fd/VRBLS4D_mod.f +++ b/sorc/ncep_post.fd/VRBLS4D_mod.f @@ -11,5 +11,7 @@ module vrbls4d real, allocatable :: WASO(:,:,:,:) ! organic carbon real, allocatable :: SUSO(:,:,:,:) ! sulfate real, allocatable :: SMOKE(:,:,:,:) + real, allocatable :: PP25(:,:,:,:) ! PP25 + real, allocatable :: PP10(:,:,:,:) ! PP10 ! end module vrbls4d From 0385321d8595b86cd0da7e617e22650a6cc5da5a Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Mon, 8 Jul 2019 13:18:22 +0000 Subject: [PATCH 06/38] Vlab Issue #57108 -- Unify RH computation for regional and global FV3. Change-Id: I37d5cc343af01bb485a5fb2e756594e7cf6e9470 --- sorc/ncep_post.fd/MDL2P.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ncep_post.fd/MDL2P.f b/sorc/ncep_post.fd/MDL2P.f index 7f49814b7..1cd36bcbc 100644 --- a/sorc/ncep_post.fd/MDL2P.f +++ b/sorc/ncep_post.fd/MDL2P.f @@ -1333,7 +1333,7 @@ SUBROUTINE MDL2P(iostatusD3D) ENDDO ENDDO ! - IF(MODELNAME == 'GFS')THEN + IF(MODELNAME == 'GFS' .or. MODELNAME == 'FV3R')THEN CALL CALRH_GFS(EGRID2(1,jsta),TSL(1,jsta),QSL(1,jsta),EGRID1(1,jsta)) ELSEIF (MODELNAME == 'RAPR')THEN CALL CALRH_GSD(EGRID2(1,jsta),TSL(1,jsta),QSL(1,jsta),EGRID1(1,jsta)) From 207be01be33714f4056fb55734e81edf4a9998e7 Mon Sep 17 00:00:00 2001 From: kayee Date: Tue, 16 Jul 2019 11:47:27 -0600 Subject: [PATCH 07/38] Nemosio fix for serial built from Laurie. --- comupp/src/lib/nemsio/nemsio_module_mpi.f90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/comupp/src/lib/nemsio/nemsio_module_mpi.f90 b/comupp/src/lib/nemsio/nemsio_module_mpi.f90 index 7599abc5e..b44d81e15 100644 --- a/comupp/src/lib/nemsio/nemsio_module_mpi.f90 +++ b/comupp/src/lib/nemsio/nemsio_module_mpi.f90 @@ -125,9 +125,10 @@ module nemsio_module_mpi ! !$$$ end module document block ! - use mpi + !use mpi ! implicit none + include 'mpif.h' ! use mpif private !------------------------------------------------------------------------------ ! private variables and type needed by nemsio_gfile From c25f0ba304eee94fc907b641bcada96820c435bc Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Sat, 15 Jun 2019 00:10:20 +0000 Subject: [PATCH 08/38] VLAB Issue #44506 -- Add changes for gtg updates. --- parm/gtg_imprintings.txt | 19132 ++++++++++++++++++++++++ scripts/exgfs_nceppost.sh.ecf | 1 + sorc/ncep_post.fd/gtg_smoothseams.f90 | 5 + sorc/ncep_post.fd/makefile_module | 2 +- 4 files changed, 19139 insertions(+), 1 deletion(-) create mode 100644 parm/gtg_imprintings.txt create mode 100644 sorc/ncep_post.fd/gtg_smoothseams.f90 diff --git a/parm/gtg_imprintings.txt b/parm/gtg_imprintings.txt new file mode 100644 index 000000000..831d3c9da --- /dev/null +++ b/parm/gtg_imprintings.txt @@ -0,0 +1,19132 @@ +fillnumber= 2 +nx= 3072 +ny= 1536 + i,j= + 648 384 + 649 384 + 650 384 + 651 384 + 652 384 + 653 384 + 654 384 + 655 384 + 656 384 + 657 384 + 658 384 + 659 384 + 660 384 + 661 384 + 662 384 + 663 384 + 664 384 + 665 384 + 666 384 + 667 384 + 668 384 + 669 384 + 670 384 + 671 384 + 672 384 + 673 384 + 674 384 + 675 384 + 676 384 + 677 384 + 678 384 + 679 384 + 680 384 + 681 384 + 682 384 + 683 384 + 684 384 + 685 384 + 686 384 + 687 384 + 688 384 + 689 384 + 690 384 + 691 384 + 692 384 + 693 384 + 694 384 + 695 384 + 696 384 + 697 384 + 698 384 + 699 384 + 700 384 + 701 384 + 702 384 + 703 384 + 704 384 + 705 384 + 706 384 + 707 384 + 708 384 + 709 384 + 710 384 + 711 384 + 712 384 + 713 384 + 714 384 + 715 384 + 716 384 + 717 384 + 718 384 + 719 384 + 1416 384 + 1417 384 + 1418 384 + 1419 384 + 1420 384 + 1421 384 + 1422 384 + 1423 384 + 1424 384 + 1425 384 + 1426 384 + 1427 384 + 1428 384 + 1429 384 + 1430 384 + 1431 384 + 1432 384 + 1433 384 + 1434 384 + 1435 384 + 1436 384 + 1437 384 + 1438 384 + 1439 384 + 1440 384 + 1441 384 + 1442 384 + 1443 384 + 1444 384 + 1445 384 + 1446 384 + 1447 384 + 1448 384 + 1449 384 + 1450 384 + 1451 384 + 1452 384 + 1453 384 + 1454 384 + 1455 384 + 1456 384 + 1457 384 + 1458 384 + 1459 384 + 1460 384 + 1461 384 + 1462 384 + 1463 384 + 1464 384 + 1465 384 + 1466 384 + 1467 384 + 1468 384 + 1469 384 + 1470 384 + 1471 384 + 1472 384 + 1473 384 + 1474 384 + 1475 384 + 1476 384 + 1477 384 + 1478 384 + 1479 384 + 1480 384 + 1481 384 + 1482 384 + 1483 384 + 1484 384 + 1485 384 + 1486 384 + 1487 384 + 2184 384 + 2185 384 + 2186 384 + 2187 384 + 2188 384 + 2189 384 + 2190 384 + 2191 384 + 2192 384 + 2193 384 + 2194 384 + 2195 384 + 2196 384 + 2197 384 + 2198 384 + 2199 384 + 2200 384 + 2201 384 + 2202 384 + 2203 384 + 2204 384 + 2205 384 + 2206 384 + 2207 384 + 2208 384 + 2209 384 + 2210 384 + 2211 384 + 2212 384 + 2213 384 + 2214 384 + 2215 384 + 2216 384 + 2217 384 + 2218 384 + 2219 384 + 2220 384 + 2221 384 + 2222 384 + 2223 384 + 2224 384 + 2225 384 + 2226 384 + 2227 384 + 2228 384 + 2229 384 + 2230 384 + 2231 384 + 2232 384 + 2233 384 + 2234 384 + 2235 384 + 2236 384 + 2237 384 + 2238 384 + 2239 384 + 2240 384 + 2241 384 + 2242 384 + 2243 384 + 2244 384 + 2245 384 + 2246 384 + 2247 384 + 2248 384 + 2249 384 + 2250 384 + 2251 384 + 2252 384 + 2253 384 + 2254 384 + 2255 384 + 2952 384 + 2953 384 + 2954 384 + 2955 384 + 2956 384 + 2957 384 + 2958 384 + 2959 384 + 2960 384 + 2961 384 + 2962 384 + 2963 384 + 2964 384 + 2965 384 + 2966 384 + 2967 384 + 2968 384 + 2969 384 + 2970 384 + 2971 384 + 2972 384 + 2973 384 + 2974 384 + 2975 384 + 2976 384 + 2977 384 + 2978 384 + 2979 384 + 2980 384 + 2981 384 + 2982 384 + 2983 384 + 2984 384 + 2985 384 + 2986 384 + 2987 384 + 2988 384 + 2989 384 + 2990 384 + 2991 384 + 2992 384 + 2993 384 + 2994 384 + 2995 384 + 2996 384 + 2997 384 + 2998 384 + 2999 384 + 3000 384 + 3001 384 + 3002 384 + 3003 384 + 3004 384 + 3005 384 + 3006 384 + 3007 384 + 3008 384 + 3009 384 + 3010 384 + 3011 384 + 3012 384 + 3013 384 + 3014 384 + 3015 384 + 3016 384 + 3017 384 + 3018 384 + 3019 384 + 3020 384 + 3021 384 + 3022 384 + 3023 384 + 627 385 + 628 385 + 629 385 + 630 385 + 631 385 + 632 385 + 633 385 + 634 385 + 635 385 + 636 385 + 637 385 + 638 385 + 639 385 + 640 385 + 641 385 + 642 385 + 643 385 + 644 385 + 645 385 + 646 385 + 647 385 + 648 385 + 649 385 + 650 385 + 651 385 + 652 385 + 653 385 + 654 385 + 655 385 + 656 385 + 657 385 + 658 385 + 659 385 + 660 385 + 661 385 + 662 385 + 663 385 + 664 385 + 665 385 + 666 385 + 667 385 + 668 385 + 669 385 + 670 385 + 671 385 + 672 385 + 673 385 + 674 385 + 675 385 + 676 385 + 677 385 + 678 385 + 679 385 + 680 385 + 681 385 + 682 385 + 683 385 + 684 385 + 685 385 + 686 385 + 687 385 + 688 385 + 689 385 + 690 385 + 691 385 + 692 385 + 693 385 + 694 385 + 695 385 + 696 385 + 697 385 + 698 385 + 699 385 + 700 385 + 701 385 + 702 385 + 703 385 + 704 385 + 705 385 + 706 385 + 707 385 + 708 385 + 709 385 + 710 385 + 711 385 + 712 385 + 713 385 + 714 385 + 715 385 + 716 385 + 717 385 + 718 385 + 719 385 + 720 385 + 721 385 + 722 385 + 723 385 + 724 385 + 725 385 + 726 385 + 727 385 + 728 385 + 729 385 + 730 385 + 731 385 + 732 385 + 733 385 + 734 385 + 735 385 + 736 385 + 737 385 + 738 385 + 739 385 + 740 385 + 1395 385 + 1396 385 + 1397 385 + 1398 385 + 1399 385 + 1400 385 + 1401 385 + 1402 385 + 1403 385 + 1404 385 + 1405 385 + 1406 385 + 1407 385 + 1408 385 + 1409 385 + 1410 385 + 1411 385 + 1412 385 + 1413 385 + 1414 385 + 1415 385 + 1416 385 + 1417 385 + 1418 385 + 1419 385 + 1420 385 + 1421 385 + 1422 385 + 1423 385 + 1424 385 + 1425 385 + 1426 385 + 1427 385 + 1428 385 + 1429 385 + 1430 385 + 1431 385 + 1432 385 + 1433 385 + 1434 385 + 1435 385 + 1436 385 + 1437 385 + 1438 385 + 1439 385 + 1440 385 + 1441 385 + 1442 385 + 1443 385 + 1444 385 + 1445 385 + 1446 385 + 1447 385 + 1448 385 + 1449 385 + 1450 385 + 1451 385 + 1452 385 + 1453 385 + 1454 385 + 1455 385 + 1456 385 + 1457 385 + 1458 385 + 1459 385 + 1460 385 + 1461 385 + 1462 385 + 1463 385 + 1464 385 + 1465 385 + 1466 385 + 1467 385 + 1468 385 + 1469 385 + 1470 385 + 1471 385 + 1472 385 + 1473 385 + 1474 385 + 1475 385 + 1476 385 + 1477 385 + 1478 385 + 1479 385 + 1480 385 + 1481 385 + 1482 385 + 1483 385 + 1484 385 + 1485 385 + 1486 385 + 1487 385 + 1488 385 + 1489 385 + 1490 385 + 1491 385 + 1492 385 + 1493 385 + 1494 385 + 1495 385 + 1496 385 + 1497 385 + 1498 385 + 1499 385 + 1500 385 + 1501 385 + 1502 385 + 1503 385 + 1504 385 + 1505 385 + 1506 385 + 1507 385 + 1508 385 + 2163 385 + 2164 385 + 2165 385 + 2166 385 + 2167 385 + 2168 385 + 2169 385 + 2170 385 + 2171 385 + 2172 385 + 2173 385 + 2174 385 + 2175 385 + 2176 385 + 2177 385 + 2178 385 + 2179 385 + 2180 385 + 2181 385 + 2182 385 + 2183 385 + 2184 385 + 2185 385 + 2186 385 + 2187 385 + 2188 385 + 2189 385 + 2190 385 + 2191 385 + 2192 385 + 2193 385 + 2194 385 + 2195 385 + 2196 385 + 2197 385 + 2198 385 + 2199 385 + 2200 385 + 2201 385 + 2202 385 + 2203 385 + 2204 385 + 2205 385 + 2206 385 + 2207 385 + 2208 385 + 2209 385 + 2210 385 + 2211 385 + 2212 385 + 2213 385 + 2214 385 + 2215 385 + 2216 385 + 2217 385 + 2218 385 + 2219 385 + 2220 385 + 2221 385 + 2222 385 + 2223 385 + 2224 385 + 2225 385 + 2226 385 + 2227 385 + 2228 385 + 2229 385 + 2230 385 + 2231 385 + 2232 385 + 2233 385 + 2234 385 + 2235 385 + 2236 385 + 2237 385 + 2238 385 + 2239 385 + 2240 385 + 2241 385 + 2242 385 + 2243 385 + 2244 385 + 2245 385 + 2246 385 + 2247 385 + 2248 385 + 2249 385 + 2250 385 + 2251 385 + 2252 385 + 2253 385 + 2254 385 + 2255 385 + 2256 385 + 2257 385 + 2258 385 + 2259 385 + 2260 385 + 2261 385 + 2262 385 + 2263 385 + 2264 385 + 2265 385 + 2266 385 + 2267 385 + 2268 385 + 2269 385 + 2270 385 + 2271 385 + 2272 385 + 2273 385 + 2274 385 + 2275 385 + 2276 385 + 2931 385 + 2932 385 + 2933 385 + 2934 385 + 2935 385 + 2936 385 + 2937 385 + 2938 385 + 2939 385 + 2940 385 + 2941 385 + 2942 385 + 2943 385 + 2944 385 + 2945 385 + 2946 385 + 2947 385 + 2948 385 + 2949 385 + 2950 385 + 2951 385 + 2952 385 + 2953 385 + 2954 385 + 2955 385 + 2956 385 + 2957 385 + 2958 385 + 2959 385 + 2960 385 + 2961 385 + 2962 385 + 2963 385 + 2964 385 + 2965 385 + 2966 385 + 2967 385 + 2968 385 + 2969 385 + 2970 385 + 2971 385 + 2972 385 + 2973 385 + 2974 385 + 2975 385 + 2976 385 + 2977 385 + 2978 385 + 2979 385 + 2980 385 + 2981 385 + 2982 385 + 2983 385 + 2984 385 + 2985 385 + 2986 385 + 2987 385 + 2988 385 + 2989 385 + 2990 385 + 2991 385 + 2992 385 + 2993 385 + 2994 385 + 2995 385 + 2996 385 + 2997 385 + 2998 385 + 2999 385 + 3000 385 + 3001 385 + 3002 385 + 3003 385 + 3004 385 + 3005 385 + 3006 385 + 3007 385 + 3008 385 + 3009 385 + 3010 385 + 3011 385 + 3012 385 + 3013 385 + 3014 385 + 3015 385 + 3016 385 + 3017 385 + 3018 385 + 3019 385 + 3020 385 + 3021 385 + 3022 385 + 3023 385 + 3024 385 + 3025 385 + 3026 385 + 3027 385 + 3028 385 + 3029 385 + 3030 385 + 3031 385 + 3032 385 + 3033 385 + 3034 385 + 3035 385 + 3036 385 + 3037 385 + 3038 385 + 3039 385 + 3040 385 + 3041 385 + 3042 385 + 3043 385 + 3044 385 + 612 386 + 613 386 + 614 386 + 615 386 + 616 386 + 617 386 + 618 386 + 619 386 + 620 386 + 621 386 + 622 386 + 623 386 + 624 386 + 625 386 + 626 386 + 627 386 + 628 386 + 629 386 + 630 386 + 631 386 + 632 386 + 633 386 + 634 386 + 635 386 + 636 386 + 637 386 + 638 386 + 639 386 + 640 386 + 641 386 + 642 386 + 643 386 + 644 386 + 645 386 + 646 386 + 647 386 + 648 386 + 649 386 + 719 386 + 720 386 + 721 386 + 722 386 + 723 386 + 724 386 + 725 386 + 726 386 + 727 386 + 728 386 + 729 386 + 730 386 + 731 386 + 732 386 + 733 386 + 734 386 + 735 386 + 736 386 + 737 386 + 738 386 + 739 386 + 740 386 + 741 386 + 742 386 + 743 386 + 744 386 + 745 386 + 746 386 + 747 386 + 748 386 + 749 386 + 750 386 + 751 386 + 752 386 + 753 386 + 754 386 + 755 386 + 1380 386 + 1381 386 + 1382 386 + 1383 386 + 1384 386 + 1385 386 + 1386 386 + 1387 386 + 1388 386 + 1389 386 + 1390 386 + 1391 386 + 1392 386 + 1393 386 + 1394 386 + 1395 386 + 1396 386 + 1397 386 + 1398 386 + 1399 386 + 1400 386 + 1401 386 + 1402 386 + 1403 386 + 1404 386 + 1405 386 + 1406 386 + 1407 386 + 1408 386 + 1409 386 + 1410 386 + 1411 386 + 1412 386 + 1413 386 + 1414 386 + 1415 386 + 1416 386 + 1417 386 + 1487 386 + 1488 386 + 1489 386 + 1490 386 + 1491 386 + 1492 386 + 1493 386 + 1494 386 + 1495 386 + 1496 386 + 1497 386 + 1498 386 + 1499 386 + 1500 386 + 1501 386 + 1502 386 + 1503 386 + 1504 386 + 1505 386 + 1506 386 + 1507 386 + 1508 386 + 1509 386 + 1510 386 + 1511 386 + 1512 386 + 1513 386 + 1514 386 + 1515 386 + 1516 386 + 1517 386 + 1518 386 + 1519 386 + 1520 386 + 1521 386 + 1522 386 + 1523 386 + 2148 386 + 2149 386 + 2150 386 + 2151 386 + 2152 386 + 2153 386 + 2154 386 + 2155 386 + 2156 386 + 2157 386 + 2158 386 + 2159 386 + 2160 386 + 2161 386 + 2162 386 + 2163 386 + 2164 386 + 2165 386 + 2166 386 + 2167 386 + 2168 386 + 2169 386 + 2170 386 + 2171 386 + 2172 386 + 2173 386 + 2174 386 + 2175 386 + 2176 386 + 2177 386 + 2178 386 + 2179 386 + 2180 386 + 2181 386 + 2182 386 + 2183 386 + 2184 386 + 2185 386 + 2255 386 + 2256 386 + 2257 386 + 2258 386 + 2259 386 + 2260 386 + 2261 386 + 2262 386 + 2263 386 + 2264 386 + 2265 386 + 2266 386 + 2267 386 + 2268 386 + 2269 386 + 2270 386 + 2271 386 + 2272 386 + 2273 386 + 2274 386 + 2275 386 + 2276 386 + 2277 386 + 2278 386 + 2279 386 + 2280 386 + 2281 386 + 2282 386 + 2283 386 + 2284 386 + 2285 386 + 2286 386 + 2287 386 + 2288 386 + 2289 386 + 2290 386 + 2291 386 + 2916 386 + 2917 386 + 2918 386 + 2919 386 + 2920 386 + 2921 386 + 2922 386 + 2923 386 + 2924 386 + 2925 386 + 2926 386 + 2927 386 + 2928 386 + 2929 386 + 2930 386 + 2931 386 + 2932 386 + 2933 386 + 2934 386 + 2935 386 + 2936 386 + 2937 386 + 2938 386 + 2939 386 + 2940 386 + 2941 386 + 2942 386 + 2943 386 + 2944 386 + 2945 386 + 2946 386 + 2947 386 + 2948 386 + 2949 386 + 2950 386 + 2951 386 + 2952 386 + 2953 386 + 3023 386 + 3024 386 + 3025 386 + 3026 386 + 3027 386 + 3028 386 + 3029 386 + 3030 386 + 3031 386 + 3032 386 + 3033 386 + 3034 386 + 3035 386 + 3036 386 + 3037 386 + 3038 386 + 3039 386 + 3040 386 + 3041 386 + 3042 386 + 3043 386 + 3044 386 + 3045 386 + 3046 386 + 3047 386 + 3048 386 + 3049 386 + 3050 386 + 3051 386 + 3052 386 + 3053 386 + 3054 386 + 3055 386 + 3056 386 + 3057 386 + 3058 386 + 3059 386 + 599 387 + 600 387 + 601 387 + 602 387 + 603 387 + 604 387 + 605 387 + 606 387 + 607 387 + 608 387 + 609 387 + 610 387 + 611 387 + 612 387 + 613 387 + 614 387 + 615 387 + 616 387 + 617 387 + 618 387 + 619 387 + 620 387 + 621 387 + 622 387 + 623 387 + 624 387 + 625 387 + 626 387 + 627 387 + 628 387 + 740 387 + 741 387 + 742 387 + 743 387 + 744 387 + 745 387 + 746 387 + 747 387 + 748 387 + 749 387 + 750 387 + 751 387 + 752 387 + 753 387 + 754 387 + 755 387 + 756 387 + 757 387 + 758 387 + 759 387 + 760 387 + 761 387 + 762 387 + 763 387 + 764 387 + 765 387 + 766 387 + 767 387 + 768 387 + 1367 387 + 1368 387 + 1369 387 + 1370 387 + 1371 387 + 1372 387 + 1373 387 + 1374 387 + 1375 387 + 1376 387 + 1377 387 + 1378 387 + 1379 387 + 1380 387 + 1381 387 + 1382 387 + 1383 387 + 1384 387 + 1385 387 + 1386 387 + 1387 387 + 1388 387 + 1389 387 + 1390 387 + 1391 387 + 1392 387 + 1393 387 + 1394 387 + 1395 387 + 1396 387 + 1508 387 + 1509 387 + 1510 387 + 1511 387 + 1512 387 + 1513 387 + 1514 387 + 1515 387 + 1516 387 + 1517 387 + 1518 387 + 1519 387 + 1520 387 + 1521 387 + 1522 387 + 1523 387 + 1524 387 + 1525 387 + 1526 387 + 1527 387 + 1528 387 + 1529 387 + 1530 387 + 1531 387 + 1532 387 + 1533 387 + 1534 387 + 1535 387 + 1536 387 + 2135 387 + 2136 387 + 2137 387 + 2138 387 + 2139 387 + 2140 387 + 2141 387 + 2142 387 + 2143 387 + 2144 387 + 2145 387 + 2146 387 + 2147 387 + 2148 387 + 2149 387 + 2150 387 + 2151 387 + 2152 387 + 2153 387 + 2154 387 + 2155 387 + 2156 387 + 2157 387 + 2158 387 + 2159 387 + 2160 387 + 2161 387 + 2162 387 + 2163 387 + 2164 387 + 2276 387 + 2277 387 + 2278 387 + 2279 387 + 2280 387 + 2281 387 + 2282 387 + 2283 387 + 2284 387 + 2285 387 + 2286 387 + 2287 387 + 2288 387 + 2289 387 + 2290 387 + 2291 387 + 2292 387 + 2293 387 + 2294 387 + 2295 387 + 2296 387 + 2297 387 + 2298 387 + 2299 387 + 2300 387 + 2301 387 + 2302 387 + 2303 387 + 2304 387 + 2903 387 + 2904 387 + 2905 387 + 2906 387 + 2907 387 + 2908 387 + 2909 387 + 2910 387 + 2911 387 + 2912 387 + 2913 387 + 2914 387 + 2915 387 + 2916 387 + 2917 387 + 2918 387 + 2919 387 + 2920 387 + 2921 387 + 2922 387 + 2923 387 + 2924 387 + 2925 387 + 2926 387 + 2927 387 + 2928 387 + 2929 387 + 2930 387 + 2931 387 + 2932 387 + 3044 387 + 3045 387 + 3046 387 + 3047 387 + 3048 387 + 3049 387 + 3050 387 + 3051 387 + 3052 387 + 3053 387 + 3054 387 + 3055 387 + 3056 387 + 3057 387 + 3058 387 + 3059 387 + 3060 387 + 3061 387 + 3062 387 + 3063 387 + 3064 387 + 3065 387 + 3066 387 + 3067 387 + 3068 387 + 3069 387 + 3070 387 + 3071 387 + 3072 387 + 1 388 + 2 388 + 3 388 + 4 388 + 5 388 + 6 388 + 7 388 + 8 388 + 9 388 + 10 388 + 11 388 + 588 388 + 589 388 + 590 388 + 591 388 + 592 388 + 593 388 + 594 388 + 595 388 + 596 388 + 597 388 + 598 388 + 599 388 + 600 388 + 601 388 + 602 388 + 603 388 + 604 388 + 605 388 + 606 388 + 607 388 + 608 388 + 609 388 + 610 388 + 611 388 + 612 388 + 755 388 + 756 388 + 757 388 + 758 388 + 759 388 + 760 388 + 761 388 + 762 388 + 763 388 + 764 388 + 765 388 + 766 388 + 767 388 + 768 388 + 769 388 + 770 388 + 771 388 + 772 388 + 773 388 + 774 388 + 775 388 + 776 388 + 777 388 + 778 388 + 779 388 + 1356 388 + 1357 388 + 1358 388 + 1359 388 + 1360 388 + 1361 388 + 1362 388 + 1363 388 + 1364 388 + 1365 388 + 1366 388 + 1367 388 + 1368 388 + 1369 388 + 1370 388 + 1371 388 + 1372 388 + 1373 388 + 1374 388 + 1375 388 + 1376 388 + 1377 388 + 1378 388 + 1379 388 + 1380 388 + 1523 388 + 1524 388 + 1525 388 + 1526 388 + 1527 388 + 1528 388 + 1529 388 + 1530 388 + 1531 388 + 1532 388 + 1533 388 + 1534 388 + 1535 388 + 1536 388 + 1537 388 + 1538 388 + 1539 388 + 1540 388 + 1541 388 + 1542 388 + 1543 388 + 1544 388 + 1545 388 + 1546 388 + 1547 388 + 2124 388 + 2125 388 + 2126 388 + 2127 388 + 2128 388 + 2129 388 + 2130 388 + 2131 388 + 2132 388 + 2133 388 + 2134 388 + 2135 388 + 2136 388 + 2137 388 + 2138 388 + 2139 388 + 2140 388 + 2141 388 + 2142 388 + 2143 388 + 2144 388 + 2145 388 + 2146 388 + 2147 388 + 2148 388 + 2291 388 + 2292 388 + 2293 388 + 2294 388 + 2295 388 + 2296 388 + 2297 388 + 2298 388 + 2299 388 + 2300 388 + 2301 388 + 2302 388 + 2303 388 + 2304 388 + 2305 388 + 2306 388 + 2307 388 + 2308 388 + 2309 388 + 2310 388 + 2311 388 + 2312 388 + 2313 388 + 2314 388 + 2315 388 + 2892 388 + 2893 388 + 2894 388 + 2895 388 + 2896 388 + 2897 388 + 2898 388 + 2899 388 + 2900 388 + 2901 388 + 2902 388 + 2903 388 + 2904 388 + 2905 388 + 2906 388 + 2907 388 + 2908 388 + 2909 388 + 2910 388 + 2911 388 + 2912 388 + 2913 388 + 2914 388 + 2915 388 + 2916 388 + 3059 388 + 3060 388 + 3061 388 + 3062 388 + 3063 388 + 3064 388 + 3065 388 + 3066 388 + 3067 388 + 3068 388 + 3069 388 + 3070 388 + 3071 388 + 3072 388 + 1 389 + 2 389 + 3 389 + 4 389 + 5 389 + 6 389 + 7 389 + 8 389 + 9 389 + 10 389 + 11 389 + 12 389 + 13 389 + 14 389 + 15 389 + 16 389 + 17 389 + 18 389 + 19 389 + 20 389 + 579 389 + 580 389 + 581 389 + 582 389 + 583 389 + 584 389 + 585 389 + 586 389 + 587 389 + 588 389 + 589 389 + 590 389 + 591 389 + 592 389 + 593 389 + 594 389 + 595 389 + 596 389 + 597 389 + 598 389 + 599 389 + 600 389 + 768 389 + 769 389 + 770 389 + 771 389 + 772 389 + 773 389 + 774 389 + 775 389 + 776 389 + 777 389 + 778 389 + 779 389 + 780 389 + 781 389 + 782 389 + 783 389 + 784 389 + 785 389 + 786 389 + 787 389 + 788 389 + 1347 389 + 1348 389 + 1349 389 + 1350 389 + 1351 389 + 1352 389 + 1353 389 + 1354 389 + 1355 389 + 1356 389 + 1357 389 + 1358 389 + 1359 389 + 1360 389 + 1361 389 + 1362 389 + 1363 389 + 1364 389 + 1365 389 + 1366 389 + 1367 389 + 1368 389 + 1536 389 + 1537 389 + 1538 389 + 1539 389 + 1540 389 + 1541 389 + 1542 389 + 1543 389 + 1544 389 + 1545 389 + 1546 389 + 1547 389 + 1548 389 + 1549 389 + 1550 389 + 1551 389 + 1552 389 + 1553 389 + 1554 389 + 1555 389 + 1556 389 + 2115 389 + 2116 389 + 2117 389 + 2118 389 + 2119 389 + 2120 389 + 2121 389 + 2122 389 + 2123 389 + 2124 389 + 2125 389 + 2126 389 + 2127 389 + 2128 389 + 2129 389 + 2130 389 + 2131 389 + 2132 389 + 2133 389 + 2134 389 + 2135 389 + 2136 389 + 2304 389 + 2305 389 + 2306 389 + 2307 389 + 2308 389 + 2309 389 + 2310 389 + 2311 389 + 2312 389 + 2313 389 + 2314 389 + 2315 389 + 2316 389 + 2317 389 + 2318 389 + 2319 389 + 2320 389 + 2321 389 + 2322 389 + 2323 389 + 2324 389 + 2883 389 + 2884 389 + 2885 389 + 2886 389 + 2887 389 + 2888 389 + 2889 389 + 2890 389 + 2891 389 + 2892 389 + 2893 389 + 2894 389 + 2895 389 + 2896 389 + 2897 389 + 2898 389 + 2899 389 + 2900 389 + 2901 389 + 2902 389 + 2903 389 + 2904 389 + 3072 389 + 10 390 + 11 390 + 12 390 + 13 390 + 14 390 + 15 390 + 16 390 + 17 390 + 18 390 + 19 390 + 20 390 + 21 390 + 22 390 + 23 390 + 24 390 + 25 390 + 26 390 + 27 390 + 28 390 + 29 390 + 570 390 + 571 390 + 572 390 + 573 390 + 574 390 + 575 390 + 576 390 + 577 390 + 578 390 + 579 390 + 580 390 + 581 390 + 582 390 + 583 390 + 584 390 + 585 390 + 586 390 + 587 390 + 588 390 + 589 390 + 778 390 + 779 390 + 780 390 + 781 390 + 782 390 + 783 390 + 784 390 + 785 390 + 786 390 + 787 390 + 788 390 + 789 390 + 790 390 + 791 390 + 792 390 + 793 390 + 794 390 + 795 390 + 796 390 + 797 390 + 1338 390 + 1339 390 + 1340 390 + 1341 390 + 1342 390 + 1343 390 + 1344 390 + 1345 390 + 1346 390 + 1347 390 + 1348 390 + 1349 390 + 1350 390 + 1351 390 + 1352 390 + 1353 390 + 1354 390 + 1355 390 + 1356 390 + 1357 390 + 1546 390 + 1547 390 + 1548 390 + 1549 390 + 1550 390 + 1551 390 + 1552 390 + 1553 390 + 1554 390 + 1555 390 + 1556 390 + 1557 390 + 1558 390 + 1559 390 + 1560 390 + 1561 390 + 1562 390 + 1563 390 + 1564 390 + 1565 390 + 2106 390 + 2107 390 + 2108 390 + 2109 390 + 2110 390 + 2111 390 + 2112 390 + 2113 390 + 2114 390 + 2115 390 + 2116 390 + 2117 390 + 2118 390 + 2119 390 + 2120 390 + 2121 390 + 2122 390 + 2123 390 + 2124 390 + 2125 390 + 2314 390 + 2315 390 + 2316 390 + 2317 390 + 2318 390 + 2319 390 + 2320 390 + 2321 390 + 2322 390 + 2323 390 + 2324 390 + 2325 390 + 2326 390 + 2327 390 + 2328 390 + 2329 390 + 2330 390 + 2331 390 + 2332 390 + 2333 390 + 2874 390 + 2875 390 + 2876 390 + 2877 390 + 2878 390 + 2879 390 + 2880 390 + 2881 390 + 2882 390 + 2883 390 + 2884 390 + 2885 390 + 2886 390 + 2887 390 + 2888 390 + 2889 390 + 2890 390 + 2891 390 + 2892 390 + 2893 390 + 20 391 + 21 391 + 22 391 + 23 391 + 24 391 + 25 391 + 26 391 + 27 391 + 28 391 + 29 391 + 30 391 + 31 391 + 32 391 + 33 391 + 34 391 + 35 391 + 36 391 + 37 391 + 562 391 + 563 391 + 564 391 + 565 391 + 566 391 + 567 391 + 568 391 + 569 391 + 570 391 + 571 391 + 572 391 + 573 391 + 574 391 + 575 391 + 576 391 + 577 391 + 578 391 + 579 391 + 580 391 + 788 391 + 789 391 + 790 391 + 791 391 + 792 391 + 793 391 + 794 391 + 795 391 + 796 391 + 797 391 + 798 391 + 799 391 + 800 391 + 801 391 + 802 391 + 803 391 + 804 391 + 805 391 + 1330 391 + 1331 391 + 1332 391 + 1333 391 + 1334 391 + 1335 391 + 1336 391 + 1337 391 + 1338 391 + 1339 391 + 1340 391 + 1341 391 + 1342 391 + 1343 391 + 1344 391 + 1345 391 + 1346 391 + 1347 391 + 1348 391 + 1556 391 + 1557 391 + 1558 391 + 1559 391 + 1560 391 + 1561 391 + 1562 391 + 1563 391 + 1564 391 + 1565 391 + 1566 391 + 1567 391 + 1568 391 + 1569 391 + 1570 391 + 1571 391 + 1572 391 + 1573 391 + 2098 391 + 2099 391 + 2100 391 + 2101 391 + 2102 391 + 2103 391 + 2104 391 + 2105 391 + 2106 391 + 2107 391 + 2108 391 + 2109 391 + 2110 391 + 2111 391 + 2112 391 + 2113 391 + 2114 391 + 2115 391 + 2116 391 + 2324 391 + 2325 391 + 2326 391 + 2327 391 + 2328 391 + 2329 391 + 2330 391 + 2331 391 + 2332 391 + 2333 391 + 2334 391 + 2335 391 + 2336 391 + 2337 391 + 2338 391 + 2339 391 + 2340 391 + 2341 391 + 2866 391 + 2867 391 + 2868 391 + 2869 391 + 2870 391 + 2871 391 + 2872 391 + 2873 391 + 2874 391 + 2875 391 + 2876 391 + 2877 391 + 2878 391 + 2879 391 + 2880 391 + 2881 391 + 2882 391 + 2883 391 + 2884 391 + 29 392 + 30 392 + 31 392 + 32 392 + 33 392 + 34 392 + 35 392 + 36 392 + 37 392 + 38 392 + 39 392 + 40 392 + 41 392 + 42 392 + 43 392 + 44 392 + 45 392 + 554 392 + 555 392 + 556 392 + 557 392 + 558 392 + 559 392 + 560 392 + 561 392 + 562 392 + 563 392 + 564 392 + 565 392 + 566 392 + 567 392 + 568 392 + 569 392 + 570 392 + 797 392 + 798 392 + 799 392 + 800 392 + 801 392 + 802 392 + 803 392 + 804 392 + 805 392 + 806 392 + 807 392 + 808 392 + 809 392 + 810 392 + 811 392 + 812 392 + 813 392 + 1322 392 + 1323 392 + 1324 392 + 1325 392 + 1326 392 + 1327 392 + 1328 392 + 1329 392 + 1330 392 + 1331 392 + 1332 392 + 1333 392 + 1334 392 + 1335 392 + 1336 392 + 1337 392 + 1338 392 + 1565 392 + 1566 392 + 1567 392 + 1568 392 + 1569 392 + 1570 392 + 1571 392 + 1572 392 + 1573 392 + 1574 392 + 1575 392 + 1576 392 + 1577 392 + 1578 392 + 1579 392 + 1580 392 + 1581 392 + 2090 392 + 2091 392 + 2092 392 + 2093 392 + 2094 392 + 2095 392 + 2096 392 + 2097 392 + 2098 392 + 2099 392 + 2100 392 + 2101 392 + 2102 392 + 2103 392 + 2104 392 + 2105 392 + 2106 392 + 2333 392 + 2334 392 + 2335 392 + 2336 392 + 2337 392 + 2338 392 + 2339 392 + 2340 392 + 2341 392 + 2342 392 + 2343 392 + 2344 392 + 2345 392 + 2346 392 + 2347 392 + 2348 392 + 2349 392 + 2858 392 + 2859 392 + 2860 392 + 2861 392 + 2862 392 + 2863 392 + 2864 392 + 2865 392 + 2866 392 + 2867 392 + 2868 392 + 2869 392 + 2870 392 + 2871 392 + 2872 392 + 2873 392 + 2874 392 + 37 393 + 38 393 + 39 393 + 40 393 + 41 393 + 42 393 + 43 393 + 44 393 + 45 393 + 46 393 + 47 393 + 48 393 + 49 393 + 50 393 + 51 393 + 52 393 + 547 393 + 548 393 + 549 393 + 550 393 + 551 393 + 552 393 + 553 393 + 554 393 + 555 393 + 556 393 + 557 393 + 558 393 + 559 393 + 560 393 + 561 393 + 562 393 + 805 393 + 806 393 + 807 393 + 808 393 + 809 393 + 810 393 + 811 393 + 812 393 + 813 393 + 814 393 + 815 393 + 816 393 + 817 393 + 818 393 + 819 393 + 820 393 + 1315 393 + 1316 393 + 1317 393 + 1318 393 + 1319 393 + 1320 393 + 1321 393 + 1322 393 + 1323 393 + 1324 393 + 1325 393 + 1326 393 + 1327 393 + 1328 393 + 1329 393 + 1330 393 + 1573 393 + 1574 393 + 1575 393 + 1576 393 + 1577 393 + 1578 393 + 1579 393 + 1580 393 + 1581 393 + 1582 393 + 1583 393 + 1584 393 + 1585 393 + 1586 393 + 1587 393 + 1588 393 + 2083 393 + 2084 393 + 2085 393 + 2086 393 + 2087 393 + 2088 393 + 2089 393 + 2090 393 + 2091 393 + 2092 393 + 2093 393 + 2094 393 + 2095 393 + 2096 393 + 2097 393 + 2098 393 + 2341 393 + 2342 393 + 2343 393 + 2344 393 + 2345 393 + 2346 393 + 2347 393 + 2348 393 + 2349 393 + 2350 393 + 2351 393 + 2352 393 + 2353 393 + 2354 393 + 2355 393 + 2356 393 + 2851 393 + 2852 393 + 2853 393 + 2854 393 + 2855 393 + 2856 393 + 2857 393 + 2858 393 + 2859 393 + 2860 393 + 2861 393 + 2862 393 + 2863 393 + 2864 393 + 2865 393 + 2866 393 + 44 394 + 45 394 + 46 394 + 47 394 + 48 394 + 49 394 + 50 394 + 51 394 + 52 394 + 53 394 + 54 394 + 55 394 + 56 394 + 57 394 + 58 394 + 59 394 + 541 394 + 542 394 + 543 394 + 544 394 + 545 394 + 546 394 + 547 394 + 548 394 + 549 394 + 550 394 + 551 394 + 552 394 + 553 394 + 554 394 + 555 394 + 812 394 + 813 394 + 814 394 + 815 394 + 816 394 + 817 394 + 818 394 + 819 394 + 820 394 + 821 394 + 822 394 + 823 394 + 824 394 + 825 394 + 826 394 + 827 394 + 1309 394 + 1310 394 + 1311 394 + 1312 394 + 1313 394 + 1314 394 + 1315 394 + 1316 394 + 1317 394 + 1318 394 + 1319 394 + 1320 394 + 1321 394 + 1322 394 + 1323 394 + 1580 394 + 1581 394 + 1582 394 + 1583 394 + 1584 394 + 1585 394 + 1586 394 + 1587 394 + 1588 394 + 1589 394 + 1590 394 + 1591 394 + 1592 394 + 1593 394 + 1594 394 + 1595 394 + 2077 394 + 2078 394 + 2079 394 + 2080 394 + 2081 394 + 2082 394 + 2083 394 + 2084 394 + 2085 394 + 2086 394 + 2087 394 + 2088 394 + 2089 394 + 2090 394 + 2091 394 + 2348 394 + 2349 394 + 2350 394 + 2351 394 + 2352 394 + 2353 394 + 2354 394 + 2355 394 + 2356 394 + 2357 394 + 2358 394 + 2359 394 + 2360 394 + 2361 394 + 2362 394 + 2363 394 + 2845 394 + 2846 394 + 2847 394 + 2848 394 + 2849 394 + 2850 394 + 2851 394 + 2852 394 + 2853 394 + 2854 394 + 2855 394 + 2856 394 + 2857 394 + 2858 394 + 2859 394 + 52 395 + 53 395 + 54 395 + 55 395 + 56 395 + 57 395 + 58 395 + 59 395 + 60 395 + 61 395 + 62 395 + 63 395 + 64 395 + 65 395 + 66 395 + 534 395 + 535 395 + 536 395 + 537 395 + 538 395 + 539 395 + 540 395 + 541 395 + 542 395 + 543 395 + 544 395 + 545 395 + 546 395 + 547 395 + 820 395 + 821 395 + 822 395 + 823 395 + 824 395 + 825 395 + 826 395 + 827 395 + 828 395 + 829 395 + 830 395 + 831 395 + 832 395 + 833 395 + 834 395 + 1302 395 + 1303 395 + 1304 395 + 1305 395 + 1306 395 + 1307 395 + 1308 395 + 1309 395 + 1310 395 + 1311 395 + 1312 395 + 1313 395 + 1314 395 + 1315 395 + 1588 395 + 1589 395 + 1590 395 + 1591 395 + 1592 395 + 1593 395 + 1594 395 + 1595 395 + 1596 395 + 1597 395 + 1598 395 + 1599 395 + 1600 395 + 1601 395 + 1602 395 + 2070 395 + 2071 395 + 2072 395 + 2073 395 + 2074 395 + 2075 395 + 2076 395 + 2077 395 + 2078 395 + 2079 395 + 2080 395 + 2081 395 + 2082 395 + 2083 395 + 2356 395 + 2357 395 + 2358 395 + 2359 395 + 2360 395 + 2361 395 + 2362 395 + 2363 395 + 2364 395 + 2365 395 + 2366 395 + 2367 395 + 2368 395 + 2369 395 + 2370 395 + 2838 395 + 2839 395 + 2840 395 + 2841 395 + 2842 395 + 2843 395 + 2844 395 + 2845 395 + 2846 395 + 2847 395 + 2848 395 + 2849 395 + 2850 395 + 2851 395 + 58 396 + 59 396 + 60 396 + 61 396 + 62 396 + 63 396 + 64 396 + 65 396 + 66 396 + 67 396 + 68 396 + 69 396 + 70 396 + 71 396 + 528 396 + 529 396 + 530 396 + 531 396 + 532 396 + 533 396 + 534 396 + 535 396 + 536 396 + 537 396 + 538 396 + 539 396 + 540 396 + 541 396 + 826 396 + 827 396 + 828 396 + 829 396 + 830 396 + 831 396 + 832 396 + 833 396 + 834 396 + 835 396 + 836 396 + 837 396 + 838 396 + 839 396 + 1296 396 + 1297 396 + 1298 396 + 1299 396 + 1300 396 + 1301 396 + 1302 396 + 1303 396 + 1304 396 + 1305 396 + 1306 396 + 1307 396 + 1308 396 + 1309 396 + 1594 396 + 1595 396 + 1596 396 + 1597 396 + 1598 396 + 1599 396 + 1600 396 + 1601 396 + 1602 396 + 1603 396 + 1604 396 + 1605 396 + 1606 396 + 1607 396 + 2064 396 + 2065 396 + 2066 396 + 2067 396 + 2068 396 + 2069 396 + 2070 396 + 2071 396 + 2072 396 + 2073 396 + 2074 396 + 2075 396 + 2076 396 + 2077 396 + 2362 396 + 2363 396 + 2364 396 + 2365 396 + 2366 396 + 2367 396 + 2368 396 + 2369 396 + 2370 396 + 2371 396 + 2372 396 + 2373 396 + 2374 396 + 2375 396 + 2832 396 + 2833 396 + 2834 396 + 2835 396 + 2836 396 + 2837 396 + 2838 396 + 2839 396 + 2840 396 + 2841 396 + 2842 396 + 2843 396 + 2844 396 + 2845 396 + 65 397 + 66 397 + 67 397 + 68 397 + 69 397 + 70 397 + 71 397 + 72 397 + 73 397 + 74 397 + 75 397 + 76 397 + 77 397 + 78 397 + 522 397 + 523 397 + 524 397 + 525 397 + 526 397 + 527 397 + 528 397 + 529 397 + 530 397 + 531 397 + 532 397 + 533 397 + 534 397 + 833 397 + 834 397 + 835 397 + 836 397 + 837 397 + 838 397 + 839 397 + 840 397 + 841 397 + 842 397 + 843 397 + 844 397 + 845 397 + 846 397 + 1290 397 + 1291 397 + 1292 397 + 1293 397 + 1294 397 + 1295 397 + 1296 397 + 1297 397 + 1298 397 + 1299 397 + 1300 397 + 1301 397 + 1302 397 + 1601 397 + 1602 397 + 1603 397 + 1604 397 + 1605 397 + 1606 397 + 1607 397 + 1608 397 + 1609 397 + 1610 397 + 1611 397 + 1612 397 + 1613 397 + 1614 397 + 2058 397 + 2059 397 + 2060 397 + 2061 397 + 2062 397 + 2063 397 + 2064 397 + 2065 397 + 2066 397 + 2067 397 + 2068 397 + 2069 397 + 2070 397 + 2369 397 + 2370 397 + 2371 397 + 2372 397 + 2373 397 + 2374 397 + 2375 397 + 2376 397 + 2377 397 + 2378 397 + 2379 397 + 2380 397 + 2381 397 + 2382 397 + 2826 397 + 2827 397 + 2828 397 + 2829 397 + 2830 397 + 2831 397 + 2832 397 + 2833 397 + 2834 397 + 2835 397 + 2836 397 + 2837 397 + 2838 397 + 71 398 + 72 398 + 73 398 + 74 398 + 75 398 + 76 398 + 77 398 + 78 398 + 79 398 + 80 398 + 81 398 + 82 398 + 83 398 + 84 398 + 516 398 + 517 398 + 518 398 + 519 398 + 520 398 + 521 398 + 522 398 + 523 398 + 524 398 + 525 398 + 526 398 + 527 398 + 528 398 + 839 398 + 840 398 + 841 398 + 842 398 + 843 398 + 844 398 + 845 398 + 846 398 + 847 398 + 848 398 + 849 398 + 850 398 + 851 398 + 852 398 + 1284 398 + 1285 398 + 1286 398 + 1287 398 + 1288 398 + 1289 398 + 1290 398 + 1291 398 + 1292 398 + 1293 398 + 1294 398 + 1295 398 + 1296 398 + 1607 398 + 1608 398 + 1609 398 + 1610 398 + 1611 398 + 1612 398 + 1613 398 + 1614 398 + 1615 398 + 1616 398 + 1617 398 + 1618 398 + 1619 398 + 1620 398 + 2052 398 + 2053 398 + 2054 398 + 2055 398 + 2056 398 + 2057 398 + 2058 398 + 2059 398 + 2060 398 + 2061 398 + 2062 398 + 2063 398 + 2064 398 + 2375 398 + 2376 398 + 2377 398 + 2378 398 + 2379 398 + 2380 398 + 2381 398 + 2382 398 + 2383 398 + 2384 398 + 2385 398 + 2386 398 + 2387 398 + 2388 398 + 2820 398 + 2821 398 + 2822 398 + 2823 398 + 2824 398 + 2825 398 + 2826 398 + 2827 398 + 2828 398 + 2829 398 + 2830 398 + 2831 398 + 2832 398 + 77 399 + 78 399 + 79 399 + 80 399 + 81 399 + 82 399 + 83 399 + 84 399 + 85 399 + 86 399 + 87 399 + 88 399 + 89 399 + 511 399 + 512 399 + 513 399 + 514 399 + 515 399 + 516 399 + 517 399 + 518 399 + 519 399 + 520 399 + 521 399 + 522 399 + 845 399 + 846 399 + 847 399 + 848 399 + 849 399 + 850 399 + 851 399 + 852 399 + 853 399 + 854 399 + 855 399 + 856 399 + 857 399 + 1279 399 + 1280 399 + 1281 399 + 1282 399 + 1283 399 + 1284 399 + 1285 399 + 1286 399 + 1287 399 + 1288 399 + 1289 399 + 1290 399 + 1613 399 + 1614 399 + 1615 399 + 1616 399 + 1617 399 + 1618 399 + 1619 399 + 1620 399 + 1621 399 + 1622 399 + 1623 399 + 1624 399 + 1625 399 + 2047 399 + 2048 399 + 2049 399 + 2050 399 + 2051 399 + 2052 399 + 2053 399 + 2054 399 + 2055 399 + 2056 399 + 2057 399 + 2058 399 + 2381 399 + 2382 399 + 2383 399 + 2384 399 + 2385 399 + 2386 399 + 2387 399 + 2388 399 + 2389 399 + 2390 399 + 2391 399 + 2392 399 + 2393 399 + 2815 399 + 2816 399 + 2817 399 + 2818 399 + 2819 399 + 2820 399 + 2821 399 + 2822 399 + 2823 399 + 2824 399 + 2825 399 + 2826 399 + 83 400 + 84 400 + 85 400 + 86 400 + 87 400 + 88 400 + 89 400 + 90 400 + 91 400 + 92 400 + 93 400 + 94 400 + 505 400 + 506 400 + 507 400 + 508 400 + 509 400 + 510 400 + 511 400 + 512 400 + 513 400 + 514 400 + 515 400 + 516 400 + 851 400 + 852 400 + 853 400 + 854 400 + 855 400 + 856 400 + 857 400 + 858 400 + 859 400 + 860 400 + 861 400 + 862 400 + 1273 400 + 1274 400 + 1275 400 + 1276 400 + 1277 400 + 1278 400 + 1279 400 + 1280 400 + 1281 400 + 1282 400 + 1283 400 + 1284 400 + 1619 400 + 1620 400 + 1621 400 + 1622 400 + 1623 400 + 1624 400 + 1625 400 + 1626 400 + 1627 400 + 1628 400 + 1629 400 + 1630 400 + 2041 400 + 2042 400 + 2043 400 + 2044 400 + 2045 400 + 2046 400 + 2047 400 + 2048 400 + 2049 400 + 2050 400 + 2051 400 + 2052 400 + 2387 400 + 2388 400 + 2389 400 + 2390 400 + 2391 400 + 2392 400 + 2393 400 + 2394 400 + 2395 400 + 2396 400 + 2397 400 + 2398 400 + 2809 400 + 2810 400 + 2811 400 + 2812 400 + 2813 400 + 2814 400 + 2815 400 + 2816 400 + 2817 400 + 2818 400 + 2819 400 + 2820 400 + 88 401 + 89 401 + 90 401 + 91 401 + 92 401 + 93 401 + 94 401 + 95 401 + 96 401 + 97 401 + 98 401 + 99 401 + 100 401 + 500 401 + 501 401 + 502 401 + 503 401 + 504 401 + 505 401 + 506 401 + 507 401 + 508 401 + 509 401 + 510 401 + 511 401 + 856 401 + 857 401 + 858 401 + 859 401 + 860 401 + 861 401 + 862 401 + 863 401 + 864 401 + 865 401 + 866 401 + 867 401 + 868 401 + 1268 401 + 1269 401 + 1270 401 + 1271 401 + 1272 401 + 1273 401 + 1274 401 + 1275 401 + 1276 401 + 1277 401 + 1278 401 + 1279 401 + 1624 401 + 1625 401 + 1626 401 + 1627 401 + 1628 401 + 1629 401 + 1630 401 + 1631 401 + 1632 401 + 1633 401 + 1634 401 + 1635 401 + 1636 401 + 2036 401 + 2037 401 + 2038 401 + 2039 401 + 2040 401 + 2041 401 + 2042 401 + 2043 401 + 2044 401 + 2045 401 + 2046 401 + 2047 401 + 2392 401 + 2393 401 + 2394 401 + 2395 401 + 2396 401 + 2397 401 + 2398 401 + 2399 401 + 2400 401 + 2401 401 + 2402 401 + 2403 401 + 2404 401 + 2804 401 + 2805 401 + 2806 401 + 2807 401 + 2808 401 + 2809 401 + 2810 401 + 2811 401 + 2812 401 + 2813 401 + 2814 401 + 2815 401 + 94 402 + 95 402 + 96 402 + 97 402 + 98 402 + 99 402 + 100 402 + 101 402 + 102 402 + 103 402 + 104 402 + 495 402 + 496 402 + 497 402 + 498 402 + 499 402 + 500 402 + 501 402 + 502 402 + 503 402 + 504 402 + 505 402 + 862 402 + 863 402 + 864 402 + 865 402 + 866 402 + 867 402 + 868 402 + 869 402 + 870 402 + 871 402 + 872 402 + 1263 402 + 1264 402 + 1265 402 + 1266 402 + 1267 402 + 1268 402 + 1269 402 + 1270 402 + 1271 402 + 1272 402 + 1273 402 + 1630 402 + 1631 402 + 1632 402 + 1633 402 + 1634 402 + 1635 402 + 1636 402 + 1637 402 + 1638 402 + 1639 402 + 1640 402 + 2031 402 + 2032 402 + 2033 402 + 2034 402 + 2035 402 + 2036 402 + 2037 402 + 2038 402 + 2039 402 + 2040 402 + 2041 402 + 2398 402 + 2399 402 + 2400 402 + 2401 402 + 2402 402 + 2403 402 + 2404 402 + 2405 402 + 2406 402 + 2407 402 + 2408 402 + 2799 402 + 2800 402 + 2801 402 + 2802 402 + 2803 402 + 2804 402 + 2805 402 + 2806 402 + 2807 402 + 2808 402 + 2809 402 + 99 403 + 100 403 + 101 403 + 102 403 + 103 403 + 104 403 + 105 403 + 106 403 + 107 403 + 108 403 + 109 403 + 490 403 + 491 403 + 492 403 + 493 403 + 494 403 + 495 403 + 496 403 + 497 403 + 498 403 + 499 403 + 500 403 + 867 403 + 868 403 + 869 403 + 870 403 + 871 403 + 872 403 + 873 403 + 874 403 + 875 403 + 876 403 + 877 403 + 1258 403 + 1259 403 + 1260 403 + 1261 403 + 1262 403 + 1263 403 + 1264 403 + 1265 403 + 1266 403 + 1267 403 + 1268 403 + 1635 403 + 1636 403 + 1637 403 + 1638 403 + 1639 403 + 1640 403 + 1641 403 + 1642 403 + 1643 403 + 1644 403 + 1645 403 + 2026 403 + 2027 403 + 2028 403 + 2029 403 + 2030 403 + 2031 403 + 2032 403 + 2033 403 + 2034 403 + 2035 403 + 2036 403 + 2403 403 + 2404 403 + 2405 403 + 2406 403 + 2407 403 + 2408 403 + 2409 403 + 2410 403 + 2411 403 + 2412 403 + 2413 403 + 2794 403 + 2795 403 + 2796 403 + 2797 403 + 2798 403 + 2799 403 + 2800 403 + 2801 403 + 2802 403 + 2803 403 + 2804 403 + 104 404 + 105 404 + 106 404 + 107 404 + 108 404 + 109 404 + 110 404 + 111 404 + 112 404 + 113 404 + 114 404 + 485 404 + 486 404 + 487 404 + 488 404 + 489 404 + 490 404 + 491 404 + 492 404 + 493 404 + 494 404 + 495 404 + 496 404 + 872 404 + 873 404 + 874 404 + 875 404 + 876 404 + 877 404 + 878 404 + 879 404 + 880 404 + 881 404 + 882 404 + 1253 404 + 1254 404 + 1255 404 + 1256 404 + 1257 404 + 1258 404 + 1259 404 + 1260 404 + 1261 404 + 1262 404 + 1263 404 + 1264 404 + 1640 404 + 1641 404 + 1642 404 + 1643 404 + 1644 404 + 1645 404 + 1646 404 + 1647 404 + 1648 404 + 1649 404 + 1650 404 + 2021 404 + 2022 404 + 2023 404 + 2024 404 + 2025 404 + 2026 404 + 2027 404 + 2028 404 + 2029 404 + 2030 404 + 2031 404 + 2032 404 + 2408 404 + 2409 404 + 2410 404 + 2411 404 + 2412 404 + 2413 404 + 2414 404 + 2415 404 + 2416 404 + 2417 404 + 2418 404 + 2789 404 + 2790 404 + 2791 404 + 2792 404 + 2793 404 + 2794 404 + 2795 404 + 2796 404 + 2797 404 + 2798 404 + 2799 404 + 2800 404 + 109 405 + 110 405 + 111 405 + 112 405 + 113 405 + 114 405 + 115 405 + 116 405 + 117 405 + 118 405 + 119 405 + 481 405 + 482 405 + 483 405 + 484 405 + 485 405 + 486 405 + 487 405 + 488 405 + 489 405 + 490 405 + 877 405 + 878 405 + 879 405 + 880 405 + 881 405 + 882 405 + 883 405 + 884 405 + 885 405 + 886 405 + 887 405 + 1249 405 + 1250 405 + 1251 405 + 1252 405 + 1253 405 + 1254 405 + 1255 405 + 1256 405 + 1257 405 + 1258 405 + 1645 405 + 1646 405 + 1647 405 + 1648 405 + 1649 405 + 1650 405 + 1651 405 + 1652 405 + 1653 405 + 1654 405 + 1655 405 + 2017 405 + 2018 405 + 2019 405 + 2020 405 + 2021 405 + 2022 405 + 2023 405 + 2024 405 + 2025 405 + 2026 405 + 2413 405 + 2414 405 + 2415 405 + 2416 405 + 2417 405 + 2418 405 + 2419 405 + 2420 405 + 2421 405 + 2422 405 + 2423 405 + 2785 405 + 2786 405 + 2787 405 + 2788 405 + 2789 405 + 2790 405 + 2791 405 + 2792 405 + 2793 405 + 2794 405 + 114 406 + 115 406 + 116 406 + 117 406 + 118 406 + 119 406 + 120 406 + 121 406 + 122 406 + 123 406 + 476 406 + 477 406 + 478 406 + 479 406 + 480 406 + 481 406 + 482 406 + 483 406 + 484 406 + 485 406 + 486 406 + 882 406 + 883 406 + 884 406 + 885 406 + 886 406 + 887 406 + 888 406 + 889 406 + 890 406 + 891 406 + 1244 406 + 1245 406 + 1246 406 + 1247 406 + 1248 406 + 1249 406 + 1250 406 + 1251 406 + 1252 406 + 1253 406 + 1254 406 + 1650 406 + 1651 406 + 1652 406 + 1653 406 + 1654 406 + 1655 406 + 1656 406 + 1657 406 + 1658 406 + 1659 406 + 2012 406 + 2013 406 + 2014 406 + 2015 406 + 2016 406 + 2017 406 + 2018 406 + 2019 406 + 2020 406 + 2021 406 + 2022 406 + 2418 406 + 2419 406 + 2420 406 + 2421 406 + 2422 406 + 2423 406 + 2424 406 + 2425 406 + 2426 406 + 2427 406 + 2780 406 + 2781 406 + 2782 406 + 2783 406 + 2784 406 + 2785 406 + 2786 406 + 2787 406 + 2788 406 + 2789 406 + 2790 406 + 118 407 + 119 407 + 120 407 + 121 407 + 122 407 + 123 407 + 124 407 + 125 407 + 126 407 + 127 407 + 128 407 + 472 407 + 473 407 + 474 407 + 475 407 + 476 407 + 477 407 + 478 407 + 479 407 + 480 407 + 481 407 + 886 407 + 887 407 + 888 407 + 889 407 + 890 407 + 891 407 + 892 407 + 893 407 + 894 407 + 895 407 + 896 407 + 1240 407 + 1241 407 + 1242 407 + 1243 407 + 1244 407 + 1245 407 + 1246 407 + 1247 407 + 1248 407 + 1249 407 + 1654 407 + 1655 407 + 1656 407 + 1657 407 + 1658 407 + 1659 407 + 1660 407 + 1661 407 + 1662 407 + 1663 407 + 1664 407 + 2008 407 + 2009 407 + 2010 407 + 2011 407 + 2012 407 + 2013 407 + 2014 407 + 2015 407 + 2016 407 + 2017 407 + 2422 407 + 2423 407 + 2424 407 + 2425 407 + 2426 407 + 2427 407 + 2428 407 + 2429 407 + 2430 407 + 2431 407 + 2432 407 + 2776 407 + 2777 407 + 2778 407 + 2779 407 + 2780 407 + 2781 407 + 2782 407 + 2783 407 + 2784 407 + 2785 407 + 123 408 + 124 408 + 125 408 + 126 408 + 127 408 + 128 408 + 129 408 + 130 408 + 131 408 + 132 408 + 468 408 + 469 408 + 470 408 + 471 408 + 472 408 + 473 408 + 474 408 + 475 408 + 476 408 + 477 408 + 891 408 + 892 408 + 893 408 + 894 408 + 895 408 + 896 408 + 897 408 + 898 408 + 899 408 + 900 408 + 1236 408 + 1237 408 + 1238 408 + 1239 408 + 1240 408 + 1241 408 + 1242 408 + 1243 408 + 1244 408 + 1245 408 + 1659 408 + 1660 408 + 1661 408 + 1662 408 + 1663 408 + 1664 408 + 1665 408 + 1666 408 + 1667 408 + 1668 408 + 2004 408 + 2005 408 + 2006 408 + 2007 408 + 2008 408 + 2009 408 + 2010 408 + 2011 408 + 2012 408 + 2013 408 + 2427 408 + 2428 408 + 2429 408 + 2430 408 + 2431 408 + 2432 408 + 2433 408 + 2434 408 + 2435 408 + 2436 408 + 2772 408 + 2773 408 + 2774 408 + 2775 408 + 2776 408 + 2777 408 + 2778 408 + 2779 408 + 2780 408 + 2781 408 + 127 409 + 128 409 + 129 409 + 130 409 + 131 409 + 132 409 + 133 409 + 134 409 + 135 409 + 136 409 + 464 409 + 465 409 + 466 409 + 467 409 + 468 409 + 469 409 + 470 409 + 471 409 + 472 409 + 895 409 + 896 409 + 897 409 + 898 409 + 899 409 + 900 409 + 901 409 + 902 409 + 903 409 + 904 409 + 1232 409 + 1233 409 + 1234 409 + 1235 409 + 1236 409 + 1237 409 + 1238 409 + 1239 409 + 1240 409 + 1663 409 + 1664 409 + 1665 409 + 1666 409 + 1667 409 + 1668 409 + 1669 409 + 1670 409 + 1671 409 + 1672 409 + 2000 409 + 2001 409 + 2002 409 + 2003 409 + 2004 409 + 2005 409 + 2006 409 + 2007 409 + 2008 409 + 2431 409 + 2432 409 + 2433 409 + 2434 409 + 2435 409 + 2436 409 + 2437 409 + 2438 409 + 2439 409 + 2440 409 + 2768 409 + 2769 409 + 2770 409 + 2771 409 + 2772 409 + 2773 409 + 2774 409 + 2775 409 + 2776 409 + 131 410 + 132 410 + 133 410 + 134 410 + 135 410 + 136 410 + 137 410 + 138 410 + 139 410 + 140 410 + 459 410 + 460 410 + 461 410 + 462 410 + 463 410 + 464 410 + 465 410 + 466 410 + 467 410 + 468 410 + 899 410 + 900 410 + 901 410 + 902 410 + 903 410 + 904 410 + 905 410 + 906 410 + 907 410 + 908 410 + 1227 410 + 1228 410 + 1229 410 + 1230 410 + 1231 410 + 1232 410 + 1233 410 + 1234 410 + 1235 410 + 1236 410 + 1667 410 + 1668 410 + 1669 410 + 1670 410 + 1671 410 + 1672 410 + 1673 410 + 1674 410 + 1675 410 + 1676 410 + 1995 410 + 1996 410 + 1997 410 + 1998 410 + 1999 410 + 2000 410 + 2001 410 + 2002 410 + 2003 410 + 2004 410 + 2435 410 + 2436 410 + 2437 410 + 2438 410 + 2439 410 + 2440 410 + 2441 410 + 2442 410 + 2443 410 + 2444 410 + 2763 410 + 2764 410 + 2765 410 + 2766 410 + 2767 410 + 2768 410 + 2769 410 + 2770 410 + 2771 410 + 2772 410 + 135 411 + 136 411 + 137 411 + 138 411 + 139 411 + 140 411 + 141 411 + 142 411 + 143 411 + 144 411 + 455 411 + 456 411 + 457 411 + 458 411 + 459 411 + 460 411 + 461 411 + 462 411 + 463 411 + 464 411 + 903 411 + 904 411 + 905 411 + 906 411 + 907 411 + 908 411 + 909 411 + 910 411 + 911 411 + 912 411 + 1223 411 + 1224 411 + 1225 411 + 1226 411 + 1227 411 + 1228 411 + 1229 411 + 1230 411 + 1231 411 + 1232 411 + 1671 411 + 1672 411 + 1673 411 + 1674 411 + 1675 411 + 1676 411 + 1677 411 + 1678 411 + 1679 411 + 1680 411 + 1991 411 + 1992 411 + 1993 411 + 1994 411 + 1995 411 + 1996 411 + 1997 411 + 1998 411 + 1999 411 + 2000 411 + 2439 411 + 2440 411 + 2441 411 + 2442 411 + 2443 411 + 2444 411 + 2445 411 + 2446 411 + 2447 411 + 2448 411 + 2759 411 + 2760 411 + 2761 411 + 2762 411 + 2763 411 + 2764 411 + 2765 411 + 2766 411 + 2767 411 + 2768 411 + 140 412 + 141 412 + 142 412 + 143 412 + 144 412 + 145 412 + 146 412 + 147 412 + 148 412 + 451 412 + 452 412 + 453 412 + 454 412 + 455 412 + 456 412 + 457 412 + 458 412 + 459 412 + 460 412 + 908 412 + 909 412 + 910 412 + 911 412 + 912 412 + 913 412 + 914 412 + 915 412 + 916 412 + 1219 412 + 1220 412 + 1221 412 + 1222 412 + 1223 412 + 1224 412 + 1225 412 + 1226 412 + 1227 412 + 1228 412 + 1676 412 + 1677 412 + 1678 412 + 1679 412 + 1680 412 + 1681 412 + 1682 412 + 1683 412 + 1684 412 + 1987 412 + 1988 412 + 1989 412 + 1990 412 + 1991 412 + 1992 412 + 1993 412 + 1994 412 + 1995 412 + 1996 412 + 2444 412 + 2445 412 + 2446 412 + 2447 412 + 2448 412 + 2449 412 + 2450 412 + 2451 412 + 2452 412 + 2755 412 + 2756 412 + 2757 412 + 2758 412 + 2759 412 + 2760 412 + 2761 412 + 2762 412 + 2763 412 + 2764 412 + 144 413 + 145 413 + 146 413 + 147 413 + 148 413 + 149 413 + 150 413 + 151 413 + 152 413 + 447 413 + 448 413 + 449 413 + 450 413 + 451 413 + 452 413 + 453 413 + 454 413 + 455 413 + 456 413 + 912 413 + 913 413 + 914 413 + 915 413 + 916 413 + 917 413 + 918 413 + 919 413 + 920 413 + 1215 413 + 1216 413 + 1217 413 + 1218 413 + 1219 413 + 1220 413 + 1221 413 + 1222 413 + 1223 413 + 1224 413 + 1680 413 + 1681 413 + 1682 413 + 1683 413 + 1684 413 + 1685 413 + 1686 413 + 1687 413 + 1688 413 + 1983 413 + 1984 413 + 1985 413 + 1986 413 + 1987 413 + 1988 413 + 1989 413 + 1990 413 + 1991 413 + 1992 413 + 2448 413 + 2449 413 + 2450 413 + 2451 413 + 2452 413 + 2453 413 + 2454 413 + 2455 413 + 2456 413 + 2751 413 + 2752 413 + 2753 413 + 2754 413 + 2755 413 + 2756 413 + 2757 413 + 2758 413 + 2759 413 + 2760 413 + 148 414 + 149 414 + 150 414 + 151 414 + 152 414 + 153 414 + 154 414 + 155 414 + 156 414 + 444 414 + 445 414 + 446 414 + 447 414 + 448 414 + 449 414 + 450 414 + 451 414 + 452 414 + 916 414 + 917 414 + 918 414 + 919 414 + 920 414 + 921 414 + 922 414 + 923 414 + 924 414 + 1212 414 + 1213 414 + 1214 414 + 1215 414 + 1216 414 + 1217 414 + 1218 414 + 1219 414 + 1220 414 + 1684 414 + 1685 414 + 1686 414 + 1687 414 + 1688 414 + 1689 414 + 1690 414 + 1691 414 + 1692 414 + 1980 414 + 1981 414 + 1982 414 + 1983 414 + 1984 414 + 1985 414 + 1986 414 + 1987 414 + 1988 414 + 2452 414 + 2453 414 + 2454 414 + 2455 414 + 2456 414 + 2457 414 + 2458 414 + 2459 414 + 2460 414 + 2748 414 + 2749 414 + 2750 414 + 2751 414 + 2752 414 + 2753 414 + 2754 414 + 2755 414 + 2756 414 + 152 415 + 153 415 + 154 415 + 155 415 + 156 415 + 157 415 + 158 415 + 159 415 + 160 415 + 440 415 + 441 415 + 442 415 + 443 415 + 444 415 + 445 415 + 446 415 + 447 415 + 448 415 + 920 415 + 921 415 + 922 415 + 923 415 + 924 415 + 925 415 + 926 415 + 927 415 + 928 415 + 1208 415 + 1209 415 + 1210 415 + 1211 415 + 1212 415 + 1213 415 + 1214 415 + 1215 415 + 1216 415 + 1688 415 + 1689 415 + 1690 415 + 1691 415 + 1692 415 + 1693 415 + 1694 415 + 1695 415 + 1696 415 + 1976 415 + 1977 415 + 1978 415 + 1979 415 + 1980 415 + 1981 415 + 1982 415 + 1983 415 + 1984 415 + 2456 415 + 2457 415 + 2458 415 + 2459 415 + 2460 415 + 2461 415 + 2462 415 + 2463 415 + 2464 415 + 2744 415 + 2745 415 + 2746 415 + 2747 415 + 2748 415 + 2749 415 + 2750 415 + 2751 415 + 2752 415 + 155 416 + 156 416 + 157 416 + 158 416 + 159 416 + 160 416 + 161 416 + 162 416 + 163 416 + 436 416 + 437 416 + 438 416 + 439 416 + 440 416 + 441 416 + 442 416 + 443 416 + 444 416 + 923 416 + 924 416 + 925 416 + 926 416 + 927 416 + 928 416 + 929 416 + 930 416 + 931 416 + 1204 416 + 1205 416 + 1206 416 + 1207 416 + 1208 416 + 1209 416 + 1210 416 + 1211 416 + 1212 416 + 1691 416 + 1692 416 + 1693 416 + 1694 416 + 1695 416 + 1696 416 + 1697 416 + 1698 416 + 1699 416 + 1972 416 + 1973 416 + 1974 416 + 1975 416 + 1976 416 + 1977 416 + 1978 416 + 1979 416 + 1980 416 + 2459 416 + 2460 416 + 2461 416 + 2462 416 + 2463 416 + 2464 416 + 2465 416 + 2466 416 + 2467 416 + 2740 416 + 2741 416 + 2742 416 + 2743 416 + 2744 416 + 2745 416 + 2746 416 + 2747 416 + 2748 416 + 159 417 + 160 417 + 161 417 + 162 417 + 163 417 + 164 417 + 165 417 + 166 417 + 167 417 + 432 417 + 433 417 + 434 417 + 435 417 + 436 417 + 437 417 + 438 417 + 439 417 + 440 417 + 927 417 + 928 417 + 929 417 + 930 417 + 931 417 + 932 417 + 933 417 + 934 417 + 935 417 + 1200 417 + 1201 417 + 1202 417 + 1203 417 + 1204 417 + 1205 417 + 1206 417 + 1207 417 + 1208 417 + 1695 417 + 1696 417 + 1697 417 + 1698 417 + 1699 417 + 1700 417 + 1701 417 + 1702 417 + 1703 417 + 1968 417 + 1969 417 + 1970 417 + 1971 417 + 1972 417 + 1973 417 + 1974 417 + 1975 417 + 1976 417 + 2463 417 + 2464 417 + 2465 417 + 2466 417 + 2467 417 + 2468 417 + 2469 417 + 2470 417 + 2471 417 + 2736 417 + 2737 417 + 2738 417 + 2739 417 + 2740 417 + 2741 417 + 2742 417 + 2743 417 + 2744 417 + 163 418 + 164 418 + 165 418 + 166 418 + 167 418 + 168 418 + 169 418 + 170 418 + 429 418 + 430 418 + 431 418 + 432 418 + 433 418 + 434 418 + 435 418 + 436 418 + 437 418 + 931 418 + 932 418 + 933 418 + 934 418 + 935 418 + 936 418 + 937 418 + 938 418 + 1197 418 + 1198 418 + 1199 418 + 1200 418 + 1201 418 + 1202 418 + 1203 418 + 1204 418 + 1205 418 + 1699 418 + 1700 418 + 1701 418 + 1702 418 + 1703 418 + 1704 418 + 1705 418 + 1706 418 + 1965 418 + 1966 418 + 1967 418 + 1968 418 + 1969 418 + 1970 418 + 1971 418 + 1972 418 + 1973 418 + 2467 418 + 2468 418 + 2469 418 + 2470 418 + 2471 418 + 2472 418 + 2473 418 + 2474 418 + 2733 418 + 2734 418 + 2735 418 + 2736 418 + 2737 418 + 2738 418 + 2739 418 + 2740 418 + 2741 418 + 166 419 + 167 419 + 168 419 + 169 419 + 170 419 + 171 419 + 172 419 + 173 419 + 174 419 + 426 419 + 427 419 + 428 419 + 429 419 + 430 419 + 431 419 + 432 419 + 433 419 + 934 419 + 935 419 + 936 419 + 937 419 + 938 419 + 939 419 + 940 419 + 941 419 + 942 419 + 1194 419 + 1195 419 + 1196 419 + 1197 419 + 1198 419 + 1199 419 + 1200 419 + 1201 419 + 1702 419 + 1703 419 + 1704 419 + 1705 419 + 1706 419 + 1707 419 + 1708 419 + 1709 419 + 1710 419 + 1962 419 + 1963 419 + 1964 419 + 1965 419 + 1966 419 + 1967 419 + 1968 419 + 1969 419 + 2470 419 + 2471 419 + 2472 419 + 2473 419 + 2474 419 + 2475 419 + 2476 419 + 2477 419 + 2478 419 + 2730 419 + 2731 419 + 2732 419 + 2733 419 + 2734 419 + 2735 419 + 2736 419 + 2737 419 + 170 420 + 171 420 + 172 420 + 173 420 + 174 420 + 175 420 + 176 420 + 177 420 + 422 420 + 423 420 + 424 420 + 425 420 + 426 420 + 427 420 + 428 420 + 429 420 + 938 420 + 939 420 + 940 420 + 941 420 + 942 420 + 943 420 + 944 420 + 945 420 + 1190 420 + 1191 420 + 1192 420 + 1193 420 + 1194 420 + 1195 420 + 1196 420 + 1197 420 + 1706 420 + 1707 420 + 1708 420 + 1709 420 + 1710 420 + 1711 420 + 1712 420 + 1713 420 + 1958 420 + 1959 420 + 1960 420 + 1961 420 + 1962 420 + 1963 420 + 1964 420 + 1965 420 + 2474 420 + 2475 420 + 2476 420 + 2477 420 + 2478 420 + 2479 420 + 2480 420 + 2481 420 + 2726 420 + 2727 420 + 2728 420 + 2729 420 + 2730 420 + 2731 420 + 2732 420 + 2733 420 + 173 421 + 174 421 + 175 421 + 176 421 + 177 421 + 178 421 + 179 421 + 180 421 + 181 421 + 419 421 + 420 421 + 421 421 + 422 421 + 423 421 + 424 421 + 425 421 + 426 421 + 941 421 + 942 421 + 943 421 + 944 421 + 945 421 + 946 421 + 947 421 + 948 421 + 949 421 + 1187 421 + 1188 421 + 1189 421 + 1190 421 + 1191 421 + 1192 421 + 1193 421 + 1194 421 + 1709 421 + 1710 421 + 1711 421 + 1712 421 + 1713 421 + 1714 421 + 1715 421 + 1716 421 + 1717 421 + 1955 421 + 1956 421 + 1957 421 + 1958 421 + 1959 421 + 1960 421 + 1961 421 + 1962 421 + 2477 421 + 2478 421 + 2479 421 + 2480 421 + 2481 421 + 2482 421 + 2483 421 + 2484 421 + 2485 421 + 2723 421 + 2724 421 + 2725 421 + 2726 421 + 2727 421 + 2728 421 + 2729 421 + 2730 421 + 177 422 + 178 422 + 179 422 + 180 422 + 181 422 + 182 422 + 183 422 + 184 422 + 415 422 + 416 422 + 417 422 + 418 422 + 419 422 + 420 422 + 421 422 + 422 422 + 423 422 + 945 422 + 946 422 + 947 422 + 948 422 + 949 422 + 950 422 + 951 422 + 952 422 + 1183 422 + 1184 422 + 1185 422 + 1186 422 + 1187 422 + 1188 422 + 1189 422 + 1190 422 + 1191 422 + 1713 422 + 1714 422 + 1715 422 + 1716 422 + 1717 422 + 1718 422 + 1719 422 + 1720 422 + 1951 422 + 1952 422 + 1953 422 + 1954 422 + 1955 422 + 1956 422 + 1957 422 + 1958 422 + 1959 422 + 2481 422 + 2482 422 + 2483 422 + 2484 422 + 2485 422 + 2486 422 + 2487 422 + 2488 422 + 2719 422 + 2720 422 + 2721 422 + 2722 422 + 2723 422 + 2724 422 + 2725 422 + 2726 422 + 2727 422 + 180 423 + 181 423 + 182 423 + 183 423 + 184 423 + 185 423 + 186 423 + 187 423 + 412 423 + 413 423 + 414 423 + 415 423 + 416 423 + 417 423 + 418 423 + 419 423 + 948 423 + 949 423 + 950 423 + 951 423 + 952 423 + 953 423 + 954 423 + 955 423 + 1180 423 + 1181 423 + 1182 423 + 1183 423 + 1184 423 + 1185 423 + 1186 423 + 1187 423 + 1716 423 + 1717 423 + 1718 423 + 1719 423 + 1720 423 + 1721 423 + 1722 423 + 1723 423 + 1948 423 + 1949 423 + 1950 423 + 1951 423 + 1952 423 + 1953 423 + 1954 423 + 1955 423 + 2484 423 + 2485 423 + 2486 423 + 2487 423 + 2488 423 + 2489 423 + 2490 423 + 2491 423 + 2716 423 + 2717 423 + 2718 423 + 2719 423 + 2720 423 + 2721 423 + 2722 423 + 2723 423 + 183 424 + 184 424 + 185 424 + 186 424 + 187 424 + 188 424 + 189 424 + 190 424 + 191 424 + 409 424 + 410 424 + 411 424 + 412 424 + 413 424 + 414 424 + 415 424 + 416 424 + 951 424 + 952 424 + 953 424 + 954 424 + 955 424 + 956 424 + 957 424 + 958 424 + 959 424 + 1177 424 + 1178 424 + 1179 424 + 1180 424 + 1181 424 + 1182 424 + 1183 424 + 1184 424 + 1719 424 + 1720 424 + 1721 424 + 1722 424 + 1723 424 + 1724 424 + 1725 424 + 1726 424 + 1727 424 + 1945 424 + 1946 424 + 1947 424 + 1948 424 + 1949 424 + 1950 424 + 1951 424 + 1952 424 + 2487 424 + 2488 424 + 2489 424 + 2490 424 + 2491 424 + 2492 424 + 2493 424 + 2494 424 + 2495 424 + 2713 424 + 2714 424 + 2715 424 + 2716 424 + 2717 424 + 2718 424 + 2719 424 + 2720 424 + 187 425 + 188 425 + 189 425 + 190 425 + 191 425 + 192 425 + 193 425 + 194 425 + 405 425 + 406 425 + 407 425 + 408 425 + 409 425 + 410 425 + 411 425 + 412 425 + 413 425 + 955 425 + 956 425 + 957 425 + 958 425 + 959 425 + 960 425 + 961 425 + 962 425 + 1173 425 + 1174 425 + 1175 425 + 1176 425 + 1177 425 + 1178 425 + 1179 425 + 1180 425 + 1181 425 + 1723 425 + 1724 425 + 1725 425 + 1726 425 + 1727 425 + 1728 425 + 1729 425 + 1730 425 + 1941 425 + 1942 425 + 1943 425 + 1944 425 + 1945 425 + 1946 425 + 1947 425 + 1948 425 + 1949 425 + 2491 425 + 2492 425 + 2493 425 + 2494 425 + 2495 425 + 2496 425 + 2497 425 + 2498 425 + 2709 425 + 2710 425 + 2711 425 + 2712 425 + 2713 425 + 2714 425 + 2715 425 + 2716 425 + 2717 425 + 190 426 + 191 426 + 192 426 + 193 426 + 194 426 + 195 426 + 196 426 + 197 426 + 403 426 + 404 426 + 405 426 + 406 426 + 407 426 + 408 426 + 409 426 + 958 426 + 959 426 + 960 426 + 961 426 + 962 426 + 963 426 + 964 426 + 965 426 + 1171 426 + 1172 426 + 1173 426 + 1174 426 + 1175 426 + 1176 426 + 1177 426 + 1726 426 + 1727 426 + 1728 426 + 1729 426 + 1730 426 + 1731 426 + 1732 426 + 1733 426 + 1939 426 + 1940 426 + 1941 426 + 1942 426 + 1943 426 + 1944 426 + 1945 426 + 2494 426 + 2495 426 + 2496 426 + 2497 426 + 2498 426 + 2499 426 + 2500 426 + 2501 426 + 2707 426 + 2708 426 + 2709 426 + 2710 426 + 2711 426 + 2712 426 + 2713 426 + 193 427 + 194 427 + 195 427 + 196 427 + 197 427 + 198 427 + 199 427 + 200 427 + 399 427 + 400 427 + 401 427 + 402 427 + 403 427 + 404 427 + 405 427 + 406 427 + 961 427 + 962 427 + 963 427 + 964 427 + 965 427 + 966 427 + 967 427 + 968 427 + 1167 427 + 1168 427 + 1169 427 + 1170 427 + 1171 427 + 1172 427 + 1173 427 + 1174 427 + 1729 427 + 1730 427 + 1731 427 + 1732 427 + 1733 427 + 1734 427 + 1735 427 + 1736 427 + 1935 427 + 1936 427 + 1937 427 + 1938 427 + 1939 427 + 1940 427 + 1941 427 + 1942 427 + 2497 427 + 2498 427 + 2499 427 + 2500 427 + 2501 427 + 2502 427 + 2503 427 + 2504 427 + 2703 427 + 2704 427 + 2705 427 + 2706 427 + 2707 427 + 2708 427 + 2709 427 + 2710 427 + 196 428 + 197 428 + 198 428 + 199 428 + 200 428 + 201 428 + 202 428 + 203 428 + 396 428 + 397 428 + 398 428 + 399 428 + 400 428 + 401 428 + 402 428 + 403 428 + 964 428 + 965 428 + 966 428 + 967 428 + 968 428 + 969 428 + 970 428 + 971 428 + 1164 428 + 1165 428 + 1166 428 + 1167 428 + 1168 428 + 1169 428 + 1170 428 + 1171 428 + 1732 428 + 1733 428 + 1734 428 + 1735 428 + 1736 428 + 1737 428 + 1738 428 + 1739 428 + 1932 428 + 1933 428 + 1934 428 + 1935 428 + 1936 428 + 1937 428 + 1938 428 + 1939 428 + 2500 428 + 2501 428 + 2502 428 + 2503 428 + 2504 428 + 2505 428 + 2506 428 + 2507 428 + 2700 428 + 2701 428 + 2702 428 + 2703 428 + 2704 428 + 2705 428 + 2706 428 + 2707 428 + 200 429 + 201 429 + 202 429 + 203 429 + 204 429 + 205 429 + 206 429 + 393 429 + 394 429 + 395 429 + 396 429 + 397 429 + 398 429 + 399 429 + 400 429 + 968 429 + 969 429 + 970 429 + 971 429 + 972 429 + 973 429 + 974 429 + 1161 429 + 1162 429 + 1163 429 + 1164 429 + 1165 429 + 1166 429 + 1167 429 + 1168 429 + 1736 429 + 1737 429 + 1738 429 + 1739 429 + 1740 429 + 1741 429 + 1742 429 + 1929 429 + 1930 429 + 1931 429 + 1932 429 + 1933 429 + 1934 429 + 1935 429 + 1936 429 + 2504 429 + 2505 429 + 2506 429 + 2507 429 + 2508 429 + 2509 429 + 2510 429 + 2697 429 + 2698 429 + 2699 429 + 2700 429 + 2701 429 + 2702 429 + 2703 429 + 2704 429 + 203 430 + 204 430 + 205 430 + 206 430 + 207 430 + 208 430 + 209 430 + 390 430 + 391 430 + 392 430 + 393 430 + 394 430 + 395 430 + 396 430 + 397 430 + 971 430 + 972 430 + 973 430 + 974 430 + 975 430 + 976 430 + 977 430 + 1158 430 + 1159 430 + 1160 430 + 1161 430 + 1162 430 + 1163 430 + 1164 430 + 1165 430 + 1739 430 + 1740 430 + 1741 430 + 1742 430 + 1743 430 + 1744 430 + 1745 430 + 1926 430 + 1927 430 + 1928 430 + 1929 430 + 1930 430 + 1931 430 + 1932 430 + 1933 430 + 2507 430 + 2508 430 + 2509 430 + 2510 430 + 2511 430 + 2512 430 + 2513 430 + 2694 430 + 2695 430 + 2696 430 + 2697 430 + 2698 430 + 2699 430 + 2700 430 + 2701 430 + 206 431 + 207 431 + 208 431 + 209 431 + 210 431 + 211 431 + 212 431 + 387 431 + 388 431 + 389 431 + 390 431 + 391 431 + 392 431 + 393 431 + 394 431 + 974 431 + 975 431 + 976 431 + 977 431 + 978 431 + 979 431 + 980 431 + 1155 431 + 1156 431 + 1157 431 + 1158 431 + 1159 431 + 1160 431 + 1161 431 + 1162 431 + 1742 431 + 1743 431 + 1744 431 + 1745 431 + 1746 431 + 1747 431 + 1748 431 + 1923 431 + 1924 431 + 1925 431 + 1926 431 + 1927 431 + 1928 431 + 1929 431 + 1930 431 + 2510 431 + 2511 431 + 2512 431 + 2513 431 + 2514 431 + 2515 431 + 2516 431 + 2691 431 + 2692 431 + 2693 431 + 2694 431 + 2695 431 + 2696 431 + 2697 431 + 2698 431 + 209 432 + 210 432 + 211 432 + 212 432 + 213 432 + 214 432 + 215 432 + 384 432 + 385 432 + 386 432 + 387 432 + 388 432 + 389 432 + 390 432 + 977 432 + 978 432 + 979 432 + 980 432 + 981 432 + 982 432 + 983 432 + 1152 432 + 1153 432 + 1154 432 + 1155 432 + 1156 432 + 1157 432 + 1158 432 + 1745 432 + 1746 432 + 1747 432 + 1748 432 + 1749 432 + 1750 432 + 1751 432 + 1920 432 + 1921 432 + 1922 432 + 1923 432 + 1924 432 + 1925 432 + 1926 432 + 2513 432 + 2514 432 + 2515 432 + 2516 432 + 2517 432 + 2518 432 + 2519 432 + 2688 432 + 2689 432 + 2690 432 + 2691 432 + 2692 432 + 2693 432 + 2694 432 + 212 433 + 213 433 + 214 433 + 215 433 + 216 433 + 217 433 + 218 433 + 382 433 + 383 433 + 384 433 + 385 433 + 386 433 + 387 433 + 388 433 + 980 433 + 981 433 + 982 433 + 983 433 + 984 433 + 985 433 + 986 433 + 1150 433 + 1151 433 + 1152 433 + 1153 433 + 1154 433 + 1155 433 + 1156 433 + 1748 433 + 1749 433 + 1750 433 + 1751 433 + 1752 433 + 1753 433 + 1754 433 + 1918 433 + 1919 433 + 1920 433 + 1921 433 + 1922 433 + 1923 433 + 1924 433 + 2516 433 + 2517 433 + 2518 433 + 2519 433 + 2520 433 + 2521 433 + 2522 433 + 2686 433 + 2687 433 + 2688 433 + 2689 433 + 2690 433 + 2691 433 + 2692 433 + 214 434 + 215 434 + 216 434 + 217 434 + 218 434 + 219 434 + 220 434 + 221 434 + 378 434 + 379 434 + 380 434 + 381 434 + 382 434 + 383 434 + 384 434 + 385 434 + 982 434 + 983 434 + 984 434 + 985 434 + 986 434 + 987 434 + 988 434 + 989 434 + 1146 434 + 1147 434 + 1148 434 + 1149 434 + 1150 434 + 1151 434 + 1152 434 + 1153 434 + 1750 434 + 1751 434 + 1752 434 + 1753 434 + 1754 434 + 1755 434 + 1756 434 + 1757 434 + 1914 434 + 1915 434 + 1916 434 + 1917 434 + 1918 434 + 1919 434 + 1920 434 + 1921 434 + 2518 434 + 2519 434 + 2520 434 + 2521 434 + 2522 434 + 2523 434 + 2524 434 + 2525 434 + 2682 434 + 2683 434 + 2684 434 + 2685 434 + 2686 434 + 2687 434 + 2688 434 + 2689 434 + 217 435 + 218 435 + 219 435 + 220 435 + 221 435 + 222 435 + 223 435 + 224 435 + 376 435 + 377 435 + 378 435 + 379 435 + 380 435 + 381 435 + 382 435 + 985 435 + 986 435 + 987 435 + 988 435 + 989 435 + 990 435 + 991 435 + 992 435 + 1144 435 + 1145 435 + 1146 435 + 1147 435 + 1148 435 + 1149 435 + 1150 435 + 1753 435 + 1754 435 + 1755 435 + 1756 435 + 1757 435 + 1758 435 + 1759 435 + 1760 435 + 1912 435 + 1913 435 + 1914 435 + 1915 435 + 1916 435 + 1917 435 + 1918 435 + 2521 435 + 2522 435 + 2523 435 + 2524 435 + 2525 435 + 2526 435 + 2527 435 + 2528 435 + 2680 435 + 2681 435 + 2682 435 + 2683 435 + 2684 435 + 2685 435 + 2686 435 + 220 436 + 221 436 + 222 436 + 223 436 + 224 436 + 225 436 + 226 436 + 373 436 + 374 436 + 375 436 + 376 436 + 377 436 + 378 436 + 379 436 + 988 436 + 989 436 + 990 436 + 991 436 + 992 436 + 993 436 + 994 436 + 1141 436 + 1142 436 + 1143 436 + 1144 436 + 1145 436 + 1146 436 + 1147 436 + 1756 436 + 1757 436 + 1758 436 + 1759 436 + 1760 436 + 1761 436 + 1762 436 + 1909 436 + 1910 436 + 1911 436 + 1912 436 + 1913 436 + 1914 436 + 1915 436 + 2524 436 + 2525 436 + 2526 436 + 2527 436 + 2528 436 + 2529 436 + 2530 436 + 2677 436 + 2678 436 + 2679 436 + 2680 436 + 2681 436 + 2682 436 + 2683 436 + 223 437 + 224 437 + 225 437 + 226 437 + 227 437 + 228 437 + 229 437 + 370 437 + 371 437 + 372 437 + 373 437 + 374 437 + 375 437 + 376 437 + 991 437 + 992 437 + 993 437 + 994 437 + 995 437 + 996 437 + 997 437 + 1138 437 + 1139 437 + 1140 437 + 1141 437 + 1142 437 + 1143 437 + 1144 437 + 1759 437 + 1760 437 + 1761 437 + 1762 437 + 1763 437 + 1764 437 + 1765 437 + 1906 437 + 1907 437 + 1908 437 + 1909 437 + 1910 437 + 1911 437 + 1912 437 + 2527 437 + 2528 437 + 2529 437 + 2530 437 + 2531 437 + 2532 437 + 2533 437 + 2674 437 + 2675 437 + 2676 437 + 2677 437 + 2678 437 + 2679 437 + 2680 437 + 226 438 + 227 438 + 228 438 + 229 438 + 230 438 + 231 438 + 232 438 + 367 438 + 368 438 + 369 438 + 370 438 + 371 438 + 372 438 + 373 438 + 994 438 + 995 438 + 996 438 + 997 438 + 998 438 + 999 438 + 1000 438 + 1135 438 + 1136 438 + 1137 438 + 1138 438 + 1139 438 + 1140 438 + 1141 438 + 1762 438 + 1763 438 + 1764 438 + 1765 438 + 1766 438 + 1767 438 + 1768 438 + 1903 438 + 1904 438 + 1905 438 + 1906 438 + 1907 438 + 1908 438 + 1909 438 + 2530 438 + 2531 438 + 2532 438 + 2533 438 + 2534 438 + 2535 438 + 2536 438 + 2671 438 + 2672 438 + 2673 438 + 2674 438 + 2675 438 + 2676 438 + 2677 438 + 229 439 + 230 439 + 231 439 + 232 439 + 233 439 + 234 439 + 235 439 + 365 439 + 366 439 + 367 439 + 368 439 + 369 439 + 370 439 + 371 439 + 997 439 + 998 439 + 999 439 + 1000 439 + 1001 439 + 1002 439 + 1003 439 + 1133 439 + 1134 439 + 1135 439 + 1136 439 + 1137 439 + 1138 439 + 1139 439 + 1765 439 + 1766 439 + 1767 439 + 1768 439 + 1769 439 + 1770 439 + 1771 439 + 1901 439 + 1902 439 + 1903 439 + 1904 439 + 1905 439 + 1906 439 + 1907 439 + 2533 439 + 2534 439 + 2535 439 + 2536 439 + 2537 439 + 2538 439 + 2539 439 + 2669 439 + 2670 439 + 2671 439 + 2672 439 + 2673 439 + 2674 439 + 2675 439 + 231 440 + 232 440 + 233 440 + 234 440 + 235 440 + 236 440 + 237 440 + 362 440 + 363 440 + 364 440 + 365 440 + 366 440 + 367 440 + 368 440 + 999 440 + 1000 440 + 1001 440 + 1002 440 + 1003 440 + 1004 440 + 1005 440 + 1130 440 + 1131 440 + 1132 440 + 1133 440 + 1134 440 + 1135 440 + 1136 440 + 1767 440 + 1768 440 + 1769 440 + 1770 440 + 1771 440 + 1772 440 + 1773 440 + 1898 440 + 1899 440 + 1900 440 + 1901 440 + 1902 440 + 1903 440 + 1904 440 + 2535 440 + 2536 440 + 2537 440 + 2538 440 + 2539 440 + 2540 440 + 2541 440 + 2666 440 + 2667 440 + 2668 440 + 2669 440 + 2670 440 + 2671 440 + 2672 440 + 234 441 + 235 441 + 236 441 + 237 441 + 238 441 + 239 441 + 240 441 + 359 441 + 360 441 + 361 441 + 362 441 + 363 441 + 364 441 + 365 441 + 1002 441 + 1003 441 + 1004 441 + 1005 441 + 1006 441 + 1007 441 + 1008 441 + 1127 441 + 1128 441 + 1129 441 + 1130 441 + 1131 441 + 1132 441 + 1133 441 + 1770 441 + 1771 441 + 1772 441 + 1773 441 + 1774 441 + 1775 441 + 1776 441 + 1895 441 + 1896 441 + 1897 441 + 1898 441 + 1899 441 + 1900 441 + 1901 441 + 2538 441 + 2539 441 + 2540 441 + 2541 441 + 2542 441 + 2543 441 + 2544 441 + 2663 441 + 2664 441 + 2665 441 + 2666 441 + 2667 441 + 2668 441 + 2669 441 + 237 442 + 238 442 + 239 442 + 240 442 + 241 442 + 242 442 + 243 442 + 357 442 + 358 442 + 359 442 + 360 442 + 361 442 + 362 442 + 363 442 + 1005 442 + 1006 442 + 1007 442 + 1008 442 + 1009 442 + 1010 442 + 1011 442 + 1125 442 + 1126 442 + 1127 442 + 1128 442 + 1129 442 + 1130 442 + 1131 442 + 1773 442 + 1774 442 + 1775 442 + 1776 442 + 1777 442 + 1778 442 + 1779 442 + 1893 442 + 1894 442 + 1895 442 + 1896 442 + 1897 442 + 1898 442 + 1899 442 + 2541 442 + 2542 442 + 2543 442 + 2544 442 + 2545 442 + 2546 442 + 2547 442 + 2661 442 + 2662 442 + 2663 442 + 2664 442 + 2665 442 + 2666 442 + 2667 442 + 240 443 + 241 443 + 242 443 + 243 443 + 244 443 + 245 443 + 354 443 + 355 443 + 356 443 + 357 443 + 358 443 + 359 443 + 360 443 + 1008 443 + 1009 443 + 1010 443 + 1011 443 + 1012 443 + 1013 443 + 1122 443 + 1123 443 + 1124 443 + 1125 443 + 1126 443 + 1127 443 + 1128 443 + 1776 443 + 1777 443 + 1778 443 + 1779 443 + 1780 443 + 1781 443 + 1890 443 + 1891 443 + 1892 443 + 1893 443 + 1894 443 + 1895 443 + 1896 443 + 2544 443 + 2545 443 + 2546 443 + 2547 443 + 2548 443 + 2549 443 + 2658 443 + 2659 443 + 2660 443 + 2661 443 + 2662 443 + 2663 443 + 2664 443 + 242 444 + 243 444 + 244 444 + 245 444 + 246 444 + 247 444 + 248 444 + 352 444 + 353 444 + 354 444 + 355 444 + 356 444 + 357 444 + 1010 444 + 1011 444 + 1012 444 + 1013 444 + 1014 444 + 1015 444 + 1016 444 + 1120 444 + 1121 444 + 1122 444 + 1123 444 + 1124 444 + 1125 444 + 1778 444 + 1779 444 + 1780 444 + 1781 444 + 1782 444 + 1783 444 + 1784 444 + 1888 444 + 1889 444 + 1890 444 + 1891 444 + 1892 444 + 1893 444 + 2546 444 + 2547 444 + 2548 444 + 2549 444 + 2550 444 + 2551 444 + 2552 444 + 2656 444 + 2657 444 + 2658 444 + 2659 444 + 2660 444 + 2661 444 + 244 445 + 245 445 + 246 445 + 247 445 + 248 445 + 249 445 + 250 445 + 349 445 + 350 445 + 351 445 + 352 445 + 353 445 + 354 445 + 355 445 + 1012 445 + 1013 445 + 1014 445 + 1015 445 + 1016 445 + 1017 445 + 1018 445 + 1117 445 + 1118 445 + 1119 445 + 1120 445 + 1121 445 + 1122 445 + 1123 445 + 1780 445 + 1781 445 + 1782 445 + 1783 445 + 1784 445 + 1785 445 + 1786 445 + 1885 445 + 1886 445 + 1887 445 + 1888 445 + 1889 445 + 1890 445 + 1891 445 + 2548 445 + 2549 445 + 2550 445 + 2551 445 + 2552 445 + 2553 445 + 2554 445 + 2653 445 + 2654 445 + 2655 445 + 2656 445 + 2657 445 + 2658 445 + 2659 445 + 247 446 + 248 446 + 249 446 + 250 446 + 251 446 + 252 446 + 253 446 + 346 446 + 347 446 + 348 446 + 349 446 + 350 446 + 351 446 + 352 446 + 1015 446 + 1016 446 + 1017 446 + 1018 446 + 1019 446 + 1020 446 + 1021 446 + 1114 446 + 1115 446 + 1116 446 + 1117 446 + 1118 446 + 1119 446 + 1120 446 + 1783 446 + 1784 446 + 1785 446 + 1786 446 + 1787 446 + 1788 446 + 1789 446 + 1882 446 + 1883 446 + 1884 446 + 1885 446 + 1886 446 + 1887 446 + 1888 446 + 2551 446 + 2552 446 + 2553 446 + 2554 446 + 2555 446 + 2556 446 + 2557 446 + 2650 446 + 2651 446 + 2652 446 + 2653 446 + 2654 446 + 2655 446 + 2656 446 + 250 447 + 251 447 + 252 447 + 253 447 + 254 447 + 255 447 + 344 447 + 345 447 + 346 447 + 347 447 + 348 447 + 349 447 + 350 447 + 1018 447 + 1019 447 + 1020 447 + 1021 447 + 1022 447 + 1023 447 + 1112 447 + 1113 447 + 1114 447 + 1115 447 + 1116 447 + 1117 447 + 1118 447 + 1786 447 + 1787 447 + 1788 447 + 1789 447 + 1790 447 + 1791 447 + 1880 447 + 1881 447 + 1882 447 + 1883 447 + 1884 447 + 1885 447 + 1886 447 + 2554 447 + 2555 447 + 2556 447 + 2557 447 + 2558 447 + 2559 447 + 2648 447 + 2649 447 + 2650 447 + 2651 447 + 2652 447 + 2653 447 + 2654 447 + 252 448 + 253 448 + 254 448 + 255 448 + 256 448 + 257 448 + 258 448 + 341 448 + 342 448 + 343 448 + 344 448 + 345 448 + 346 448 + 347 448 + 1020 448 + 1021 448 + 1022 448 + 1023 448 + 1024 448 + 1025 448 + 1026 448 + 1109 448 + 1110 448 + 1111 448 + 1112 448 + 1113 448 + 1114 448 + 1115 448 + 1788 448 + 1789 448 + 1790 448 + 1791 448 + 1792 448 + 1793 448 + 1794 448 + 1877 448 + 1878 448 + 1879 448 + 1880 448 + 1881 448 + 1882 448 + 1883 448 + 2556 448 + 2557 448 + 2558 448 + 2559 448 + 2560 448 + 2561 448 + 2562 448 + 2645 448 + 2646 448 + 2647 448 + 2648 448 + 2649 448 + 2650 448 + 2651 448 + 255 449 + 256 449 + 257 449 + 258 449 + 259 449 + 260 449 + 339 449 + 340 449 + 341 449 + 342 449 + 343 449 + 344 449 + 345 449 + 1023 449 + 1024 449 + 1025 449 + 1026 449 + 1027 449 + 1028 449 + 1107 449 + 1108 449 + 1109 449 + 1110 449 + 1111 449 + 1112 449 + 1113 449 + 1791 449 + 1792 449 + 1793 449 + 1794 449 + 1795 449 + 1796 449 + 1875 449 + 1876 449 + 1877 449 + 1878 449 + 1879 449 + 1880 449 + 1881 449 + 2559 449 + 2560 449 + 2561 449 + 2562 449 + 2563 449 + 2564 449 + 2643 449 + 2644 449 + 2645 449 + 2646 449 + 2647 449 + 2648 449 + 2649 449 + 257 450 + 258 450 + 259 450 + 260 450 + 261 450 + 262 450 + 263 450 + 337 450 + 338 450 + 339 450 + 340 450 + 341 450 + 342 450 + 1025 450 + 1026 450 + 1027 450 + 1028 450 + 1029 450 + 1030 450 + 1031 450 + 1105 450 + 1106 450 + 1107 450 + 1108 450 + 1109 450 + 1110 450 + 1793 450 + 1794 450 + 1795 450 + 1796 450 + 1797 450 + 1798 450 + 1799 450 + 1873 450 + 1874 450 + 1875 450 + 1876 450 + 1877 450 + 1878 450 + 2561 450 + 2562 450 + 2563 450 + 2564 450 + 2565 450 + 2566 450 + 2567 450 + 2641 450 + 2642 450 + 2643 450 + 2644 450 + 2645 450 + 2646 450 + 259 451 + 260 451 + 261 451 + 262 451 + 263 451 + 264 451 + 265 451 + 334 451 + 335 451 + 336 451 + 337 451 + 338 451 + 339 451 + 340 451 + 1027 451 + 1028 451 + 1029 451 + 1030 451 + 1031 451 + 1032 451 + 1033 451 + 1102 451 + 1103 451 + 1104 451 + 1105 451 + 1106 451 + 1107 451 + 1108 451 + 1795 451 + 1796 451 + 1797 451 + 1798 451 + 1799 451 + 1800 451 + 1801 451 + 1870 451 + 1871 451 + 1872 451 + 1873 451 + 1874 451 + 1875 451 + 1876 451 + 2563 451 + 2564 451 + 2565 451 + 2566 451 + 2567 451 + 2568 451 + 2569 451 + 2638 451 + 2639 451 + 2640 451 + 2641 451 + 2642 451 + 2643 451 + 2644 451 + 262 452 + 263 452 + 264 452 + 265 452 + 266 452 + 267 452 + 332 452 + 333 452 + 334 452 + 335 452 + 336 452 + 337 452 + 1030 452 + 1031 452 + 1032 452 + 1033 452 + 1034 452 + 1035 452 + 1100 452 + 1101 452 + 1102 452 + 1103 452 + 1104 452 + 1105 452 + 1798 452 + 1799 452 + 1800 452 + 1801 452 + 1802 452 + 1803 452 + 1868 452 + 1869 452 + 1870 452 + 1871 452 + 1872 452 + 1873 452 + 2566 452 + 2567 452 + 2568 452 + 2569 452 + 2570 452 + 2571 452 + 2636 452 + 2637 452 + 2638 452 + 2639 452 + 2640 452 + 2641 452 + 265 453 + 266 453 + 267 453 + 268 453 + 269 453 + 270 453 + 329 453 + 330 453 + 331 453 + 332 453 + 333 453 + 334 453 + 335 453 + 1033 453 + 1034 453 + 1035 453 + 1036 453 + 1037 453 + 1038 453 + 1097 453 + 1098 453 + 1099 453 + 1100 453 + 1101 453 + 1102 453 + 1103 453 + 1801 453 + 1802 453 + 1803 453 + 1804 453 + 1805 453 + 1806 453 + 1865 453 + 1866 453 + 1867 453 + 1868 453 + 1869 453 + 1870 453 + 1871 453 + 2569 453 + 2570 453 + 2571 453 + 2572 453 + 2573 453 + 2574 453 + 2633 453 + 2634 453 + 2635 453 + 2636 453 + 2637 453 + 2638 453 + 2639 453 + 267 454 + 268 454 + 269 454 + 270 454 + 271 454 + 272 454 + 327 454 + 328 454 + 329 454 + 330 454 + 331 454 + 332 454 + 1035 454 + 1036 454 + 1037 454 + 1038 454 + 1039 454 + 1040 454 + 1095 454 + 1096 454 + 1097 454 + 1098 454 + 1099 454 + 1100 454 + 1803 454 + 1804 454 + 1805 454 + 1806 454 + 1807 454 + 1808 454 + 1863 454 + 1864 454 + 1865 454 + 1866 454 + 1867 454 + 1868 454 + 2571 454 + 2572 454 + 2573 454 + 2574 454 + 2575 454 + 2576 454 + 2631 454 + 2632 454 + 2633 454 + 2634 454 + 2635 454 + 2636 454 + 269 455 + 270 455 + 271 455 + 272 455 + 273 455 + 274 455 + 325 455 + 326 455 + 327 455 + 328 455 + 329 455 + 330 455 + 1037 455 + 1038 455 + 1039 455 + 1040 455 + 1041 455 + 1042 455 + 1093 455 + 1094 455 + 1095 455 + 1096 455 + 1097 455 + 1098 455 + 1805 455 + 1806 455 + 1807 455 + 1808 455 + 1809 455 + 1810 455 + 1861 455 + 1862 455 + 1863 455 + 1864 455 + 1865 455 + 1866 455 + 2573 455 + 2574 455 + 2575 455 + 2576 455 + 2577 455 + 2578 455 + 2629 455 + 2630 455 + 2631 455 + 2632 455 + 2633 455 + 2634 455 + 272 456 + 273 456 + 274 456 + 275 456 + 276 456 + 277 456 + 322 456 + 323 456 + 324 456 + 325 456 + 326 456 + 327 456 + 328 456 + 1040 456 + 1041 456 + 1042 456 + 1043 456 + 1044 456 + 1045 456 + 1090 456 + 1091 456 + 1092 456 + 1093 456 + 1094 456 + 1095 456 + 1096 456 + 1808 456 + 1809 456 + 1810 456 + 1811 456 + 1812 456 + 1813 456 + 1858 456 + 1859 456 + 1860 456 + 1861 456 + 1862 456 + 1863 456 + 1864 456 + 2576 456 + 2577 456 + 2578 456 + 2579 456 + 2580 456 + 2581 456 + 2626 456 + 2627 456 + 2628 456 + 2629 456 + 2630 456 + 2631 456 + 2632 456 + 274 457 + 275 457 + 276 457 + 277 457 + 278 457 + 279 457 + 320 457 + 321 457 + 322 457 + 323 457 + 324 457 + 325 457 + 326 457 + 1042 457 + 1043 457 + 1044 457 + 1045 457 + 1046 457 + 1047 457 + 1088 457 + 1089 457 + 1090 457 + 1091 457 + 1092 457 + 1093 457 + 1094 457 + 1810 457 + 1811 457 + 1812 457 + 1813 457 + 1814 457 + 1815 457 + 1856 457 + 1857 457 + 1858 457 + 1859 457 + 1860 457 + 1861 457 + 1862 457 + 2578 457 + 2579 457 + 2580 457 + 2581 457 + 2582 457 + 2583 457 + 2624 457 + 2625 457 + 2626 457 + 2627 457 + 2628 457 + 2629 457 + 2630 457 + 276 458 + 277 458 + 278 458 + 279 458 + 280 458 + 281 458 + 318 458 + 319 458 + 320 458 + 321 458 + 322 458 + 323 458 + 1044 458 + 1045 458 + 1046 458 + 1047 458 + 1048 458 + 1049 458 + 1086 458 + 1087 458 + 1088 458 + 1089 458 + 1090 458 + 1091 458 + 1812 458 + 1813 458 + 1814 458 + 1815 458 + 1816 458 + 1817 458 + 1854 458 + 1855 458 + 1856 458 + 1857 458 + 1858 458 + 1859 458 + 2580 458 + 2581 458 + 2582 458 + 2583 458 + 2584 458 + 2585 458 + 2622 458 + 2623 458 + 2624 458 + 2625 458 + 2626 458 + 2627 458 + 279 459 + 280 459 + 281 459 + 282 459 + 283 459 + 284 459 + 316 459 + 317 459 + 318 459 + 319 459 + 320 459 + 321 459 + 1047 459 + 1048 459 + 1049 459 + 1050 459 + 1051 459 + 1052 459 + 1084 459 + 1085 459 + 1086 459 + 1087 459 + 1088 459 + 1089 459 + 1815 459 + 1816 459 + 1817 459 + 1818 459 + 1819 459 + 1820 459 + 1852 459 + 1853 459 + 1854 459 + 1855 459 + 1856 459 + 1857 459 + 2583 459 + 2584 459 + 2585 459 + 2586 459 + 2587 459 + 2588 459 + 2620 459 + 2621 459 + 2622 459 + 2623 459 + 2624 459 + 2625 459 + 281 460 + 282 460 + 283 460 + 284 460 + 285 460 + 286 460 + 313 460 + 314 460 + 315 460 + 316 460 + 317 460 + 318 460 + 319 460 + 1049 460 + 1050 460 + 1051 460 + 1052 460 + 1053 460 + 1054 460 + 1081 460 + 1082 460 + 1083 460 + 1084 460 + 1085 460 + 1086 460 + 1087 460 + 1817 460 + 1818 460 + 1819 460 + 1820 460 + 1821 460 + 1822 460 + 1849 460 + 1850 460 + 1851 460 + 1852 460 + 1853 460 + 1854 460 + 1855 460 + 2585 460 + 2586 460 + 2587 460 + 2588 460 + 2589 460 + 2590 460 + 2617 460 + 2618 460 + 2619 460 + 2620 460 + 2621 460 + 2622 460 + 2623 460 + 283 461 + 284 461 + 285 461 + 286 461 + 287 461 + 288 461 + 311 461 + 312 461 + 313 461 + 314 461 + 315 461 + 316 461 + 1051 461 + 1052 461 + 1053 461 + 1054 461 + 1055 461 + 1056 461 + 1079 461 + 1080 461 + 1081 461 + 1082 461 + 1083 461 + 1084 461 + 1819 461 + 1820 461 + 1821 461 + 1822 461 + 1823 461 + 1824 461 + 1847 461 + 1848 461 + 1849 461 + 1850 461 + 1851 461 + 1852 461 + 2587 461 + 2588 461 + 2589 461 + 2590 461 + 2591 461 + 2592 461 + 2615 461 + 2616 461 + 2617 461 + 2618 461 + 2619 461 + 2620 461 + 285 462 + 286 462 + 287 462 + 288 462 + 289 462 + 290 462 + 309 462 + 310 462 + 311 462 + 312 462 + 313 462 + 314 462 + 1053 462 + 1054 462 + 1055 462 + 1056 462 + 1057 462 + 1058 462 + 1077 462 + 1078 462 + 1079 462 + 1080 462 + 1081 462 + 1082 462 + 1821 462 + 1822 462 + 1823 462 + 1824 462 + 1825 462 + 1826 462 + 1845 462 + 1846 462 + 1847 462 + 1848 462 + 1849 462 + 1850 462 + 2589 462 + 2590 462 + 2591 462 + 2592 462 + 2593 462 + 2594 462 + 2613 462 + 2614 462 + 2615 462 + 2616 462 + 2617 462 + 2618 462 + 287 463 + 288 463 + 289 463 + 290 463 + 291 463 + 292 463 + 293 463 + 307 463 + 308 463 + 309 463 + 310 463 + 311 463 + 312 463 + 1055 463 + 1056 463 + 1057 463 + 1058 463 + 1059 463 + 1060 463 + 1061 463 + 1075 463 + 1076 463 + 1077 463 + 1078 463 + 1079 463 + 1080 463 + 1823 463 + 1824 463 + 1825 463 + 1826 463 + 1827 463 + 1828 463 + 1829 463 + 1843 463 + 1844 463 + 1845 463 + 1846 463 + 1847 463 + 1848 463 + 2591 463 + 2592 463 + 2593 463 + 2594 463 + 2595 463 + 2596 463 + 2597 463 + 2611 463 + 2612 463 + 2613 463 + 2614 463 + 2615 463 + 2616 463 + 290 464 + 291 464 + 292 464 + 293 464 + 294 464 + 295 464 + 305 464 + 306 464 + 307 464 + 308 464 + 309 464 + 310 464 + 1058 464 + 1059 464 + 1060 464 + 1061 464 + 1062 464 + 1063 464 + 1073 464 + 1074 464 + 1075 464 + 1076 464 + 1077 464 + 1078 464 + 1826 464 + 1827 464 + 1828 464 + 1829 464 + 1830 464 + 1831 464 + 1841 464 + 1842 464 + 1843 464 + 1844 464 + 1845 464 + 1846 464 + 2594 464 + 2595 464 + 2596 464 + 2597 464 + 2598 464 + 2599 464 + 2609 464 + 2610 464 + 2611 464 + 2612 464 + 2613 464 + 2614 464 + 292 465 + 293 465 + 294 465 + 295 465 + 296 465 + 297 465 + 303 465 + 304 465 + 305 465 + 306 465 + 307 465 + 1060 465 + 1061 465 + 1062 465 + 1063 465 + 1064 465 + 1065 465 + 1071 465 + 1072 465 + 1073 465 + 1074 465 + 1075 465 + 1828 465 + 1829 465 + 1830 465 + 1831 465 + 1832 465 + 1833 465 + 1839 465 + 1840 465 + 1841 465 + 1842 465 + 1843 465 + 2596 465 + 2597 465 + 2598 465 + 2599 465 + 2600 465 + 2601 465 + 2607 465 + 2608 465 + 2609 465 + 2610 465 + 2611 465 + 294 466 + 295 466 + 296 466 + 297 466 + 298 466 + 299 466 + 300 466 + 301 466 + 302 466 + 303 466 + 304 466 + 305 466 + 1062 466 + 1063 466 + 1064 466 + 1065 466 + 1066 466 + 1067 466 + 1068 466 + 1069 466 + 1070 466 + 1071 466 + 1072 466 + 1073 466 + 1830 466 + 1831 466 + 1832 466 + 1833 466 + 1834 466 + 1835 466 + 1836 466 + 1837 466 + 1838 466 + 1839 466 + 1840 466 + 1841 466 + 2598 466 + 2599 466 + 2600 466 + 2601 466 + 2602 466 + 2603 466 + 2604 466 + 2605 466 + 2606 466 + 2607 466 + 2608 466 + 2609 466 + 296 467 + 297 467 + 298 467 + 299 467 + 300 467 + 301 467 + 302 467 + 303 467 + 1064 467 + 1065 467 + 1066 467 + 1067 467 + 1068 467 + 1069 467 + 1070 467 + 1071 467 + 1832 467 + 1833 467 + 1834 467 + 1835 467 + 1836 467 + 1837 467 + 1838 467 + 1839 467 + 2600 467 + 2601 467 + 2602 467 + 2603 467 + 2604 467 + 2605 467 + 2606 467 + 2607 467 + 298 468 + 299 468 + 300 468 + 301 468 + 1066 468 + 1067 468 + 1068 468 + 1069 468 + 1834 468 + 1835 468 + 1836 468 + 1837 468 + 2602 468 + 2603 468 + 2604 468 + 2605 468 + 299 469 + 300 469 + 1067 469 + 1068 469 + 1835 469 + 1836 469 + 2603 469 + 2604 469 + 299 470 + 300 470 + 1067 470 + 1068 470 + 1835 470 + 1836 470 + 2603 470 + 2604 470 + 299 471 + 300 471 + 1067 471 + 1068 471 + 1835 471 + 1836 471 + 2603 471 + 2604 471 + 299 472 + 300 472 + 1067 472 + 1068 472 + 1835 472 + 1836 472 + 2603 472 + 2604 472 + 299 473 + 300 473 + 1067 473 + 1068 473 + 1835 473 + 1836 473 + 2603 473 + 2604 473 + 299 474 + 300 474 + 1067 474 + 1068 474 + 1835 474 + 1836 474 + 2603 474 + 2604 474 + 299 475 + 300 475 + 1067 475 + 1068 475 + 1835 475 + 1836 475 + 2603 475 + 2604 475 + 299 476 + 300 476 + 1067 476 + 1068 476 + 1835 476 + 1836 476 + 2603 476 + 2604 476 + 299 477 + 300 477 + 1067 477 + 1068 477 + 1835 477 + 1836 477 + 2603 477 + 2604 477 + 299 478 + 300 478 + 1067 478 + 1068 478 + 1835 478 + 1836 478 + 2603 478 + 2604 478 + 299 479 + 300 479 + 1067 479 + 1068 479 + 1835 479 + 1836 479 + 2603 479 + 2604 479 + 299 480 + 300 480 + 1067 480 + 1068 480 + 1835 480 + 1836 480 + 2603 480 + 2604 480 + 299 481 + 300 481 + 1067 481 + 1068 481 + 1835 481 + 1836 481 + 2603 481 + 2604 481 + 299 482 + 300 482 + 1067 482 + 1068 482 + 1835 482 + 1836 482 + 2603 482 + 2604 482 + 299 483 + 300 483 + 1067 483 + 1068 483 + 1835 483 + 1836 483 + 2603 483 + 2604 483 + 299 484 + 300 484 + 1067 484 + 1068 484 + 1835 484 + 1836 484 + 2603 484 + 2604 484 + 299 485 + 300 485 + 1067 485 + 1068 485 + 1835 485 + 1836 485 + 2603 485 + 2604 485 + 299 486 + 300 486 + 1067 486 + 1068 486 + 1835 486 + 1836 486 + 2603 486 + 2604 486 + 299 487 + 300 487 + 1067 487 + 1068 487 + 1835 487 + 1836 487 + 2603 487 + 2604 487 + 299 488 + 300 488 + 1067 488 + 1068 488 + 1835 488 + 1836 488 + 2603 488 + 2604 488 + 299 489 + 300 489 + 1067 489 + 1068 489 + 1835 489 + 1836 489 + 2603 489 + 2604 489 + 299 490 + 300 490 + 1067 490 + 1068 490 + 1835 490 + 1836 490 + 2603 490 + 2604 490 + 299 491 + 300 491 + 1067 491 + 1068 491 + 1835 491 + 1836 491 + 2603 491 + 2604 491 + 299 492 + 300 492 + 1067 492 + 1068 492 + 1835 492 + 1836 492 + 2603 492 + 2604 492 + 299 493 + 300 493 + 1067 493 + 1068 493 + 1835 493 + 1836 493 + 2603 493 + 2604 493 + 299 494 + 300 494 + 1067 494 + 1068 494 + 1835 494 + 1836 494 + 2603 494 + 2604 494 + 299 495 + 300 495 + 1067 495 + 1068 495 + 1835 495 + 1836 495 + 2603 495 + 2604 495 + 299 496 + 300 496 + 1067 496 + 1068 496 + 1835 496 + 1836 496 + 2603 496 + 2604 496 + 299 497 + 300 497 + 1067 497 + 1068 497 + 1835 497 + 1836 497 + 2603 497 + 2604 497 + 299 498 + 300 498 + 1067 498 + 1068 498 + 1835 498 + 1836 498 + 2603 498 + 2604 498 + 299 499 + 300 499 + 1067 499 + 1068 499 + 1835 499 + 1836 499 + 2603 499 + 2604 499 + 299 500 + 300 500 + 1067 500 + 1068 500 + 1835 500 + 1836 500 + 2603 500 + 2604 500 + 299 501 + 300 501 + 1067 501 + 1068 501 + 1835 501 + 1836 501 + 2603 501 + 2604 501 + 299 502 + 300 502 + 1067 502 + 1068 502 + 1835 502 + 1836 502 + 2603 502 + 2604 502 + 299 503 + 300 503 + 1067 503 + 1068 503 + 1835 503 + 1836 503 + 2603 503 + 2604 503 + 299 504 + 300 504 + 1067 504 + 1068 504 + 1835 504 + 1836 504 + 2603 504 + 2604 504 + 299 505 + 300 505 + 1067 505 + 1068 505 + 1835 505 + 1836 505 + 2603 505 + 2604 505 + 299 506 + 300 506 + 1067 506 + 1068 506 + 1835 506 + 1836 506 + 2603 506 + 2604 506 + 299 507 + 300 507 + 1067 507 + 1068 507 + 1835 507 + 1836 507 + 2603 507 + 2604 507 + 299 508 + 300 508 + 1067 508 + 1068 508 + 1835 508 + 1836 508 + 2603 508 + 2604 508 + 299 509 + 300 509 + 1067 509 + 1068 509 + 1835 509 + 1836 509 + 2603 509 + 2604 509 + 299 510 + 300 510 + 1067 510 + 1068 510 + 1835 510 + 1836 510 + 2603 510 + 2604 510 + 299 511 + 300 511 + 1067 511 + 1068 511 + 1835 511 + 1836 511 + 2603 511 + 2604 511 + 299 512 + 300 512 + 1067 512 + 1068 512 + 1835 512 + 1836 512 + 2603 512 + 2604 512 + 299 513 + 300 513 + 1067 513 + 1068 513 + 1835 513 + 1836 513 + 2603 513 + 2604 513 + 299 514 + 300 514 + 1067 514 + 1068 514 + 1835 514 + 1836 514 + 2603 514 + 2604 514 + 299 515 + 300 515 + 1067 515 + 1068 515 + 1835 515 + 1836 515 + 2603 515 + 2604 515 + 299 516 + 300 516 + 1067 516 + 1068 516 + 1835 516 + 1836 516 + 2603 516 + 2604 516 + 299 517 + 300 517 + 1067 517 + 1068 517 + 1835 517 + 1836 517 + 2603 517 + 2604 517 + 299 518 + 300 518 + 1067 518 + 1068 518 + 1835 518 + 1836 518 + 2603 518 + 2604 518 + 299 519 + 300 519 + 1067 519 + 1068 519 + 1835 519 + 1836 519 + 2603 519 + 2604 519 + 299 520 + 300 520 + 1067 520 + 1068 520 + 1835 520 + 1836 520 + 2603 520 + 2604 520 + 299 521 + 300 521 + 1067 521 + 1068 521 + 1835 521 + 1836 521 + 2603 521 + 2604 521 + 299 522 + 300 522 + 1067 522 + 1068 522 + 1835 522 + 1836 522 + 2603 522 + 2604 522 + 299 523 + 300 523 + 1067 523 + 1068 523 + 1835 523 + 1836 523 + 2603 523 + 2604 523 + 299 524 + 300 524 + 1067 524 + 1068 524 + 1835 524 + 1836 524 + 2603 524 + 2604 524 + 299 525 + 300 525 + 1067 525 + 1068 525 + 1835 525 + 1836 525 + 2603 525 + 2604 525 + 299 526 + 300 526 + 1067 526 + 1068 526 + 1835 526 + 1836 526 + 2603 526 + 2604 526 + 299 527 + 300 527 + 1067 527 + 1068 527 + 1835 527 + 1836 527 + 2603 527 + 2604 527 + 299 528 + 300 528 + 1067 528 + 1068 528 + 1835 528 + 1836 528 + 2603 528 + 2604 528 + 299 529 + 300 529 + 1067 529 + 1068 529 + 1835 529 + 1836 529 + 2603 529 + 2604 529 + 299 530 + 300 530 + 1067 530 + 1068 530 + 1835 530 + 1836 530 + 2603 530 + 2604 530 + 299 531 + 300 531 + 1067 531 + 1068 531 + 1835 531 + 1836 531 + 2603 531 + 2604 531 + 299 532 + 300 532 + 1067 532 + 1068 532 + 1835 532 + 1836 532 + 2603 532 + 2604 532 + 299 533 + 300 533 + 1067 533 + 1068 533 + 1835 533 + 1836 533 + 2603 533 + 2604 533 + 299 534 + 300 534 + 1067 534 + 1068 534 + 1835 534 + 1836 534 + 2603 534 + 2604 534 + 299 535 + 300 535 + 1067 535 + 1068 535 + 1835 535 + 1836 535 + 2603 535 + 2604 535 + 299 536 + 300 536 + 1067 536 + 1068 536 + 1835 536 + 1836 536 + 2603 536 + 2604 536 + 299 537 + 300 537 + 1067 537 + 1068 537 + 1835 537 + 1836 537 + 2603 537 + 2604 537 + 299 538 + 300 538 + 1067 538 + 1068 538 + 1835 538 + 1836 538 + 2603 538 + 2604 538 + 299 539 + 300 539 + 1067 539 + 1068 539 + 1835 539 + 1836 539 + 2603 539 + 2604 539 + 299 540 + 300 540 + 1067 540 + 1068 540 + 1835 540 + 1836 540 + 2603 540 + 2604 540 + 299 541 + 300 541 + 1067 541 + 1068 541 + 1835 541 + 1836 541 + 2603 541 + 2604 541 + 299 542 + 300 542 + 1067 542 + 1068 542 + 1835 542 + 1836 542 + 2603 542 + 2604 542 + 299 543 + 300 543 + 1067 543 + 1068 543 + 1835 543 + 1836 543 + 2603 543 + 2604 543 + 299 544 + 300 544 + 1067 544 + 1068 544 + 1835 544 + 1836 544 + 2603 544 + 2604 544 + 299 545 + 300 545 + 1067 545 + 1068 545 + 1835 545 + 1836 545 + 2603 545 + 2604 545 + 299 546 + 300 546 + 1067 546 + 1068 546 + 1835 546 + 1836 546 + 2603 546 + 2604 546 + 299 547 + 300 547 + 1067 547 + 1068 547 + 1835 547 + 1836 547 + 2603 547 + 2604 547 + 299 548 + 300 548 + 1067 548 + 1068 548 + 1835 548 + 1836 548 + 2603 548 + 2604 548 + 299 549 + 300 549 + 1067 549 + 1068 549 + 1835 549 + 1836 549 + 2603 549 + 2604 549 + 299 550 + 300 550 + 1067 550 + 1068 550 + 1835 550 + 1836 550 + 2603 550 + 2604 550 + 299 551 + 300 551 + 1067 551 + 1068 551 + 1835 551 + 1836 551 + 2603 551 + 2604 551 + 299 552 + 300 552 + 1067 552 + 1068 552 + 1835 552 + 1836 552 + 2603 552 + 2604 552 + 299 553 + 300 553 + 1067 553 + 1068 553 + 1835 553 + 1836 553 + 2603 553 + 2604 553 + 299 554 + 300 554 + 1067 554 + 1068 554 + 1835 554 + 1836 554 + 2603 554 + 2604 554 + 299 555 + 300 555 + 1067 555 + 1068 555 + 1835 555 + 1836 555 + 2603 555 + 2604 555 + 299 556 + 300 556 + 1067 556 + 1068 556 + 1835 556 + 1836 556 + 2603 556 + 2604 556 + 299 557 + 300 557 + 1067 557 + 1068 557 + 1835 557 + 1836 557 + 2603 557 + 2604 557 + 299 558 + 300 558 + 1067 558 + 1068 558 + 1835 558 + 1836 558 + 2603 558 + 2604 558 + 299 559 + 300 559 + 1067 559 + 1068 559 + 1835 559 + 1836 559 + 2603 559 + 2604 559 + 299 560 + 300 560 + 1067 560 + 1068 560 + 1835 560 + 1836 560 + 2603 560 + 2604 560 + 299 561 + 300 561 + 1067 561 + 1068 561 + 1835 561 + 1836 561 + 2603 561 + 2604 561 + 299 562 + 300 562 + 1067 562 + 1068 562 + 1835 562 + 1836 562 + 2603 562 + 2604 562 + 299 563 + 300 563 + 1067 563 + 1068 563 + 1835 563 + 1836 563 + 2603 563 + 2604 563 + 299 564 + 300 564 + 1067 564 + 1068 564 + 1835 564 + 1836 564 + 2603 564 + 2604 564 + 299 565 + 300 565 + 1067 565 + 1068 565 + 1835 565 + 1836 565 + 2603 565 + 2604 565 + 299 566 + 300 566 + 1067 566 + 1068 566 + 1835 566 + 1836 566 + 2603 566 + 2604 566 + 299 567 + 300 567 + 1067 567 + 1068 567 + 1835 567 + 1836 567 + 2603 567 + 2604 567 + 299 568 + 300 568 + 1067 568 + 1068 568 + 1835 568 + 1836 568 + 2603 568 + 2604 568 + 299 569 + 300 569 + 1067 569 + 1068 569 + 1835 569 + 1836 569 + 2603 569 + 2604 569 + 299 570 + 300 570 + 1067 570 + 1068 570 + 1835 570 + 1836 570 + 2603 570 + 2604 570 + 299 571 + 300 571 + 1067 571 + 1068 571 + 1835 571 + 1836 571 + 2603 571 + 2604 571 + 299 572 + 300 572 + 1067 572 + 1068 572 + 1835 572 + 1836 572 + 2603 572 + 2604 572 + 299 573 + 300 573 + 1067 573 + 1068 573 + 1835 573 + 1836 573 + 2603 573 + 2604 573 + 299 574 + 300 574 + 1067 574 + 1068 574 + 1835 574 + 1836 574 + 2603 574 + 2604 574 + 299 575 + 300 575 + 1067 575 + 1068 575 + 1835 575 + 1836 575 + 2603 575 + 2604 575 + 299 576 + 300 576 + 1067 576 + 1068 576 + 1835 576 + 1836 576 + 2603 576 + 2604 576 + 299 577 + 300 577 + 1067 577 + 1068 577 + 1835 577 + 1836 577 + 2603 577 + 2604 577 + 299 578 + 300 578 + 1067 578 + 1068 578 + 1835 578 + 1836 578 + 2603 578 + 2604 578 + 299 579 + 300 579 + 1067 579 + 1068 579 + 1835 579 + 1836 579 + 2603 579 + 2604 579 + 299 580 + 300 580 + 1067 580 + 1068 580 + 1835 580 + 1836 580 + 2603 580 + 2604 580 + 299 581 + 300 581 + 1067 581 + 1068 581 + 1835 581 + 1836 581 + 2603 581 + 2604 581 + 299 582 + 300 582 + 1067 582 + 1068 582 + 1835 582 + 1836 582 + 2603 582 + 2604 582 + 299 583 + 300 583 + 1067 583 + 1068 583 + 1835 583 + 1836 583 + 2603 583 + 2604 583 + 299 584 + 300 584 + 1067 584 + 1068 584 + 1835 584 + 1836 584 + 2603 584 + 2604 584 + 299 585 + 300 585 + 1067 585 + 1068 585 + 1835 585 + 1836 585 + 2603 585 + 2604 585 + 299 586 + 300 586 + 1067 586 + 1068 586 + 1835 586 + 1836 586 + 2603 586 + 2604 586 + 299 587 + 300 587 + 1067 587 + 1068 587 + 1835 587 + 1836 587 + 2603 587 + 2604 587 + 299 588 + 300 588 + 1067 588 + 1068 588 + 1835 588 + 1836 588 + 2603 588 + 2604 588 + 299 589 + 300 589 + 1067 589 + 1068 589 + 1835 589 + 1836 589 + 2603 589 + 2604 589 + 299 590 + 300 590 + 1067 590 + 1068 590 + 1835 590 + 1836 590 + 2603 590 + 2604 590 + 299 591 + 300 591 + 1067 591 + 1068 591 + 1835 591 + 1836 591 + 2603 591 + 2604 591 + 299 592 + 300 592 + 1067 592 + 1068 592 + 1835 592 + 1836 592 + 2603 592 + 2604 592 + 299 593 + 300 593 + 1067 593 + 1068 593 + 1835 593 + 1836 593 + 2603 593 + 2604 593 + 299 594 + 300 594 + 1067 594 + 1068 594 + 1835 594 + 1836 594 + 2603 594 + 2604 594 + 299 595 + 300 595 + 1067 595 + 1068 595 + 1835 595 + 1836 595 + 2603 595 + 2604 595 + 299 596 + 300 596 + 1067 596 + 1068 596 + 1835 596 + 1836 596 + 2603 596 + 2604 596 + 299 597 + 300 597 + 1067 597 + 1068 597 + 1835 597 + 1836 597 + 2603 597 + 2604 597 + 299 598 + 300 598 + 1067 598 + 1068 598 + 1835 598 + 1836 598 + 2603 598 + 2604 598 + 299 599 + 300 599 + 1067 599 + 1068 599 + 1835 599 + 1836 599 + 2603 599 + 2604 599 + 299 600 + 300 600 + 1067 600 + 1068 600 + 1835 600 + 1836 600 + 2603 600 + 2604 600 + 299 601 + 300 601 + 1067 601 + 1068 601 + 1835 601 + 1836 601 + 2603 601 + 2604 601 + 299 602 + 300 602 + 1067 602 + 1068 602 + 1835 602 + 1836 602 + 2603 602 + 2604 602 + 299 603 + 300 603 + 1067 603 + 1068 603 + 1835 603 + 1836 603 + 2603 603 + 2604 603 + 299 604 + 300 604 + 1067 604 + 1068 604 + 1835 604 + 1836 604 + 2603 604 + 2604 604 + 299 605 + 300 605 + 1067 605 + 1068 605 + 1835 605 + 1836 605 + 2603 605 + 2604 605 + 299 606 + 300 606 + 1067 606 + 1068 606 + 1835 606 + 1836 606 + 2603 606 + 2604 606 + 299 607 + 300 607 + 1067 607 + 1068 607 + 1835 607 + 1836 607 + 2603 607 + 2604 607 + 299 608 + 300 608 + 1067 608 + 1068 608 + 1835 608 + 1836 608 + 2603 608 + 2604 608 + 299 609 + 300 609 + 1067 609 + 1068 609 + 1835 609 + 1836 609 + 2603 609 + 2604 609 + 299 610 + 300 610 + 1067 610 + 1068 610 + 1835 610 + 1836 610 + 2603 610 + 2604 610 + 299 611 + 300 611 + 1067 611 + 1068 611 + 1835 611 + 1836 611 + 2603 611 + 2604 611 + 299 612 + 300 612 + 1067 612 + 1068 612 + 1835 612 + 1836 612 + 2603 612 + 2604 612 + 299 613 + 300 613 + 1067 613 + 1068 613 + 1835 613 + 1836 613 + 2603 613 + 2604 613 + 299 614 + 300 614 + 1067 614 + 1068 614 + 1835 614 + 1836 614 + 2603 614 + 2604 614 + 299 615 + 300 615 + 1067 615 + 1068 615 + 1835 615 + 1836 615 + 2603 615 + 2604 615 + 299 616 + 300 616 + 1067 616 + 1068 616 + 1835 616 + 1836 616 + 2603 616 + 2604 616 + 299 617 + 300 617 + 1067 617 + 1068 617 + 1835 617 + 1836 617 + 2603 617 + 2604 617 + 299 618 + 300 618 + 1067 618 + 1068 618 + 1835 618 + 1836 618 + 2603 618 + 2604 618 + 299 619 + 300 619 + 1067 619 + 1068 619 + 1835 619 + 1836 619 + 2603 619 + 2604 619 + 299 620 + 300 620 + 1067 620 + 1068 620 + 1835 620 + 1836 620 + 2603 620 + 2604 620 + 299 621 + 300 621 + 1067 621 + 1068 621 + 1835 621 + 1836 621 + 2603 621 + 2604 621 + 299 622 + 300 622 + 1067 622 + 1068 622 + 1835 622 + 1836 622 + 2603 622 + 2604 622 + 299 623 + 300 623 + 1067 623 + 1068 623 + 1835 623 + 1836 623 + 2603 623 + 2604 623 + 299 624 + 300 624 + 1067 624 + 1068 624 + 1835 624 + 1836 624 + 2603 624 + 2604 624 + 299 625 + 300 625 + 1067 625 + 1068 625 + 1835 625 + 1836 625 + 2603 625 + 2604 625 + 299 626 + 300 626 + 1067 626 + 1068 626 + 1835 626 + 1836 626 + 2603 626 + 2604 626 + 299 627 + 300 627 + 1067 627 + 1068 627 + 1835 627 + 1836 627 + 2603 627 + 2604 627 + 299 628 + 300 628 + 1067 628 + 1068 628 + 1835 628 + 1836 628 + 2603 628 + 2604 628 + 299 629 + 300 629 + 1067 629 + 1068 629 + 1835 629 + 1836 629 + 2603 629 + 2604 629 + 299 630 + 300 630 + 1067 630 + 1068 630 + 1835 630 + 1836 630 + 2603 630 + 2604 630 + 299 631 + 300 631 + 1067 631 + 1068 631 + 1835 631 + 1836 631 + 2603 631 + 2604 631 + 299 632 + 300 632 + 1067 632 + 1068 632 + 1835 632 + 1836 632 + 2603 632 + 2604 632 + 299 633 + 300 633 + 1067 633 + 1068 633 + 1835 633 + 1836 633 + 2603 633 + 2604 633 + 299 634 + 300 634 + 1067 634 + 1068 634 + 1835 634 + 1836 634 + 2603 634 + 2604 634 + 299 635 + 300 635 + 1067 635 + 1068 635 + 1835 635 + 1836 635 + 2603 635 + 2604 635 + 299 636 + 300 636 + 1067 636 + 1068 636 + 1835 636 + 1836 636 + 2603 636 + 2604 636 + 299 637 + 300 637 + 1067 637 + 1068 637 + 1835 637 + 1836 637 + 2603 637 + 2604 637 + 299 638 + 300 638 + 1067 638 + 1068 638 + 1835 638 + 1836 638 + 2603 638 + 2604 638 + 299 639 + 300 639 + 1067 639 + 1068 639 + 1835 639 + 1836 639 + 2603 639 + 2604 639 + 299 640 + 300 640 + 1067 640 + 1068 640 + 1835 640 + 1836 640 + 2603 640 + 2604 640 + 299 641 + 300 641 + 1067 641 + 1068 641 + 1835 641 + 1836 641 + 2603 641 + 2604 641 + 299 642 + 300 642 + 1067 642 + 1068 642 + 1835 642 + 1836 642 + 2603 642 + 2604 642 + 299 643 + 300 643 + 1067 643 + 1068 643 + 1835 643 + 1836 643 + 2603 643 + 2604 643 + 299 644 + 300 644 + 1067 644 + 1068 644 + 1835 644 + 1836 644 + 2603 644 + 2604 644 + 299 645 + 300 645 + 1067 645 + 1068 645 + 1835 645 + 1836 645 + 2603 645 + 2604 645 + 299 646 + 300 646 + 1067 646 + 1068 646 + 1835 646 + 1836 646 + 2603 646 + 2604 646 + 299 647 + 300 647 + 1067 647 + 1068 647 + 1835 647 + 1836 647 + 2603 647 + 2604 647 + 299 648 + 300 648 + 1067 648 + 1068 648 + 1835 648 + 1836 648 + 2603 648 + 2604 648 + 299 649 + 300 649 + 1067 649 + 1068 649 + 1835 649 + 1836 649 + 2603 649 + 2604 649 + 299 650 + 300 650 + 1067 650 + 1068 650 + 1835 650 + 1836 650 + 2603 650 + 2604 650 + 299 651 + 300 651 + 1067 651 + 1068 651 + 1835 651 + 1836 651 + 2603 651 + 2604 651 + 299 652 + 300 652 + 1067 652 + 1068 652 + 1835 652 + 1836 652 + 2603 652 + 2604 652 + 299 653 + 300 653 + 1067 653 + 1068 653 + 1835 653 + 1836 653 + 2603 653 + 2604 653 + 299 654 + 300 654 + 1067 654 + 1068 654 + 1835 654 + 1836 654 + 2603 654 + 2604 654 + 299 655 + 300 655 + 1067 655 + 1068 655 + 1835 655 + 1836 655 + 2603 655 + 2604 655 + 299 656 + 300 656 + 1067 656 + 1068 656 + 1835 656 + 1836 656 + 2603 656 + 2604 656 + 299 657 + 300 657 + 1067 657 + 1068 657 + 1835 657 + 1836 657 + 2603 657 + 2604 657 + 299 658 + 300 658 + 1067 658 + 1068 658 + 1835 658 + 1836 658 + 2603 658 + 2604 658 + 299 659 + 300 659 + 1067 659 + 1068 659 + 1835 659 + 1836 659 + 2603 659 + 2604 659 + 299 660 + 300 660 + 1067 660 + 1068 660 + 1835 660 + 1836 660 + 2603 660 + 2604 660 + 299 661 + 300 661 + 1067 661 + 1068 661 + 1835 661 + 1836 661 + 2603 661 + 2604 661 + 299 662 + 300 662 + 1067 662 + 1068 662 + 1835 662 + 1836 662 + 2603 662 + 2604 662 + 299 663 + 300 663 + 1067 663 + 1068 663 + 1835 663 + 1836 663 + 2603 663 + 2604 663 + 299 664 + 300 664 + 1067 664 + 1068 664 + 1835 664 + 1836 664 + 2603 664 + 2604 664 + 299 665 + 300 665 + 1067 665 + 1068 665 + 1835 665 + 1836 665 + 2603 665 + 2604 665 + 299 666 + 300 666 + 1067 666 + 1068 666 + 1835 666 + 1836 666 + 2603 666 + 2604 666 + 299 667 + 300 667 + 1067 667 + 1068 667 + 1835 667 + 1836 667 + 2603 667 + 2604 667 + 299 668 + 300 668 + 1067 668 + 1068 668 + 1835 668 + 1836 668 + 2603 668 + 2604 668 + 299 669 + 300 669 + 1067 669 + 1068 669 + 1835 669 + 1836 669 + 2603 669 + 2604 669 + 299 670 + 300 670 + 1067 670 + 1068 670 + 1835 670 + 1836 670 + 2603 670 + 2604 670 + 299 671 + 300 671 + 1067 671 + 1068 671 + 1835 671 + 1836 671 + 2603 671 + 2604 671 + 299 672 + 300 672 + 1067 672 + 1068 672 + 1835 672 + 1836 672 + 2603 672 + 2604 672 + 299 673 + 300 673 + 1067 673 + 1068 673 + 1835 673 + 1836 673 + 2603 673 + 2604 673 + 299 674 + 300 674 + 1067 674 + 1068 674 + 1835 674 + 1836 674 + 2603 674 + 2604 674 + 299 675 + 300 675 + 1067 675 + 1068 675 + 1835 675 + 1836 675 + 2603 675 + 2604 675 + 299 676 + 300 676 + 1067 676 + 1068 676 + 1835 676 + 1836 676 + 2603 676 + 2604 676 + 299 677 + 300 677 + 1067 677 + 1068 677 + 1835 677 + 1836 677 + 2603 677 + 2604 677 + 299 678 + 300 678 + 1067 678 + 1068 678 + 1835 678 + 1836 678 + 2603 678 + 2604 678 + 299 679 + 300 679 + 1067 679 + 1068 679 + 1835 679 + 1836 679 + 2603 679 + 2604 679 + 299 680 + 300 680 + 1067 680 + 1068 680 + 1835 680 + 1836 680 + 2603 680 + 2604 680 + 299 681 + 300 681 + 1067 681 + 1068 681 + 1835 681 + 1836 681 + 2603 681 + 2604 681 + 299 682 + 300 682 + 1067 682 + 1068 682 + 1835 682 + 1836 682 + 2603 682 + 2604 682 + 299 683 + 300 683 + 1067 683 + 1068 683 + 1835 683 + 1836 683 + 2603 683 + 2604 683 + 299 684 + 300 684 + 1067 684 + 1068 684 + 1835 684 + 1836 684 + 2603 684 + 2604 684 + 299 685 + 300 685 + 1067 685 + 1068 685 + 1835 685 + 1836 685 + 2603 685 + 2604 685 + 299 686 + 300 686 + 1067 686 + 1068 686 + 1835 686 + 1836 686 + 2603 686 + 2604 686 + 299 687 + 300 687 + 1067 687 + 1068 687 + 1835 687 + 1836 687 + 2603 687 + 2604 687 + 299 688 + 300 688 + 1067 688 + 1068 688 + 1835 688 + 1836 688 + 2603 688 + 2604 688 + 299 689 + 300 689 + 1067 689 + 1068 689 + 1835 689 + 1836 689 + 2603 689 + 2604 689 + 299 690 + 300 690 + 1067 690 + 1068 690 + 1835 690 + 1836 690 + 2603 690 + 2604 690 + 299 691 + 300 691 + 1067 691 + 1068 691 + 1835 691 + 1836 691 + 2603 691 + 2604 691 + 299 692 + 300 692 + 1067 692 + 1068 692 + 1835 692 + 1836 692 + 2603 692 + 2604 692 + 299 693 + 300 693 + 1067 693 + 1068 693 + 1835 693 + 1836 693 + 2603 693 + 2604 693 + 299 694 + 300 694 + 1067 694 + 1068 694 + 1835 694 + 1836 694 + 2603 694 + 2604 694 + 299 695 + 300 695 + 1067 695 + 1068 695 + 1835 695 + 1836 695 + 2603 695 + 2604 695 + 299 696 + 300 696 + 1067 696 + 1068 696 + 1835 696 + 1836 696 + 2603 696 + 2604 696 + 299 697 + 300 697 + 1067 697 + 1068 697 + 1835 697 + 1836 697 + 2603 697 + 2604 697 + 299 698 + 300 698 + 1067 698 + 1068 698 + 1835 698 + 1836 698 + 2603 698 + 2604 698 + 299 699 + 300 699 + 1067 699 + 1068 699 + 1835 699 + 1836 699 + 2603 699 + 2604 699 + 299 700 + 300 700 + 1067 700 + 1068 700 + 1835 700 + 1836 700 + 2603 700 + 2604 700 + 299 701 + 300 701 + 1067 701 + 1068 701 + 1835 701 + 1836 701 + 2603 701 + 2604 701 + 299 702 + 300 702 + 1067 702 + 1068 702 + 1835 702 + 1836 702 + 2603 702 + 2604 702 + 299 703 + 300 703 + 1067 703 + 1068 703 + 1835 703 + 1836 703 + 2603 703 + 2604 703 + 299 704 + 300 704 + 1067 704 + 1068 704 + 1835 704 + 1836 704 + 2603 704 + 2604 704 + 299 705 + 300 705 + 1067 705 + 1068 705 + 1835 705 + 1836 705 + 2603 705 + 2604 705 + 299 706 + 300 706 + 1067 706 + 1068 706 + 1835 706 + 1836 706 + 2603 706 + 2604 706 + 299 707 + 300 707 + 1067 707 + 1068 707 + 1835 707 + 1836 707 + 2603 707 + 2604 707 + 299 708 + 300 708 + 1067 708 + 1068 708 + 1835 708 + 1836 708 + 2603 708 + 2604 708 + 299 709 + 300 709 + 1067 709 + 1068 709 + 1835 709 + 1836 709 + 2603 709 + 2604 709 + 299 710 + 300 710 + 1067 710 + 1068 710 + 1835 710 + 1836 710 + 2603 710 + 2604 710 + 299 711 + 300 711 + 1067 711 + 1068 711 + 1835 711 + 1836 711 + 2603 711 + 2604 711 + 299 712 + 300 712 + 1067 712 + 1068 712 + 1835 712 + 1836 712 + 2603 712 + 2604 712 + 299 713 + 300 713 + 1067 713 + 1068 713 + 1835 713 + 1836 713 + 2603 713 + 2604 713 + 299 714 + 300 714 + 1067 714 + 1068 714 + 1835 714 + 1836 714 + 2603 714 + 2604 714 + 299 715 + 300 715 + 1067 715 + 1068 715 + 1835 715 + 1836 715 + 2603 715 + 2604 715 + 299 716 + 300 716 + 1067 716 + 1068 716 + 1835 716 + 1836 716 + 2603 716 + 2604 716 + 299 717 + 300 717 + 1067 717 + 1068 717 + 1835 717 + 1836 717 + 2603 717 + 2604 717 + 299 718 + 300 718 + 1067 718 + 1068 718 + 1835 718 + 1836 718 + 2603 718 + 2604 718 + 299 719 + 300 719 + 1067 719 + 1068 719 + 1835 719 + 1836 719 + 2603 719 + 2604 719 + 299 720 + 300 720 + 1067 720 + 1068 720 + 1835 720 + 1836 720 + 2603 720 + 2604 720 + 299 721 + 300 721 + 1067 721 + 1068 721 + 1835 721 + 1836 721 + 2603 721 + 2604 721 + 299 722 + 300 722 + 1067 722 + 1068 722 + 1835 722 + 1836 722 + 2603 722 + 2604 722 + 299 723 + 300 723 + 1067 723 + 1068 723 + 1835 723 + 1836 723 + 2603 723 + 2604 723 + 299 724 + 300 724 + 1067 724 + 1068 724 + 1835 724 + 1836 724 + 2603 724 + 2604 724 + 299 725 + 300 725 + 1067 725 + 1068 725 + 1835 725 + 1836 725 + 2603 725 + 2604 725 + 299 726 + 300 726 + 1067 726 + 1068 726 + 1835 726 + 1836 726 + 2603 726 + 2604 726 + 299 727 + 300 727 + 1067 727 + 1068 727 + 1835 727 + 1836 727 + 2603 727 + 2604 727 + 299 728 + 300 728 + 1067 728 + 1068 728 + 1835 728 + 1836 728 + 2603 728 + 2604 728 + 299 729 + 300 729 + 1067 729 + 1068 729 + 1835 729 + 1836 729 + 2603 729 + 2604 729 + 299 730 + 300 730 + 1067 730 + 1068 730 + 1835 730 + 1836 730 + 2603 730 + 2604 730 + 299 731 + 300 731 + 1067 731 + 1068 731 + 1835 731 + 1836 731 + 2603 731 + 2604 731 + 299 732 + 300 732 + 1067 732 + 1068 732 + 1835 732 + 1836 732 + 2603 732 + 2604 732 + 299 733 + 300 733 + 1067 733 + 1068 733 + 1835 733 + 1836 733 + 2603 733 + 2604 733 + 299 734 + 300 734 + 1067 734 + 1068 734 + 1835 734 + 1836 734 + 2603 734 + 2604 734 + 299 735 + 300 735 + 1067 735 + 1068 735 + 1835 735 + 1836 735 + 2603 735 + 2604 735 + 299 736 + 300 736 + 1067 736 + 1068 736 + 1835 736 + 1836 736 + 2603 736 + 2604 736 + 299 737 + 300 737 + 1067 737 + 1068 737 + 1835 737 + 1836 737 + 2603 737 + 2604 737 + 299 738 + 300 738 + 1067 738 + 1068 738 + 1835 738 + 1836 738 + 2603 738 + 2604 738 + 299 739 + 300 739 + 1067 739 + 1068 739 + 1835 739 + 1836 739 + 2603 739 + 2604 739 + 299 740 + 300 740 + 1067 740 + 1068 740 + 1835 740 + 1836 740 + 2603 740 + 2604 740 + 299 741 + 300 741 + 1067 741 + 1068 741 + 1835 741 + 1836 741 + 2603 741 + 2604 741 + 299 742 + 300 742 + 1067 742 + 1068 742 + 1835 742 + 1836 742 + 2603 742 + 2604 742 + 299 743 + 300 743 + 1067 743 + 1068 743 + 1835 743 + 1836 743 + 2603 743 + 2604 743 + 299 744 + 300 744 + 1067 744 + 1068 744 + 1835 744 + 1836 744 + 2603 744 + 2604 744 + 299 745 + 300 745 + 1067 745 + 1068 745 + 1835 745 + 1836 745 + 2603 745 + 2604 745 + 299 746 + 300 746 + 1067 746 + 1068 746 + 1835 746 + 1836 746 + 2603 746 + 2604 746 + 299 747 + 300 747 + 1067 747 + 1068 747 + 1835 747 + 1836 747 + 2603 747 + 2604 747 + 299 748 + 300 748 + 1067 748 + 1068 748 + 1835 748 + 1836 748 + 2603 748 + 2604 748 + 299 749 + 300 749 + 1067 749 + 1068 749 + 1835 749 + 1836 749 + 2603 749 + 2604 749 + 299 750 + 300 750 + 1067 750 + 1068 750 + 1835 750 + 1836 750 + 2603 750 + 2604 750 + 299 751 + 300 751 + 1067 751 + 1068 751 + 1835 751 + 1836 751 + 2603 751 + 2604 751 + 299 752 + 300 752 + 1067 752 + 1068 752 + 1835 752 + 1836 752 + 2603 752 + 2604 752 + 299 753 + 300 753 + 1067 753 + 1068 753 + 1835 753 + 1836 753 + 2603 753 + 2604 753 + 299 754 + 300 754 + 1067 754 + 1068 754 + 1835 754 + 1836 754 + 2603 754 + 2604 754 + 299 755 + 300 755 + 1067 755 + 1068 755 + 1835 755 + 1836 755 + 2603 755 + 2604 755 + 299 756 + 300 756 + 1067 756 + 1068 756 + 1835 756 + 1836 756 + 2603 756 + 2604 756 + 299 757 + 300 757 + 1067 757 + 1068 757 + 1835 757 + 1836 757 + 2603 757 + 2604 757 + 299 758 + 300 758 + 1067 758 + 1068 758 + 1835 758 + 1836 758 + 2603 758 + 2604 758 + 299 759 + 300 759 + 1067 759 + 1068 759 + 1835 759 + 1836 759 + 2603 759 + 2604 759 + 299 760 + 300 760 + 1067 760 + 1068 760 + 1835 760 + 1836 760 + 2603 760 + 2604 760 + 299 761 + 300 761 + 1067 761 + 1068 761 + 1835 761 + 1836 761 + 2603 761 + 2604 761 + 299 762 + 300 762 + 1067 762 + 1068 762 + 1835 762 + 1836 762 + 2603 762 + 2604 762 + 299 763 + 300 763 + 1067 763 + 1068 763 + 1835 763 + 1836 763 + 2603 763 + 2604 763 + 299 764 + 300 764 + 1067 764 + 1068 764 + 1835 764 + 1836 764 + 2603 764 + 2604 764 + 299 765 + 300 765 + 1067 765 + 1068 765 + 1835 765 + 1836 765 + 2603 765 + 2604 765 + 299 766 + 300 766 + 1067 766 + 1068 766 + 1835 766 + 1836 766 + 2603 766 + 2604 766 + 299 767 + 300 767 + 1067 767 + 1068 767 + 1835 767 + 1836 767 + 2603 767 + 2604 767 + 299 768 + 300 768 + 1067 768 + 1068 768 + 1835 768 + 1836 768 + 2603 768 + 2604 768 + 299 769 + 300 769 + 1067 769 + 1068 769 + 1835 769 + 1836 769 + 2603 769 + 2604 769 + 299 770 + 300 770 + 1067 770 + 1068 770 + 1835 770 + 1836 770 + 2603 770 + 2604 770 + 299 771 + 300 771 + 1067 771 + 1068 771 + 1835 771 + 1836 771 + 2603 771 + 2604 771 + 299 772 + 300 772 + 1067 772 + 1068 772 + 1835 772 + 1836 772 + 2603 772 + 2604 772 + 299 773 + 300 773 + 1067 773 + 1068 773 + 1835 773 + 1836 773 + 2603 773 + 2604 773 + 299 774 + 300 774 + 1067 774 + 1068 774 + 1835 774 + 1836 774 + 2603 774 + 2604 774 + 299 775 + 300 775 + 1067 775 + 1068 775 + 1835 775 + 1836 775 + 2603 775 + 2604 775 + 299 776 + 300 776 + 1067 776 + 1068 776 + 1835 776 + 1836 776 + 2603 776 + 2604 776 + 299 777 + 300 777 + 1067 777 + 1068 777 + 1835 777 + 1836 777 + 2603 777 + 2604 777 + 299 778 + 300 778 + 1067 778 + 1068 778 + 1835 778 + 1836 778 + 2603 778 + 2604 778 + 299 779 + 300 779 + 1067 779 + 1068 779 + 1835 779 + 1836 779 + 2603 779 + 2604 779 + 299 780 + 300 780 + 1067 780 + 1068 780 + 1835 780 + 1836 780 + 2603 780 + 2604 780 + 299 781 + 300 781 + 1067 781 + 1068 781 + 1835 781 + 1836 781 + 2603 781 + 2604 781 + 299 782 + 300 782 + 1067 782 + 1068 782 + 1835 782 + 1836 782 + 2603 782 + 2604 782 + 299 783 + 300 783 + 1067 783 + 1068 783 + 1835 783 + 1836 783 + 2603 783 + 2604 783 + 299 784 + 300 784 + 1067 784 + 1068 784 + 1835 784 + 1836 784 + 2603 784 + 2604 784 + 299 785 + 300 785 + 1067 785 + 1068 785 + 1835 785 + 1836 785 + 2603 785 + 2604 785 + 299 786 + 300 786 + 1067 786 + 1068 786 + 1835 786 + 1836 786 + 2603 786 + 2604 786 + 299 787 + 300 787 + 1067 787 + 1068 787 + 1835 787 + 1836 787 + 2603 787 + 2604 787 + 299 788 + 300 788 + 1067 788 + 1068 788 + 1835 788 + 1836 788 + 2603 788 + 2604 788 + 299 789 + 300 789 + 1067 789 + 1068 789 + 1835 789 + 1836 789 + 2603 789 + 2604 789 + 299 790 + 300 790 + 1067 790 + 1068 790 + 1835 790 + 1836 790 + 2603 790 + 2604 790 + 299 791 + 300 791 + 1067 791 + 1068 791 + 1835 791 + 1836 791 + 2603 791 + 2604 791 + 299 792 + 300 792 + 1067 792 + 1068 792 + 1835 792 + 1836 792 + 2603 792 + 2604 792 + 299 793 + 300 793 + 1067 793 + 1068 793 + 1835 793 + 1836 793 + 2603 793 + 2604 793 + 299 794 + 300 794 + 1067 794 + 1068 794 + 1835 794 + 1836 794 + 2603 794 + 2604 794 + 299 795 + 300 795 + 1067 795 + 1068 795 + 1835 795 + 1836 795 + 2603 795 + 2604 795 + 299 796 + 300 796 + 1067 796 + 1068 796 + 1835 796 + 1836 796 + 2603 796 + 2604 796 + 299 797 + 300 797 + 1067 797 + 1068 797 + 1835 797 + 1836 797 + 2603 797 + 2604 797 + 299 798 + 300 798 + 1067 798 + 1068 798 + 1835 798 + 1836 798 + 2603 798 + 2604 798 + 299 799 + 300 799 + 1067 799 + 1068 799 + 1835 799 + 1836 799 + 2603 799 + 2604 799 + 299 800 + 300 800 + 1067 800 + 1068 800 + 1835 800 + 1836 800 + 2603 800 + 2604 800 + 299 801 + 300 801 + 1067 801 + 1068 801 + 1835 801 + 1836 801 + 2603 801 + 2604 801 + 299 802 + 300 802 + 1067 802 + 1068 802 + 1835 802 + 1836 802 + 2603 802 + 2604 802 + 299 803 + 300 803 + 1067 803 + 1068 803 + 1835 803 + 1836 803 + 2603 803 + 2604 803 + 299 804 + 300 804 + 1067 804 + 1068 804 + 1835 804 + 1836 804 + 2603 804 + 2604 804 + 299 805 + 300 805 + 1067 805 + 1068 805 + 1835 805 + 1836 805 + 2603 805 + 2604 805 + 299 806 + 300 806 + 1067 806 + 1068 806 + 1835 806 + 1836 806 + 2603 806 + 2604 806 + 299 807 + 300 807 + 1067 807 + 1068 807 + 1835 807 + 1836 807 + 2603 807 + 2604 807 + 299 808 + 300 808 + 1067 808 + 1068 808 + 1835 808 + 1836 808 + 2603 808 + 2604 808 + 299 809 + 300 809 + 1067 809 + 1068 809 + 1835 809 + 1836 809 + 2603 809 + 2604 809 + 299 810 + 300 810 + 1067 810 + 1068 810 + 1835 810 + 1836 810 + 2603 810 + 2604 810 + 299 811 + 300 811 + 1067 811 + 1068 811 + 1835 811 + 1836 811 + 2603 811 + 2604 811 + 299 812 + 300 812 + 1067 812 + 1068 812 + 1835 812 + 1836 812 + 2603 812 + 2604 812 + 299 813 + 300 813 + 1067 813 + 1068 813 + 1835 813 + 1836 813 + 2603 813 + 2604 813 + 299 814 + 300 814 + 1067 814 + 1068 814 + 1835 814 + 1836 814 + 2603 814 + 2604 814 + 299 815 + 300 815 + 1067 815 + 1068 815 + 1835 815 + 1836 815 + 2603 815 + 2604 815 + 299 816 + 300 816 + 1067 816 + 1068 816 + 1835 816 + 1836 816 + 2603 816 + 2604 816 + 299 817 + 300 817 + 1067 817 + 1068 817 + 1835 817 + 1836 817 + 2603 817 + 2604 817 + 299 818 + 300 818 + 1067 818 + 1068 818 + 1835 818 + 1836 818 + 2603 818 + 2604 818 + 299 819 + 300 819 + 1067 819 + 1068 819 + 1835 819 + 1836 819 + 2603 819 + 2604 819 + 299 820 + 300 820 + 1067 820 + 1068 820 + 1835 820 + 1836 820 + 2603 820 + 2604 820 + 299 821 + 300 821 + 1067 821 + 1068 821 + 1835 821 + 1836 821 + 2603 821 + 2604 821 + 299 822 + 300 822 + 1067 822 + 1068 822 + 1835 822 + 1836 822 + 2603 822 + 2604 822 + 299 823 + 300 823 + 1067 823 + 1068 823 + 1835 823 + 1836 823 + 2603 823 + 2604 823 + 299 824 + 300 824 + 1067 824 + 1068 824 + 1835 824 + 1836 824 + 2603 824 + 2604 824 + 299 825 + 300 825 + 1067 825 + 1068 825 + 1835 825 + 1836 825 + 2603 825 + 2604 825 + 299 826 + 300 826 + 1067 826 + 1068 826 + 1835 826 + 1836 826 + 2603 826 + 2604 826 + 299 827 + 300 827 + 1067 827 + 1068 827 + 1835 827 + 1836 827 + 2603 827 + 2604 827 + 299 828 + 300 828 + 1067 828 + 1068 828 + 1835 828 + 1836 828 + 2603 828 + 2604 828 + 299 829 + 300 829 + 1067 829 + 1068 829 + 1835 829 + 1836 829 + 2603 829 + 2604 829 + 299 830 + 300 830 + 1067 830 + 1068 830 + 1835 830 + 1836 830 + 2603 830 + 2604 830 + 299 831 + 300 831 + 1067 831 + 1068 831 + 1835 831 + 1836 831 + 2603 831 + 2604 831 + 299 832 + 300 832 + 1067 832 + 1068 832 + 1835 832 + 1836 832 + 2603 832 + 2604 832 + 299 833 + 300 833 + 1067 833 + 1068 833 + 1835 833 + 1836 833 + 2603 833 + 2604 833 + 299 834 + 300 834 + 1067 834 + 1068 834 + 1835 834 + 1836 834 + 2603 834 + 2604 834 + 299 835 + 300 835 + 1067 835 + 1068 835 + 1835 835 + 1836 835 + 2603 835 + 2604 835 + 299 836 + 300 836 + 1067 836 + 1068 836 + 1835 836 + 1836 836 + 2603 836 + 2604 836 + 299 837 + 300 837 + 1067 837 + 1068 837 + 1835 837 + 1836 837 + 2603 837 + 2604 837 + 299 838 + 300 838 + 1067 838 + 1068 838 + 1835 838 + 1836 838 + 2603 838 + 2604 838 + 299 839 + 300 839 + 1067 839 + 1068 839 + 1835 839 + 1836 839 + 2603 839 + 2604 839 + 299 840 + 300 840 + 1067 840 + 1068 840 + 1835 840 + 1836 840 + 2603 840 + 2604 840 + 299 841 + 300 841 + 1067 841 + 1068 841 + 1835 841 + 1836 841 + 2603 841 + 2604 841 + 299 842 + 300 842 + 1067 842 + 1068 842 + 1835 842 + 1836 842 + 2603 842 + 2604 842 + 299 843 + 300 843 + 1067 843 + 1068 843 + 1835 843 + 1836 843 + 2603 843 + 2604 843 + 299 844 + 300 844 + 1067 844 + 1068 844 + 1835 844 + 1836 844 + 2603 844 + 2604 844 + 299 845 + 300 845 + 1067 845 + 1068 845 + 1835 845 + 1836 845 + 2603 845 + 2604 845 + 299 846 + 300 846 + 1067 846 + 1068 846 + 1835 846 + 1836 846 + 2603 846 + 2604 846 + 299 847 + 300 847 + 1067 847 + 1068 847 + 1835 847 + 1836 847 + 2603 847 + 2604 847 + 299 848 + 300 848 + 1067 848 + 1068 848 + 1835 848 + 1836 848 + 2603 848 + 2604 848 + 299 849 + 300 849 + 1067 849 + 1068 849 + 1835 849 + 1836 849 + 2603 849 + 2604 849 + 299 850 + 300 850 + 1067 850 + 1068 850 + 1835 850 + 1836 850 + 2603 850 + 2604 850 + 299 851 + 300 851 + 1067 851 + 1068 851 + 1835 851 + 1836 851 + 2603 851 + 2604 851 + 299 852 + 300 852 + 1067 852 + 1068 852 + 1835 852 + 1836 852 + 2603 852 + 2604 852 + 299 853 + 300 853 + 1067 853 + 1068 853 + 1835 853 + 1836 853 + 2603 853 + 2604 853 + 299 854 + 300 854 + 1067 854 + 1068 854 + 1835 854 + 1836 854 + 2603 854 + 2604 854 + 299 855 + 300 855 + 1067 855 + 1068 855 + 1835 855 + 1836 855 + 2603 855 + 2604 855 + 299 856 + 300 856 + 1067 856 + 1068 856 + 1835 856 + 1836 856 + 2603 856 + 2604 856 + 299 857 + 300 857 + 1067 857 + 1068 857 + 1835 857 + 1836 857 + 2603 857 + 2604 857 + 299 858 + 300 858 + 1067 858 + 1068 858 + 1835 858 + 1836 858 + 2603 858 + 2604 858 + 299 859 + 300 859 + 1067 859 + 1068 859 + 1835 859 + 1836 859 + 2603 859 + 2604 859 + 299 860 + 300 860 + 1067 860 + 1068 860 + 1835 860 + 1836 860 + 2603 860 + 2604 860 + 299 861 + 300 861 + 1067 861 + 1068 861 + 1835 861 + 1836 861 + 2603 861 + 2604 861 + 299 862 + 300 862 + 1067 862 + 1068 862 + 1835 862 + 1836 862 + 2603 862 + 2604 862 + 299 863 + 300 863 + 1067 863 + 1068 863 + 1835 863 + 1836 863 + 2603 863 + 2604 863 + 299 864 + 300 864 + 1067 864 + 1068 864 + 1835 864 + 1836 864 + 2603 864 + 2604 864 + 299 865 + 300 865 + 1067 865 + 1068 865 + 1835 865 + 1836 865 + 2603 865 + 2604 865 + 299 866 + 300 866 + 1067 866 + 1068 866 + 1835 866 + 1836 866 + 2603 866 + 2604 866 + 299 867 + 300 867 + 1067 867 + 1068 867 + 1835 867 + 1836 867 + 2603 867 + 2604 867 + 299 868 + 300 868 + 1067 868 + 1068 868 + 1835 868 + 1836 868 + 2603 868 + 2604 868 + 299 869 + 300 869 + 1067 869 + 1068 869 + 1835 869 + 1836 869 + 2603 869 + 2604 869 + 299 870 + 300 870 + 1067 870 + 1068 870 + 1835 870 + 1836 870 + 2603 870 + 2604 870 + 299 871 + 300 871 + 1067 871 + 1068 871 + 1835 871 + 1836 871 + 2603 871 + 2604 871 + 299 872 + 300 872 + 1067 872 + 1068 872 + 1835 872 + 1836 872 + 2603 872 + 2604 872 + 299 873 + 300 873 + 1067 873 + 1068 873 + 1835 873 + 1836 873 + 2603 873 + 2604 873 + 299 874 + 300 874 + 1067 874 + 1068 874 + 1835 874 + 1836 874 + 2603 874 + 2604 874 + 299 875 + 300 875 + 1067 875 + 1068 875 + 1835 875 + 1836 875 + 2603 875 + 2604 875 + 299 876 + 300 876 + 1067 876 + 1068 876 + 1835 876 + 1836 876 + 2603 876 + 2604 876 + 299 877 + 300 877 + 1067 877 + 1068 877 + 1835 877 + 1836 877 + 2603 877 + 2604 877 + 299 878 + 300 878 + 1067 878 + 1068 878 + 1835 878 + 1836 878 + 2603 878 + 2604 878 + 299 879 + 300 879 + 1067 879 + 1068 879 + 1835 879 + 1836 879 + 2603 879 + 2604 879 + 299 880 + 300 880 + 1067 880 + 1068 880 + 1835 880 + 1836 880 + 2603 880 + 2604 880 + 299 881 + 300 881 + 1067 881 + 1068 881 + 1835 881 + 1836 881 + 2603 881 + 2604 881 + 299 882 + 300 882 + 1067 882 + 1068 882 + 1835 882 + 1836 882 + 2603 882 + 2604 882 + 299 883 + 300 883 + 1067 883 + 1068 883 + 1835 883 + 1836 883 + 2603 883 + 2604 883 + 299 884 + 300 884 + 1067 884 + 1068 884 + 1835 884 + 1836 884 + 2603 884 + 2604 884 + 299 885 + 300 885 + 1067 885 + 1068 885 + 1835 885 + 1836 885 + 2603 885 + 2604 885 + 299 886 + 300 886 + 1067 886 + 1068 886 + 1835 886 + 1836 886 + 2603 886 + 2604 886 + 299 887 + 300 887 + 1067 887 + 1068 887 + 1835 887 + 1836 887 + 2603 887 + 2604 887 + 299 888 + 300 888 + 1067 888 + 1068 888 + 1835 888 + 1836 888 + 2603 888 + 2604 888 + 299 889 + 300 889 + 1067 889 + 1068 889 + 1835 889 + 1836 889 + 2603 889 + 2604 889 + 299 890 + 300 890 + 1067 890 + 1068 890 + 1835 890 + 1836 890 + 2603 890 + 2604 890 + 299 891 + 300 891 + 1067 891 + 1068 891 + 1835 891 + 1836 891 + 2603 891 + 2604 891 + 299 892 + 300 892 + 1067 892 + 1068 892 + 1835 892 + 1836 892 + 2603 892 + 2604 892 + 299 893 + 300 893 + 1067 893 + 1068 893 + 1835 893 + 1836 893 + 2603 893 + 2604 893 + 299 894 + 300 894 + 1067 894 + 1068 894 + 1835 894 + 1836 894 + 2603 894 + 2604 894 + 299 895 + 300 895 + 1067 895 + 1068 895 + 1835 895 + 1836 895 + 2603 895 + 2604 895 + 299 896 + 300 896 + 1067 896 + 1068 896 + 1835 896 + 1836 896 + 2603 896 + 2604 896 + 299 897 + 300 897 + 1067 897 + 1068 897 + 1835 897 + 1836 897 + 2603 897 + 2604 897 + 299 898 + 300 898 + 1067 898 + 1068 898 + 1835 898 + 1836 898 + 2603 898 + 2604 898 + 299 899 + 300 899 + 1067 899 + 1068 899 + 1835 899 + 1836 899 + 2603 899 + 2604 899 + 299 900 + 300 900 + 1067 900 + 1068 900 + 1835 900 + 1836 900 + 2603 900 + 2604 900 + 299 901 + 300 901 + 1067 901 + 1068 901 + 1835 901 + 1836 901 + 2603 901 + 2604 901 + 299 902 + 300 902 + 1067 902 + 1068 902 + 1835 902 + 1836 902 + 2603 902 + 2604 902 + 299 903 + 300 903 + 1067 903 + 1068 903 + 1835 903 + 1836 903 + 2603 903 + 2604 903 + 299 904 + 300 904 + 1067 904 + 1068 904 + 1835 904 + 1836 904 + 2603 904 + 2604 904 + 299 905 + 300 905 + 1067 905 + 1068 905 + 1835 905 + 1836 905 + 2603 905 + 2604 905 + 299 906 + 300 906 + 1067 906 + 1068 906 + 1835 906 + 1836 906 + 2603 906 + 2604 906 + 299 907 + 300 907 + 1067 907 + 1068 907 + 1835 907 + 1836 907 + 2603 907 + 2604 907 + 299 908 + 300 908 + 1067 908 + 1068 908 + 1835 908 + 1836 908 + 2603 908 + 2604 908 + 299 909 + 300 909 + 1067 909 + 1068 909 + 1835 909 + 1836 909 + 2603 909 + 2604 909 + 299 910 + 300 910 + 1067 910 + 1068 910 + 1835 910 + 1836 910 + 2603 910 + 2604 910 + 299 911 + 300 911 + 1067 911 + 1068 911 + 1835 911 + 1836 911 + 2603 911 + 2604 911 + 299 912 + 300 912 + 1067 912 + 1068 912 + 1835 912 + 1836 912 + 2603 912 + 2604 912 + 299 913 + 300 913 + 1067 913 + 1068 913 + 1835 913 + 1836 913 + 2603 913 + 2604 913 + 299 914 + 300 914 + 1067 914 + 1068 914 + 1835 914 + 1836 914 + 2603 914 + 2604 914 + 299 915 + 300 915 + 1067 915 + 1068 915 + 1835 915 + 1836 915 + 2603 915 + 2604 915 + 299 916 + 300 916 + 1067 916 + 1068 916 + 1835 916 + 1836 916 + 2603 916 + 2604 916 + 299 917 + 300 917 + 1067 917 + 1068 917 + 1835 917 + 1836 917 + 2603 917 + 2604 917 + 299 918 + 300 918 + 1067 918 + 1068 918 + 1835 918 + 1836 918 + 2603 918 + 2604 918 + 299 919 + 300 919 + 1067 919 + 1068 919 + 1835 919 + 1836 919 + 2603 919 + 2604 919 + 299 920 + 300 920 + 1067 920 + 1068 920 + 1835 920 + 1836 920 + 2603 920 + 2604 920 + 299 921 + 300 921 + 1067 921 + 1068 921 + 1835 921 + 1836 921 + 2603 921 + 2604 921 + 299 922 + 300 922 + 1067 922 + 1068 922 + 1835 922 + 1836 922 + 2603 922 + 2604 922 + 299 923 + 300 923 + 1067 923 + 1068 923 + 1835 923 + 1836 923 + 2603 923 + 2604 923 + 299 924 + 300 924 + 1067 924 + 1068 924 + 1835 924 + 1836 924 + 2603 924 + 2604 924 + 299 925 + 300 925 + 1067 925 + 1068 925 + 1835 925 + 1836 925 + 2603 925 + 2604 925 + 299 926 + 300 926 + 1067 926 + 1068 926 + 1835 926 + 1836 926 + 2603 926 + 2604 926 + 299 927 + 300 927 + 1067 927 + 1068 927 + 1835 927 + 1836 927 + 2603 927 + 2604 927 + 299 928 + 300 928 + 1067 928 + 1068 928 + 1835 928 + 1836 928 + 2603 928 + 2604 928 + 299 929 + 300 929 + 1067 929 + 1068 929 + 1835 929 + 1836 929 + 2603 929 + 2604 929 + 299 930 + 300 930 + 1067 930 + 1068 930 + 1835 930 + 1836 930 + 2603 930 + 2604 930 + 299 931 + 300 931 + 1067 931 + 1068 931 + 1835 931 + 1836 931 + 2603 931 + 2604 931 + 299 932 + 300 932 + 1067 932 + 1068 932 + 1835 932 + 1836 932 + 2603 932 + 2604 932 + 299 933 + 300 933 + 1067 933 + 1068 933 + 1835 933 + 1836 933 + 2603 933 + 2604 933 + 299 934 + 300 934 + 1067 934 + 1068 934 + 1835 934 + 1836 934 + 2603 934 + 2604 934 + 299 935 + 300 935 + 1067 935 + 1068 935 + 1835 935 + 1836 935 + 2603 935 + 2604 935 + 299 936 + 300 936 + 1067 936 + 1068 936 + 1835 936 + 1836 936 + 2603 936 + 2604 936 + 299 937 + 300 937 + 1067 937 + 1068 937 + 1835 937 + 1836 937 + 2603 937 + 2604 937 + 299 938 + 300 938 + 1067 938 + 1068 938 + 1835 938 + 1836 938 + 2603 938 + 2604 938 + 299 939 + 300 939 + 1067 939 + 1068 939 + 1835 939 + 1836 939 + 2603 939 + 2604 939 + 299 940 + 300 940 + 1067 940 + 1068 940 + 1835 940 + 1836 940 + 2603 940 + 2604 940 + 299 941 + 300 941 + 1067 941 + 1068 941 + 1835 941 + 1836 941 + 2603 941 + 2604 941 + 299 942 + 300 942 + 1067 942 + 1068 942 + 1835 942 + 1836 942 + 2603 942 + 2604 942 + 299 943 + 300 943 + 1067 943 + 1068 943 + 1835 943 + 1836 943 + 2603 943 + 2604 943 + 299 944 + 300 944 + 1067 944 + 1068 944 + 1835 944 + 1836 944 + 2603 944 + 2604 944 + 299 945 + 300 945 + 1067 945 + 1068 945 + 1835 945 + 1836 945 + 2603 945 + 2604 945 + 299 946 + 300 946 + 1067 946 + 1068 946 + 1835 946 + 1836 946 + 2603 946 + 2604 946 + 299 947 + 300 947 + 1067 947 + 1068 947 + 1835 947 + 1836 947 + 2603 947 + 2604 947 + 299 948 + 300 948 + 1067 948 + 1068 948 + 1835 948 + 1836 948 + 2603 948 + 2604 948 + 299 949 + 300 949 + 1067 949 + 1068 949 + 1835 949 + 1836 949 + 2603 949 + 2604 949 + 299 950 + 300 950 + 1067 950 + 1068 950 + 1835 950 + 1836 950 + 2603 950 + 2604 950 + 299 951 + 300 951 + 1067 951 + 1068 951 + 1835 951 + 1836 951 + 2603 951 + 2604 951 + 299 952 + 300 952 + 1067 952 + 1068 952 + 1835 952 + 1836 952 + 2603 952 + 2604 952 + 299 953 + 300 953 + 1067 953 + 1068 953 + 1835 953 + 1836 953 + 2603 953 + 2604 953 + 299 954 + 300 954 + 1067 954 + 1068 954 + 1835 954 + 1836 954 + 2603 954 + 2604 954 + 299 955 + 300 955 + 1067 955 + 1068 955 + 1835 955 + 1836 955 + 2603 955 + 2604 955 + 299 956 + 300 956 + 1067 956 + 1068 956 + 1835 956 + 1836 956 + 2603 956 + 2604 956 + 299 957 + 300 957 + 1067 957 + 1068 957 + 1835 957 + 1836 957 + 2603 957 + 2604 957 + 299 958 + 300 958 + 1067 958 + 1068 958 + 1835 958 + 1836 958 + 2603 958 + 2604 958 + 299 959 + 300 959 + 1067 959 + 1068 959 + 1835 959 + 1836 959 + 2603 959 + 2604 959 + 299 960 + 300 960 + 1067 960 + 1068 960 + 1835 960 + 1836 960 + 2603 960 + 2604 960 + 299 961 + 300 961 + 1067 961 + 1068 961 + 1835 961 + 1836 961 + 2603 961 + 2604 961 + 299 962 + 300 962 + 1067 962 + 1068 962 + 1835 962 + 1836 962 + 2603 962 + 2604 962 + 299 963 + 300 963 + 1067 963 + 1068 963 + 1835 963 + 1836 963 + 2603 963 + 2604 963 + 299 964 + 300 964 + 1067 964 + 1068 964 + 1835 964 + 1836 964 + 2603 964 + 2604 964 + 299 965 + 300 965 + 1067 965 + 1068 965 + 1835 965 + 1836 965 + 2603 965 + 2604 965 + 299 966 + 300 966 + 1067 966 + 1068 966 + 1835 966 + 1836 966 + 2603 966 + 2604 966 + 299 967 + 300 967 + 1067 967 + 1068 967 + 1835 967 + 1836 967 + 2603 967 + 2604 967 + 299 968 + 300 968 + 1067 968 + 1068 968 + 1835 968 + 1836 968 + 2603 968 + 2604 968 + 299 969 + 300 969 + 1067 969 + 1068 969 + 1835 969 + 1836 969 + 2603 969 + 2604 969 + 299 970 + 300 970 + 1067 970 + 1068 970 + 1835 970 + 1836 970 + 2603 970 + 2604 970 + 299 971 + 300 971 + 1067 971 + 1068 971 + 1835 971 + 1836 971 + 2603 971 + 2604 971 + 299 972 + 300 972 + 1067 972 + 1068 972 + 1835 972 + 1836 972 + 2603 972 + 2604 972 + 299 973 + 300 973 + 1067 973 + 1068 973 + 1835 973 + 1836 973 + 2603 973 + 2604 973 + 299 974 + 300 974 + 1067 974 + 1068 974 + 1835 974 + 1836 974 + 2603 974 + 2604 974 + 299 975 + 300 975 + 1067 975 + 1068 975 + 1835 975 + 1836 975 + 2603 975 + 2604 975 + 299 976 + 300 976 + 1067 976 + 1068 976 + 1835 976 + 1836 976 + 2603 976 + 2604 976 + 299 977 + 300 977 + 1067 977 + 1068 977 + 1835 977 + 1836 977 + 2603 977 + 2604 977 + 299 978 + 300 978 + 1067 978 + 1068 978 + 1835 978 + 1836 978 + 2603 978 + 2604 978 + 299 979 + 300 979 + 1067 979 + 1068 979 + 1835 979 + 1836 979 + 2603 979 + 2604 979 + 299 980 + 300 980 + 1067 980 + 1068 980 + 1835 980 + 1836 980 + 2603 980 + 2604 980 + 299 981 + 300 981 + 1067 981 + 1068 981 + 1835 981 + 1836 981 + 2603 981 + 2604 981 + 299 982 + 300 982 + 1067 982 + 1068 982 + 1835 982 + 1836 982 + 2603 982 + 2604 982 + 299 983 + 300 983 + 1067 983 + 1068 983 + 1835 983 + 1836 983 + 2603 983 + 2604 983 + 299 984 + 300 984 + 1067 984 + 1068 984 + 1835 984 + 1836 984 + 2603 984 + 2604 984 + 299 985 + 300 985 + 1067 985 + 1068 985 + 1835 985 + 1836 985 + 2603 985 + 2604 985 + 299 986 + 300 986 + 1067 986 + 1068 986 + 1835 986 + 1836 986 + 2603 986 + 2604 986 + 299 987 + 300 987 + 1067 987 + 1068 987 + 1835 987 + 1836 987 + 2603 987 + 2604 987 + 299 988 + 300 988 + 1067 988 + 1068 988 + 1835 988 + 1836 988 + 2603 988 + 2604 988 + 299 989 + 300 989 + 1067 989 + 1068 989 + 1835 989 + 1836 989 + 2603 989 + 2604 989 + 299 990 + 300 990 + 1067 990 + 1068 990 + 1835 990 + 1836 990 + 2603 990 + 2604 990 + 299 991 + 300 991 + 1067 991 + 1068 991 + 1835 991 + 1836 991 + 2603 991 + 2604 991 + 299 992 + 300 992 + 1067 992 + 1068 992 + 1835 992 + 1836 992 + 2603 992 + 2604 992 + 299 993 + 300 993 + 1067 993 + 1068 993 + 1835 993 + 1836 993 + 2603 993 + 2604 993 + 299 994 + 300 994 + 1067 994 + 1068 994 + 1835 994 + 1836 994 + 2603 994 + 2604 994 + 299 995 + 300 995 + 1067 995 + 1068 995 + 1835 995 + 1836 995 + 2603 995 + 2604 995 + 299 996 + 300 996 + 1067 996 + 1068 996 + 1835 996 + 1836 996 + 2603 996 + 2604 996 + 299 997 + 300 997 + 1067 997 + 1068 997 + 1835 997 + 1836 997 + 2603 997 + 2604 997 + 299 998 + 300 998 + 1067 998 + 1068 998 + 1835 998 + 1836 998 + 2603 998 + 2604 998 + 299 999 + 300 999 + 1067 999 + 1068 999 + 1835 999 + 1836 999 + 2603 999 + 2604 999 + 299 1000 + 300 1000 + 1067 1000 + 1068 1000 + 1835 1000 + 1836 1000 + 2603 1000 + 2604 1000 + 299 1001 + 300 1001 + 1067 1001 + 1068 1001 + 1835 1001 + 1836 1001 + 2603 1001 + 2604 1001 + 299 1002 + 300 1002 + 1067 1002 + 1068 1002 + 1835 1002 + 1836 1002 + 2603 1002 + 2604 1002 + 299 1003 + 300 1003 + 1067 1003 + 1068 1003 + 1835 1003 + 1836 1003 + 2603 1003 + 2604 1003 + 299 1004 + 300 1004 + 1067 1004 + 1068 1004 + 1835 1004 + 1836 1004 + 2603 1004 + 2604 1004 + 299 1005 + 300 1005 + 1067 1005 + 1068 1005 + 1835 1005 + 1836 1005 + 2603 1005 + 2604 1005 + 299 1006 + 300 1006 + 1067 1006 + 1068 1006 + 1835 1006 + 1836 1006 + 2603 1006 + 2604 1006 + 299 1007 + 300 1007 + 1067 1007 + 1068 1007 + 1835 1007 + 1836 1007 + 2603 1007 + 2604 1007 + 299 1008 + 300 1008 + 1067 1008 + 1068 1008 + 1835 1008 + 1836 1008 + 2603 1008 + 2604 1008 + 299 1009 + 300 1009 + 1067 1009 + 1068 1009 + 1835 1009 + 1836 1009 + 2603 1009 + 2604 1009 + 299 1010 + 300 1010 + 1067 1010 + 1068 1010 + 1835 1010 + 1836 1010 + 2603 1010 + 2604 1010 + 299 1011 + 300 1011 + 1067 1011 + 1068 1011 + 1835 1011 + 1836 1011 + 2603 1011 + 2604 1011 + 299 1012 + 300 1012 + 1067 1012 + 1068 1012 + 1835 1012 + 1836 1012 + 2603 1012 + 2604 1012 + 299 1013 + 300 1013 + 1067 1013 + 1068 1013 + 1835 1013 + 1836 1013 + 2603 1013 + 2604 1013 + 299 1014 + 300 1014 + 1067 1014 + 1068 1014 + 1835 1014 + 1836 1014 + 2603 1014 + 2604 1014 + 299 1015 + 300 1015 + 1067 1015 + 1068 1015 + 1835 1015 + 1836 1015 + 2603 1015 + 2604 1015 + 299 1016 + 300 1016 + 1067 1016 + 1068 1016 + 1835 1016 + 1836 1016 + 2603 1016 + 2604 1016 + 299 1017 + 300 1017 + 1067 1017 + 1068 1017 + 1835 1017 + 1836 1017 + 2603 1017 + 2604 1017 + 299 1018 + 300 1018 + 1067 1018 + 1068 1018 + 1835 1018 + 1836 1018 + 2603 1018 + 2604 1018 + 299 1019 + 300 1019 + 1067 1019 + 1068 1019 + 1835 1019 + 1836 1019 + 2603 1019 + 2604 1019 + 299 1020 + 300 1020 + 1067 1020 + 1068 1020 + 1835 1020 + 1836 1020 + 2603 1020 + 2604 1020 + 299 1021 + 300 1021 + 1067 1021 + 1068 1021 + 1835 1021 + 1836 1021 + 2603 1021 + 2604 1021 + 299 1022 + 300 1022 + 1067 1022 + 1068 1022 + 1835 1022 + 1836 1022 + 2603 1022 + 2604 1022 + 299 1023 + 300 1023 + 1067 1023 + 1068 1023 + 1835 1023 + 1836 1023 + 2603 1023 + 2604 1023 + 299 1024 + 300 1024 + 1067 1024 + 1068 1024 + 1835 1024 + 1836 1024 + 2603 1024 + 2604 1024 + 299 1025 + 300 1025 + 1067 1025 + 1068 1025 + 1835 1025 + 1836 1025 + 2603 1025 + 2604 1025 + 299 1026 + 300 1026 + 1067 1026 + 1068 1026 + 1835 1026 + 1836 1026 + 2603 1026 + 2604 1026 + 299 1027 + 300 1027 + 1067 1027 + 1068 1027 + 1835 1027 + 1836 1027 + 2603 1027 + 2604 1027 + 299 1028 + 300 1028 + 1067 1028 + 1068 1028 + 1835 1028 + 1836 1028 + 2603 1028 + 2604 1028 + 299 1029 + 300 1029 + 1067 1029 + 1068 1029 + 1835 1029 + 1836 1029 + 2603 1029 + 2604 1029 + 299 1030 + 300 1030 + 1067 1030 + 1068 1030 + 1835 1030 + 1836 1030 + 2603 1030 + 2604 1030 + 299 1031 + 300 1031 + 1067 1031 + 1068 1031 + 1835 1031 + 1836 1031 + 2603 1031 + 2604 1031 + 299 1032 + 300 1032 + 1067 1032 + 1068 1032 + 1835 1032 + 1836 1032 + 2603 1032 + 2604 1032 + 299 1033 + 300 1033 + 1067 1033 + 1068 1033 + 1835 1033 + 1836 1033 + 2603 1033 + 2604 1033 + 299 1034 + 300 1034 + 1067 1034 + 1068 1034 + 1835 1034 + 1836 1034 + 2603 1034 + 2604 1034 + 299 1035 + 300 1035 + 1067 1035 + 1068 1035 + 1835 1035 + 1836 1035 + 2603 1035 + 2604 1035 + 299 1036 + 300 1036 + 1067 1036 + 1068 1036 + 1835 1036 + 1836 1036 + 2603 1036 + 2604 1036 + 299 1037 + 300 1037 + 1067 1037 + 1068 1037 + 1835 1037 + 1836 1037 + 2603 1037 + 2604 1037 + 299 1038 + 300 1038 + 1067 1038 + 1068 1038 + 1835 1038 + 1836 1038 + 2603 1038 + 2604 1038 + 299 1039 + 300 1039 + 1067 1039 + 1068 1039 + 1835 1039 + 1836 1039 + 2603 1039 + 2604 1039 + 299 1040 + 300 1040 + 1067 1040 + 1068 1040 + 1835 1040 + 1836 1040 + 2603 1040 + 2604 1040 + 299 1041 + 300 1041 + 1067 1041 + 1068 1041 + 1835 1041 + 1836 1041 + 2603 1041 + 2604 1041 + 299 1042 + 300 1042 + 1067 1042 + 1068 1042 + 1835 1042 + 1836 1042 + 2603 1042 + 2604 1042 + 299 1043 + 300 1043 + 1067 1043 + 1068 1043 + 1835 1043 + 1836 1043 + 2603 1043 + 2604 1043 + 299 1044 + 300 1044 + 1067 1044 + 1068 1044 + 1835 1044 + 1836 1044 + 2603 1044 + 2604 1044 + 299 1045 + 300 1045 + 1067 1045 + 1068 1045 + 1835 1045 + 1836 1045 + 2603 1045 + 2604 1045 + 299 1046 + 300 1046 + 1067 1046 + 1068 1046 + 1835 1046 + 1836 1046 + 2603 1046 + 2604 1046 + 299 1047 + 300 1047 + 1067 1047 + 1068 1047 + 1835 1047 + 1836 1047 + 2603 1047 + 2604 1047 + 299 1048 + 300 1048 + 1067 1048 + 1068 1048 + 1835 1048 + 1836 1048 + 2603 1048 + 2604 1048 + 299 1049 + 300 1049 + 1067 1049 + 1068 1049 + 1835 1049 + 1836 1049 + 2603 1049 + 2604 1049 + 299 1050 + 300 1050 + 1067 1050 + 1068 1050 + 1835 1050 + 1836 1050 + 2603 1050 + 2604 1050 + 299 1051 + 300 1051 + 1067 1051 + 1068 1051 + 1835 1051 + 1836 1051 + 2603 1051 + 2604 1051 + 299 1052 + 300 1052 + 1067 1052 + 1068 1052 + 1835 1052 + 1836 1052 + 2603 1052 + 2604 1052 + 299 1053 + 300 1053 + 1067 1053 + 1068 1053 + 1835 1053 + 1836 1053 + 2603 1053 + 2604 1053 + 299 1054 + 300 1054 + 1067 1054 + 1068 1054 + 1835 1054 + 1836 1054 + 2603 1054 + 2604 1054 + 299 1055 + 300 1055 + 1067 1055 + 1068 1055 + 1835 1055 + 1836 1055 + 2603 1055 + 2604 1055 + 299 1056 + 300 1056 + 1067 1056 + 1068 1056 + 1835 1056 + 1836 1056 + 2603 1056 + 2604 1056 + 299 1057 + 300 1057 + 1067 1057 + 1068 1057 + 1835 1057 + 1836 1057 + 2603 1057 + 2604 1057 + 299 1058 + 300 1058 + 1067 1058 + 1068 1058 + 1835 1058 + 1836 1058 + 2603 1058 + 2604 1058 + 299 1059 + 300 1059 + 1067 1059 + 1068 1059 + 1835 1059 + 1836 1059 + 2603 1059 + 2604 1059 + 299 1060 + 300 1060 + 1067 1060 + 1068 1060 + 1835 1060 + 1836 1060 + 2603 1060 + 2604 1060 + 299 1061 + 300 1061 + 1067 1061 + 1068 1061 + 1835 1061 + 1836 1061 + 2603 1061 + 2604 1061 + 299 1062 + 300 1062 + 1067 1062 + 1068 1062 + 1835 1062 + 1836 1062 + 2603 1062 + 2604 1062 + 299 1063 + 300 1063 + 1067 1063 + 1068 1063 + 1835 1063 + 1836 1063 + 2603 1063 + 2604 1063 + 299 1064 + 300 1064 + 1067 1064 + 1068 1064 + 1835 1064 + 1836 1064 + 2603 1064 + 2604 1064 + 299 1065 + 300 1065 + 1067 1065 + 1068 1065 + 1835 1065 + 1836 1065 + 2603 1065 + 2604 1065 + 299 1066 + 300 1066 + 1067 1066 + 1068 1066 + 1835 1066 + 1836 1066 + 2603 1066 + 2604 1066 + 299 1067 + 300 1067 + 1067 1067 + 1068 1067 + 1835 1067 + 1836 1067 + 2603 1067 + 2604 1067 + 299 1068 + 300 1068 + 1067 1068 + 1068 1068 + 1835 1068 + 1836 1068 + 2603 1068 + 2604 1068 + 298 1069 + 299 1069 + 300 1069 + 301 1069 + 1066 1069 + 1067 1069 + 1068 1069 + 1069 1069 + 1834 1069 + 1835 1069 + 1836 1069 + 1837 1069 + 2602 1069 + 2603 1069 + 2604 1069 + 2605 1069 + 296 1070 + 297 1070 + 298 1070 + 299 1070 + 300 1070 + 301 1070 + 302 1070 + 303 1070 + 1064 1070 + 1065 1070 + 1066 1070 + 1067 1070 + 1068 1070 + 1069 1070 + 1070 1070 + 1071 1070 + 1832 1070 + 1833 1070 + 1834 1070 + 1835 1070 + 1836 1070 + 1837 1070 + 1838 1070 + 1839 1070 + 2600 1070 + 2601 1070 + 2602 1070 + 2603 1070 + 2604 1070 + 2605 1070 + 2606 1070 + 2607 1070 + 294 1071 + 295 1071 + 296 1071 + 297 1071 + 298 1071 + 299 1071 + 300 1071 + 301 1071 + 302 1071 + 303 1071 + 304 1071 + 305 1071 + 1062 1071 + 1063 1071 + 1064 1071 + 1065 1071 + 1066 1071 + 1067 1071 + 1068 1071 + 1069 1071 + 1070 1071 + 1071 1071 + 1072 1071 + 1073 1071 + 1830 1071 + 1831 1071 + 1832 1071 + 1833 1071 + 1834 1071 + 1835 1071 + 1836 1071 + 1837 1071 + 1838 1071 + 1839 1071 + 1840 1071 + 1841 1071 + 2598 1071 + 2599 1071 + 2600 1071 + 2601 1071 + 2602 1071 + 2603 1071 + 2604 1071 + 2605 1071 + 2606 1071 + 2607 1071 + 2608 1071 + 2609 1071 + 292 1072 + 293 1072 + 294 1072 + 295 1072 + 296 1072 + 297 1072 + 303 1072 + 304 1072 + 305 1072 + 306 1072 + 307 1072 + 1060 1072 + 1061 1072 + 1062 1072 + 1063 1072 + 1064 1072 + 1065 1072 + 1071 1072 + 1072 1072 + 1073 1072 + 1074 1072 + 1075 1072 + 1828 1072 + 1829 1072 + 1830 1072 + 1831 1072 + 1832 1072 + 1833 1072 + 1839 1072 + 1840 1072 + 1841 1072 + 1842 1072 + 1843 1072 + 2596 1072 + 2597 1072 + 2598 1072 + 2599 1072 + 2600 1072 + 2601 1072 + 2607 1072 + 2608 1072 + 2609 1072 + 2610 1072 + 2611 1072 + 290 1073 + 291 1073 + 292 1073 + 293 1073 + 294 1073 + 295 1073 + 305 1073 + 306 1073 + 307 1073 + 308 1073 + 309 1073 + 310 1073 + 1058 1073 + 1059 1073 + 1060 1073 + 1061 1073 + 1062 1073 + 1063 1073 + 1073 1073 + 1074 1073 + 1075 1073 + 1076 1073 + 1077 1073 + 1078 1073 + 1826 1073 + 1827 1073 + 1828 1073 + 1829 1073 + 1830 1073 + 1831 1073 + 1841 1073 + 1842 1073 + 1843 1073 + 1844 1073 + 1845 1073 + 1846 1073 + 2594 1073 + 2595 1073 + 2596 1073 + 2597 1073 + 2598 1073 + 2599 1073 + 2609 1073 + 2610 1073 + 2611 1073 + 2612 1073 + 2613 1073 + 2614 1073 + 287 1074 + 288 1074 + 289 1074 + 290 1074 + 291 1074 + 292 1074 + 293 1074 + 307 1074 + 308 1074 + 309 1074 + 310 1074 + 311 1074 + 312 1074 + 1055 1074 + 1056 1074 + 1057 1074 + 1058 1074 + 1059 1074 + 1060 1074 + 1061 1074 + 1075 1074 + 1076 1074 + 1077 1074 + 1078 1074 + 1079 1074 + 1080 1074 + 1823 1074 + 1824 1074 + 1825 1074 + 1826 1074 + 1827 1074 + 1828 1074 + 1829 1074 + 1843 1074 + 1844 1074 + 1845 1074 + 1846 1074 + 1847 1074 + 1848 1074 + 2591 1074 + 2592 1074 + 2593 1074 + 2594 1074 + 2595 1074 + 2596 1074 + 2597 1074 + 2611 1074 + 2612 1074 + 2613 1074 + 2614 1074 + 2615 1074 + 2616 1074 + 285 1075 + 286 1075 + 287 1075 + 288 1075 + 289 1075 + 290 1075 + 309 1075 + 310 1075 + 311 1075 + 312 1075 + 313 1075 + 314 1075 + 1053 1075 + 1054 1075 + 1055 1075 + 1056 1075 + 1057 1075 + 1058 1075 + 1077 1075 + 1078 1075 + 1079 1075 + 1080 1075 + 1081 1075 + 1082 1075 + 1821 1075 + 1822 1075 + 1823 1075 + 1824 1075 + 1825 1075 + 1826 1075 + 1845 1075 + 1846 1075 + 1847 1075 + 1848 1075 + 1849 1075 + 1850 1075 + 2589 1075 + 2590 1075 + 2591 1075 + 2592 1075 + 2593 1075 + 2594 1075 + 2613 1075 + 2614 1075 + 2615 1075 + 2616 1075 + 2617 1075 + 2618 1075 + 283 1076 + 284 1076 + 285 1076 + 286 1076 + 287 1076 + 288 1076 + 311 1076 + 312 1076 + 313 1076 + 314 1076 + 315 1076 + 316 1076 + 1051 1076 + 1052 1076 + 1053 1076 + 1054 1076 + 1055 1076 + 1056 1076 + 1079 1076 + 1080 1076 + 1081 1076 + 1082 1076 + 1083 1076 + 1084 1076 + 1819 1076 + 1820 1076 + 1821 1076 + 1822 1076 + 1823 1076 + 1824 1076 + 1847 1076 + 1848 1076 + 1849 1076 + 1850 1076 + 1851 1076 + 1852 1076 + 2587 1076 + 2588 1076 + 2589 1076 + 2590 1076 + 2591 1076 + 2592 1076 + 2615 1076 + 2616 1076 + 2617 1076 + 2618 1076 + 2619 1076 + 2620 1076 + 281 1077 + 282 1077 + 283 1077 + 284 1077 + 285 1077 + 286 1077 + 313 1077 + 314 1077 + 315 1077 + 316 1077 + 317 1077 + 318 1077 + 319 1077 + 1049 1077 + 1050 1077 + 1051 1077 + 1052 1077 + 1053 1077 + 1054 1077 + 1081 1077 + 1082 1077 + 1083 1077 + 1084 1077 + 1085 1077 + 1086 1077 + 1087 1077 + 1817 1077 + 1818 1077 + 1819 1077 + 1820 1077 + 1821 1077 + 1822 1077 + 1849 1077 + 1850 1077 + 1851 1077 + 1852 1077 + 1853 1077 + 1854 1077 + 1855 1077 + 2585 1077 + 2586 1077 + 2587 1077 + 2588 1077 + 2589 1077 + 2590 1077 + 2617 1077 + 2618 1077 + 2619 1077 + 2620 1077 + 2621 1077 + 2622 1077 + 2623 1077 + 279 1078 + 280 1078 + 281 1078 + 282 1078 + 283 1078 + 284 1078 + 316 1078 + 317 1078 + 318 1078 + 319 1078 + 320 1078 + 321 1078 + 1047 1078 + 1048 1078 + 1049 1078 + 1050 1078 + 1051 1078 + 1052 1078 + 1084 1078 + 1085 1078 + 1086 1078 + 1087 1078 + 1088 1078 + 1089 1078 + 1815 1078 + 1816 1078 + 1817 1078 + 1818 1078 + 1819 1078 + 1820 1078 + 1852 1078 + 1853 1078 + 1854 1078 + 1855 1078 + 1856 1078 + 1857 1078 + 2583 1078 + 2584 1078 + 2585 1078 + 2586 1078 + 2587 1078 + 2588 1078 + 2620 1078 + 2621 1078 + 2622 1078 + 2623 1078 + 2624 1078 + 2625 1078 + 276 1079 + 277 1079 + 278 1079 + 279 1079 + 280 1079 + 281 1079 + 318 1079 + 319 1079 + 320 1079 + 321 1079 + 322 1079 + 323 1079 + 1044 1079 + 1045 1079 + 1046 1079 + 1047 1079 + 1048 1079 + 1049 1079 + 1086 1079 + 1087 1079 + 1088 1079 + 1089 1079 + 1090 1079 + 1091 1079 + 1812 1079 + 1813 1079 + 1814 1079 + 1815 1079 + 1816 1079 + 1817 1079 + 1854 1079 + 1855 1079 + 1856 1079 + 1857 1079 + 1858 1079 + 1859 1079 + 2580 1079 + 2581 1079 + 2582 1079 + 2583 1079 + 2584 1079 + 2585 1079 + 2622 1079 + 2623 1079 + 2624 1079 + 2625 1079 + 2626 1079 + 2627 1079 + 274 1080 + 275 1080 + 276 1080 + 277 1080 + 278 1080 + 279 1080 + 320 1080 + 321 1080 + 322 1080 + 323 1080 + 324 1080 + 325 1080 + 326 1080 + 1042 1080 + 1043 1080 + 1044 1080 + 1045 1080 + 1046 1080 + 1047 1080 + 1088 1080 + 1089 1080 + 1090 1080 + 1091 1080 + 1092 1080 + 1093 1080 + 1094 1080 + 1810 1080 + 1811 1080 + 1812 1080 + 1813 1080 + 1814 1080 + 1815 1080 + 1856 1080 + 1857 1080 + 1858 1080 + 1859 1080 + 1860 1080 + 1861 1080 + 1862 1080 + 2578 1080 + 2579 1080 + 2580 1080 + 2581 1080 + 2582 1080 + 2583 1080 + 2624 1080 + 2625 1080 + 2626 1080 + 2627 1080 + 2628 1080 + 2629 1080 + 2630 1080 + 272 1081 + 273 1081 + 274 1081 + 275 1081 + 276 1081 + 277 1081 + 322 1081 + 323 1081 + 324 1081 + 325 1081 + 326 1081 + 327 1081 + 328 1081 + 1040 1081 + 1041 1081 + 1042 1081 + 1043 1081 + 1044 1081 + 1045 1081 + 1090 1081 + 1091 1081 + 1092 1081 + 1093 1081 + 1094 1081 + 1095 1081 + 1096 1081 + 1808 1081 + 1809 1081 + 1810 1081 + 1811 1081 + 1812 1081 + 1813 1081 + 1858 1081 + 1859 1081 + 1860 1081 + 1861 1081 + 1862 1081 + 1863 1081 + 1864 1081 + 2576 1081 + 2577 1081 + 2578 1081 + 2579 1081 + 2580 1081 + 2581 1081 + 2626 1081 + 2627 1081 + 2628 1081 + 2629 1081 + 2630 1081 + 2631 1081 + 2632 1081 + 269 1082 + 270 1082 + 271 1082 + 272 1082 + 273 1082 + 274 1082 + 325 1082 + 326 1082 + 327 1082 + 328 1082 + 329 1082 + 330 1082 + 1037 1082 + 1038 1082 + 1039 1082 + 1040 1082 + 1041 1082 + 1042 1082 + 1093 1082 + 1094 1082 + 1095 1082 + 1096 1082 + 1097 1082 + 1098 1082 + 1805 1082 + 1806 1082 + 1807 1082 + 1808 1082 + 1809 1082 + 1810 1082 + 1861 1082 + 1862 1082 + 1863 1082 + 1864 1082 + 1865 1082 + 1866 1082 + 2573 1082 + 2574 1082 + 2575 1082 + 2576 1082 + 2577 1082 + 2578 1082 + 2629 1082 + 2630 1082 + 2631 1082 + 2632 1082 + 2633 1082 + 2634 1082 + 267 1083 + 268 1083 + 269 1083 + 270 1083 + 271 1083 + 272 1083 + 327 1083 + 328 1083 + 329 1083 + 330 1083 + 331 1083 + 332 1083 + 1035 1083 + 1036 1083 + 1037 1083 + 1038 1083 + 1039 1083 + 1040 1083 + 1095 1083 + 1096 1083 + 1097 1083 + 1098 1083 + 1099 1083 + 1100 1083 + 1803 1083 + 1804 1083 + 1805 1083 + 1806 1083 + 1807 1083 + 1808 1083 + 1863 1083 + 1864 1083 + 1865 1083 + 1866 1083 + 1867 1083 + 1868 1083 + 2571 1083 + 2572 1083 + 2573 1083 + 2574 1083 + 2575 1083 + 2576 1083 + 2631 1083 + 2632 1083 + 2633 1083 + 2634 1083 + 2635 1083 + 2636 1083 + 265 1084 + 266 1084 + 267 1084 + 268 1084 + 269 1084 + 270 1084 + 329 1084 + 330 1084 + 331 1084 + 332 1084 + 333 1084 + 334 1084 + 335 1084 + 1033 1084 + 1034 1084 + 1035 1084 + 1036 1084 + 1037 1084 + 1038 1084 + 1097 1084 + 1098 1084 + 1099 1084 + 1100 1084 + 1101 1084 + 1102 1084 + 1103 1084 + 1801 1084 + 1802 1084 + 1803 1084 + 1804 1084 + 1805 1084 + 1806 1084 + 1865 1084 + 1866 1084 + 1867 1084 + 1868 1084 + 1869 1084 + 1870 1084 + 1871 1084 + 2569 1084 + 2570 1084 + 2571 1084 + 2572 1084 + 2573 1084 + 2574 1084 + 2633 1084 + 2634 1084 + 2635 1084 + 2636 1084 + 2637 1084 + 2638 1084 + 2639 1084 + 262 1085 + 263 1085 + 264 1085 + 265 1085 + 266 1085 + 267 1085 + 332 1085 + 333 1085 + 334 1085 + 335 1085 + 336 1085 + 337 1085 + 1030 1085 + 1031 1085 + 1032 1085 + 1033 1085 + 1034 1085 + 1035 1085 + 1100 1085 + 1101 1085 + 1102 1085 + 1103 1085 + 1104 1085 + 1105 1085 + 1798 1085 + 1799 1085 + 1800 1085 + 1801 1085 + 1802 1085 + 1803 1085 + 1868 1085 + 1869 1085 + 1870 1085 + 1871 1085 + 1872 1085 + 1873 1085 + 2566 1085 + 2567 1085 + 2568 1085 + 2569 1085 + 2570 1085 + 2571 1085 + 2636 1085 + 2637 1085 + 2638 1085 + 2639 1085 + 2640 1085 + 2641 1085 + 259 1086 + 260 1086 + 261 1086 + 262 1086 + 263 1086 + 264 1086 + 265 1086 + 334 1086 + 335 1086 + 336 1086 + 337 1086 + 338 1086 + 339 1086 + 340 1086 + 1027 1086 + 1028 1086 + 1029 1086 + 1030 1086 + 1031 1086 + 1032 1086 + 1033 1086 + 1102 1086 + 1103 1086 + 1104 1086 + 1105 1086 + 1106 1086 + 1107 1086 + 1108 1086 + 1795 1086 + 1796 1086 + 1797 1086 + 1798 1086 + 1799 1086 + 1800 1086 + 1801 1086 + 1870 1086 + 1871 1086 + 1872 1086 + 1873 1086 + 1874 1086 + 1875 1086 + 1876 1086 + 2563 1086 + 2564 1086 + 2565 1086 + 2566 1086 + 2567 1086 + 2568 1086 + 2569 1086 + 2638 1086 + 2639 1086 + 2640 1086 + 2641 1086 + 2642 1086 + 2643 1086 + 2644 1086 + 257 1087 + 258 1087 + 259 1087 + 260 1087 + 261 1087 + 262 1087 + 263 1087 + 337 1087 + 338 1087 + 339 1087 + 340 1087 + 341 1087 + 342 1087 + 1025 1087 + 1026 1087 + 1027 1087 + 1028 1087 + 1029 1087 + 1030 1087 + 1031 1087 + 1105 1087 + 1106 1087 + 1107 1087 + 1108 1087 + 1109 1087 + 1110 1087 + 1793 1087 + 1794 1087 + 1795 1087 + 1796 1087 + 1797 1087 + 1798 1087 + 1799 1087 + 1873 1087 + 1874 1087 + 1875 1087 + 1876 1087 + 1877 1087 + 1878 1087 + 2561 1087 + 2562 1087 + 2563 1087 + 2564 1087 + 2565 1087 + 2566 1087 + 2567 1087 + 2641 1087 + 2642 1087 + 2643 1087 + 2644 1087 + 2645 1087 + 2646 1087 + 255 1088 + 256 1088 + 257 1088 + 258 1088 + 259 1088 + 260 1088 + 339 1088 + 340 1088 + 341 1088 + 342 1088 + 343 1088 + 344 1088 + 345 1088 + 1023 1088 + 1024 1088 + 1025 1088 + 1026 1088 + 1027 1088 + 1028 1088 + 1107 1088 + 1108 1088 + 1109 1088 + 1110 1088 + 1111 1088 + 1112 1088 + 1113 1088 + 1791 1088 + 1792 1088 + 1793 1088 + 1794 1088 + 1795 1088 + 1796 1088 + 1875 1088 + 1876 1088 + 1877 1088 + 1878 1088 + 1879 1088 + 1880 1088 + 1881 1088 + 2559 1088 + 2560 1088 + 2561 1088 + 2562 1088 + 2563 1088 + 2564 1088 + 2643 1088 + 2644 1088 + 2645 1088 + 2646 1088 + 2647 1088 + 2648 1088 + 2649 1088 + 252 1089 + 253 1089 + 254 1089 + 255 1089 + 256 1089 + 257 1089 + 258 1089 + 341 1089 + 342 1089 + 343 1089 + 344 1089 + 345 1089 + 346 1089 + 347 1089 + 1020 1089 + 1021 1089 + 1022 1089 + 1023 1089 + 1024 1089 + 1025 1089 + 1026 1089 + 1109 1089 + 1110 1089 + 1111 1089 + 1112 1089 + 1113 1089 + 1114 1089 + 1115 1089 + 1788 1089 + 1789 1089 + 1790 1089 + 1791 1089 + 1792 1089 + 1793 1089 + 1794 1089 + 1877 1089 + 1878 1089 + 1879 1089 + 1880 1089 + 1881 1089 + 1882 1089 + 1883 1089 + 2556 1089 + 2557 1089 + 2558 1089 + 2559 1089 + 2560 1089 + 2561 1089 + 2562 1089 + 2645 1089 + 2646 1089 + 2647 1089 + 2648 1089 + 2649 1089 + 2650 1089 + 2651 1089 + 250 1090 + 251 1090 + 252 1090 + 253 1090 + 254 1090 + 255 1090 + 344 1090 + 345 1090 + 346 1090 + 347 1090 + 348 1090 + 349 1090 + 350 1090 + 1018 1090 + 1019 1090 + 1020 1090 + 1021 1090 + 1022 1090 + 1023 1090 + 1112 1090 + 1113 1090 + 1114 1090 + 1115 1090 + 1116 1090 + 1117 1090 + 1118 1090 + 1786 1090 + 1787 1090 + 1788 1090 + 1789 1090 + 1790 1090 + 1791 1090 + 1880 1090 + 1881 1090 + 1882 1090 + 1883 1090 + 1884 1090 + 1885 1090 + 1886 1090 + 2554 1090 + 2555 1090 + 2556 1090 + 2557 1090 + 2558 1090 + 2559 1090 + 2648 1090 + 2649 1090 + 2650 1090 + 2651 1090 + 2652 1090 + 2653 1090 + 2654 1090 + 247 1091 + 248 1091 + 249 1091 + 250 1091 + 251 1091 + 252 1091 + 253 1091 + 346 1091 + 347 1091 + 348 1091 + 349 1091 + 350 1091 + 351 1091 + 352 1091 + 1015 1091 + 1016 1091 + 1017 1091 + 1018 1091 + 1019 1091 + 1020 1091 + 1021 1091 + 1114 1091 + 1115 1091 + 1116 1091 + 1117 1091 + 1118 1091 + 1119 1091 + 1120 1091 + 1783 1091 + 1784 1091 + 1785 1091 + 1786 1091 + 1787 1091 + 1788 1091 + 1789 1091 + 1882 1091 + 1883 1091 + 1884 1091 + 1885 1091 + 1886 1091 + 1887 1091 + 1888 1091 + 2551 1091 + 2552 1091 + 2553 1091 + 2554 1091 + 2555 1091 + 2556 1091 + 2557 1091 + 2650 1091 + 2651 1091 + 2652 1091 + 2653 1091 + 2654 1091 + 2655 1091 + 2656 1091 + 244 1092 + 245 1092 + 246 1092 + 247 1092 + 248 1092 + 249 1092 + 250 1092 + 349 1092 + 350 1092 + 351 1092 + 352 1092 + 353 1092 + 354 1092 + 355 1092 + 1012 1092 + 1013 1092 + 1014 1092 + 1015 1092 + 1016 1092 + 1017 1092 + 1018 1092 + 1117 1092 + 1118 1092 + 1119 1092 + 1120 1092 + 1121 1092 + 1122 1092 + 1123 1092 + 1780 1092 + 1781 1092 + 1782 1092 + 1783 1092 + 1784 1092 + 1785 1092 + 1786 1092 + 1885 1092 + 1886 1092 + 1887 1092 + 1888 1092 + 1889 1092 + 1890 1092 + 1891 1092 + 2548 1092 + 2549 1092 + 2550 1092 + 2551 1092 + 2552 1092 + 2553 1092 + 2554 1092 + 2653 1092 + 2654 1092 + 2655 1092 + 2656 1092 + 2657 1092 + 2658 1092 + 2659 1092 + 242 1093 + 243 1093 + 244 1093 + 245 1093 + 246 1093 + 247 1093 + 248 1093 + 352 1093 + 353 1093 + 354 1093 + 355 1093 + 356 1093 + 357 1093 + 1010 1093 + 1011 1093 + 1012 1093 + 1013 1093 + 1014 1093 + 1015 1093 + 1016 1093 + 1120 1093 + 1121 1093 + 1122 1093 + 1123 1093 + 1124 1093 + 1125 1093 + 1778 1093 + 1779 1093 + 1780 1093 + 1781 1093 + 1782 1093 + 1783 1093 + 1784 1093 + 1888 1093 + 1889 1093 + 1890 1093 + 1891 1093 + 1892 1093 + 1893 1093 + 2546 1093 + 2547 1093 + 2548 1093 + 2549 1093 + 2550 1093 + 2551 1093 + 2552 1093 + 2656 1093 + 2657 1093 + 2658 1093 + 2659 1093 + 2660 1093 + 2661 1093 + 240 1094 + 241 1094 + 242 1094 + 243 1094 + 244 1094 + 245 1094 + 354 1094 + 355 1094 + 356 1094 + 357 1094 + 358 1094 + 359 1094 + 360 1094 + 1008 1094 + 1009 1094 + 1010 1094 + 1011 1094 + 1012 1094 + 1013 1094 + 1122 1094 + 1123 1094 + 1124 1094 + 1125 1094 + 1126 1094 + 1127 1094 + 1128 1094 + 1776 1094 + 1777 1094 + 1778 1094 + 1779 1094 + 1780 1094 + 1781 1094 + 1890 1094 + 1891 1094 + 1892 1094 + 1893 1094 + 1894 1094 + 1895 1094 + 1896 1094 + 2544 1094 + 2545 1094 + 2546 1094 + 2547 1094 + 2548 1094 + 2549 1094 + 2658 1094 + 2659 1094 + 2660 1094 + 2661 1094 + 2662 1094 + 2663 1094 + 2664 1094 + 237 1095 + 238 1095 + 239 1095 + 240 1095 + 241 1095 + 242 1095 + 243 1095 + 357 1095 + 358 1095 + 359 1095 + 360 1095 + 361 1095 + 362 1095 + 363 1095 + 1005 1095 + 1006 1095 + 1007 1095 + 1008 1095 + 1009 1095 + 1010 1095 + 1011 1095 + 1125 1095 + 1126 1095 + 1127 1095 + 1128 1095 + 1129 1095 + 1130 1095 + 1131 1095 + 1773 1095 + 1774 1095 + 1775 1095 + 1776 1095 + 1777 1095 + 1778 1095 + 1779 1095 + 1893 1095 + 1894 1095 + 1895 1095 + 1896 1095 + 1897 1095 + 1898 1095 + 1899 1095 + 2541 1095 + 2542 1095 + 2543 1095 + 2544 1095 + 2545 1095 + 2546 1095 + 2547 1095 + 2661 1095 + 2662 1095 + 2663 1095 + 2664 1095 + 2665 1095 + 2666 1095 + 2667 1095 + 234 1096 + 235 1096 + 236 1096 + 237 1096 + 238 1096 + 239 1096 + 240 1096 + 359 1096 + 360 1096 + 361 1096 + 362 1096 + 363 1096 + 364 1096 + 365 1096 + 1002 1096 + 1003 1096 + 1004 1096 + 1005 1096 + 1006 1096 + 1007 1096 + 1008 1096 + 1127 1096 + 1128 1096 + 1129 1096 + 1130 1096 + 1131 1096 + 1132 1096 + 1133 1096 + 1770 1096 + 1771 1096 + 1772 1096 + 1773 1096 + 1774 1096 + 1775 1096 + 1776 1096 + 1895 1096 + 1896 1096 + 1897 1096 + 1898 1096 + 1899 1096 + 1900 1096 + 1901 1096 + 2538 1096 + 2539 1096 + 2540 1096 + 2541 1096 + 2542 1096 + 2543 1096 + 2544 1096 + 2663 1096 + 2664 1096 + 2665 1096 + 2666 1096 + 2667 1096 + 2668 1096 + 2669 1096 + 231 1097 + 232 1097 + 233 1097 + 234 1097 + 235 1097 + 236 1097 + 237 1097 + 362 1097 + 363 1097 + 364 1097 + 365 1097 + 366 1097 + 367 1097 + 368 1097 + 999 1097 + 1000 1097 + 1001 1097 + 1002 1097 + 1003 1097 + 1004 1097 + 1005 1097 + 1130 1097 + 1131 1097 + 1132 1097 + 1133 1097 + 1134 1097 + 1135 1097 + 1136 1097 + 1767 1097 + 1768 1097 + 1769 1097 + 1770 1097 + 1771 1097 + 1772 1097 + 1773 1097 + 1898 1097 + 1899 1097 + 1900 1097 + 1901 1097 + 1902 1097 + 1903 1097 + 1904 1097 + 2535 1097 + 2536 1097 + 2537 1097 + 2538 1097 + 2539 1097 + 2540 1097 + 2541 1097 + 2666 1097 + 2667 1097 + 2668 1097 + 2669 1097 + 2670 1097 + 2671 1097 + 2672 1097 + 229 1098 + 230 1098 + 231 1098 + 232 1098 + 233 1098 + 234 1098 + 235 1098 + 365 1098 + 366 1098 + 367 1098 + 368 1098 + 369 1098 + 370 1098 + 371 1098 + 997 1098 + 998 1098 + 999 1098 + 1000 1098 + 1001 1098 + 1002 1098 + 1003 1098 + 1133 1098 + 1134 1098 + 1135 1098 + 1136 1098 + 1137 1098 + 1138 1098 + 1139 1098 + 1765 1098 + 1766 1098 + 1767 1098 + 1768 1098 + 1769 1098 + 1770 1098 + 1771 1098 + 1901 1098 + 1902 1098 + 1903 1098 + 1904 1098 + 1905 1098 + 1906 1098 + 1907 1098 + 2533 1098 + 2534 1098 + 2535 1098 + 2536 1098 + 2537 1098 + 2538 1098 + 2539 1098 + 2669 1098 + 2670 1098 + 2671 1098 + 2672 1098 + 2673 1098 + 2674 1098 + 2675 1098 + 226 1099 + 227 1099 + 228 1099 + 229 1099 + 230 1099 + 231 1099 + 232 1099 + 367 1099 + 368 1099 + 369 1099 + 370 1099 + 371 1099 + 372 1099 + 373 1099 + 994 1099 + 995 1099 + 996 1099 + 997 1099 + 998 1099 + 999 1099 + 1000 1099 + 1135 1099 + 1136 1099 + 1137 1099 + 1138 1099 + 1139 1099 + 1140 1099 + 1141 1099 + 1762 1099 + 1763 1099 + 1764 1099 + 1765 1099 + 1766 1099 + 1767 1099 + 1768 1099 + 1903 1099 + 1904 1099 + 1905 1099 + 1906 1099 + 1907 1099 + 1908 1099 + 1909 1099 + 2530 1099 + 2531 1099 + 2532 1099 + 2533 1099 + 2534 1099 + 2535 1099 + 2536 1099 + 2671 1099 + 2672 1099 + 2673 1099 + 2674 1099 + 2675 1099 + 2676 1099 + 2677 1099 + 223 1100 + 224 1100 + 225 1100 + 226 1100 + 227 1100 + 228 1100 + 229 1100 + 370 1100 + 371 1100 + 372 1100 + 373 1100 + 374 1100 + 375 1100 + 376 1100 + 991 1100 + 992 1100 + 993 1100 + 994 1100 + 995 1100 + 996 1100 + 997 1100 + 1138 1100 + 1139 1100 + 1140 1100 + 1141 1100 + 1142 1100 + 1143 1100 + 1144 1100 + 1759 1100 + 1760 1100 + 1761 1100 + 1762 1100 + 1763 1100 + 1764 1100 + 1765 1100 + 1906 1100 + 1907 1100 + 1908 1100 + 1909 1100 + 1910 1100 + 1911 1100 + 1912 1100 + 2527 1100 + 2528 1100 + 2529 1100 + 2530 1100 + 2531 1100 + 2532 1100 + 2533 1100 + 2674 1100 + 2675 1100 + 2676 1100 + 2677 1100 + 2678 1100 + 2679 1100 + 2680 1100 + 220 1101 + 221 1101 + 222 1101 + 223 1101 + 224 1101 + 225 1101 + 226 1101 + 373 1101 + 374 1101 + 375 1101 + 376 1101 + 377 1101 + 378 1101 + 379 1101 + 988 1101 + 989 1101 + 990 1101 + 991 1101 + 992 1101 + 993 1101 + 994 1101 + 1141 1101 + 1142 1101 + 1143 1101 + 1144 1101 + 1145 1101 + 1146 1101 + 1147 1101 + 1756 1101 + 1757 1101 + 1758 1101 + 1759 1101 + 1760 1101 + 1761 1101 + 1762 1101 + 1909 1101 + 1910 1101 + 1911 1101 + 1912 1101 + 1913 1101 + 1914 1101 + 1915 1101 + 2524 1101 + 2525 1101 + 2526 1101 + 2527 1101 + 2528 1101 + 2529 1101 + 2530 1101 + 2677 1101 + 2678 1101 + 2679 1101 + 2680 1101 + 2681 1101 + 2682 1101 + 2683 1101 + 217 1102 + 218 1102 + 219 1102 + 220 1102 + 221 1102 + 222 1102 + 223 1102 + 224 1102 + 376 1102 + 377 1102 + 378 1102 + 379 1102 + 380 1102 + 381 1102 + 382 1102 + 985 1102 + 986 1102 + 987 1102 + 988 1102 + 989 1102 + 990 1102 + 991 1102 + 992 1102 + 1144 1102 + 1145 1102 + 1146 1102 + 1147 1102 + 1148 1102 + 1149 1102 + 1150 1102 + 1753 1102 + 1754 1102 + 1755 1102 + 1756 1102 + 1757 1102 + 1758 1102 + 1759 1102 + 1760 1102 + 1912 1102 + 1913 1102 + 1914 1102 + 1915 1102 + 1916 1102 + 1917 1102 + 1918 1102 + 2521 1102 + 2522 1102 + 2523 1102 + 2524 1102 + 2525 1102 + 2526 1102 + 2527 1102 + 2528 1102 + 2680 1102 + 2681 1102 + 2682 1102 + 2683 1102 + 2684 1102 + 2685 1102 + 2686 1102 + 214 1103 + 215 1103 + 216 1103 + 217 1103 + 218 1103 + 219 1103 + 220 1103 + 221 1103 + 378 1103 + 379 1103 + 380 1103 + 381 1103 + 382 1103 + 383 1103 + 384 1103 + 385 1103 + 982 1103 + 983 1103 + 984 1103 + 985 1103 + 986 1103 + 987 1103 + 988 1103 + 989 1103 + 1146 1103 + 1147 1103 + 1148 1103 + 1149 1103 + 1150 1103 + 1151 1103 + 1152 1103 + 1153 1103 + 1750 1103 + 1751 1103 + 1752 1103 + 1753 1103 + 1754 1103 + 1755 1103 + 1756 1103 + 1757 1103 + 1914 1103 + 1915 1103 + 1916 1103 + 1917 1103 + 1918 1103 + 1919 1103 + 1920 1103 + 1921 1103 + 2518 1103 + 2519 1103 + 2520 1103 + 2521 1103 + 2522 1103 + 2523 1103 + 2524 1103 + 2525 1103 + 2682 1103 + 2683 1103 + 2684 1103 + 2685 1103 + 2686 1103 + 2687 1103 + 2688 1103 + 2689 1103 + 212 1104 + 213 1104 + 214 1104 + 215 1104 + 216 1104 + 217 1104 + 218 1104 + 382 1104 + 383 1104 + 384 1104 + 385 1104 + 386 1104 + 387 1104 + 388 1104 + 980 1104 + 981 1104 + 982 1104 + 983 1104 + 984 1104 + 985 1104 + 986 1104 + 1150 1104 + 1151 1104 + 1152 1104 + 1153 1104 + 1154 1104 + 1155 1104 + 1156 1104 + 1748 1104 + 1749 1104 + 1750 1104 + 1751 1104 + 1752 1104 + 1753 1104 + 1754 1104 + 1918 1104 + 1919 1104 + 1920 1104 + 1921 1104 + 1922 1104 + 1923 1104 + 1924 1104 + 2516 1104 + 2517 1104 + 2518 1104 + 2519 1104 + 2520 1104 + 2521 1104 + 2522 1104 + 2686 1104 + 2687 1104 + 2688 1104 + 2689 1104 + 2690 1104 + 2691 1104 + 2692 1104 + 209 1105 + 210 1105 + 211 1105 + 212 1105 + 213 1105 + 214 1105 + 215 1105 + 384 1105 + 385 1105 + 386 1105 + 387 1105 + 388 1105 + 389 1105 + 390 1105 + 977 1105 + 978 1105 + 979 1105 + 980 1105 + 981 1105 + 982 1105 + 983 1105 + 1152 1105 + 1153 1105 + 1154 1105 + 1155 1105 + 1156 1105 + 1157 1105 + 1158 1105 + 1745 1105 + 1746 1105 + 1747 1105 + 1748 1105 + 1749 1105 + 1750 1105 + 1751 1105 + 1920 1105 + 1921 1105 + 1922 1105 + 1923 1105 + 1924 1105 + 1925 1105 + 1926 1105 + 2513 1105 + 2514 1105 + 2515 1105 + 2516 1105 + 2517 1105 + 2518 1105 + 2519 1105 + 2688 1105 + 2689 1105 + 2690 1105 + 2691 1105 + 2692 1105 + 2693 1105 + 2694 1105 + 206 1106 + 207 1106 + 208 1106 + 209 1106 + 210 1106 + 211 1106 + 212 1106 + 387 1106 + 388 1106 + 389 1106 + 390 1106 + 391 1106 + 392 1106 + 393 1106 + 394 1106 + 974 1106 + 975 1106 + 976 1106 + 977 1106 + 978 1106 + 979 1106 + 980 1106 + 1155 1106 + 1156 1106 + 1157 1106 + 1158 1106 + 1159 1106 + 1160 1106 + 1161 1106 + 1162 1106 + 1742 1106 + 1743 1106 + 1744 1106 + 1745 1106 + 1746 1106 + 1747 1106 + 1748 1106 + 1923 1106 + 1924 1106 + 1925 1106 + 1926 1106 + 1927 1106 + 1928 1106 + 1929 1106 + 1930 1106 + 2510 1106 + 2511 1106 + 2512 1106 + 2513 1106 + 2514 1106 + 2515 1106 + 2516 1106 + 2691 1106 + 2692 1106 + 2693 1106 + 2694 1106 + 2695 1106 + 2696 1106 + 2697 1106 + 2698 1106 + 203 1107 + 204 1107 + 205 1107 + 206 1107 + 207 1107 + 208 1107 + 209 1107 + 390 1107 + 391 1107 + 392 1107 + 393 1107 + 394 1107 + 395 1107 + 396 1107 + 397 1107 + 971 1107 + 972 1107 + 973 1107 + 974 1107 + 975 1107 + 976 1107 + 977 1107 + 1158 1107 + 1159 1107 + 1160 1107 + 1161 1107 + 1162 1107 + 1163 1107 + 1164 1107 + 1165 1107 + 1739 1107 + 1740 1107 + 1741 1107 + 1742 1107 + 1743 1107 + 1744 1107 + 1745 1107 + 1926 1107 + 1927 1107 + 1928 1107 + 1929 1107 + 1930 1107 + 1931 1107 + 1932 1107 + 1933 1107 + 2507 1107 + 2508 1107 + 2509 1107 + 2510 1107 + 2511 1107 + 2512 1107 + 2513 1107 + 2694 1107 + 2695 1107 + 2696 1107 + 2697 1107 + 2698 1107 + 2699 1107 + 2700 1107 + 2701 1107 + 200 1108 + 201 1108 + 202 1108 + 203 1108 + 204 1108 + 205 1108 + 206 1108 + 393 1108 + 394 1108 + 395 1108 + 396 1108 + 397 1108 + 398 1108 + 399 1108 + 400 1108 + 968 1108 + 969 1108 + 970 1108 + 971 1108 + 972 1108 + 973 1108 + 974 1108 + 1161 1108 + 1162 1108 + 1163 1108 + 1164 1108 + 1165 1108 + 1166 1108 + 1167 1108 + 1168 1108 + 1736 1108 + 1737 1108 + 1738 1108 + 1739 1108 + 1740 1108 + 1741 1108 + 1742 1108 + 1929 1108 + 1930 1108 + 1931 1108 + 1932 1108 + 1933 1108 + 1934 1108 + 1935 1108 + 1936 1108 + 2504 1108 + 2505 1108 + 2506 1108 + 2507 1108 + 2508 1108 + 2509 1108 + 2510 1108 + 2697 1108 + 2698 1108 + 2699 1108 + 2700 1108 + 2701 1108 + 2702 1108 + 2703 1108 + 2704 1108 + 196 1109 + 197 1109 + 198 1109 + 199 1109 + 200 1109 + 201 1109 + 202 1109 + 203 1109 + 396 1109 + 397 1109 + 398 1109 + 399 1109 + 400 1109 + 401 1109 + 402 1109 + 403 1109 + 964 1109 + 965 1109 + 966 1109 + 967 1109 + 968 1109 + 969 1109 + 970 1109 + 971 1109 + 1164 1109 + 1165 1109 + 1166 1109 + 1167 1109 + 1168 1109 + 1169 1109 + 1170 1109 + 1171 1109 + 1732 1109 + 1733 1109 + 1734 1109 + 1735 1109 + 1736 1109 + 1737 1109 + 1738 1109 + 1739 1109 + 1932 1109 + 1933 1109 + 1934 1109 + 1935 1109 + 1936 1109 + 1937 1109 + 1938 1109 + 1939 1109 + 2500 1109 + 2501 1109 + 2502 1109 + 2503 1109 + 2504 1109 + 2505 1109 + 2506 1109 + 2507 1109 + 2700 1109 + 2701 1109 + 2702 1109 + 2703 1109 + 2704 1109 + 2705 1109 + 2706 1109 + 2707 1109 + 193 1110 + 194 1110 + 195 1110 + 196 1110 + 197 1110 + 198 1110 + 199 1110 + 200 1110 + 399 1110 + 400 1110 + 401 1110 + 402 1110 + 403 1110 + 404 1110 + 405 1110 + 406 1110 + 961 1110 + 962 1110 + 963 1110 + 964 1110 + 965 1110 + 966 1110 + 967 1110 + 968 1110 + 1167 1110 + 1168 1110 + 1169 1110 + 1170 1110 + 1171 1110 + 1172 1110 + 1173 1110 + 1174 1110 + 1729 1110 + 1730 1110 + 1731 1110 + 1732 1110 + 1733 1110 + 1734 1110 + 1735 1110 + 1736 1110 + 1935 1110 + 1936 1110 + 1937 1110 + 1938 1110 + 1939 1110 + 1940 1110 + 1941 1110 + 1942 1110 + 2497 1110 + 2498 1110 + 2499 1110 + 2500 1110 + 2501 1110 + 2502 1110 + 2503 1110 + 2504 1110 + 2703 1110 + 2704 1110 + 2705 1110 + 2706 1110 + 2707 1110 + 2708 1110 + 2709 1110 + 2710 1110 + 190 1111 + 191 1111 + 192 1111 + 193 1111 + 194 1111 + 195 1111 + 196 1111 + 197 1111 + 403 1111 + 404 1111 + 405 1111 + 406 1111 + 407 1111 + 408 1111 + 409 1111 + 958 1111 + 959 1111 + 960 1111 + 961 1111 + 962 1111 + 963 1111 + 964 1111 + 965 1111 + 1171 1111 + 1172 1111 + 1173 1111 + 1174 1111 + 1175 1111 + 1176 1111 + 1177 1111 + 1726 1111 + 1727 1111 + 1728 1111 + 1729 1111 + 1730 1111 + 1731 1111 + 1732 1111 + 1733 1111 + 1939 1111 + 1940 1111 + 1941 1111 + 1942 1111 + 1943 1111 + 1944 1111 + 1945 1111 + 2494 1111 + 2495 1111 + 2496 1111 + 2497 1111 + 2498 1111 + 2499 1111 + 2500 1111 + 2501 1111 + 2707 1111 + 2708 1111 + 2709 1111 + 2710 1111 + 2711 1111 + 2712 1111 + 2713 1111 + 187 1112 + 188 1112 + 189 1112 + 190 1112 + 191 1112 + 192 1112 + 193 1112 + 194 1112 + 405 1112 + 406 1112 + 407 1112 + 408 1112 + 409 1112 + 410 1112 + 411 1112 + 412 1112 + 413 1112 + 955 1112 + 956 1112 + 957 1112 + 958 1112 + 959 1112 + 960 1112 + 961 1112 + 962 1112 + 1173 1112 + 1174 1112 + 1175 1112 + 1176 1112 + 1177 1112 + 1178 1112 + 1179 1112 + 1180 1112 + 1181 1112 + 1723 1112 + 1724 1112 + 1725 1112 + 1726 1112 + 1727 1112 + 1728 1112 + 1729 1112 + 1730 1112 + 1941 1112 + 1942 1112 + 1943 1112 + 1944 1112 + 1945 1112 + 1946 1112 + 1947 1112 + 1948 1112 + 1949 1112 + 2491 1112 + 2492 1112 + 2493 1112 + 2494 1112 + 2495 1112 + 2496 1112 + 2497 1112 + 2498 1112 + 2709 1112 + 2710 1112 + 2711 1112 + 2712 1112 + 2713 1112 + 2714 1112 + 2715 1112 + 2716 1112 + 2717 1112 + 183 1113 + 184 1113 + 185 1113 + 186 1113 + 187 1113 + 188 1113 + 189 1113 + 190 1113 + 191 1113 + 409 1113 + 410 1113 + 411 1113 + 412 1113 + 413 1113 + 414 1113 + 415 1113 + 416 1113 + 951 1113 + 952 1113 + 953 1113 + 954 1113 + 955 1113 + 956 1113 + 957 1113 + 958 1113 + 959 1113 + 1177 1113 + 1178 1113 + 1179 1113 + 1180 1113 + 1181 1113 + 1182 1113 + 1183 1113 + 1184 1113 + 1719 1113 + 1720 1113 + 1721 1113 + 1722 1113 + 1723 1113 + 1724 1113 + 1725 1113 + 1726 1113 + 1727 1113 + 1945 1113 + 1946 1113 + 1947 1113 + 1948 1113 + 1949 1113 + 1950 1113 + 1951 1113 + 1952 1113 + 2487 1113 + 2488 1113 + 2489 1113 + 2490 1113 + 2491 1113 + 2492 1113 + 2493 1113 + 2494 1113 + 2495 1113 + 2713 1113 + 2714 1113 + 2715 1113 + 2716 1113 + 2717 1113 + 2718 1113 + 2719 1113 + 2720 1113 + 180 1114 + 181 1114 + 182 1114 + 183 1114 + 184 1114 + 185 1114 + 186 1114 + 187 1114 + 412 1114 + 413 1114 + 414 1114 + 415 1114 + 416 1114 + 417 1114 + 418 1114 + 419 1114 + 948 1114 + 949 1114 + 950 1114 + 951 1114 + 952 1114 + 953 1114 + 954 1114 + 955 1114 + 1180 1114 + 1181 1114 + 1182 1114 + 1183 1114 + 1184 1114 + 1185 1114 + 1186 1114 + 1187 1114 + 1716 1114 + 1717 1114 + 1718 1114 + 1719 1114 + 1720 1114 + 1721 1114 + 1722 1114 + 1723 1114 + 1948 1114 + 1949 1114 + 1950 1114 + 1951 1114 + 1952 1114 + 1953 1114 + 1954 1114 + 1955 1114 + 2484 1114 + 2485 1114 + 2486 1114 + 2487 1114 + 2488 1114 + 2489 1114 + 2490 1114 + 2491 1114 + 2716 1114 + 2717 1114 + 2718 1114 + 2719 1114 + 2720 1114 + 2721 1114 + 2722 1114 + 2723 1114 + 177 1115 + 178 1115 + 179 1115 + 180 1115 + 181 1115 + 182 1115 + 183 1115 + 184 1115 + 415 1115 + 416 1115 + 417 1115 + 418 1115 + 419 1115 + 420 1115 + 421 1115 + 422 1115 + 423 1115 + 945 1115 + 946 1115 + 947 1115 + 948 1115 + 949 1115 + 950 1115 + 951 1115 + 952 1115 + 1183 1115 + 1184 1115 + 1185 1115 + 1186 1115 + 1187 1115 + 1188 1115 + 1189 1115 + 1190 1115 + 1191 1115 + 1713 1115 + 1714 1115 + 1715 1115 + 1716 1115 + 1717 1115 + 1718 1115 + 1719 1115 + 1720 1115 + 1951 1115 + 1952 1115 + 1953 1115 + 1954 1115 + 1955 1115 + 1956 1115 + 1957 1115 + 1958 1115 + 1959 1115 + 2481 1115 + 2482 1115 + 2483 1115 + 2484 1115 + 2485 1115 + 2486 1115 + 2487 1115 + 2488 1115 + 2719 1115 + 2720 1115 + 2721 1115 + 2722 1115 + 2723 1115 + 2724 1115 + 2725 1115 + 2726 1115 + 2727 1115 + 173 1116 + 174 1116 + 175 1116 + 176 1116 + 177 1116 + 178 1116 + 179 1116 + 180 1116 + 181 1116 + 419 1116 + 420 1116 + 421 1116 + 422 1116 + 423 1116 + 424 1116 + 425 1116 + 426 1116 + 941 1116 + 942 1116 + 943 1116 + 944 1116 + 945 1116 + 946 1116 + 947 1116 + 948 1116 + 949 1116 + 1187 1116 + 1188 1116 + 1189 1116 + 1190 1116 + 1191 1116 + 1192 1116 + 1193 1116 + 1194 1116 + 1709 1116 + 1710 1116 + 1711 1116 + 1712 1116 + 1713 1116 + 1714 1116 + 1715 1116 + 1716 1116 + 1717 1116 + 1955 1116 + 1956 1116 + 1957 1116 + 1958 1116 + 1959 1116 + 1960 1116 + 1961 1116 + 1962 1116 + 2477 1116 + 2478 1116 + 2479 1116 + 2480 1116 + 2481 1116 + 2482 1116 + 2483 1116 + 2484 1116 + 2485 1116 + 2723 1116 + 2724 1116 + 2725 1116 + 2726 1116 + 2727 1116 + 2728 1116 + 2729 1116 + 2730 1116 + 170 1117 + 171 1117 + 172 1117 + 173 1117 + 174 1117 + 175 1117 + 176 1117 + 177 1117 + 422 1117 + 423 1117 + 424 1117 + 425 1117 + 426 1117 + 427 1117 + 428 1117 + 429 1117 + 938 1117 + 939 1117 + 940 1117 + 941 1117 + 942 1117 + 943 1117 + 944 1117 + 945 1117 + 1190 1117 + 1191 1117 + 1192 1117 + 1193 1117 + 1194 1117 + 1195 1117 + 1196 1117 + 1197 1117 + 1706 1117 + 1707 1117 + 1708 1117 + 1709 1117 + 1710 1117 + 1711 1117 + 1712 1117 + 1713 1117 + 1958 1117 + 1959 1117 + 1960 1117 + 1961 1117 + 1962 1117 + 1963 1117 + 1964 1117 + 1965 1117 + 2474 1117 + 2475 1117 + 2476 1117 + 2477 1117 + 2478 1117 + 2479 1117 + 2480 1117 + 2481 1117 + 2726 1117 + 2727 1117 + 2728 1117 + 2729 1117 + 2730 1117 + 2731 1117 + 2732 1117 + 2733 1117 + 166 1118 + 167 1118 + 168 1118 + 169 1118 + 170 1118 + 171 1118 + 172 1118 + 173 1118 + 174 1118 + 426 1118 + 427 1118 + 428 1118 + 429 1118 + 430 1118 + 431 1118 + 432 1118 + 433 1118 + 934 1118 + 935 1118 + 936 1118 + 937 1118 + 938 1118 + 939 1118 + 940 1118 + 941 1118 + 942 1118 + 1194 1118 + 1195 1118 + 1196 1118 + 1197 1118 + 1198 1118 + 1199 1118 + 1200 1118 + 1201 1118 + 1702 1118 + 1703 1118 + 1704 1118 + 1705 1118 + 1706 1118 + 1707 1118 + 1708 1118 + 1709 1118 + 1710 1118 + 1962 1118 + 1963 1118 + 1964 1118 + 1965 1118 + 1966 1118 + 1967 1118 + 1968 1118 + 1969 1118 + 2470 1118 + 2471 1118 + 2472 1118 + 2473 1118 + 2474 1118 + 2475 1118 + 2476 1118 + 2477 1118 + 2478 1118 + 2730 1118 + 2731 1118 + 2732 1118 + 2733 1118 + 2734 1118 + 2735 1118 + 2736 1118 + 2737 1118 + 163 1119 + 164 1119 + 165 1119 + 166 1119 + 167 1119 + 168 1119 + 169 1119 + 170 1119 + 429 1119 + 430 1119 + 431 1119 + 432 1119 + 433 1119 + 434 1119 + 435 1119 + 436 1119 + 437 1119 + 931 1119 + 932 1119 + 933 1119 + 934 1119 + 935 1119 + 936 1119 + 937 1119 + 938 1119 + 1197 1119 + 1198 1119 + 1199 1119 + 1200 1119 + 1201 1119 + 1202 1119 + 1203 1119 + 1204 1119 + 1205 1119 + 1699 1119 + 1700 1119 + 1701 1119 + 1702 1119 + 1703 1119 + 1704 1119 + 1705 1119 + 1706 1119 + 1965 1119 + 1966 1119 + 1967 1119 + 1968 1119 + 1969 1119 + 1970 1119 + 1971 1119 + 1972 1119 + 1973 1119 + 2467 1119 + 2468 1119 + 2469 1119 + 2470 1119 + 2471 1119 + 2472 1119 + 2473 1119 + 2474 1119 + 2733 1119 + 2734 1119 + 2735 1119 + 2736 1119 + 2737 1119 + 2738 1119 + 2739 1119 + 2740 1119 + 2741 1119 + 159 1120 + 160 1120 + 161 1120 + 162 1120 + 163 1120 + 164 1120 + 165 1120 + 166 1120 + 167 1120 + 432 1120 + 433 1120 + 434 1120 + 435 1120 + 436 1120 + 437 1120 + 438 1120 + 439 1120 + 440 1120 + 927 1120 + 928 1120 + 929 1120 + 930 1120 + 931 1120 + 932 1120 + 933 1120 + 934 1120 + 935 1120 + 1200 1120 + 1201 1120 + 1202 1120 + 1203 1120 + 1204 1120 + 1205 1120 + 1206 1120 + 1207 1120 + 1208 1120 + 1695 1120 + 1696 1120 + 1697 1120 + 1698 1120 + 1699 1120 + 1700 1120 + 1701 1120 + 1702 1120 + 1703 1120 + 1968 1120 + 1969 1120 + 1970 1120 + 1971 1120 + 1972 1120 + 1973 1120 + 1974 1120 + 1975 1120 + 1976 1120 + 2463 1120 + 2464 1120 + 2465 1120 + 2466 1120 + 2467 1120 + 2468 1120 + 2469 1120 + 2470 1120 + 2471 1120 + 2736 1120 + 2737 1120 + 2738 1120 + 2739 1120 + 2740 1120 + 2741 1120 + 2742 1120 + 2743 1120 + 2744 1120 + 155 1121 + 156 1121 + 157 1121 + 158 1121 + 159 1121 + 160 1121 + 161 1121 + 162 1121 + 163 1121 + 436 1121 + 437 1121 + 438 1121 + 439 1121 + 440 1121 + 441 1121 + 442 1121 + 443 1121 + 444 1121 + 923 1121 + 924 1121 + 925 1121 + 926 1121 + 927 1121 + 928 1121 + 929 1121 + 930 1121 + 931 1121 + 1204 1121 + 1205 1121 + 1206 1121 + 1207 1121 + 1208 1121 + 1209 1121 + 1210 1121 + 1211 1121 + 1212 1121 + 1691 1121 + 1692 1121 + 1693 1121 + 1694 1121 + 1695 1121 + 1696 1121 + 1697 1121 + 1698 1121 + 1699 1121 + 1972 1121 + 1973 1121 + 1974 1121 + 1975 1121 + 1976 1121 + 1977 1121 + 1978 1121 + 1979 1121 + 1980 1121 + 2459 1121 + 2460 1121 + 2461 1121 + 2462 1121 + 2463 1121 + 2464 1121 + 2465 1121 + 2466 1121 + 2467 1121 + 2740 1121 + 2741 1121 + 2742 1121 + 2743 1121 + 2744 1121 + 2745 1121 + 2746 1121 + 2747 1121 + 2748 1121 + 152 1122 + 153 1122 + 154 1122 + 155 1122 + 156 1122 + 157 1122 + 158 1122 + 159 1122 + 160 1122 + 440 1122 + 441 1122 + 442 1122 + 443 1122 + 444 1122 + 445 1122 + 446 1122 + 447 1122 + 448 1122 + 920 1122 + 921 1122 + 922 1122 + 923 1122 + 924 1122 + 925 1122 + 926 1122 + 927 1122 + 928 1122 + 1208 1122 + 1209 1122 + 1210 1122 + 1211 1122 + 1212 1122 + 1213 1122 + 1214 1122 + 1215 1122 + 1216 1122 + 1688 1122 + 1689 1122 + 1690 1122 + 1691 1122 + 1692 1122 + 1693 1122 + 1694 1122 + 1695 1122 + 1696 1122 + 1976 1122 + 1977 1122 + 1978 1122 + 1979 1122 + 1980 1122 + 1981 1122 + 1982 1122 + 1983 1122 + 1984 1122 + 2456 1122 + 2457 1122 + 2458 1122 + 2459 1122 + 2460 1122 + 2461 1122 + 2462 1122 + 2463 1122 + 2464 1122 + 2744 1122 + 2745 1122 + 2746 1122 + 2747 1122 + 2748 1122 + 2749 1122 + 2750 1122 + 2751 1122 + 2752 1122 + 148 1123 + 149 1123 + 150 1123 + 151 1123 + 152 1123 + 153 1123 + 154 1123 + 155 1123 + 156 1123 + 444 1123 + 445 1123 + 446 1123 + 447 1123 + 448 1123 + 449 1123 + 450 1123 + 451 1123 + 452 1123 + 916 1123 + 917 1123 + 918 1123 + 919 1123 + 920 1123 + 921 1123 + 922 1123 + 923 1123 + 924 1123 + 1212 1123 + 1213 1123 + 1214 1123 + 1215 1123 + 1216 1123 + 1217 1123 + 1218 1123 + 1219 1123 + 1220 1123 + 1684 1123 + 1685 1123 + 1686 1123 + 1687 1123 + 1688 1123 + 1689 1123 + 1690 1123 + 1691 1123 + 1692 1123 + 1980 1123 + 1981 1123 + 1982 1123 + 1983 1123 + 1984 1123 + 1985 1123 + 1986 1123 + 1987 1123 + 1988 1123 + 2452 1123 + 2453 1123 + 2454 1123 + 2455 1123 + 2456 1123 + 2457 1123 + 2458 1123 + 2459 1123 + 2460 1123 + 2748 1123 + 2749 1123 + 2750 1123 + 2751 1123 + 2752 1123 + 2753 1123 + 2754 1123 + 2755 1123 + 2756 1123 + 144 1124 + 145 1124 + 146 1124 + 147 1124 + 148 1124 + 149 1124 + 150 1124 + 151 1124 + 152 1124 + 447 1124 + 448 1124 + 449 1124 + 450 1124 + 451 1124 + 452 1124 + 453 1124 + 454 1124 + 455 1124 + 456 1124 + 912 1124 + 913 1124 + 914 1124 + 915 1124 + 916 1124 + 917 1124 + 918 1124 + 919 1124 + 920 1124 + 1215 1124 + 1216 1124 + 1217 1124 + 1218 1124 + 1219 1124 + 1220 1124 + 1221 1124 + 1222 1124 + 1223 1124 + 1224 1124 + 1680 1124 + 1681 1124 + 1682 1124 + 1683 1124 + 1684 1124 + 1685 1124 + 1686 1124 + 1687 1124 + 1688 1124 + 1983 1124 + 1984 1124 + 1985 1124 + 1986 1124 + 1987 1124 + 1988 1124 + 1989 1124 + 1990 1124 + 1991 1124 + 1992 1124 + 2448 1124 + 2449 1124 + 2450 1124 + 2451 1124 + 2452 1124 + 2453 1124 + 2454 1124 + 2455 1124 + 2456 1124 + 2751 1124 + 2752 1124 + 2753 1124 + 2754 1124 + 2755 1124 + 2756 1124 + 2757 1124 + 2758 1124 + 2759 1124 + 2760 1124 + 140 1125 + 141 1125 + 142 1125 + 143 1125 + 144 1125 + 145 1125 + 146 1125 + 147 1125 + 148 1125 + 451 1125 + 452 1125 + 453 1125 + 454 1125 + 455 1125 + 456 1125 + 457 1125 + 458 1125 + 459 1125 + 460 1125 + 908 1125 + 909 1125 + 910 1125 + 911 1125 + 912 1125 + 913 1125 + 914 1125 + 915 1125 + 916 1125 + 1219 1125 + 1220 1125 + 1221 1125 + 1222 1125 + 1223 1125 + 1224 1125 + 1225 1125 + 1226 1125 + 1227 1125 + 1228 1125 + 1676 1125 + 1677 1125 + 1678 1125 + 1679 1125 + 1680 1125 + 1681 1125 + 1682 1125 + 1683 1125 + 1684 1125 + 1987 1125 + 1988 1125 + 1989 1125 + 1990 1125 + 1991 1125 + 1992 1125 + 1993 1125 + 1994 1125 + 1995 1125 + 1996 1125 + 2444 1125 + 2445 1125 + 2446 1125 + 2447 1125 + 2448 1125 + 2449 1125 + 2450 1125 + 2451 1125 + 2452 1125 + 2755 1125 + 2756 1125 + 2757 1125 + 2758 1125 + 2759 1125 + 2760 1125 + 2761 1125 + 2762 1125 + 2763 1125 + 2764 1125 + 135 1126 + 136 1126 + 137 1126 + 138 1126 + 139 1126 + 140 1126 + 141 1126 + 142 1126 + 143 1126 + 144 1126 + 455 1126 + 456 1126 + 457 1126 + 458 1126 + 459 1126 + 460 1126 + 461 1126 + 462 1126 + 463 1126 + 464 1126 + 903 1126 + 904 1126 + 905 1126 + 906 1126 + 907 1126 + 908 1126 + 909 1126 + 910 1126 + 911 1126 + 912 1126 + 1223 1126 + 1224 1126 + 1225 1126 + 1226 1126 + 1227 1126 + 1228 1126 + 1229 1126 + 1230 1126 + 1231 1126 + 1232 1126 + 1671 1126 + 1672 1126 + 1673 1126 + 1674 1126 + 1675 1126 + 1676 1126 + 1677 1126 + 1678 1126 + 1679 1126 + 1680 1126 + 1991 1126 + 1992 1126 + 1993 1126 + 1994 1126 + 1995 1126 + 1996 1126 + 1997 1126 + 1998 1126 + 1999 1126 + 2000 1126 + 2439 1126 + 2440 1126 + 2441 1126 + 2442 1126 + 2443 1126 + 2444 1126 + 2445 1126 + 2446 1126 + 2447 1126 + 2448 1126 + 2759 1126 + 2760 1126 + 2761 1126 + 2762 1126 + 2763 1126 + 2764 1126 + 2765 1126 + 2766 1126 + 2767 1126 + 2768 1126 + 131 1127 + 132 1127 + 133 1127 + 134 1127 + 135 1127 + 136 1127 + 137 1127 + 138 1127 + 139 1127 + 140 1127 + 459 1127 + 460 1127 + 461 1127 + 462 1127 + 463 1127 + 464 1127 + 465 1127 + 466 1127 + 467 1127 + 468 1127 + 899 1127 + 900 1127 + 901 1127 + 902 1127 + 903 1127 + 904 1127 + 905 1127 + 906 1127 + 907 1127 + 908 1127 + 1227 1127 + 1228 1127 + 1229 1127 + 1230 1127 + 1231 1127 + 1232 1127 + 1233 1127 + 1234 1127 + 1235 1127 + 1236 1127 + 1667 1127 + 1668 1127 + 1669 1127 + 1670 1127 + 1671 1127 + 1672 1127 + 1673 1127 + 1674 1127 + 1675 1127 + 1676 1127 + 1995 1127 + 1996 1127 + 1997 1127 + 1998 1127 + 1999 1127 + 2000 1127 + 2001 1127 + 2002 1127 + 2003 1127 + 2004 1127 + 2435 1127 + 2436 1127 + 2437 1127 + 2438 1127 + 2439 1127 + 2440 1127 + 2441 1127 + 2442 1127 + 2443 1127 + 2444 1127 + 2763 1127 + 2764 1127 + 2765 1127 + 2766 1127 + 2767 1127 + 2768 1127 + 2769 1127 + 2770 1127 + 2771 1127 + 2772 1127 + 127 1128 + 128 1128 + 129 1128 + 130 1128 + 131 1128 + 132 1128 + 133 1128 + 134 1128 + 135 1128 + 136 1128 + 464 1128 + 465 1128 + 466 1128 + 467 1128 + 468 1128 + 469 1128 + 470 1128 + 471 1128 + 472 1128 + 895 1128 + 896 1128 + 897 1128 + 898 1128 + 899 1128 + 900 1128 + 901 1128 + 902 1128 + 903 1128 + 904 1128 + 1232 1128 + 1233 1128 + 1234 1128 + 1235 1128 + 1236 1128 + 1237 1128 + 1238 1128 + 1239 1128 + 1240 1128 + 1663 1128 + 1664 1128 + 1665 1128 + 1666 1128 + 1667 1128 + 1668 1128 + 1669 1128 + 1670 1128 + 1671 1128 + 1672 1128 + 2000 1128 + 2001 1128 + 2002 1128 + 2003 1128 + 2004 1128 + 2005 1128 + 2006 1128 + 2007 1128 + 2008 1128 + 2431 1128 + 2432 1128 + 2433 1128 + 2434 1128 + 2435 1128 + 2436 1128 + 2437 1128 + 2438 1128 + 2439 1128 + 2440 1128 + 2768 1128 + 2769 1128 + 2770 1128 + 2771 1128 + 2772 1128 + 2773 1128 + 2774 1128 + 2775 1128 + 2776 1128 + 123 1129 + 124 1129 + 125 1129 + 126 1129 + 127 1129 + 128 1129 + 129 1129 + 130 1129 + 131 1129 + 132 1129 + 468 1129 + 469 1129 + 470 1129 + 471 1129 + 472 1129 + 473 1129 + 474 1129 + 475 1129 + 476 1129 + 477 1129 + 891 1129 + 892 1129 + 893 1129 + 894 1129 + 895 1129 + 896 1129 + 897 1129 + 898 1129 + 899 1129 + 900 1129 + 1236 1129 + 1237 1129 + 1238 1129 + 1239 1129 + 1240 1129 + 1241 1129 + 1242 1129 + 1243 1129 + 1244 1129 + 1245 1129 + 1659 1129 + 1660 1129 + 1661 1129 + 1662 1129 + 1663 1129 + 1664 1129 + 1665 1129 + 1666 1129 + 1667 1129 + 1668 1129 + 2004 1129 + 2005 1129 + 2006 1129 + 2007 1129 + 2008 1129 + 2009 1129 + 2010 1129 + 2011 1129 + 2012 1129 + 2013 1129 + 2427 1129 + 2428 1129 + 2429 1129 + 2430 1129 + 2431 1129 + 2432 1129 + 2433 1129 + 2434 1129 + 2435 1129 + 2436 1129 + 2772 1129 + 2773 1129 + 2774 1129 + 2775 1129 + 2776 1129 + 2777 1129 + 2778 1129 + 2779 1129 + 2780 1129 + 2781 1129 + 118 1130 + 119 1130 + 120 1130 + 121 1130 + 122 1130 + 123 1130 + 124 1130 + 125 1130 + 126 1130 + 127 1130 + 128 1130 + 472 1130 + 473 1130 + 474 1130 + 475 1130 + 476 1130 + 477 1130 + 478 1130 + 479 1130 + 480 1130 + 481 1130 + 886 1130 + 887 1130 + 888 1130 + 889 1130 + 890 1130 + 891 1130 + 892 1130 + 893 1130 + 894 1130 + 895 1130 + 896 1130 + 1240 1130 + 1241 1130 + 1242 1130 + 1243 1130 + 1244 1130 + 1245 1130 + 1246 1130 + 1247 1130 + 1248 1130 + 1249 1130 + 1654 1130 + 1655 1130 + 1656 1130 + 1657 1130 + 1658 1130 + 1659 1130 + 1660 1130 + 1661 1130 + 1662 1130 + 1663 1130 + 1664 1130 + 2008 1130 + 2009 1130 + 2010 1130 + 2011 1130 + 2012 1130 + 2013 1130 + 2014 1130 + 2015 1130 + 2016 1130 + 2017 1130 + 2422 1130 + 2423 1130 + 2424 1130 + 2425 1130 + 2426 1130 + 2427 1130 + 2428 1130 + 2429 1130 + 2430 1130 + 2431 1130 + 2432 1130 + 2776 1130 + 2777 1130 + 2778 1130 + 2779 1130 + 2780 1130 + 2781 1130 + 2782 1130 + 2783 1130 + 2784 1130 + 2785 1130 + 114 1131 + 115 1131 + 116 1131 + 117 1131 + 118 1131 + 119 1131 + 120 1131 + 121 1131 + 122 1131 + 123 1131 + 476 1131 + 477 1131 + 478 1131 + 479 1131 + 480 1131 + 481 1131 + 482 1131 + 483 1131 + 484 1131 + 485 1131 + 486 1131 + 882 1131 + 883 1131 + 884 1131 + 885 1131 + 886 1131 + 887 1131 + 888 1131 + 889 1131 + 890 1131 + 891 1131 + 1244 1131 + 1245 1131 + 1246 1131 + 1247 1131 + 1248 1131 + 1249 1131 + 1250 1131 + 1251 1131 + 1252 1131 + 1253 1131 + 1254 1131 + 1650 1131 + 1651 1131 + 1652 1131 + 1653 1131 + 1654 1131 + 1655 1131 + 1656 1131 + 1657 1131 + 1658 1131 + 1659 1131 + 2012 1131 + 2013 1131 + 2014 1131 + 2015 1131 + 2016 1131 + 2017 1131 + 2018 1131 + 2019 1131 + 2020 1131 + 2021 1131 + 2022 1131 + 2418 1131 + 2419 1131 + 2420 1131 + 2421 1131 + 2422 1131 + 2423 1131 + 2424 1131 + 2425 1131 + 2426 1131 + 2427 1131 + 2780 1131 + 2781 1131 + 2782 1131 + 2783 1131 + 2784 1131 + 2785 1131 + 2786 1131 + 2787 1131 + 2788 1131 + 2789 1131 + 2790 1131 + 109 1132 + 110 1132 + 111 1132 + 112 1132 + 113 1132 + 114 1132 + 115 1132 + 116 1132 + 117 1132 + 118 1132 + 119 1132 + 481 1132 + 482 1132 + 483 1132 + 484 1132 + 485 1132 + 486 1132 + 487 1132 + 488 1132 + 489 1132 + 490 1132 + 877 1132 + 878 1132 + 879 1132 + 880 1132 + 881 1132 + 882 1132 + 883 1132 + 884 1132 + 885 1132 + 886 1132 + 887 1132 + 1249 1132 + 1250 1132 + 1251 1132 + 1252 1132 + 1253 1132 + 1254 1132 + 1255 1132 + 1256 1132 + 1257 1132 + 1258 1132 + 1645 1132 + 1646 1132 + 1647 1132 + 1648 1132 + 1649 1132 + 1650 1132 + 1651 1132 + 1652 1132 + 1653 1132 + 1654 1132 + 1655 1132 + 2017 1132 + 2018 1132 + 2019 1132 + 2020 1132 + 2021 1132 + 2022 1132 + 2023 1132 + 2024 1132 + 2025 1132 + 2026 1132 + 2413 1132 + 2414 1132 + 2415 1132 + 2416 1132 + 2417 1132 + 2418 1132 + 2419 1132 + 2420 1132 + 2421 1132 + 2422 1132 + 2423 1132 + 2785 1132 + 2786 1132 + 2787 1132 + 2788 1132 + 2789 1132 + 2790 1132 + 2791 1132 + 2792 1132 + 2793 1132 + 2794 1132 + 104 1133 + 105 1133 + 106 1133 + 107 1133 + 108 1133 + 109 1133 + 110 1133 + 111 1133 + 112 1133 + 113 1133 + 114 1133 + 485 1133 + 486 1133 + 487 1133 + 488 1133 + 489 1133 + 490 1133 + 491 1133 + 492 1133 + 493 1133 + 494 1133 + 495 1133 + 496 1133 + 872 1133 + 873 1133 + 874 1133 + 875 1133 + 876 1133 + 877 1133 + 878 1133 + 879 1133 + 880 1133 + 881 1133 + 882 1133 + 1253 1133 + 1254 1133 + 1255 1133 + 1256 1133 + 1257 1133 + 1258 1133 + 1259 1133 + 1260 1133 + 1261 1133 + 1262 1133 + 1263 1133 + 1264 1133 + 1640 1133 + 1641 1133 + 1642 1133 + 1643 1133 + 1644 1133 + 1645 1133 + 1646 1133 + 1647 1133 + 1648 1133 + 1649 1133 + 1650 1133 + 2021 1133 + 2022 1133 + 2023 1133 + 2024 1133 + 2025 1133 + 2026 1133 + 2027 1133 + 2028 1133 + 2029 1133 + 2030 1133 + 2031 1133 + 2032 1133 + 2408 1133 + 2409 1133 + 2410 1133 + 2411 1133 + 2412 1133 + 2413 1133 + 2414 1133 + 2415 1133 + 2416 1133 + 2417 1133 + 2418 1133 + 2789 1133 + 2790 1133 + 2791 1133 + 2792 1133 + 2793 1133 + 2794 1133 + 2795 1133 + 2796 1133 + 2797 1133 + 2798 1133 + 2799 1133 + 2800 1133 + 99 1134 + 100 1134 + 101 1134 + 102 1134 + 103 1134 + 104 1134 + 105 1134 + 106 1134 + 107 1134 + 108 1134 + 109 1134 + 490 1134 + 491 1134 + 492 1134 + 493 1134 + 494 1134 + 495 1134 + 496 1134 + 497 1134 + 498 1134 + 499 1134 + 500 1134 + 867 1134 + 868 1134 + 869 1134 + 870 1134 + 871 1134 + 872 1134 + 873 1134 + 874 1134 + 875 1134 + 876 1134 + 877 1134 + 1258 1134 + 1259 1134 + 1260 1134 + 1261 1134 + 1262 1134 + 1263 1134 + 1264 1134 + 1265 1134 + 1266 1134 + 1267 1134 + 1268 1134 + 1635 1134 + 1636 1134 + 1637 1134 + 1638 1134 + 1639 1134 + 1640 1134 + 1641 1134 + 1642 1134 + 1643 1134 + 1644 1134 + 1645 1134 + 2026 1134 + 2027 1134 + 2028 1134 + 2029 1134 + 2030 1134 + 2031 1134 + 2032 1134 + 2033 1134 + 2034 1134 + 2035 1134 + 2036 1134 + 2403 1134 + 2404 1134 + 2405 1134 + 2406 1134 + 2407 1134 + 2408 1134 + 2409 1134 + 2410 1134 + 2411 1134 + 2412 1134 + 2413 1134 + 2794 1134 + 2795 1134 + 2796 1134 + 2797 1134 + 2798 1134 + 2799 1134 + 2800 1134 + 2801 1134 + 2802 1134 + 2803 1134 + 2804 1134 + 94 1135 + 95 1135 + 96 1135 + 97 1135 + 98 1135 + 99 1135 + 100 1135 + 101 1135 + 102 1135 + 103 1135 + 104 1135 + 495 1135 + 496 1135 + 497 1135 + 498 1135 + 499 1135 + 500 1135 + 501 1135 + 502 1135 + 503 1135 + 504 1135 + 505 1135 + 862 1135 + 863 1135 + 864 1135 + 865 1135 + 866 1135 + 867 1135 + 868 1135 + 869 1135 + 870 1135 + 871 1135 + 872 1135 + 1263 1135 + 1264 1135 + 1265 1135 + 1266 1135 + 1267 1135 + 1268 1135 + 1269 1135 + 1270 1135 + 1271 1135 + 1272 1135 + 1273 1135 + 1630 1135 + 1631 1135 + 1632 1135 + 1633 1135 + 1634 1135 + 1635 1135 + 1636 1135 + 1637 1135 + 1638 1135 + 1639 1135 + 1640 1135 + 2031 1135 + 2032 1135 + 2033 1135 + 2034 1135 + 2035 1135 + 2036 1135 + 2037 1135 + 2038 1135 + 2039 1135 + 2040 1135 + 2041 1135 + 2398 1135 + 2399 1135 + 2400 1135 + 2401 1135 + 2402 1135 + 2403 1135 + 2404 1135 + 2405 1135 + 2406 1135 + 2407 1135 + 2408 1135 + 2799 1135 + 2800 1135 + 2801 1135 + 2802 1135 + 2803 1135 + 2804 1135 + 2805 1135 + 2806 1135 + 2807 1135 + 2808 1135 + 2809 1135 + 88 1136 + 89 1136 + 90 1136 + 91 1136 + 92 1136 + 93 1136 + 94 1136 + 95 1136 + 96 1136 + 97 1136 + 98 1136 + 99 1136 + 100 1136 + 500 1136 + 501 1136 + 502 1136 + 503 1136 + 504 1136 + 505 1136 + 506 1136 + 507 1136 + 508 1136 + 509 1136 + 510 1136 + 511 1136 + 856 1136 + 857 1136 + 858 1136 + 859 1136 + 860 1136 + 861 1136 + 862 1136 + 863 1136 + 864 1136 + 865 1136 + 866 1136 + 867 1136 + 868 1136 + 1268 1136 + 1269 1136 + 1270 1136 + 1271 1136 + 1272 1136 + 1273 1136 + 1274 1136 + 1275 1136 + 1276 1136 + 1277 1136 + 1278 1136 + 1279 1136 + 1624 1136 + 1625 1136 + 1626 1136 + 1627 1136 + 1628 1136 + 1629 1136 + 1630 1136 + 1631 1136 + 1632 1136 + 1633 1136 + 1634 1136 + 1635 1136 + 1636 1136 + 2036 1136 + 2037 1136 + 2038 1136 + 2039 1136 + 2040 1136 + 2041 1136 + 2042 1136 + 2043 1136 + 2044 1136 + 2045 1136 + 2046 1136 + 2047 1136 + 2392 1136 + 2393 1136 + 2394 1136 + 2395 1136 + 2396 1136 + 2397 1136 + 2398 1136 + 2399 1136 + 2400 1136 + 2401 1136 + 2402 1136 + 2403 1136 + 2404 1136 + 2804 1136 + 2805 1136 + 2806 1136 + 2807 1136 + 2808 1136 + 2809 1136 + 2810 1136 + 2811 1136 + 2812 1136 + 2813 1136 + 2814 1136 + 2815 1136 + 83 1137 + 84 1137 + 85 1137 + 86 1137 + 87 1137 + 88 1137 + 89 1137 + 90 1137 + 91 1137 + 92 1137 + 93 1137 + 94 1137 + 505 1137 + 506 1137 + 507 1137 + 508 1137 + 509 1137 + 510 1137 + 511 1137 + 512 1137 + 513 1137 + 514 1137 + 515 1137 + 516 1137 + 851 1137 + 852 1137 + 853 1137 + 854 1137 + 855 1137 + 856 1137 + 857 1137 + 858 1137 + 859 1137 + 860 1137 + 861 1137 + 862 1137 + 1273 1137 + 1274 1137 + 1275 1137 + 1276 1137 + 1277 1137 + 1278 1137 + 1279 1137 + 1280 1137 + 1281 1137 + 1282 1137 + 1283 1137 + 1284 1137 + 1619 1137 + 1620 1137 + 1621 1137 + 1622 1137 + 1623 1137 + 1624 1137 + 1625 1137 + 1626 1137 + 1627 1137 + 1628 1137 + 1629 1137 + 1630 1137 + 2041 1137 + 2042 1137 + 2043 1137 + 2044 1137 + 2045 1137 + 2046 1137 + 2047 1137 + 2048 1137 + 2049 1137 + 2050 1137 + 2051 1137 + 2052 1137 + 2387 1137 + 2388 1137 + 2389 1137 + 2390 1137 + 2391 1137 + 2392 1137 + 2393 1137 + 2394 1137 + 2395 1137 + 2396 1137 + 2397 1137 + 2398 1137 + 2809 1137 + 2810 1137 + 2811 1137 + 2812 1137 + 2813 1137 + 2814 1137 + 2815 1137 + 2816 1137 + 2817 1137 + 2818 1137 + 2819 1137 + 2820 1137 + 77 1138 + 78 1138 + 79 1138 + 80 1138 + 81 1138 + 82 1138 + 83 1138 + 84 1138 + 85 1138 + 86 1138 + 87 1138 + 88 1138 + 89 1138 + 511 1138 + 512 1138 + 513 1138 + 514 1138 + 515 1138 + 516 1138 + 517 1138 + 518 1138 + 519 1138 + 520 1138 + 521 1138 + 522 1138 + 845 1138 + 846 1138 + 847 1138 + 848 1138 + 849 1138 + 850 1138 + 851 1138 + 852 1138 + 853 1138 + 854 1138 + 855 1138 + 856 1138 + 857 1138 + 1279 1138 + 1280 1138 + 1281 1138 + 1282 1138 + 1283 1138 + 1284 1138 + 1285 1138 + 1286 1138 + 1287 1138 + 1288 1138 + 1289 1138 + 1290 1138 + 1613 1138 + 1614 1138 + 1615 1138 + 1616 1138 + 1617 1138 + 1618 1138 + 1619 1138 + 1620 1138 + 1621 1138 + 1622 1138 + 1623 1138 + 1624 1138 + 1625 1138 + 2047 1138 + 2048 1138 + 2049 1138 + 2050 1138 + 2051 1138 + 2052 1138 + 2053 1138 + 2054 1138 + 2055 1138 + 2056 1138 + 2057 1138 + 2058 1138 + 2381 1138 + 2382 1138 + 2383 1138 + 2384 1138 + 2385 1138 + 2386 1138 + 2387 1138 + 2388 1138 + 2389 1138 + 2390 1138 + 2391 1138 + 2392 1138 + 2393 1138 + 2815 1138 + 2816 1138 + 2817 1138 + 2818 1138 + 2819 1138 + 2820 1138 + 2821 1138 + 2822 1138 + 2823 1138 + 2824 1138 + 2825 1138 + 2826 1138 + 71 1139 + 72 1139 + 73 1139 + 74 1139 + 75 1139 + 76 1139 + 77 1139 + 78 1139 + 79 1139 + 80 1139 + 81 1139 + 82 1139 + 83 1139 + 84 1139 + 516 1139 + 517 1139 + 518 1139 + 519 1139 + 520 1139 + 521 1139 + 522 1139 + 523 1139 + 524 1139 + 525 1139 + 526 1139 + 527 1139 + 528 1139 + 839 1139 + 840 1139 + 841 1139 + 842 1139 + 843 1139 + 844 1139 + 845 1139 + 846 1139 + 847 1139 + 848 1139 + 849 1139 + 850 1139 + 851 1139 + 852 1139 + 1284 1139 + 1285 1139 + 1286 1139 + 1287 1139 + 1288 1139 + 1289 1139 + 1290 1139 + 1291 1139 + 1292 1139 + 1293 1139 + 1294 1139 + 1295 1139 + 1296 1139 + 1607 1139 + 1608 1139 + 1609 1139 + 1610 1139 + 1611 1139 + 1612 1139 + 1613 1139 + 1614 1139 + 1615 1139 + 1616 1139 + 1617 1139 + 1618 1139 + 1619 1139 + 1620 1139 + 2052 1139 + 2053 1139 + 2054 1139 + 2055 1139 + 2056 1139 + 2057 1139 + 2058 1139 + 2059 1139 + 2060 1139 + 2061 1139 + 2062 1139 + 2063 1139 + 2064 1139 + 2375 1139 + 2376 1139 + 2377 1139 + 2378 1139 + 2379 1139 + 2380 1139 + 2381 1139 + 2382 1139 + 2383 1139 + 2384 1139 + 2385 1139 + 2386 1139 + 2387 1139 + 2388 1139 + 2820 1139 + 2821 1139 + 2822 1139 + 2823 1139 + 2824 1139 + 2825 1139 + 2826 1139 + 2827 1139 + 2828 1139 + 2829 1139 + 2830 1139 + 2831 1139 + 2832 1139 + 65 1140 + 66 1140 + 67 1140 + 68 1140 + 69 1140 + 70 1140 + 71 1140 + 72 1140 + 73 1140 + 74 1140 + 75 1140 + 76 1140 + 77 1140 + 78 1140 + 522 1140 + 523 1140 + 524 1140 + 525 1140 + 526 1140 + 527 1140 + 528 1140 + 529 1140 + 530 1140 + 531 1140 + 532 1140 + 533 1140 + 534 1140 + 833 1140 + 834 1140 + 835 1140 + 836 1140 + 837 1140 + 838 1140 + 839 1140 + 840 1140 + 841 1140 + 842 1140 + 843 1140 + 844 1140 + 845 1140 + 846 1140 + 1290 1140 + 1291 1140 + 1292 1140 + 1293 1140 + 1294 1140 + 1295 1140 + 1296 1140 + 1297 1140 + 1298 1140 + 1299 1140 + 1300 1140 + 1301 1140 + 1302 1140 + 1601 1140 + 1602 1140 + 1603 1140 + 1604 1140 + 1605 1140 + 1606 1140 + 1607 1140 + 1608 1140 + 1609 1140 + 1610 1140 + 1611 1140 + 1612 1140 + 1613 1140 + 1614 1140 + 2058 1140 + 2059 1140 + 2060 1140 + 2061 1140 + 2062 1140 + 2063 1140 + 2064 1140 + 2065 1140 + 2066 1140 + 2067 1140 + 2068 1140 + 2069 1140 + 2070 1140 + 2369 1140 + 2370 1140 + 2371 1140 + 2372 1140 + 2373 1140 + 2374 1140 + 2375 1140 + 2376 1140 + 2377 1140 + 2378 1140 + 2379 1140 + 2380 1140 + 2381 1140 + 2382 1140 + 2826 1140 + 2827 1140 + 2828 1140 + 2829 1140 + 2830 1140 + 2831 1140 + 2832 1140 + 2833 1140 + 2834 1140 + 2835 1140 + 2836 1140 + 2837 1140 + 2838 1140 + 58 1141 + 59 1141 + 60 1141 + 61 1141 + 62 1141 + 63 1141 + 64 1141 + 65 1141 + 66 1141 + 67 1141 + 68 1141 + 69 1141 + 70 1141 + 71 1141 + 528 1141 + 529 1141 + 530 1141 + 531 1141 + 532 1141 + 533 1141 + 534 1141 + 535 1141 + 536 1141 + 537 1141 + 538 1141 + 539 1141 + 540 1141 + 541 1141 + 826 1141 + 827 1141 + 828 1141 + 829 1141 + 830 1141 + 831 1141 + 832 1141 + 833 1141 + 834 1141 + 835 1141 + 836 1141 + 837 1141 + 838 1141 + 839 1141 + 1296 1141 + 1297 1141 + 1298 1141 + 1299 1141 + 1300 1141 + 1301 1141 + 1302 1141 + 1303 1141 + 1304 1141 + 1305 1141 + 1306 1141 + 1307 1141 + 1308 1141 + 1309 1141 + 1594 1141 + 1595 1141 + 1596 1141 + 1597 1141 + 1598 1141 + 1599 1141 + 1600 1141 + 1601 1141 + 1602 1141 + 1603 1141 + 1604 1141 + 1605 1141 + 1606 1141 + 1607 1141 + 2064 1141 + 2065 1141 + 2066 1141 + 2067 1141 + 2068 1141 + 2069 1141 + 2070 1141 + 2071 1141 + 2072 1141 + 2073 1141 + 2074 1141 + 2075 1141 + 2076 1141 + 2077 1141 + 2362 1141 + 2363 1141 + 2364 1141 + 2365 1141 + 2366 1141 + 2367 1141 + 2368 1141 + 2369 1141 + 2370 1141 + 2371 1141 + 2372 1141 + 2373 1141 + 2374 1141 + 2375 1141 + 2832 1141 + 2833 1141 + 2834 1141 + 2835 1141 + 2836 1141 + 2837 1141 + 2838 1141 + 2839 1141 + 2840 1141 + 2841 1141 + 2842 1141 + 2843 1141 + 2844 1141 + 2845 1141 + 52 1142 + 53 1142 + 54 1142 + 55 1142 + 56 1142 + 57 1142 + 58 1142 + 59 1142 + 60 1142 + 61 1142 + 62 1142 + 63 1142 + 64 1142 + 65 1142 + 66 1142 + 534 1142 + 535 1142 + 536 1142 + 537 1142 + 538 1142 + 539 1142 + 540 1142 + 541 1142 + 542 1142 + 543 1142 + 544 1142 + 545 1142 + 546 1142 + 547 1142 + 820 1142 + 821 1142 + 822 1142 + 823 1142 + 824 1142 + 825 1142 + 826 1142 + 827 1142 + 828 1142 + 829 1142 + 830 1142 + 831 1142 + 832 1142 + 833 1142 + 834 1142 + 1302 1142 + 1303 1142 + 1304 1142 + 1305 1142 + 1306 1142 + 1307 1142 + 1308 1142 + 1309 1142 + 1310 1142 + 1311 1142 + 1312 1142 + 1313 1142 + 1314 1142 + 1315 1142 + 1588 1142 + 1589 1142 + 1590 1142 + 1591 1142 + 1592 1142 + 1593 1142 + 1594 1142 + 1595 1142 + 1596 1142 + 1597 1142 + 1598 1142 + 1599 1142 + 1600 1142 + 1601 1142 + 1602 1142 + 2070 1142 + 2071 1142 + 2072 1142 + 2073 1142 + 2074 1142 + 2075 1142 + 2076 1142 + 2077 1142 + 2078 1142 + 2079 1142 + 2080 1142 + 2081 1142 + 2082 1142 + 2083 1142 + 2356 1142 + 2357 1142 + 2358 1142 + 2359 1142 + 2360 1142 + 2361 1142 + 2362 1142 + 2363 1142 + 2364 1142 + 2365 1142 + 2366 1142 + 2367 1142 + 2368 1142 + 2369 1142 + 2370 1142 + 2838 1142 + 2839 1142 + 2840 1142 + 2841 1142 + 2842 1142 + 2843 1142 + 2844 1142 + 2845 1142 + 2846 1142 + 2847 1142 + 2848 1142 + 2849 1142 + 2850 1142 + 2851 1142 + 44 1143 + 45 1143 + 46 1143 + 47 1143 + 48 1143 + 49 1143 + 50 1143 + 51 1143 + 52 1143 + 53 1143 + 54 1143 + 55 1143 + 56 1143 + 57 1143 + 58 1143 + 59 1143 + 541 1143 + 542 1143 + 543 1143 + 544 1143 + 545 1143 + 546 1143 + 547 1143 + 548 1143 + 549 1143 + 550 1143 + 551 1143 + 552 1143 + 553 1143 + 554 1143 + 555 1143 + 812 1143 + 813 1143 + 814 1143 + 815 1143 + 816 1143 + 817 1143 + 818 1143 + 819 1143 + 820 1143 + 821 1143 + 822 1143 + 823 1143 + 824 1143 + 825 1143 + 826 1143 + 827 1143 + 1309 1143 + 1310 1143 + 1311 1143 + 1312 1143 + 1313 1143 + 1314 1143 + 1315 1143 + 1316 1143 + 1317 1143 + 1318 1143 + 1319 1143 + 1320 1143 + 1321 1143 + 1322 1143 + 1323 1143 + 1580 1143 + 1581 1143 + 1582 1143 + 1583 1143 + 1584 1143 + 1585 1143 + 1586 1143 + 1587 1143 + 1588 1143 + 1589 1143 + 1590 1143 + 1591 1143 + 1592 1143 + 1593 1143 + 1594 1143 + 1595 1143 + 2077 1143 + 2078 1143 + 2079 1143 + 2080 1143 + 2081 1143 + 2082 1143 + 2083 1143 + 2084 1143 + 2085 1143 + 2086 1143 + 2087 1143 + 2088 1143 + 2089 1143 + 2090 1143 + 2091 1143 + 2348 1143 + 2349 1143 + 2350 1143 + 2351 1143 + 2352 1143 + 2353 1143 + 2354 1143 + 2355 1143 + 2356 1143 + 2357 1143 + 2358 1143 + 2359 1143 + 2360 1143 + 2361 1143 + 2362 1143 + 2363 1143 + 2845 1143 + 2846 1143 + 2847 1143 + 2848 1143 + 2849 1143 + 2850 1143 + 2851 1143 + 2852 1143 + 2853 1143 + 2854 1143 + 2855 1143 + 2856 1143 + 2857 1143 + 2858 1143 + 2859 1143 + 37 1144 + 38 1144 + 39 1144 + 40 1144 + 41 1144 + 42 1144 + 43 1144 + 44 1144 + 45 1144 + 46 1144 + 47 1144 + 48 1144 + 49 1144 + 50 1144 + 51 1144 + 52 1144 + 547 1144 + 548 1144 + 549 1144 + 550 1144 + 551 1144 + 552 1144 + 553 1144 + 554 1144 + 555 1144 + 556 1144 + 557 1144 + 558 1144 + 559 1144 + 560 1144 + 561 1144 + 562 1144 + 805 1144 + 806 1144 + 807 1144 + 808 1144 + 809 1144 + 810 1144 + 811 1144 + 812 1144 + 813 1144 + 814 1144 + 815 1144 + 816 1144 + 817 1144 + 818 1144 + 819 1144 + 820 1144 + 1315 1144 + 1316 1144 + 1317 1144 + 1318 1144 + 1319 1144 + 1320 1144 + 1321 1144 + 1322 1144 + 1323 1144 + 1324 1144 + 1325 1144 + 1326 1144 + 1327 1144 + 1328 1144 + 1329 1144 + 1330 1144 + 1573 1144 + 1574 1144 + 1575 1144 + 1576 1144 + 1577 1144 + 1578 1144 + 1579 1144 + 1580 1144 + 1581 1144 + 1582 1144 + 1583 1144 + 1584 1144 + 1585 1144 + 1586 1144 + 1587 1144 + 1588 1144 + 2083 1144 + 2084 1144 + 2085 1144 + 2086 1144 + 2087 1144 + 2088 1144 + 2089 1144 + 2090 1144 + 2091 1144 + 2092 1144 + 2093 1144 + 2094 1144 + 2095 1144 + 2096 1144 + 2097 1144 + 2098 1144 + 2341 1144 + 2342 1144 + 2343 1144 + 2344 1144 + 2345 1144 + 2346 1144 + 2347 1144 + 2348 1144 + 2349 1144 + 2350 1144 + 2351 1144 + 2352 1144 + 2353 1144 + 2354 1144 + 2355 1144 + 2356 1144 + 2851 1144 + 2852 1144 + 2853 1144 + 2854 1144 + 2855 1144 + 2856 1144 + 2857 1144 + 2858 1144 + 2859 1144 + 2860 1144 + 2861 1144 + 2862 1144 + 2863 1144 + 2864 1144 + 2865 1144 + 2866 1144 + 29 1145 + 30 1145 + 31 1145 + 32 1145 + 33 1145 + 34 1145 + 35 1145 + 36 1145 + 37 1145 + 38 1145 + 39 1145 + 40 1145 + 41 1145 + 42 1145 + 43 1145 + 44 1145 + 45 1145 + 554 1145 + 555 1145 + 556 1145 + 557 1145 + 558 1145 + 559 1145 + 560 1145 + 561 1145 + 562 1145 + 563 1145 + 564 1145 + 565 1145 + 566 1145 + 567 1145 + 568 1145 + 569 1145 + 570 1145 + 797 1145 + 798 1145 + 799 1145 + 800 1145 + 801 1145 + 802 1145 + 803 1145 + 804 1145 + 805 1145 + 806 1145 + 807 1145 + 808 1145 + 809 1145 + 810 1145 + 811 1145 + 812 1145 + 813 1145 + 1322 1145 + 1323 1145 + 1324 1145 + 1325 1145 + 1326 1145 + 1327 1145 + 1328 1145 + 1329 1145 + 1330 1145 + 1331 1145 + 1332 1145 + 1333 1145 + 1334 1145 + 1335 1145 + 1336 1145 + 1337 1145 + 1338 1145 + 1565 1145 + 1566 1145 + 1567 1145 + 1568 1145 + 1569 1145 + 1570 1145 + 1571 1145 + 1572 1145 + 1573 1145 + 1574 1145 + 1575 1145 + 1576 1145 + 1577 1145 + 1578 1145 + 1579 1145 + 1580 1145 + 1581 1145 + 2090 1145 + 2091 1145 + 2092 1145 + 2093 1145 + 2094 1145 + 2095 1145 + 2096 1145 + 2097 1145 + 2098 1145 + 2099 1145 + 2100 1145 + 2101 1145 + 2102 1145 + 2103 1145 + 2104 1145 + 2105 1145 + 2106 1145 + 2333 1145 + 2334 1145 + 2335 1145 + 2336 1145 + 2337 1145 + 2338 1145 + 2339 1145 + 2340 1145 + 2341 1145 + 2342 1145 + 2343 1145 + 2344 1145 + 2345 1145 + 2346 1145 + 2347 1145 + 2348 1145 + 2349 1145 + 2858 1145 + 2859 1145 + 2860 1145 + 2861 1145 + 2862 1145 + 2863 1145 + 2864 1145 + 2865 1145 + 2866 1145 + 2867 1145 + 2868 1145 + 2869 1145 + 2870 1145 + 2871 1145 + 2872 1145 + 2873 1145 + 2874 1145 + 20 1146 + 21 1146 + 22 1146 + 23 1146 + 24 1146 + 25 1146 + 26 1146 + 27 1146 + 28 1146 + 29 1146 + 30 1146 + 31 1146 + 32 1146 + 33 1146 + 34 1146 + 35 1146 + 36 1146 + 37 1146 + 562 1146 + 563 1146 + 564 1146 + 565 1146 + 566 1146 + 567 1146 + 568 1146 + 569 1146 + 570 1146 + 571 1146 + 572 1146 + 573 1146 + 574 1146 + 575 1146 + 576 1146 + 577 1146 + 578 1146 + 579 1146 + 580 1146 + 788 1146 + 789 1146 + 790 1146 + 791 1146 + 792 1146 + 793 1146 + 794 1146 + 795 1146 + 796 1146 + 797 1146 + 798 1146 + 799 1146 + 800 1146 + 801 1146 + 802 1146 + 803 1146 + 804 1146 + 805 1146 + 1330 1146 + 1331 1146 + 1332 1146 + 1333 1146 + 1334 1146 + 1335 1146 + 1336 1146 + 1337 1146 + 1338 1146 + 1339 1146 + 1340 1146 + 1341 1146 + 1342 1146 + 1343 1146 + 1344 1146 + 1345 1146 + 1346 1146 + 1347 1146 + 1348 1146 + 1556 1146 + 1557 1146 + 1558 1146 + 1559 1146 + 1560 1146 + 1561 1146 + 1562 1146 + 1563 1146 + 1564 1146 + 1565 1146 + 1566 1146 + 1567 1146 + 1568 1146 + 1569 1146 + 1570 1146 + 1571 1146 + 1572 1146 + 1573 1146 + 2098 1146 + 2099 1146 + 2100 1146 + 2101 1146 + 2102 1146 + 2103 1146 + 2104 1146 + 2105 1146 + 2106 1146 + 2107 1146 + 2108 1146 + 2109 1146 + 2110 1146 + 2111 1146 + 2112 1146 + 2113 1146 + 2114 1146 + 2115 1146 + 2116 1146 + 2324 1146 + 2325 1146 + 2326 1146 + 2327 1146 + 2328 1146 + 2329 1146 + 2330 1146 + 2331 1146 + 2332 1146 + 2333 1146 + 2334 1146 + 2335 1146 + 2336 1146 + 2337 1146 + 2338 1146 + 2339 1146 + 2340 1146 + 2341 1146 + 2866 1146 + 2867 1146 + 2868 1146 + 2869 1146 + 2870 1146 + 2871 1146 + 2872 1146 + 2873 1146 + 2874 1146 + 2875 1146 + 2876 1146 + 2877 1146 + 2878 1146 + 2879 1146 + 2880 1146 + 2881 1146 + 2882 1146 + 2883 1146 + 2884 1146 + 10 1147 + 11 1147 + 12 1147 + 13 1147 + 14 1147 + 15 1147 + 16 1147 + 17 1147 + 18 1147 + 19 1147 + 20 1147 + 21 1147 + 22 1147 + 23 1147 + 24 1147 + 25 1147 + 26 1147 + 27 1147 + 28 1147 + 29 1147 + 570 1147 + 571 1147 + 572 1147 + 573 1147 + 574 1147 + 575 1147 + 576 1147 + 577 1147 + 578 1147 + 579 1147 + 580 1147 + 581 1147 + 582 1147 + 583 1147 + 584 1147 + 585 1147 + 586 1147 + 587 1147 + 588 1147 + 589 1147 + 778 1147 + 779 1147 + 780 1147 + 781 1147 + 782 1147 + 783 1147 + 784 1147 + 785 1147 + 786 1147 + 787 1147 + 788 1147 + 789 1147 + 790 1147 + 791 1147 + 792 1147 + 793 1147 + 794 1147 + 795 1147 + 796 1147 + 797 1147 + 1338 1147 + 1339 1147 + 1340 1147 + 1341 1147 + 1342 1147 + 1343 1147 + 1344 1147 + 1345 1147 + 1346 1147 + 1347 1147 + 1348 1147 + 1349 1147 + 1350 1147 + 1351 1147 + 1352 1147 + 1353 1147 + 1354 1147 + 1355 1147 + 1356 1147 + 1357 1147 + 1546 1147 + 1547 1147 + 1548 1147 + 1549 1147 + 1550 1147 + 1551 1147 + 1552 1147 + 1553 1147 + 1554 1147 + 1555 1147 + 1556 1147 + 1557 1147 + 1558 1147 + 1559 1147 + 1560 1147 + 1561 1147 + 1562 1147 + 1563 1147 + 1564 1147 + 1565 1147 + 2106 1147 + 2107 1147 + 2108 1147 + 2109 1147 + 2110 1147 + 2111 1147 + 2112 1147 + 2113 1147 + 2114 1147 + 2115 1147 + 2116 1147 + 2117 1147 + 2118 1147 + 2119 1147 + 2120 1147 + 2121 1147 + 2122 1147 + 2123 1147 + 2124 1147 + 2125 1147 + 2314 1147 + 2315 1147 + 2316 1147 + 2317 1147 + 2318 1147 + 2319 1147 + 2320 1147 + 2321 1147 + 2322 1147 + 2323 1147 + 2324 1147 + 2325 1147 + 2326 1147 + 2327 1147 + 2328 1147 + 2329 1147 + 2330 1147 + 2331 1147 + 2332 1147 + 2333 1147 + 2874 1147 + 2875 1147 + 2876 1147 + 2877 1147 + 2878 1147 + 2879 1147 + 2880 1147 + 2881 1147 + 2882 1147 + 2883 1147 + 2884 1147 + 2885 1147 + 2886 1147 + 2887 1147 + 2888 1147 + 2889 1147 + 2890 1147 + 2891 1147 + 2892 1147 + 2893 1147 + 1 1148 + 2 1148 + 3 1148 + 4 1148 + 5 1148 + 6 1148 + 7 1148 + 8 1148 + 9 1148 + 10 1148 + 11 1148 + 12 1148 + 13 1148 + 14 1148 + 15 1148 + 16 1148 + 17 1148 + 18 1148 + 19 1148 + 20 1148 + 579 1148 + 580 1148 + 581 1148 + 582 1148 + 583 1148 + 584 1148 + 585 1148 + 586 1148 + 587 1148 + 588 1148 + 589 1148 + 590 1148 + 591 1148 + 592 1148 + 593 1148 + 594 1148 + 595 1148 + 596 1148 + 597 1148 + 598 1148 + 599 1148 + 600 1148 + 768 1148 + 769 1148 + 770 1148 + 771 1148 + 772 1148 + 773 1148 + 774 1148 + 775 1148 + 776 1148 + 777 1148 + 778 1148 + 779 1148 + 780 1148 + 781 1148 + 782 1148 + 783 1148 + 784 1148 + 785 1148 + 786 1148 + 787 1148 + 788 1148 + 1347 1148 + 1348 1148 + 1349 1148 + 1350 1148 + 1351 1148 + 1352 1148 + 1353 1148 + 1354 1148 + 1355 1148 + 1356 1148 + 1357 1148 + 1358 1148 + 1359 1148 + 1360 1148 + 1361 1148 + 1362 1148 + 1363 1148 + 1364 1148 + 1365 1148 + 1366 1148 + 1367 1148 + 1368 1148 + 1536 1148 + 1537 1148 + 1538 1148 + 1539 1148 + 1540 1148 + 1541 1148 + 1542 1148 + 1543 1148 + 1544 1148 + 1545 1148 + 1546 1148 + 1547 1148 + 1548 1148 + 1549 1148 + 1550 1148 + 1551 1148 + 1552 1148 + 1553 1148 + 1554 1148 + 1555 1148 + 1556 1148 + 2115 1148 + 2116 1148 + 2117 1148 + 2118 1148 + 2119 1148 + 2120 1148 + 2121 1148 + 2122 1148 + 2123 1148 + 2124 1148 + 2125 1148 + 2126 1148 + 2127 1148 + 2128 1148 + 2129 1148 + 2130 1148 + 2131 1148 + 2132 1148 + 2133 1148 + 2134 1148 + 2135 1148 + 2136 1148 + 2304 1148 + 2305 1148 + 2306 1148 + 2307 1148 + 2308 1148 + 2309 1148 + 2310 1148 + 2311 1148 + 2312 1148 + 2313 1148 + 2314 1148 + 2315 1148 + 2316 1148 + 2317 1148 + 2318 1148 + 2319 1148 + 2320 1148 + 2321 1148 + 2322 1148 + 2323 1148 + 2324 1148 + 2883 1148 + 2884 1148 + 2885 1148 + 2886 1148 + 2887 1148 + 2888 1148 + 2889 1148 + 2890 1148 + 2891 1148 + 2892 1148 + 2893 1148 + 2894 1148 + 2895 1148 + 2896 1148 + 2897 1148 + 2898 1148 + 2899 1148 + 2900 1148 + 2901 1148 + 2902 1148 + 2903 1148 + 2904 1148 + 3072 1148 + 1 1149 + 2 1149 + 3 1149 + 4 1149 + 5 1149 + 6 1149 + 7 1149 + 8 1149 + 9 1149 + 10 1149 + 11 1149 + 588 1149 + 589 1149 + 590 1149 + 591 1149 + 592 1149 + 593 1149 + 594 1149 + 595 1149 + 596 1149 + 597 1149 + 598 1149 + 599 1149 + 600 1149 + 601 1149 + 602 1149 + 603 1149 + 604 1149 + 605 1149 + 606 1149 + 607 1149 + 608 1149 + 609 1149 + 610 1149 + 611 1149 + 612 1149 + 755 1149 + 756 1149 + 757 1149 + 758 1149 + 759 1149 + 760 1149 + 761 1149 + 762 1149 + 763 1149 + 764 1149 + 765 1149 + 766 1149 + 767 1149 + 768 1149 + 769 1149 + 770 1149 + 771 1149 + 772 1149 + 773 1149 + 774 1149 + 775 1149 + 776 1149 + 777 1149 + 778 1149 + 779 1149 + 1356 1149 + 1357 1149 + 1358 1149 + 1359 1149 + 1360 1149 + 1361 1149 + 1362 1149 + 1363 1149 + 1364 1149 + 1365 1149 + 1366 1149 + 1367 1149 + 1368 1149 + 1369 1149 + 1370 1149 + 1371 1149 + 1372 1149 + 1373 1149 + 1374 1149 + 1375 1149 + 1376 1149 + 1377 1149 + 1378 1149 + 1379 1149 + 1380 1149 + 1523 1149 + 1524 1149 + 1525 1149 + 1526 1149 + 1527 1149 + 1528 1149 + 1529 1149 + 1530 1149 + 1531 1149 + 1532 1149 + 1533 1149 + 1534 1149 + 1535 1149 + 1536 1149 + 1537 1149 + 1538 1149 + 1539 1149 + 1540 1149 + 1541 1149 + 1542 1149 + 1543 1149 + 1544 1149 + 1545 1149 + 1546 1149 + 1547 1149 + 2124 1149 + 2125 1149 + 2126 1149 + 2127 1149 + 2128 1149 + 2129 1149 + 2130 1149 + 2131 1149 + 2132 1149 + 2133 1149 + 2134 1149 + 2135 1149 + 2136 1149 + 2137 1149 + 2138 1149 + 2139 1149 + 2140 1149 + 2141 1149 + 2142 1149 + 2143 1149 + 2144 1149 + 2145 1149 + 2146 1149 + 2147 1149 + 2148 1149 + 2291 1149 + 2292 1149 + 2293 1149 + 2294 1149 + 2295 1149 + 2296 1149 + 2297 1149 + 2298 1149 + 2299 1149 + 2300 1149 + 2301 1149 + 2302 1149 + 2303 1149 + 2304 1149 + 2305 1149 + 2306 1149 + 2307 1149 + 2308 1149 + 2309 1149 + 2310 1149 + 2311 1149 + 2312 1149 + 2313 1149 + 2314 1149 + 2315 1149 + 2892 1149 + 2893 1149 + 2894 1149 + 2895 1149 + 2896 1149 + 2897 1149 + 2898 1149 + 2899 1149 + 2900 1149 + 2901 1149 + 2902 1149 + 2903 1149 + 2904 1149 + 2905 1149 + 2906 1149 + 2907 1149 + 2908 1149 + 2909 1149 + 2910 1149 + 2911 1149 + 2912 1149 + 2913 1149 + 2914 1149 + 2915 1149 + 2916 1149 + 3059 1149 + 3060 1149 + 3061 1149 + 3062 1149 + 3063 1149 + 3064 1149 + 3065 1149 + 3066 1149 + 3067 1149 + 3068 1149 + 3069 1149 + 3070 1149 + 3071 1149 + 3072 1149 + 599 1150 + 600 1150 + 601 1150 + 602 1150 + 603 1150 + 604 1150 + 605 1150 + 606 1150 + 607 1150 + 608 1150 + 609 1150 + 610 1150 + 611 1150 + 612 1150 + 613 1150 + 614 1150 + 615 1150 + 616 1150 + 617 1150 + 618 1150 + 619 1150 + 620 1150 + 621 1150 + 622 1150 + 623 1150 + 624 1150 + 625 1150 + 626 1150 + 627 1150 + 628 1150 + 740 1150 + 741 1150 + 742 1150 + 743 1150 + 744 1150 + 745 1150 + 746 1150 + 747 1150 + 748 1150 + 749 1150 + 750 1150 + 751 1150 + 752 1150 + 753 1150 + 754 1150 + 755 1150 + 756 1150 + 757 1150 + 758 1150 + 759 1150 + 760 1150 + 761 1150 + 762 1150 + 763 1150 + 764 1150 + 765 1150 + 766 1150 + 767 1150 + 768 1150 + 1367 1150 + 1368 1150 + 1369 1150 + 1370 1150 + 1371 1150 + 1372 1150 + 1373 1150 + 1374 1150 + 1375 1150 + 1376 1150 + 1377 1150 + 1378 1150 + 1379 1150 + 1380 1150 + 1381 1150 + 1382 1150 + 1383 1150 + 1384 1150 + 1385 1150 + 1386 1150 + 1387 1150 + 1388 1150 + 1389 1150 + 1390 1150 + 1391 1150 + 1392 1150 + 1393 1150 + 1394 1150 + 1395 1150 + 1396 1150 + 1508 1150 + 1509 1150 + 1510 1150 + 1511 1150 + 1512 1150 + 1513 1150 + 1514 1150 + 1515 1150 + 1516 1150 + 1517 1150 + 1518 1150 + 1519 1150 + 1520 1150 + 1521 1150 + 1522 1150 + 1523 1150 + 1524 1150 + 1525 1150 + 1526 1150 + 1527 1150 + 1528 1150 + 1529 1150 + 1530 1150 + 1531 1150 + 1532 1150 + 1533 1150 + 1534 1150 + 1535 1150 + 1536 1150 + 2135 1150 + 2136 1150 + 2137 1150 + 2138 1150 + 2139 1150 + 2140 1150 + 2141 1150 + 2142 1150 + 2143 1150 + 2144 1150 + 2145 1150 + 2146 1150 + 2147 1150 + 2148 1150 + 2149 1150 + 2150 1150 + 2151 1150 + 2152 1150 + 2153 1150 + 2154 1150 + 2155 1150 + 2156 1150 + 2157 1150 + 2158 1150 + 2159 1150 + 2160 1150 + 2161 1150 + 2162 1150 + 2163 1150 + 2164 1150 + 2276 1150 + 2277 1150 + 2278 1150 + 2279 1150 + 2280 1150 + 2281 1150 + 2282 1150 + 2283 1150 + 2284 1150 + 2285 1150 + 2286 1150 + 2287 1150 + 2288 1150 + 2289 1150 + 2290 1150 + 2291 1150 + 2292 1150 + 2293 1150 + 2294 1150 + 2295 1150 + 2296 1150 + 2297 1150 + 2298 1150 + 2299 1150 + 2300 1150 + 2301 1150 + 2302 1150 + 2303 1150 + 2304 1150 + 2903 1150 + 2904 1150 + 2905 1150 + 2906 1150 + 2907 1150 + 2908 1150 + 2909 1150 + 2910 1150 + 2911 1150 + 2912 1150 + 2913 1150 + 2914 1150 + 2915 1150 + 2916 1150 + 2917 1150 + 2918 1150 + 2919 1150 + 2920 1150 + 2921 1150 + 2922 1150 + 2923 1150 + 2924 1150 + 2925 1150 + 2926 1150 + 2927 1150 + 2928 1150 + 2929 1150 + 2930 1150 + 2931 1150 + 2932 1150 + 3044 1150 + 3045 1150 + 3046 1150 + 3047 1150 + 3048 1150 + 3049 1150 + 3050 1150 + 3051 1150 + 3052 1150 + 3053 1150 + 3054 1150 + 3055 1150 + 3056 1150 + 3057 1150 + 3058 1150 + 3059 1150 + 3060 1150 + 3061 1150 + 3062 1150 + 3063 1150 + 3064 1150 + 3065 1150 + 3066 1150 + 3067 1150 + 3068 1150 + 3069 1150 + 3070 1150 + 3071 1150 + 3072 1150 + 612 1151 + 613 1151 + 614 1151 + 615 1151 + 616 1151 + 617 1151 + 618 1151 + 619 1151 + 620 1151 + 621 1151 + 622 1151 + 623 1151 + 624 1151 + 625 1151 + 626 1151 + 627 1151 + 628 1151 + 629 1151 + 630 1151 + 631 1151 + 632 1151 + 633 1151 + 634 1151 + 635 1151 + 636 1151 + 637 1151 + 638 1151 + 639 1151 + 640 1151 + 641 1151 + 642 1151 + 643 1151 + 644 1151 + 645 1151 + 646 1151 + 647 1151 + 648 1151 + 649 1151 + 719 1151 + 720 1151 + 721 1151 + 722 1151 + 723 1151 + 724 1151 + 725 1151 + 726 1151 + 727 1151 + 728 1151 + 729 1151 + 730 1151 + 731 1151 + 732 1151 + 733 1151 + 734 1151 + 735 1151 + 736 1151 + 737 1151 + 738 1151 + 739 1151 + 740 1151 + 741 1151 + 742 1151 + 743 1151 + 744 1151 + 745 1151 + 746 1151 + 747 1151 + 748 1151 + 749 1151 + 750 1151 + 751 1151 + 752 1151 + 753 1151 + 754 1151 + 755 1151 + 1380 1151 + 1381 1151 + 1382 1151 + 1383 1151 + 1384 1151 + 1385 1151 + 1386 1151 + 1387 1151 + 1388 1151 + 1389 1151 + 1390 1151 + 1391 1151 + 1392 1151 + 1393 1151 + 1394 1151 + 1395 1151 + 1396 1151 + 1397 1151 + 1398 1151 + 1399 1151 + 1400 1151 + 1401 1151 + 1402 1151 + 1403 1151 + 1404 1151 + 1405 1151 + 1406 1151 + 1407 1151 + 1408 1151 + 1409 1151 + 1410 1151 + 1411 1151 + 1412 1151 + 1413 1151 + 1414 1151 + 1415 1151 + 1416 1151 + 1417 1151 + 1487 1151 + 1488 1151 + 1489 1151 + 1490 1151 + 1491 1151 + 1492 1151 + 1493 1151 + 1494 1151 + 1495 1151 + 1496 1151 + 1497 1151 + 1498 1151 + 1499 1151 + 1500 1151 + 1501 1151 + 1502 1151 + 1503 1151 + 1504 1151 + 1505 1151 + 1506 1151 + 1507 1151 + 1508 1151 + 1509 1151 + 1510 1151 + 1511 1151 + 1512 1151 + 1513 1151 + 1514 1151 + 1515 1151 + 1516 1151 + 1517 1151 + 1518 1151 + 1519 1151 + 1520 1151 + 1521 1151 + 1522 1151 + 1523 1151 + 2148 1151 + 2149 1151 + 2150 1151 + 2151 1151 + 2152 1151 + 2153 1151 + 2154 1151 + 2155 1151 + 2156 1151 + 2157 1151 + 2158 1151 + 2159 1151 + 2160 1151 + 2161 1151 + 2162 1151 + 2163 1151 + 2164 1151 + 2165 1151 + 2166 1151 + 2167 1151 + 2168 1151 + 2169 1151 + 2170 1151 + 2171 1151 + 2172 1151 + 2173 1151 + 2174 1151 + 2175 1151 + 2176 1151 + 2177 1151 + 2178 1151 + 2179 1151 + 2180 1151 + 2181 1151 + 2182 1151 + 2183 1151 + 2184 1151 + 2185 1151 + 2255 1151 + 2256 1151 + 2257 1151 + 2258 1151 + 2259 1151 + 2260 1151 + 2261 1151 + 2262 1151 + 2263 1151 + 2264 1151 + 2265 1151 + 2266 1151 + 2267 1151 + 2268 1151 + 2269 1151 + 2270 1151 + 2271 1151 + 2272 1151 + 2273 1151 + 2274 1151 + 2275 1151 + 2276 1151 + 2277 1151 + 2278 1151 + 2279 1151 + 2280 1151 + 2281 1151 + 2282 1151 + 2283 1151 + 2284 1151 + 2285 1151 + 2286 1151 + 2287 1151 + 2288 1151 + 2289 1151 + 2290 1151 + 2291 1151 + 2916 1151 + 2917 1151 + 2918 1151 + 2919 1151 + 2920 1151 + 2921 1151 + 2922 1151 + 2923 1151 + 2924 1151 + 2925 1151 + 2926 1151 + 2927 1151 + 2928 1151 + 2929 1151 + 2930 1151 + 2931 1151 + 2932 1151 + 2933 1151 + 2934 1151 + 2935 1151 + 2936 1151 + 2937 1151 + 2938 1151 + 2939 1151 + 2940 1151 + 2941 1151 + 2942 1151 + 2943 1151 + 2944 1151 + 2945 1151 + 2946 1151 + 2947 1151 + 2948 1151 + 2949 1151 + 2950 1151 + 2951 1151 + 2952 1151 + 2953 1151 + 3023 1151 + 3024 1151 + 3025 1151 + 3026 1151 + 3027 1151 + 3028 1151 + 3029 1151 + 3030 1151 + 3031 1151 + 3032 1151 + 3033 1151 + 3034 1151 + 3035 1151 + 3036 1151 + 3037 1151 + 3038 1151 + 3039 1151 + 3040 1151 + 3041 1151 + 3042 1151 + 3043 1151 + 3044 1151 + 3045 1151 + 3046 1151 + 3047 1151 + 3048 1151 + 3049 1151 + 3050 1151 + 3051 1151 + 3052 1151 + 3053 1151 + 3054 1151 + 3055 1151 + 3056 1151 + 3057 1151 + 3058 1151 + 3059 1151 + 627 1152 + 628 1152 + 629 1152 + 630 1152 + 631 1152 + 632 1152 + 633 1152 + 634 1152 + 635 1152 + 636 1152 + 637 1152 + 638 1152 + 639 1152 + 640 1152 + 641 1152 + 642 1152 + 643 1152 + 644 1152 + 645 1152 + 646 1152 + 647 1152 + 648 1152 + 649 1152 + 650 1152 + 651 1152 + 652 1152 + 653 1152 + 654 1152 + 655 1152 + 656 1152 + 657 1152 + 658 1152 + 659 1152 + 660 1152 + 661 1152 + 662 1152 + 663 1152 + 664 1152 + 665 1152 + 666 1152 + 667 1152 + 668 1152 + 669 1152 + 670 1152 + 671 1152 + 672 1152 + 673 1152 + 674 1152 + 675 1152 + 676 1152 + 677 1152 + 678 1152 + 679 1152 + 680 1152 + 681 1152 + 682 1152 + 683 1152 + 684 1152 + 685 1152 + 686 1152 + 687 1152 + 688 1152 + 689 1152 + 690 1152 + 691 1152 + 692 1152 + 693 1152 + 694 1152 + 695 1152 + 696 1152 + 697 1152 + 698 1152 + 699 1152 + 700 1152 + 701 1152 + 702 1152 + 703 1152 + 704 1152 + 705 1152 + 706 1152 + 707 1152 + 708 1152 + 709 1152 + 710 1152 + 711 1152 + 712 1152 + 713 1152 + 714 1152 + 715 1152 + 716 1152 + 717 1152 + 718 1152 + 719 1152 + 720 1152 + 721 1152 + 722 1152 + 723 1152 + 724 1152 + 725 1152 + 726 1152 + 727 1152 + 728 1152 + 729 1152 + 730 1152 + 731 1152 + 732 1152 + 733 1152 + 734 1152 + 735 1152 + 736 1152 + 737 1152 + 738 1152 + 739 1152 + 740 1152 + 1395 1152 + 1396 1152 + 1397 1152 + 1398 1152 + 1399 1152 + 1400 1152 + 1401 1152 + 1402 1152 + 1403 1152 + 1404 1152 + 1405 1152 + 1406 1152 + 1407 1152 + 1408 1152 + 1409 1152 + 1410 1152 + 1411 1152 + 1412 1152 + 1413 1152 + 1414 1152 + 1415 1152 + 1416 1152 + 1417 1152 + 1418 1152 + 1419 1152 + 1420 1152 + 1421 1152 + 1422 1152 + 1423 1152 + 1424 1152 + 1425 1152 + 1426 1152 + 1427 1152 + 1428 1152 + 1429 1152 + 1430 1152 + 1431 1152 + 1432 1152 + 1433 1152 + 1434 1152 + 1435 1152 + 1436 1152 + 1437 1152 + 1438 1152 + 1439 1152 + 1440 1152 + 1441 1152 + 1442 1152 + 1443 1152 + 1444 1152 + 1445 1152 + 1446 1152 + 1447 1152 + 1448 1152 + 1449 1152 + 1450 1152 + 1451 1152 + 1452 1152 + 1453 1152 + 1454 1152 + 1455 1152 + 1456 1152 + 1457 1152 + 1458 1152 + 1459 1152 + 1460 1152 + 1461 1152 + 1462 1152 + 1463 1152 + 1464 1152 + 1465 1152 + 1466 1152 + 1467 1152 + 1468 1152 + 1469 1152 + 1470 1152 + 1471 1152 + 1472 1152 + 1473 1152 + 1474 1152 + 1475 1152 + 1476 1152 + 1477 1152 + 1478 1152 + 1479 1152 + 1480 1152 + 1481 1152 + 1482 1152 + 1483 1152 + 1484 1152 + 1485 1152 + 1486 1152 + 1487 1152 + 1488 1152 + 1489 1152 + 1490 1152 + 1491 1152 + 1492 1152 + 1493 1152 + 1494 1152 + 1495 1152 + 1496 1152 + 1497 1152 + 1498 1152 + 1499 1152 + 1500 1152 + 1501 1152 + 1502 1152 + 1503 1152 + 1504 1152 + 1505 1152 + 1506 1152 + 1507 1152 + 1508 1152 + 2163 1152 + 2164 1152 + 2165 1152 + 2166 1152 + 2167 1152 + 2168 1152 + 2169 1152 + 2170 1152 + 2171 1152 + 2172 1152 + 2173 1152 + 2174 1152 + 2175 1152 + 2176 1152 + 2177 1152 + 2178 1152 + 2179 1152 + 2180 1152 + 2181 1152 + 2182 1152 + 2183 1152 + 2184 1152 + 2185 1152 + 2186 1152 + 2187 1152 + 2188 1152 + 2189 1152 + 2190 1152 + 2191 1152 + 2192 1152 + 2193 1152 + 2194 1152 + 2195 1152 + 2196 1152 + 2197 1152 + 2198 1152 + 2199 1152 + 2200 1152 + 2201 1152 + 2202 1152 + 2203 1152 + 2204 1152 + 2205 1152 + 2206 1152 + 2207 1152 + 2208 1152 + 2209 1152 + 2210 1152 + 2211 1152 + 2212 1152 + 2213 1152 + 2214 1152 + 2215 1152 + 2216 1152 + 2217 1152 + 2218 1152 + 2219 1152 + 2220 1152 + 2221 1152 + 2222 1152 + 2223 1152 + 2224 1152 + 2225 1152 + 2226 1152 + 2227 1152 + 2228 1152 + 2229 1152 + 2230 1152 + 2231 1152 + 2232 1152 + 2233 1152 + 2234 1152 + 2235 1152 + 2236 1152 + 2237 1152 + 2238 1152 + 2239 1152 + 2240 1152 + 2241 1152 + 2242 1152 + 2243 1152 + 2244 1152 + 2245 1152 + 2246 1152 + 2247 1152 + 2248 1152 + 2249 1152 + 2250 1152 + 2251 1152 + 2252 1152 + 2253 1152 + 2254 1152 + 2255 1152 + 2256 1152 + 2257 1152 + 2258 1152 + 2259 1152 + 2260 1152 + 2261 1152 + 2262 1152 + 2263 1152 + 2264 1152 + 2265 1152 + 2266 1152 + 2267 1152 + 2268 1152 + 2269 1152 + 2270 1152 + 2271 1152 + 2272 1152 + 2273 1152 + 2274 1152 + 2275 1152 + 2276 1152 + 2931 1152 + 2932 1152 + 2933 1152 + 2934 1152 + 2935 1152 + 2936 1152 + 2937 1152 + 2938 1152 + 2939 1152 + 2940 1152 + 2941 1152 + 2942 1152 + 2943 1152 + 2944 1152 + 2945 1152 + 2946 1152 + 2947 1152 + 2948 1152 + 2949 1152 + 2950 1152 + 2951 1152 + 2952 1152 + 2953 1152 + 2954 1152 + 2955 1152 + 2956 1152 + 2957 1152 + 2958 1152 + 2959 1152 + 2960 1152 + 2961 1152 + 2962 1152 + 2963 1152 + 2964 1152 + 2965 1152 + 2966 1152 + 2967 1152 + 2968 1152 + 2969 1152 + 2970 1152 + 2971 1152 + 2972 1152 + 2973 1152 + 2974 1152 + 2975 1152 + 2976 1152 + 2977 1152 + 2978 1152 + 2979 1152 + 2980 1152 + 2981 1152 + 2982 1152 + 2983 1152 + 2984 1152 + 2985 1152 + 2986 1152 + 2987 1152 + 2988 1152 + 2989 1152 + 2990 1152 + 2991 1152 + 2992 1152 + 2993 1152 + 2994 1152 + 2995 1152 + 2996 1152 + 2997 1152 + 2998 1152 + 2999 1152 + 3000 1152 + 3001 1152 + 3002 1152 + 3003 1152 + 3004 1152 + 3005 1152 + 3006 1152 + 3007 1152 + 3008 1152 + 3009 1152 + 3010 1152 + 3011 1152 + 3012 1152 + 3013 1152 + 3014 1152 + 3015 1152 + 3016 1152 + 3017 1152 + 3018 1152 + 3019 1152 + 3020 1152 + 3021 1152 + 3022 1152 + 3023 1152 + 3024 1152 + 3025 1152 + 3026 1152 + 3027 1152 + 3028 1152 + 3029 1152 + 3030 1152 + 3031 1152 + 3032 1152 + 3033 1152 + 3034 1152 + 3035 1152 + 3036 1152 + 3037 1152 + 3038 1152 + 3039 1152 + 3040 1152 + 3041 1152 + 3042 1152 + 3043 1152 + 3044 1152 + 648 1153 + 649 1153 + 650 1153 + 651 1153 + 652 1153 + 653 1153 + 654 1153 + 655 1153 + 656 1153 + 657 1153 + 658 1153 + 659 1153 + 660 1153 + 661 1153 + 662 1153 + 663 1153 + 664 1153 + 665 1153 + 666 1153 + 667 1153 + 668 1153 + 669 1153 + 670 1153 + 671 1153 + 672 1153 + 673 1153 + 674 1153 + 675 1153 + 676 1153 + 677 1153 + 678 1153 + 679 1153 + 680 1153 + 681 1153 + 682 1153 + 683 1153 + 684 1153 + 685 1153 + 686 1153 + 687 1153 + 688 1153 + 689 1153 + 690 1153 + 691 1153 + 692 1153 + 693 1153 + 694 1153 + 695 1153 + 696 1153 + 697 1153 + 698 1153 + 699 1153 + 700 1153 + 701 1153 + 702 1153 + 703 1153 + 704 1153 + 705 1153 + 706 1153 + 707 1153 + 708 1153 + 709 1153 + 710 1153 + 711 1153 + 712 1153 + 713 1153 + 714 1153 + 715 1153 + 716 1153 + 717 1153 + 718 1153 + 719 1153 + 1416 1153 + 1417 1153 + 1418 1153 + 1419 1153 + 1420 1153 + 1421 1153 + 1422 1153 + 1423 1153 + 1424 1153 + 1425 1153 + 1426 1153 + 1427 1153 + 1428 1153 + 1429 1153 + 1430 1153 + 1431 1153 + 1432 1153 + 1433 1153 + 1434 1153 + 1435 1153 + 1436 1153 + 1437 1153 + 1438 1153 + 1439 1153 + 1440 1153 + 1441 1153 + 1442 1153 + 1443 1153 + 1444 1153 + 1445 1153 + 1446 1153 + 1447 1153 + 1448 1153 + 1449 1153 + 1450 1153 + 1451 1153 + 1452 1153 + 1453 1153 + 1454 1153 + 1455 1153 + 1456 1153 + 1457 1153 + 1458 1153 + 1459 1153 + 1460 1153 + 1461 1153 + 1462 1153 + 1463 1153 + 1464 1153 + 1465 1153 + 1466 1153 + 1467 1153 + 1468 1153 + 1469 1153 + 1470 1153 + 1471 1153 + 1472 1153 + 1473 1153 + 1474 1153 + 1475 1153 + 1476 1153 + 1477 1153 + 1478 1153 + 1479 1153 + 1480 1153 + 1481 1153 + 1482 1153 + 1483 1153 + 1484 1153 + 1485 1153 + 1486 1153 + 1487 1153 + 2184 1153 + 2185 1153 + 2186 1153 + 2187 1153 + 2188 1153 + 2189 1153 + 2190 1153 + 2191 1153 + 2192 1153 + 2193 1153 + 2194 1153 + 2195 1153 + 2196 1153 + 2197 1153 + 2198 1153 + 2199 1153 + 2200 1153 + 2201 1153 + 2202 1153 + 2203 1153 + 2204 1153 + 2205 1153 + 2206 1153 + 2207 1153 + 2208 1153 + 2209 1153 + 2210 1153 + 2211 1153 + 2212 1153 + 2213 1153 + 2214 1153 + 2215 1153 + 2216 1153 + 2217 1153 + 2218 1153 + 2219 1153 + 2220 1153 + 2221 1153 + 2222 1153 + 2223 1153 + 2224 1153 + 2225 1153 + 2226 1153 + 2227 1153 + 2228 1153 + 2229 1153 + 2230 1153 + 2231 1153 + 2232 1153 + 2233 1153 + 2234 1153 + 2235 1153 + 2236 1153 + 2237 1153 + 2238 1153 + 2239 1153 + 2240 1153 + 2241 1153 + 2242 1153 + 2243 1153 + 2244 1153 + 2245 1153 + 2246 1153 + 2247 1153 + 2248 1153 + 2249 1153 + 2250 1153 + 2251 1153 + 2252 1153 + 2253 1153 + 2254 1153 + 2255 1153 + 2952 1153 + 2953 1153 + 2954 1153 + 2955 1153 + 2956 1153 + 2957 1153 + 2958 1153 + 2959 1153 + 2960 1153 + 2961 1153 + 2962 1153 + 2963 1153 + 2964 1153 + 2965 1153 + 2966 1153 + 2967 1153 + 2968 1153 + 2969 1153 + 2970 1153 + 2971 1153 + 2972 1153 + 2973 1153 + 2974 1153 + 2975 1153 + 2976 1153 + 2977 1153 + 2978 1153 + 2979 1153 + 2980 1153 + 2981 1153 + 2982 1153 + 2983 1153 + 2984 1153 + 2985 1153 + 2986 1153 + 2987 1153 + 2988 1153 + 2989 1153 + 2990 1153 + 2991 1153 + 2992 1153 + 2993 1153 + 2994 1153 + 2995 1153 + 2996 1153 + 2997 1153 + 2998 1153 + 2999 1153 + 3000 1153 + 3001 1153 + 3002 1153 + 3003 1153 + 3004 1153 + 3005 1153 + 3006 1153 + 3007 1153 + 3008 1153 + 3009 1153 + 3010 1153 + 3011 1153 + 3012 1153 + 3013 1153 + 3014 1153 + 3015 1153 + 3016 1153 + 3017 1153 + 3018 1153 + 3019 1153 + 3020 1153 + 3021 1153 + 3022 1153 + 3023 1153 diff --git a/scripts/exgfs_nceppost.sh.ecf b/scripts/exgfs_nceppost.sh.ecf index 95e7ad3b6..18e8f2d33 100755 --- a/scripts/exgfs_nceppost.sh.ecf +++ b/scripts/exgfs_nceppost.sh.ecf @@ -455,6 +455,7 @@ do # gtg has its own configurations cp $PARMpost/gtg.config.gfs gtg.config + cp $PARMpost/gtg_imprintings.txt imprintings.txt if [[ $RUN = gfs && $GRIBVERSION = 'grib2' ]] ; then export PostFlatFile=$PARMpost/postxconfig-NT-GFS-GTG.txt diff --git a/sorc/ncep_post.fd/gtg_smoothseams.f90 b/sorc/ncep_post.fd/gtg_smoothseams.f90 new file mode 100644 index 000000000..c11137fec --- /dev/null +++ b/sorc/ncep_post.fd/gtg_smoothseams.f90 @@ -0,0 +1,5 @@ + subroutine getseams(seamfile,fillnumber,npts,ipts,jpts) + end subroutine getseams + +subroutine gtg_smoothseams(ismooth,IM,JM,jsta_2L,jend_2U,jsta,jend,fillnumber,npts,ipts,jpts,fld) +end subroutine gtg_smoothseams diff --git a/sorc/ncep_post.fd/makefile_module b/sorc/ncep_post.fd/makefile_module index a030d5564..4e37edabd 100755 --- a/sorc/ncep_post.fd/makefile_module +++ b/sorc/ncep_post.fd/makefile_module @@ -106,7 +106,7 @@ OBJS = wrf_io_flags.o getVariable.o getIVariableN.o \ GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o INITPOST_GFS_SIGIO.o \ AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o \ INITPOST_GFS_NEMS_MPIIO.o INITPOST_NETCDF.o \ - gtg_ctlblk.o gtg_indices.o gtg_filter.o gtg_compute.o gtg_config.o map_routines.o gtg_algo.o + gtg_ctlblk.o gtg_indices.o gtg_filter.o gtg_compute.o gtg_config.o map_routines.o gtg_algo.o gtg_smoothseams.o .SUFFIXES: .F .f .o .f90 .c From d2525efeb52bf6ca5d77da9703b96898927bb237 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Tue, 18 Jun 2019 22:10:00 +0000 Subject: [PATCH 09/38] VLAB Issue #44506 -- Update gtg_imprintings.txt. --- parm/gtg_imprintings.txt | 15634 ++++++++++++++++++++++++++++++++++++- 1 file changed, 15633 insertions(+), 1 deletion(-) diff --git a/parm/gtg_imprintings.txt b/parm/gtg_imprintings.txt index 831d3c9da..c743a21a3 100644 --- a/parm/gtg_imprintings.txt +++ b/parm/gtg_imprintings.txt @@ -1,7 +1,325 @@ -fillnumber= 2 +fillnumber= 4 nx= 3072 ny= 1536 i,j= + 647 383 + 648 383 + 649 383 + 650 383 + 651 383 + 652 383 + 653 383 + 654 383 + 655 383 + 656 383 + 657 383 + 658 383 + 659 383 + 660 383 + 661 383 + 662 383 + 663 383 + 664 383 + 665 383 + 666 383 + 667 383 + 668 383 + 669 383 + 670 383 + 671 383 + 672 383 + 673 383 + 674 383 + 675 383 + 676 383 + 677 383 + 678 383 + 679 383 + 680 383 + 681 383 + 682 383 + 683 383 + 684 383 + 685 383 + 686 383 + 687 383 + 688 383 + 689 383 + 690 383 + 691 383 + 692 383 + 693 383 + 694 383 + 695 383 + 696 383 + 697 383 + 698 383 + 699 383 + 700 383 + 701 383 + 702 383 + 703 383 + 704 383 + 705 383 + 706 383 + 707 383 + 708 383 + 709 383 + 710 383 + 711 383 + 712 383 + 713 383 + 714 383 + 715 383 + 716 383 + 717 383 + 718 383 + 719 383 + 720 383 + 1415 383 + 1416 383 + 1417 383 + 1418 383 + 1419 383 + 1420 383 + 1421 383 + 1422 383 + 1423 383 + 1424 383 + 1425 383 + 1426 383 + 1427 383 + 1428 383 + 1429 383 + 1430 383 + 1431 383 + 1432 383 + 1433 383 + 1434 383 + 1435 383 + 1436 383 + 1437 383 + 1438 383 + 1439 383 + 1440 383 + 1441 383 + 1442 383 + 1443 383 + 1444 383 + 1445 383 + 1446 383 + 1447 383 + 1448 383 + 1449 383 + 1450 383 + 1451 383 + 1452 383 + 1453 383 + 1454 383 + 1455 383 + 1456 383 + 1457 383 + 1458 383 + 1459 383 + 1460 383 + 1461 383 + 1462 383 + 1463 383 + 1464 383 + 1465 383 + 1466 383 + 1467 383 + 1468 383 + 1469 383 + 1470 383 + 1471 383 + 1472 383 + 1473 383 + 1474 383 + 1475 383 + 1476 383 + 1477 383 + 1478 383 + 1479 383 + 1480 383 + 1481 383 + 1482 383 + 1483 383 + 1484 383 + 1485 383 + 1486 383 + 1487 383 + 1488 383 + 2183 383 + 2184 383 + 2185 383 + 2186 383 + 2187 383 + 2188 383 + 2189 383 + 2190 383 + 2191 383 + 2192 383 + 2193 383 + 2194 383 + 2195 383 + 2196 383 + 2197 383 + 2198 383 + 2199 383 + 2200 383 + 2201 383 + 2202 383 + 2203 383 + 2204 383 + 2205 383 + 2206 383 + 2207 383 + 2208 383 + 2209 383 + 2210 383 + 2211 383 + 2212 383 + 2213 383 + 2214 383 + 2215 383 + 2216 383 + 2217 383 + 2218 383 + 2219 383 + 2220 383 + 2221 383 + 2222 383 + 2223 383 + 2224 383 + 2225 383 + 2226 383 + 2227 383 + 2228 383 + 2229 383 + 2230 383 + 2231 383 + 2232 383 + 2233 383 + 2234 383 + 2235 383 + 2236 383 + 2237 383 + 2238 383 + 2239 383 + 2240 383 + 2241 383 + 2242 383 + 2243 383 + 2244 383 + 2245 383 + 2246 383 + 2247 383 + 2248 383 + 2249 383 + 2250 383 + 2251 383 + 2252 383 + 2253 383 + 2254 383 + 2255 383 + 2256 383 + 2951 383 + 2952 383 + 2953 383 + 2954 383 + 2955 383 + 2956 383 + 2957 383 + 2958 383 + 2959 383 + 2960 383 + 2961 383 + 2962 383 + 2963 383 + 2964 383 + 2965 383 + 2966 383 + 2967 383 + 2968 383 + 2969 383 + 2970 383 + 2971 383 + 2972 383 + 2973 383 + 2974 383 + 2975 383 + 2976 383 + 2977 383 + 2978 383 + 2979 383 + 2980 383 + 2981 383 + 2982 383 + 2983 383 + 2984 383 + 2985 383 + 2986 383 + 2987 383 + 2988 383 + 2989 383 + 2990 383 + 2991 383 + 2992 383 + 2993 383 + 2994 383 + 2995 383 + 2996 383 + 2997 383 + 2998 383 + 2999 383 + 3000 383 + 3001 383 + 3002 383 + 3003 383 + 3004 383 + 3005 383 + 3006 383 + 3007 383 + 3008 383 + 3009 383 + 3010 383 + 3011 383 + 3012 383 + 3013 383 + 3014 383 + 3015 383 + 3016 383 + 3017 383 + 3018 383 + 3019 383 + 3020 383 + 3021 383 + 3022 383 + 3023 383 + 3024 383 + 626 384 + 627 384 + 628 384 + 629 384 + 630 384 + 631 384 + 632 384 + 633 384 + 634 384 + 635 384 + 636 384 + 637 384 + 638 384 + 639 384 + 640 384 + 641 384 + 642 384 + 643 384 + 644 384 + 645 384 + 646 384 + 647 384 648 384 649 384 650 384 @@ -74,6 +392,50 @@ ny= 1536 717 384 718 384 719 384 + 720 384 + 721 384 + 722 384 + 723 384 + 724 384 + 725 384 + 726 384 + 727 384 + 728 384 + 729 384 + 730 384 + 731 384 + 732 384 + 733 384 + 734 384 + 735 384 + 736 384 + 737 384 + 738 384 + 739 384 + 740 384 + 741 384 + 1394 384 + 1395 384 + 1396 384 + 1397 384 + 1398 384 + 1399 384 + 1400 384 + 1401 384 + 1402 384 + 1403 384 + 1404 384 + 1405 384 + 1406 384 + 1407 384 + 1408 384 + 1409 384 + 1410 384 + 1411 384 + 1412 384 + 1413 384 + 1414 384 + 1415 384 1416 384 1417 384 1418 384 @@ -146,6 +508,50 @@ ny= 1536 1485 384 1486 384 1487 384 + 1488 384 + 1489 384 + 1490 384 + 1491 384 + 1492 384 + 1493 384 + 1494 384 + 1495 384 + 1496 384 + 1497 384 + 1498 384 + 1499 384 + 1500 384 + 1501 384 + 1502 384 + 1503 384 + 1504 384 + 1505 384 + 1506 384 + 1507 384 + 1508 384 + 1509 384 + 2162 384 + 2163 384 + 2164 384 + 2165 384 + 2166 384 + 2167 384 + 2168 384 + 2169 384 + 2170 384 + 2171 384 + 2172 384 + 2173 384 + 2174 384 + 2175 384 + 2176 384 + 2177 384 + 2178 384 + 2179 384 + 2180 384 + 2181 384 + 2182 384 + 2183 384 2184 384 2185 384 2186 384 @@ -218,6 +624,50 @@ ny= 1536 2253 384 2254 384 2255 384 + 2256 384 + 2257 384 + 2258 384 + 2259 384 + 2260 384 + 2261 384 + 2262 384 + 2263 384 + 2264 384 + 2265 384 + 2266 384 + 2267 384 + 2268 384 + 2269 384 + 2270 384 + 2271 384 + 2272 384 + 2273 384 + 2274 384 + 2275 384 + 2276 384 + 2277 384 + 2930 384 + 2931 384 + 2932 384 + 2933 384 + 2934 384 + 2935 384 + 2936 384 + 2937 384 + 2938 384 + 2939 384 + 2940 384 + 2941 384 + 2942 384 + 2943 384 + 2944 384 + 2945 384 + 2946 384 + 2947 384 + 2948 384 + 2949 384 + 2950 384 + 2951 384 2952 384 2953 384 2954 384 @@ -290,6 +740,44 @@ ny= 1536 3021 384 3022 384 3023 384 + 3024 384 + 3025 384 + 3026 384 + 3027 384 + 3028 384 + 3029 384 + 3030 384 + 3031 384 + 3032 384 + 3033 384 + 3034 384 + 3035 384 + 3036 384 + 3037 384 + 3038 384 + 3039 384 + 3040 384 + 3041 384 + 3042 384 + 3043 384 + 3044 384 + 3045 384 + 611 385 + 612 385 + 613 385 + 614 385 + 615 385 + 616 385 + 617 385 + 618 385 + 619 385 + 620 385 + 621 385 + 622 385 + 623 385 + 624 385 + 625 385 + 626 385 627 385 628 385 629 385 @@ -404,6 +892,38 @@ ny= 1536 738 385 739 385 740 385 + 741 385 + 742 385 + 743 385 + 744 385 + 745 385 + 746 385 + 747 385 + 748 385 + 749 385 + 750 385 + 751 385 + 752 385 + 753 385 + 754 385 + 755 385 + 756 385 + 1379 385 + 1380 385 + 1381 385 + 1382 385 + 1383 385 + 1384 385 + 1385 385 + 1386 385 + 1387 385 + 1388 385 + 1389 385 + 1390 385 + 1391 385 + 1392 385 + 1393 385 + 1394 385 1395 385 1396 385 1397 385 @@ -518,6 +1038,38 @@ ny= 1536 1506 385 1507 385 1508 385 + 1509 385 + 1510 385 + 1511 385 + 1512 385 + 1513 385 + 1514 385 + 1515 385 + 1516 385 + 1517 385 + 1518 385 + 1519 385 + 1520 385 + 1521 385 + 1522 385 + 1523 385 + 1524 385 + 2147 385 + 2148 385 + 2149 385 + 2150 385 + 2151 385 + 2152 385 + 2153 385 + 2154 385 + 2155 385 + 2156 385 + 2157 385 + 2158 385 + 2159 385 + 2160 385 + 2161 385 + 2162 385 2163 385 2164 385 2165 385 @@ -632,6 +1184,38 @@ ny= 1536 2274 385 2275 385 2276 385 + 2277 385 + 2278 385 + 2279 385 + 2280 385 + 2281 385 + 2282 385 + 2283 385 + 2284 385 + 2285 385 + 2286 385 + 2287 385 + 2288 385 + 2289 385 + 2290 385 + 2291 385 + 2292 385 + 2915 385 + 2916 385 + 2917 385 + 2918 385 + 2919 385 + 2920 385 + 2921 385 + 2922 385 + 2923 385 + 2924 385 + 2925 385 + 2926 385 + 2927 385 + 2928 385 + 2929 385 + 2930 385 2931 385 2932 385 2933 385 @@ -746,6 +1330,37 @@ ny= 1536 3042 385 3043 385 3044 385 + 3045 385 + 3046 385 + 3047 385 + 3048 385 + 3049 385 + 3050 385 + 3051 385 + 3052 385 + 3053 385 + 3054 385 + 3055 385 + 3056 385 + 3057 385 + 3058 385 + 3059 385 + 3060 385 + 1 386 + 598 386 + 599 386 + 600 386 + 601 386 + 602 386 + 603 386 + 604 386 + 605 386 + 606 386 + 607 386 + 608 386 + 609 386 + 610 386 + 611 386 612 386 613 386 614 386 @@ -784,6 +1399,75 @@ ny= 1536 647 386 648 386 649 386 + 650 386 + 651 386 + 652 386 + 653 386 + 654 386 + 655 386 + 656 386 + 657 386 + 658 386 + 659 386 + 660 386 + 661 386 + 662 386 + 663 386 + 664 386 + 665 386 + 666 386 + 667 386 + 668 386 + 669 386 + 670 386 + 671 386 + 672 386 + 673 386 + 674 386 + 675 386 + 676 386 + 677 386 + 678 386 + 679 386 + 680 386 + 681 386 + 682 386 + 683 386 + 684 386 + 685 386 + 686 386 + 687 386 + 688 386 + 689 386 + 690 386 + 691 386 + 692 386 + 693 386 + 694 386 + 695 386 + 696 386 + 697 386 + 698 386 + 699 386 + 700 386 + 701 386 + 702 386 + 703 386 + 704 386 + 705 386 + 706 386 + 707 386 + 708 386 + 709 386 + 710 386 + 711 386 + 712 386 + 713 386 + 714 386 + 715 386 + 716 386 + 717 386 + 718 386 719 386 720 386 721 386 @@ -821,6 +1505,34 @@ ny= 1536 753 386 754 386 755 386 + 756 386 + 757 386 + 758 386 + 759 386 + 760 386 + 761 386 + 762 386 + 763 386 + 764 386 + 765 386 + 766 386 + 767 386 + 768 386 + 769 386 + 1366 386 + 1367 386 + 1368 386 + 1369 386 + 1370 386 + 1371 386 + 1372 386 + 1373 386 + 1374 386 + 1375 386 + 1376 386 + 1377 386 + 1378 386 + 1379 386 1380 386 1381 386 1382 386 @@ -859,6 +1571,75 @@ ny= 1536 1415 386 1416 386 1417 386 + 1418 386 + 1419 386 + 1420 386 + 1421 386 + 1422 386 + 1423 386 + 1424 386 + 1425 386 + 1426 386 + 1427 386 + 1428 386 + 1429 386 + 1430 386 + 1431 386 + 1432 386 + 1433 386 + 1434 386 + 1435 386 + 1436 386 + 1437 386 + 1438 386 + 1439 386 + 1440 386 + 1441 386 + 1442 386 + 1443 386 + 1444 386 + 1445 386 + 1446 386 + 1447 386 + 1448 386 + 1449 386 + 1450 386 + 1451 386 + 1452 386 + 1453 386 + 1454 386 + 1455 386 + 1456 386 + 1457 386 + 1458 386 + 1459 386 + 1460 386 + 1461 386 + 1462 386 + 1463 386 + 1464 386 + 1465 386 + 1466 386 + 1467 386 + 1468 386 + 1469 386 + 1470 386 + 1471 386 + 1472 386 + 1473 386 + 1474 386 + 1475 386 + 1476 386 + 1477 386 + 1478 386 + 1479 386 + 1480 386 + 1481 386 + 1482 386 + 1483 386 + 1484 386 + 1485 386 + 1486 386 1487 386 1488 386 1489 386 @@ -896,6 +1677,34 @@ ny= 1536 1521 386 1522 386 1523 386 + 1524 386 + 1525 386 + 1526 386 + 1527 386 + 1528 386 + 1529 386 + 1530 386 + 1531 386 + 1532 386 + 1533 386 + 1534 386 + 1535 386 + 1536 386 + 1537 386 + 2134 386 + 2135 386 + 2136 386 + 2137 386 + 2138 386 + 2139 386 + 2140 386 + 2141 386 + 2142 386 + 2143 386 + 2144 386 + 2145 386 + 2146 386 + 2147 386 2148 386 2149 386 2150 386 @@ -934,6 +1743,75 @@ ny= 1536 2183 386 2184 386 2185 386 + 2186 386 + 2187 386 + 2188 386 + 2189 386 + 2190 386 + 2191 386 + 2192 386 + 2193 386 + 2194 386 + 2195 386 + 2196 386 + 2197 386 + 2198 386 + 2199 386 + 2200 386 + 2201 386 + 2202 386 + 2203 386 + 2204 386 + 2205 386 + 2206 386 + 2207 386 + 2208 386 + 2209 386 + 2210 386 + 2211 386 + 2212 386 + 2213 386 + 2214 386 + 2215 386 + 2216 386 + 2217 386 + 2218 386 + 2219 386 + 2220 386 + 2221 386 + 2222 386 + 2223 386 + 2224 386 + 2225 386 + 2226 386 + 2227 386 + 2228 386 + 2229 386 + 2230 386 + 2231 386 + 2232 386 + 2233 386 + 2234 386 + 2235 386 + 2236 386 + 2237 386 + 2238 386 + 2239 386 + 2240 386 + 2241 386 + 2242 386 + 2243 386 + 2244 386 + 2245 386 + 2246 386 + 2247 386 + 2248 386 + 2249 386 + 2250 386 + 2251 386 + 2252 386 + 2253 386 + 2254 386 2255 386 2256 386 2257 386 @@ -971,6 +1849,34 @@ ny= 1536 2289 386 2290 386 2291 386 + 2292 386 + 2293 386 + 2294 386 + 2295 386 + 2296 386 + 2297 386 + 2298 386 + 2299 386 + 2300 386 + 2301 386 + 2302 386 + 2303 386 + 2304 386 + 2305 386 + 2902 386 + 2903 386 + 2904 386 + 2905 386 + 2906 386 + 2907 386 + 2908 386 + 2909 386 + 2910 386 + 2911 386 + 2912 386 + 2913 386 + 2914 386 + 2915 386 2916 386 2917 386 2918 386 @@ -1009,6 +1915,75 @@ ny= 1536 2951 386 2952 386 2953 386 + 2954 386 + 2955 386 + 2956 386 + 2957 386 + 2958 386 + 2959 386 + 2960 386 + 2961 386 + 2962 386 + 2963 386 + 2964 386 + 2965 386 + 2966 386 + 2967 386 + 2968 386 + 2969 386 + 2970 386 + 2971 386 + 2972 386 + 2973 386 + 2974 386 + 2975 386 + 2976 386 + 2977 386 + 2978 386 + 2979 386 + 2980 386 + 2981 386 + 2982 386 + 2983 386 + 2984 386 + 2985 386 + 2986 386 + 2987 386 + 2988 386 + 2989 386 + 2990 386 + 2991 386 + 2992 386 + 2993 386 + 2994 386 + 2995 386 + 2996 386 + 2997 386 + 2998 386 + 2999 386 + 3000 386 + 3001 386 + 3002 386 + 3003 386 + 3004 386 + 3005 386 + 3006 386 + 3007 386 + 3008 386 + 3009 386 + 3010 386 + 3011 386 + 3012 386 + 3013 386 + 3014 386 + 3015 386 + 3016 386 + 3017 386 + 3018 386 + 3019 386 + 3020 386 + 3021 386 + 3022 386 3023 386 3024 386 3025 386 @@ -1046,6 +2021,43 @@ ny= 1536 3057 386 3058 386 3059 386 + 3060 386 + 3061 386 + 3062 386 + 3063 386 + 3064 386 + 3065 386 + 3066 386 + 3067 386 + 3068 386 + 3069 386 + 3070 386 + 3071 386 + 3072 386 + 1 387 + 2 387 + 3 387 + 4 387 + 5 387 + 6 387 + 7 387 + 8 387 + 9 387 + 10 387 + 11 387 + 12 387 + 587 387 + 588 387 + 589 387 + 590 387 + 591 387 + 592 387 + 593 387 + 594 387 + 595 387 + 596 387 + 597 387 + 598 387 599 387 600 387 601 387 @@ -1076,6 +2088,50 @@ ny= 1536 626 387 627 387 628 387 + 629 387 + 630 387 + 631 387 + 632 387 + 633 387 + 634 387 + 635 387 + 636 387 + 637 387 + 638 387 + 639 387 + 640 387 + 641 387 + 642 387 + 643 387 + 644 387 + 645 387 + 646 387 + 647 387 + 648 387 + 649 387 + 650 387 + 718 387 + 719 387 + 720 387 + 721 387 + 722 387 + 723 387 + 724 387 + 725 387 + 726 387 + 727 387 + 728 387 + 729 387 + 730 387 + 731 387 + 732 387 + 733 387 + 734 387 + 735 387 + 736 387 + 737 387 + 738 387 + 739 387 740 387 741 387 742 387 @@ -1105,6 +2161,30 @@ ny= 1536 766 387 767 387 768 387 + 769 387 + 770 387 + 771 387 + 772 387 + 773 387 + 774 387 + 775 387 + 776 387 + 777 387 + 778 387 + 779 387 + 780 387 + 1355 387 + 1356 387 + 1357 387 + 1358 387 + 1359 387 + 1360 387 + 1361 387 + 1362 387 + 1363 387 + 1364 387 + 1365 387 + 1366 387 1367 387 1368 387 1369 387 @@ -1135,6 +2215,50 @@ ny= 1536 1394 387 1395 387 1396 387 + 1397 387 + 1398 387 + 1399 387 + 1400 387 + 1401 387 + 1402 387 + 1403 387 + 1404 387 + 1405 387 + 1406 387 + 1407 387 + 1408 387 + 1409 387 + 1410 387 + 1411 387 + 1412 387 + 1413 387 + 1414 387 + 1415 387 + 1416 387 + 1417 387 + 1418 387 + 1486 387 + 1487 387 + 1488 387 + 1489 387 + 1490 387 + 1491 387 + 1492 387 + 1493 387 + 1494 387 + 1495 387 + 1496 387 + 1497 387 + 1498 387 + 1499 387 + 1500 387 + 1501 387 + 1502 387 + 1503 387 + 1504 387 + 1505 387 + 1506 387 + 1507 387 1508 387 1509 387 1510 387 @@ -1164,6 +2288,30 @@ ny= 1536 1534 387 1535 387 1536 387 + 1537 387 + 1538 387 + 1539 387 + 1540 387 + 1541 387 + 1542 387 + 1543 387 + 1544 387 + 1545 387 + 1546 387 + 1547 387 + 1548 387 + 2123 387 + 2124 387 + 2125 387 + 2126 387 + 2127 387 + 2128 387 + 2129 387 + 2130 387 + 2131 387 + 2132 387 + 2133 387 + 2134 387 2135 387 2136 387 2137 387 @@ -1194,6 +2342,50 @@ ny= 1536 2162 387 2163 387 2164 387 + 2165 387 + 2166 387 + 2167 387 + 2168 387 + 2169 387 + 2170 387 + 2171 387 + 2172 387 + 2173 387 + 2174 387 + 2175 387 + 2176 387 + 2177 387 + 2178 387 + 2179 387 + 2180 387 + 2181 387 + 2182 387 + 2183 387 + 2184 387 + 2185 387 + 2186 387 + 2254 387 + 2255 387 + 2256 387 + 2257 387 + 2258 387 + 2259 387 + 2260 387 + 2261 387 + 2262 387 + 2263 387 + 2264 387 + 2265 387 + 2266 387 + 2267 387 + 2268 387 + 2269 387 + 2270 387 + 2271 387 + 2272 387 + 2273 387 + 2274 387 + 2275 387 2276 387 2277 387 2278 387 @@ -1223,6 +2415,30 @@ ny= 1536 2302 387 2303 387 2304 387 + 2305 387 + 2306 387 + 2307 387 + 2308 387 + 2309 387 + 2310 387 + 2311 387 + 2312 387 + 2313 387 + 2314 387 + 2315 387 + 2316 387 + 2891 387 + 2892 387 + 2893 387 + 2894 387 + 2895 387 + 2896 387 + 2897 387 + 2898 387 + 2899 387 + 2900 387 + 2901 387 + 2902 387 2903 387 2904 387 2905 387 @@ -1253,6 +2469,50 @@ ny= 1536 2930 387 2931 387 2932 387 + 2933 387 + 2934 387 + 2935 387 + 2936 387 + 2937 387 + 2938 387 + 2939 387 + 2940 387 + 2941 387 + 2942 387 + 2943 387 + 2944 387 + 2945 387 + 2946 387 + 2947 387 + 2948 387 + 2949 387 + 2950 387 + 2951 387 + 2952 387 + 2953 387 + 2954 387 + 3022 387 + 3023 387 + 3024 387 + 3025 387 + 3026 387 + 3027 387 + 3028 387 + 3029 387 + 3030 387 + 3031 387 + 3032 387 + 3033 387 + 3034 387 + 3035 387 + 3036 387 + 3037 387 + 3038 387 + 3039 387 + 3040 387 + 3041 387 + 3042 387 + 3043 387 3044 387 3045 387 3046 387 @@ -1293,6 +2553,26 @@ ny= 1536 9 388 10 388 11 388 + 12 388 + 13 388 + 14 388 + 15 388 + 16 388 + 17 388 + 18 388 + 19 388 + 20 388 + 21 388 + 578 388 + 579 388 + 580 388 + 581 388 + 582 388 + 583 388 + 584 388 + 585 388 + 586 388 + 587 388 588 388 589 388 590 388 @@ -1318,6 +2598,39 @@ ny= 1536 610 388 611 388 612 388 + 613 388 + 614 388 + 615 388 + 616 388 + 617 388 + 618 388 + 619 388 + 620 388 + 621 388 + 622 388 + 623 388 + 624 388 + 625 388 + 626 388 + 627 388 + 628 388 + 629 388 + 739 388 + 740 388 + 741 388 + 742 388 + 743 388 + 744 388 + 745 388 + 746 388 + 747 388 + 748 388 + 749 388 + 750 388 + 751 388 + 752 388 + 753 388 + 754 388 755 388 756 388 757 388 @@ -1343,6 +2656,26 @@ ny= 1536 777 388 778 388 779 388 + 780 388 + 781 388 + 782 388 + 783 388 + 784 388 + 785 388 + 786 388 + 787 388 + 788 388 + 789 388 + 1346 388 + 1347 388 + 1348 388 + 1349 388 + 1350 388 + 1351 388 + 1352 388 + 1353 388 + 1354 388 + 1355 388 1356 388 1357 388 1358 388 @@ -1368,6 +2701,39 @@ ny= 1536 1378 388 1379 388 1380 388 + 1381 388 + 1382 388 + 1383 388 + 1384 388 + 1385 388 + 1386 388 + 1387 388 + 1388 388 + 1389 388 + 1390 388 + 1391 388 + 1392 388 + 1393 388 + 1394 388 + 1395 388 + 1396 388 + 1397 388 + 1507 388 + 1508 388 + 1509 388 + 1510 388 + 1511 388 + 1512 388 + 1513 388 + 1514 388 + 1515 388 + 1516 388 + 1517 388 + 1518 388 + 1519 388 + 1520 388 + 1521 388 + 1522 388 1523 388 1524 388 1525 388 @@ -1393,6 +2759,26 @@ ny= 1536 1545 388 1546 388 1547 388 + 1548 388 + 1549 388 + 1550 388 + 1551 388 + 1552 388 + 1553 388 + 1554 388 + 1555 388 + 1556 388 + 1557 388 + 2114 388 + 2115 388 + 2116 388 + 2117 388 + 2118 388 + 2119 388 + 2120 388 + 2121 388 + 2122 388 + 2123 388 2124 388 2125 388 2126 388 @@ -1418,6 +2804,39 @@ ny= 1536 2146 388 2147 388 2148 388 + 2149 388 + 2150 388 + 2151 388 + 2152 388 + 2153 388 + 2154 388 + 2155 388 + 2156 388 + 2157 388 + 2158 388 + 2159 388 + 2160 388 + 2161 388 + 2162 388 + 2163 388 + 2164 388 + 2165 388 + 2275 388 + 2276 388 + 2277 388 + 2278 388 + 2279 388 + 2280 388 + 2281 388 + 2282 388 + 2283 388 + 2284 388 + 2285 388 + 2286 388 + 2287 388 + 2288 388 + 2289 388 + 2290 388 2291 388 2292 388 2293 388 @@ -1443,6 +2862,26 @@ ny= 1536 2313 388 2314 388 2315 388 + 2316 388 + 2317 388 + 2318 388 + 2319 388 + 2320 388 + 2321 388 + 2322 388 + 2323 388 + 2324 388 + 2325 388 + 2882 388 + 2883 388 + 2884 388 + 2885 388 + 2886 388 + 2887 388 + 2888 388 + 2889 388 + 2890 388 + 2891 388 2892 388 2893 388 2894 388 @@ -1468,6 +2907,39 @@ ny= 1536 2914 388 2915 388 2916 388 + 2917 388 + 2918 388 + 2919 388 + 2920 388 + 2921 388 + 2922 388 + 2923 388 + 2924 388 + 2925 388 + 2926 388 + 2927 388 + 2928 388 + 2929 388 + 2930 388 + 2931 388 + 2932 388 + 2933 388 + 3043 388 + 3044 388 + 3045 388 + 3046 388 + 3047 388 + 3048 388 + 3049 388 + 3050 388 + 3051 388 + 3052 388 + 3053 388 + 3054 388 + 3055 388 + 3056 388 + 3057 388 + 3058 388 3059 388 3060 388 3061 388 @@ -1502,6 +2974,26 @@ ny= 1536 18 389 19 389 20 389 + 21 389 + 22 389 + 23 389 + 24 389 + 25 389 + 26 389 + 27 389 + 28 389 + 29 389 + 30 389 + 569 389 + 570 389 + 571 389 + 572 389 + 573 389 + 574 389 + 575 389 + 576 389 + 577 389 + 578 389 579 389 580 389 581 389 @@ -1524,6 +3016,33 @@ ny= 1536 598 389 599 389 600 389 + 601 389 + 602 389 + 603 389 + 604 389 + 605 389 + 606 389 + 607 389 + 608 389 + 609 389 + 610 389 + 611 389 + 612 389 + 613 389 + 754 389 + 755 389 + 756 389 + 757 389 + 758 389 + 759 389 + 760 389 + 761 389 + 762 389 + 763 389 + 764 389 + 765 389 + 766 389 + 767 389 768 389 769 389 770 389 @@ -1545,6 +3064,26 @@ ny= 1536 786 389 787 389 788 389 + 789 389 + 790 389 + 791 389 + 792 389 + 793 389 + 794 389 + 795 389 + 796 389 + 797 389 + 798 389 + 1337 389 + 1338 389 + 1339 389 + 1340 389 + 1341 389 + 1342 389 + 1343 389 + 1344 389 + 1345 389 + 1346 389 1347 389 1348 389 1349 389 @@ -1567,6 +3106,33 @@ ny= 1536 1366 389 1367 389 1368 389 + 1369 389 + 1370 389 + 1371 389 + 1372 389 + 1373 389 + 1374 389 + 1375 389 + 1376 389 + 1377 389 + 1378 389 + 1379 389 + 1380 389 + 1381 389 + 1522 389 + 1523 389 + 1524 389 + 1525 389 + 1526 389 + 1527 389 + 1528 389 + 1529 389 + 1530 389 + 1531 389 + 1532 389 + 1533 389 + 1534 389 + 1535 389 1536 389 1537 389 1538 389 @@ -1588,6 +3154,26 @@ ny= 1536 1554 389 1555 389 1556 389 + 1557 389 + 1558 389 + 1559 389 + 1560 389 + 1561 389 + 1562 389 + 1563 389 + 1564 389 + 1565 389 + 1566 389 + 2105 389 + 2106 389 + 2107 389 + 2108 389 + 2109 389 + 2110 389 + 2111 389 + 2112 389 + 2113 389 + 2114 389 2115 389 2116 389 2117 389 @@ -1610,6 +3196,33 @@ ny= 1536 2134 389 2135 389 2136 389 + 2137 389 + 2138 389 + 2139 389 + 2140 389 + 2141 389 + 2142 389 + 2143 389 + 2144 389 + 2145 389 + 2146 389 + 2147 389 + 2148 389 + 2149 389 + 2290 389 + 2291 389 + 2292 389 + 2293 389 + 2294 389 + 2295 389 + 2296 389 + 2297 389 + 2298 389 + 2299 389 + 2300 389 + 2301 389 + 2302 389 + 2303 389 2304 389 2305 389 2306 389 @@ -1631,6 +3244,26 @@ ny= 1536 2322 389 2323 389 2324 389 + 2325 389 + 2326 389 + 2327 389 + 2328 389 + 2329 389 + 2330 389 + 2331 389 + 2332 389 + 2333 389 + 2334 389 + 2873 389 + 2874 389 + 2875 389 + 2876 389 + 2877 389 + 2878 389 + 2879 389 + 2880 389 + 2881 389 + 2882 389 2883 389 2884 389 2885 389 @@ -1653,7 +3286,43 @@ ny= 1536 2902 389 2903 389 2904 389 + 2905 389 + 2906 389 + 2907 389 + 2908 389 + 2909 389 + 2910 389 + 2911 389 + 2912 389 + 2913 389 + 2914 389 + 2915 389 + 2916 389 + 2917 389 + 3058 389 + 3059 389 + 3060 389 + 3061 389 + 3062 389 + 3063 389 + 3064 389 + 3065 389 + 3066 389 + 3067 389 + 3068 389 + 3069 389 + 3070 389 + 3071 389 3072 389 + 1 390 + 2 390 + 3 390 + 4 390 + 5 390 + 6 390 + 7 390 + 8 390 + 9 390 10 390 11 390 12 390 @@ -1674,6 +3343,24 @@ ny= 1536 27 390 28 390 29 390 + 30 390 + 31 390 + 32 390 + 33 390 + 34 390 + 35 390 + 36 390 + 37 390 + 38 390 + 561 390 + 562 390 + 563 390 + 564 390 + 565 390 + 566 390 + 567 390 + 568 390 + 569 390 570 390 571 390 572 390 @@ -1694,6 +3381,29 @@ ny= 1536 587 390 588 390 589 390 + 590 390 + 591 390 + 592 390 + 593 390 + 594 390 + 595 390 + 596 390 + 597 390 + 598 390 + 599 390 + 600 390 + 601 390 + 767 390 + 768 390 + 769 390 + 770 390 + 771 390 + 772 390 + 773 390 + 774 390 + 775 390 + 776 390 + 777 390 778 390 779 390 780 390 @@ -1714,6 +3424,24 @@ ny= 1536 795 390 796 390 797 390 + 798 390 + 799 390 + 800 390 + 801 390 + 802 390 + 803 390 + 804 390 + 805 390 + 806 390 + 1329 390 + 1330 390 + 1331 390 + 1332 390 + 1333 390 + 1334 390 + 1335 390 + 1336 390 + 1337 390 1338 390 1339 390 1340 390 @@ -1734,6 +3462,29 @@ ny= 1536 1355 390 1356 390 1357 390 + 1358 390 + 1359 390 + 1360 390 + 1361 390 + 1362 390 + 1363 390 + 1364 390 + 1365 390 + 1366 390 + 1367 390 + 1368 390 + 1369 390 + 1535 390 + 1536 390 + 1537 390 + 1538 390 + 1539 390 + 1540 390 + 1541 390 + 1542 390 + 1543 390 + 1544 390 + 1545 390 1546 390 1547 390 1548 390 @@ -1754,6 +3505,24 @@ ny= 1536 1563 390 1564 390 1565 390 + 1566 390 + 1567 390 + 1568 390 + 1569 390 + 1570 390 + 1571 390 + 1572 390 + 1573 390 + 1574 390 + 2097 390 + 2098 390 + 2099 390 + 2100 390 + 2101 390 + 2102 390 + 2103 390 + 2104 390 + 2105 390 2106 390 2107 390 2108 390 @@ -1774,6 +3543,29 @@ ny= 1536 2123 390 2124 390 2125 390 + 2126 390 + 2127 390 + 2128 390 + 2129 390 + 2130 390 + 2131 390 + 2132 390 + 2133 390 + 2134 390 + 2135 390 + 2136 390 + 2137 390 + 2303 390 + 2304 390 + 2305 390 + 2306 390 + 2307 390 + 2308 390 + 2309 390 + 2310 390 + 2311 390 + 2312 390 + 2313 390 2314 390 2315 390 2316 390 @@ -1794,6 +3586,24 @@ ny= 1536 2331 390 2332 390 2333 390 + 2334 390 + 2335 390 + 2336 390 + 2337 390 + 2338 390 + 2339 390 + 2340 390 + 2341 390 + 2342 390 + 2865 390 + 2866 390 + 2867 390 + 2868 390 + 2869 390 + 2870 390 + 2871 390 + 2872 390 + 2873 390 2874 390 2875 390 2876 390 @@ -1814,6 +3624,31 @@ ny= 1536 2891 390 2892 390 2893 390 + 2894 390 + 2895 390 + 2896 390 + 2897 390 + 2898 390 + 2899 390 + 2900 390 + 2901 390 + 2902 390 + 2903 390 + 2904 390 + 2905 390 + 3071 390 + 3072 390 + 9 391 + 10 391 + 11 391 + 12 391 + 13 391 + 14 391 + 15 391 + 16 391 + 17 391 + 18 391 + 19 391 20 391 21 391 22 391 @@ -1832,6 +3667,24 @@ ny= 1536 35 391 36 391 37 391 + 38 391 + 39 391 + 40 391 + 41 391 + 42 391 + 43 391 + 44 391 + 45 391 + 46 391 + 553 391 + 554 391 + 555 391 + 556 391 + 557 391 + 558 391 + 559 391 + 560 391 + 561 391 562 391 563 391 564 391 @@ -1851,6 +3704,27 @@ ny= 1536 578 391 579 391 580 391 + 581 391 + 582 391 + 583 391 + 584 391 + 585 391 + 586 391 + 587 391 + 588 391 + 589 391 + 590 391 + 777 391 + 778 391 + 779 391 + 780 391 + 781 391 + 782 391 + 783 391 + 784 391 + 785 391 + 786 391 + 787 391 788 391 789 391 790 391 @@ -1869,6 +3743,24 @@ ny= 1536 803 391 804 391 805 391 + 806 391 + 807 391 + 808 391 + 809 391 + 810 391 + 811 391 + 812 391 + 813 391 + 814 391 + 1321 391 + 1322 391 + 1323 391 + 1324 391 + 1325 391 + 1326 391 + 1327 391 + 1328 391 + 1329 391 1330 391 1331 391 1332 391 @@ -1888,6 +3780,27 @@ ny= 1536 1346 391 1347 391 1348 391 + 1349 391 + 1350 391 + 1351 391 + 1352 391 + 1353 391 + 1354 391 + 1355 391 + 1356 391 + 1357 391 + 1358 391 + 1545 391 + 1546 391 + 1547 391 + 1548 391 + 1549 391 + 1550 391 + 1551 391 + 1552 391 + 1553 391 + 1554 391 + 1555 391 1556 391 1557 391 1558 391 @@ -1906,6 +3819,24 @@ ny= 1536 1571 391 1572 391 1573 391 + 1574 391 + 1575 391 + 1576 391 + 1577 391 + 1578 391 + 1579 391 + 1580 391 + 1581 391 + 1582 391 + 2089 391 + 2090 391 + 2091 391 + 2092 391 + 2093 391 + 2094 391 + 2095 391 + 2096 391 + 2097 391 2098 391 2099 391 2100 391 @@ -1925,6 +3856,27 @@ ny= 1536 2114 391 2115 391 2116 391 + 2117 391 + 2118 391 + 2119 391 + 2120 391 + 2121 391 + 2122 391 + 2123 391 + 2124 391 + 2125 391 + 2126 391 + 2313 391 + 2314 391 + 2315 391 + 2316 391 + 2317 391 + 2318 391 + 2319 391 + 2320 391 + 2321 391 + 2322 391 + 2323 391 2324 391 2325 391 2326 391 @@ -1943,6 +3895,24 @@ ny= 1536 2339 391 2340 391 2341 391 + 2342 391 + 2343 391 + 2344 391 + 2345 391 + 2346 391 + 2347 391 + 2348 391 + 2349 391 + 2350 391 + 2857 391 + 2858 391 + 2859 391 + 2860 391 + 2861 391 + 2862 391 + 2863 391 + 2864 391 + 2865 391 2866 391 2867 391 2868 391 @@ -1962,6 +3932,26 @@ ny= 1536 2882 391 2883 391 2884 391 + 2885 391 + 2886 391 + 2887 391 + 2888 391 + 2889 391 + 2890 391 + 2891 391 + 2892 391 + 2893 391 + 2894 391 + 19 392 + 20 392 + 21 392 + 22 392 + 23 392 + 24 392 + 25 392 + 26 392 + 27 392 + 28 392 29 392 30 392 31 392 @@ -1979,6 +3969,22 @@ ny= 1536 43 392 44 392 45 392 + 46 392 + 47 392 + 48 392 + 49 392 + 50 392 + 51 392 + 52 392 + 53 392 + 546 392 + 547 392 + 548 392 + 549 392 + 550 392 + 551 392 + 552 392 + 553 392 554 392 555 392 556 392 @@ -1996,6 +4002,27 @@ ny= 1536 568 392 569 392 570 392 + 571 392 + 572 392 + 573 392 + 574 392 + 575 392 + 576 392 + 577 392 + 578 392 + 579 392 + 580 392 + 581 392 + 787 392 + 788 392 + 789 392 + 790 392 + 791 392 + 792 392 + 793 392 + 794 392 + 795 392 + 796 392 797 392 798 392 799 392 @@ -2013,6 +4040,22 @@ ny= 1536 811 392 812 392 813 392 + 814 392 + 815 392 + 816 392 + 817 392 + 818 392 + 819 392 + 820 392 + 821 392 + 1314 392 + 1315 392 + 1316 392 + 1317 392 + 1318 392 + 1319 392 + 1320 392 + 1321 392 1322 392 1323 392 1324 392 @@ -2030,6 +4073,27 @@ ny= 1536 1336 392 1337 392 1338 392 + 1339 392 + 1340 392 + 1341 392 + 1342 392 + 1343 392 + 1344 392 + 1345 392 + 1346 392 + 1347 392 + 1348 392 + 1349 392 + 1555 392 + 1556 392 + 1557 392 + 1558 392 + 1559 392 + 1560 392 + 1561 392 + 1562 392 + 1563 392 + 1564 392 1565 392 1566 392 1567 392 @@ -2047,6 +4111,22 @@ ny= 1536 1579 392 1580 392 1581 392 + 1582 392 + 1583 392 + 1584 392 + 1585 392 + 1586 392 + 1587 392 + 1588 392 + 1589 392 + 2082 392 + 2083 392 + 2084 392 + 2085 392 + 2086 392 + 2087 392 + 2088 392 + 2089 392 2090 392 2091 392 2092 392 @@ -2064,6 +4144,27 @@ ny= 1536 2104 392 2105 392 2106 392 + 2107 392 + 2108 392 + 2109 392 + 2110 392 + 2111 392 + 2112 392 + 2113 392 + 2114 392 + 2115 392 + 2116 392 + 2117 392 + 2323 392 + 2324 392 + 2325 392 + 2326 392 + 2327 392 + 2328 392 + 2329 392 + 2330 392 + 2331 392 + 2332 392 2333 392 2334 392 2335 392 @@ -2081,6 +4182,22 @@ ny= 1536 2347 392 2348 392 2349 392 + 2350 392 + 2351 392 + 2352 392 + 2353 392 + 2354 392 + 2355 392 + 2356 392 + 2357 392 + 2850 392 + 2851 392 + 2852 392 + 2853 392 + 2854 392 + 2855 392 + 2856 392 + 2857 392 2858 392 2859 392 2860 392 @@ -2098,6 +4215,26 @@ ny= 1536 2872 392 2873 392 2874 392 + 2875 392 + 2876 392 + 2877 392 + 2878 392 + 2879 392 + 2880 392 + 2881 392 + 2882 392 + 2883 392 + 2884 392 + 2885 392 + 28 393 + 29 393 + 30 393 + 31 393 + 32 393 + 33 393 + 34 393 + 35 393 + 36 393 37 393 38 393 39 393 @@ -2114,6 +4251,21 @@ ny= 1536 50 393 51 393 52 393 + 53 393 + 54 393 + 55 393 + 56 393 + 57 393 + 58 393 + 59 393 + 60 393 + 540 393 + 541 393 + 542 393 + 543 393 + 544 393 + 545 393 + 546 393 547 393 548 393 549 393 @@ -2130,6 +4282,24 @@ ny= 1536 560 393 561 393 562 393 + 563 393 + 564 393 + 565 393 + 566 393 + 567 393 + 568 393 + 569 393 + 570 393 + 571 393 + 796 393 + 797 393 + 798 393 + 799 393 + 800 393 + 801 393 + 802 393 + 803 393 + 804 393 805 393 806 393 807 393 @@ -2146,6 +4316,21 @@ ny= 1536 818 393 819 393 820 393 + 821 393 + 822 393 + 823 393 + 824 393 + 825 393 + 826 393 + 827 393 + 828 393 + 1308 393 + 1309 393 + 1310 393 + 1311 393 + 1312 393 + 1313 393 + 1314 393 1315 393 1316 393 1317 393 @@ -2162,6 +4347,24 @@ ny= 1536 1328 393 1329 393 1330 393 + 1331 393 + 1332 393 + 1333 393 + 1334 393 + 1335 393 + 1336 393 + 1337 393 + 1338 393 + 1339 393 + 1564 393 + 1565 393 + 1566 393 + 1567 393 + 1568 393 + 1569 393 + 1570 393 + 1571 393 + 1572 393 1573 393 1574 393 1575 393 @@ -2178,6 +4381,21 @@ ny= 1536 1586 393 1587 393 1588 393 + 1589 393 + 1590 393 + 1591 393 + 1592 393 + 1593 393 + 1594 393 + 1595 393 + 1596 393 + 2076 393 + 2077 393 + 2078 393 + 2079 393 + 2080 393 + 2081 393 + 2082 393 2083 393 2084 393 2085 393 @@ -2194,6 +4412,24 @@ ny= 1536 2096 393 2097 393 2098 393 + 2099 393 + 2100 393 + 2101 393 + 2102 393 + 2103 393 + 2104 393 + 2105 393 + 2106 393 + 2107 393 + 2332 393 + 2333 393 + 2334 393 + 2335 393 + 2336 393 + 2337 393 + 2338 393 + 2339 393 + 2340 393 2341 393 2342 393 2343 393 @@ -2210,6 +4446,21 @@ ny= 1536 2354 393 2355 393 2356 393 + 2357 393 + 2358 393 + 2359 393 + 2360 393 + 2361 393 + 2362 393 + 2363 393 + 2364 393 + 2844 393 + 2845 393 + 2846 393 + 2847 393 + 2848 393 + 2849 393 + 2850 393 2851 393 2852 393 2853 393 @@ -2226,6 +4477,23 @@ ny= 1536 2864 393 2865 393 2866 393 + 2867 393 + 2868 393 + 2869 393 + 2870 393 + 2871 393 + 2872 393 + 2873 393 + 2874 393 + 2875 393 + 36 394 + 37 394 + 38 394 + 39 394 + 40 394 + 41 394 + 42 394 + 43 394 44 394 45 394 46 394 @@ -2242,6 +4510,22 @@ ny= 1536 57 394 58 394 59 394 + 60 394 + 61 394 + 62 394 + 63 394 + 64 394 + 65 394 + 66 394 + 67 394 + 533 394 + 534 394 + 535 394 + 536 394 + 537 394 + 538 394 + 539 394 + 540 394 541 394 542 394 543 394 @@ -2257,6 +4541,22 @@ ny= 1536 553 394 554 394 555 394 + 556 394 + 557 394 + 558 394 + 559 394 + 560 394 + 561 394 + 562 394 + 563 394 + 804 394 + 805 394 + 806 394 + 807 394 + 808 394 + 809 394 + 810 394 + 811 394 812 394 813 394 814 394 @@ -2273,6 +4573,22 @@ ny= 1536 825 394 826 394 827 394 + 828 394 + 829 394 + 830 394 + 831 394 + 832 394 + 833 394 + 834 394 + 835 394 + 1301 394 + 1302 394 + 1303 394 + 1304 394 + 1305 394 + 1306 394 + 1307 394 + 1308 394 1309 394 1310 394 1311 394 @@ -2288,6 +4604,22 @@ ny= 1536 1321 394 1322 394 1323 394 + 1324 394 + 1325 394 + 1326 394 + 1327 394 + 1328 394 + 1329 394 + 1330 394 + 1331 394 + 1572 394 + 1573 394 + 1574 394 + 1575 394 + 1576 394 + 1577 394 + 1578 394 + 1579 394 1580 394 1581 394 1582 394 @@ -2304,6 +4636,22 @@ ny= 1536 1593 394 1594 394 1595 394 + 1596 394 + 1597 394 + 1598 394 + 1599 394 + 1600 394 + 1601 394 + 1602 394 + 1603 394 + 2069 394 + 2070 394 + 2071 394 + 2072 394 + 2073 394 + 2074 394 + 2075 394 + 2076 394 2077 394 2078 394 2079 394 @@ -2319,6 +4667,22 @@ ny= 1536 2089 394 2090 394 2091 394 + 2092 394 + 2093 394 + 2094 394 + 2095 394 + 2096 394 + 2097 394 + 2098 394 + 2099 394 + 2340 394 + 2341 394 + 2342 394 + 2343 394 + 2344 394 + 2345 394 + 2346 394 + 2347 394 2348 394 2349 394 2350 394 @@ -2335,6 +4699,22 @@ ny= 1536 2361 394 2362 394 2363 394 + 2364 394 + 2365 394 + 2366 394 + 2367 394 + 2368 394 + 2369 394 + 2370 394 + 2371 394 + 2837 394 + 2838 394 + 2839 394 + 2840 394 + 2841 394 + 2842 394 + 2843 394 + 2844 394 2845 394 2846 394 2847 394 @@ -2350,6 +4730,23 @@ ny= 1536 2857 394 2858 394 2859 394 + 2860 394 + 2861 394 + 2862 394 + 2863 394 + 2864 394 + 2865 394 + 2866 394 + 2867 394 + 43 395 + 44 395 + 45 395 + 46 395 + 47 395 + 48 395 + 49 395 + 50 395 + 51 395 52 395 53 395 54 395 @@ -2365,6 +4762,19 @@ ny= 1536 64 395 65 395 66 395 + 67 395 + 68 395 + 69 395 + 70 395 + 71 395 + 72 395 + 527 395 + 528 395 + 529 395 + 530 395 + 531 395 + 532 395 + 533 395 534 395 535 395 536 395 @@ -2379,6 +4789,24 @@ ny= 1536 545 395 546 395 547 395 + 548 395 + 549 395 + 550 395 + 551 395 + 552 395 + 553 395 + 554 395 + 555 395 + 556 395 + 811 395 + 812 395 + 813 395 + 814 395 + 815 395 + 816 395 + 817 395 + 818 395 + 819 395 820 395 821 395 822 395 @@ -2394,6 +4822,19 @@ ny= 1536 832 395 833 395 834 395 + 835 395 + 836 395 + 837 395 + 838 395 + 839 395 + 840 395 + 1295 395 + 1296 395 + 1297 395 + 1298 395 + 1299 395 + 1300 395 + 1301 395 1302 395 1303 395 1304 395 @@ -2408,6 +4849,24 @@ ny= 1536 1313 395 1314 395 1315 395 + 1316 395 + 1317 395 + 1318 395 + 1319 395 + 1320 395 + 1321 395 + 1322 395 + 1323 395 + 1324 395 + 1579 395 + 1580 395 + 1581 395 + 1582 395 + 1583 395 + 1584 395 + 1585 395 + 1586 395 + 1587 395 1588 395 1589 395 1590 395 @@ -2423,6 +4882,19 @@ ny= 1536 1600 395 1601 395 1602 395 + 1603 395 + 1604 395 + 1605 395 + 1606 395 + 1607 395 + 1608 395 + 2063 395 + 2064 395 + 2065 395 + 2066 395 + 2067 395 + 2068 395 + 2069 395 2070 395 2071 395 2072 395 @@ -2437,6 +4909,24 @@ ny= 1536 2081 395 2082 395 2083 395 + 2084 395 + 2085 395 + 2086 395 + 2087 395 + 2088 395 + 2089 395 + 2090 395 + 2091 395 + 2092 395 + 2347 395 + 2348 395 + 2349 395 + 2350 395 + 2351 395 + 2352 395 + 2353 395 + 2354 395 + 2355 395 2356 395 2357 395 2358 395 @@ -2452,6 +4942,19 @@ ny= 1536 2368 395 2369 395 2370 395 + 2371 395 + 2372 395 + 2373 395 + 2374 395 + 2375 395 + 2376 395 + 2831 395 + 2832 395 + 2833 395 + 2834 395 + 2835 395 + 2836 395 + 2837 395 2838 395 2839 395 2840 395 @@ -2466,6 +4969,22 @@ ny= 1536 2849 395 2850 395 2851 395 + 2852 395 + 2853 395 + 2854 395 + 2855 395 + 2856 395 + 2857 395 + 2858 395 + 2859 395 + 2860 395 + 51 396 + 52 396 + 53 396 + 54 396 + 55 396 + 56 396 + 57 396 58 396 59 396 60 396 @@ -2480,6 +4999,21 @@ ny= 1536 69 396 70 396 71 396 + 72 396 + 73 396 + 74 396 + 75 396 + 76 396 + 77 396 + 78 396 + 79 396 + 521 396 + 522 396 + 523 396 + 524 396 + 525 396 + 526 396 + 527 396 528 396 529 396 530 396 @@ -2494,6 +5028,20 @@ ny= 1536 539 396 540 396 541 396 + 542 396 + 543 396 + 544 396 + 545 396 + 546 396 + 547 396 + 548 396 + 819 396 + 820 396 + 821 396 + 822 396 + 823 396 + 824 396 + 825 396 826 396 827 396 828 396 @@ -2508,6 +5056,21 @@ ny= 1536 837 396 838 396 839 396 + 840 396 + 841 396 + 842 396 + 843 396 + 844 396 + 845 396 + 846 396 + 847 396 + 1289 396 + 1290 396 + 1291 396 + 1292 396 + 1293 396 + 1294 396 + 1295 396 1296 396 1297 396 1298 396 @@ -2522,6 +5085,20 @@ ny= 1536 1307 396 1308 396 1309 396 + 1310 396 + 1311 396 + 1312 396 + 1313 396 + 1314 396 + 1315 396 + 1316 396 + 1587 396 + 1588 396 + 1589 396 + 1590 396 + 1591 396 + 1592 396 + 1593 396 1594 396 1595 396 1596 396 @@ -2536,6 +5113,21 @@ ny= 1536 1605 396 1606 396 1607 396 + 1608 396 + 1609 396 + 1610 396 + 1611 396 + 1612 396 + 1613 396 + 1614 396 + 1615 396 + 2057 396 + 2058 396 + 2059 396 + 2060 396 + 2061 396 + 2062 396 + 2063 396 2064 396 2065 396 2066 396 @@ -2550,6 +5142,20 @@ ny= 1536 2075 396 2076 396 2077 396 + 2078 396 + 2079 396 + 2080 396 + 2081 396 + 2082 396 + 2083 396 + 2084 396 + 2355 396 + 2356 396 + 2357 396 + 2358 396 + 2359 396 + 2360 396 + 2361 396 2362 396 2363 396 2364 396 @@ -2564,6 +5170,21 @@ ny= 1536 2373 396 2374 396 2375 396 + 2376 396 + 2377 396 + 2378 396 + 2379 396 + 2380 396 + 2381 396 + 2382 396 + 2383 396 + 2825 396 + 2826 396 + 2827 396 + 2828 396 + 2829 396 + 2830 396 + 2831 396 2832 396 2833 396 2834 396 @@ -2578,6 +5199,21 @@ ny= 1536 2843 396 2844 396 2845 396 + 2846 396 + 2847 396 + 2848 396 + 2849 396 + 2850 396 + 2851 396 + 2852 396 + 57 397 + 58 397 + 59 397 + 60 397 + 61 397 + 62 397 + 63 397 + 64 397 65 397 66 397 67 397 @@ -2592,6 +5228,20 @@ ny= 1536 76 397 77 397 78 397 + 79 397 + 80 397 + 81 397 + 82 397 + 83 397 + 84 397 + 85 397 + 515 397 + 516 397 + 517 397 + 518 397 + 519 397 + 520 397 + 521 397 522 397 523 397 524 397 @@ -2605,6 +5255,22 @@ ny= 1536 532 397 533 397 534 397 + 535 397 + 536 397 + 537 397 + 538 397 + 539 397 + 540 397 + 541 397 + 542 397 + 825 397 + 826 397 + 827 397 + 828 397 + 829 397 + 830 397 + 831 397 + 832 397 833 397 834 397 835 397 @@ -2619,6 +5285,20 @@ ny= 1536 844 397 845 397 846 397 + 847 397 + 848 397 + 849 397 + 850 397 + 851 397 + 852 397 + 853 397 + 1283 397 + 1284 397 + 1285 397 + 1286 397 + 1287 397 + 1288 397 + 1289 397 1290 397 1291 397 1292 397 @@ -2632,6 +5312,22 @@ ny= 1536 1300 397 1301 397 1302 397 + 1303 397 + 1304 397 + 1305 397 + 1306 397 + 1307 397 + 1308 397 + 1309 397 + 1310 397 + 1593 397 + 1594 397 + 1595 397 + 1596 397 + 1597 397 + 1598 397 + 1599 397 + 1600 397 1601 397 1602 397 1603 397 @@ -2646,6 +5342,20 @@ ny= 1536 1612 397 1613 397 1614 397 + 1615 397 + 1616 397 + 1617 397 + 1618 397 + 1619 397 + 1620 397 + 1621 397 + 2051 397 + 2052 397 + 2053 397 + 2054 397 + 2055 397 + 2056 397 + 2057 397 2058 397 2059 397 2060 397 @@ -2659,6 +5369,22 @@ ny= 1536 2068 397 2069 397 2070 397 + 2071 397 + 2072 397 + 2073 397 + 2074 397 + 2075 397 + 2076 397 + 2077 397 + 2078 397 + 2361 397 + 2362 397 + 2363 397 + 2364 397 + 2365 397 + 2366 397 + 2367 397 + 2368 397 2369 397 2370 397 2371 397 @@ -2673,6 +5399,20 @@ ny= 1536 2380 397 2381 397 2382 397 + 2383 397 + 2384 397 + 2385 397 + 2386 397 + 2387 397 + 2388 397 + 2389 397 + 2819 397 + 2820 397 + 2821 397 + 2822 397 + 2823 397 + 2824 397 + 2825 397 2826 397 2827 397 2828 397 @@ -2686,6 +5426,21 @@ ny= 1536 2836 397 2837 397 2838 397 + 2839 397 + 2840 397 + 2841 397 + 2842 397 + 2843 397 + 2844 397 + 2845 397 + 2846 397 + 64 398 + 65 398 + 66 398 + 67 398 + 68 398 + 69 398 + 70 398 71 398 72 398 73 398 @@ -2700,6 +5455,18 @@ ny= 1536 82 398 83 398 84 398 + 85 398 + 86 398 + 87 398 + 88 398 + 89 398 + 90 398 + 510 398 + 511 398 + 512 398 + 513 398 + 514 398 + 515 398 516 398 517 398 518 398 @@ -2713,6 +5480,20 @@ ny= 1536 526 398 527 398 528 398 + 529 398 + 530 398 + 531 398 + 532 398 + 533 398 + 534 398 + 535 398 + 832 398 + 833 398 + 834 398 + 835 398 + 836 398 + 837 398 + 838 398 839 398 840 398 841 398 @@ -2727,6 +5508,18 @@ ny= 1536 850 398 851 398 852 398 + 853 398 + 854 398 + 855 398 + 856 398 + 857 398 + 858 398 + 1278 398 + 1279 398 + 1280 398 + 1281 398 + 1282 398 + 1283 398 1284 398 1285 398 1286 398 @@ -2740,6 +5533,20 @@ ny= 1536 1294 398 1295 398 1296 398 + 1297 398 + 1298 398 + 1299 398 + 1300 398 + 1301 398 + 1302 398 + 1303 398 + 1600 398 + 1601 398 + 1602 398 + 1603 398 + 1604 398 + 1605 398 + 1606 398 1607 398 1608 398 1609 398 @@ -2754,6 +5561,18 @@ ny= 1536 1618 398 1619 398 1620 398 + 1621 398 + 1622 398 + 1623 398 + 1624 398 + 1625 398 + 1626 398 + 2046 398 + 2047 398 + 2048 398 + 2049 398 + 2050 398 + 2051 398 2052 398 2053 398 2054 398 @@ -2767,6 +5586,20 @@ ny= 1536 2062 398 2063 398 2064 398 + 2065 398 + 2066 398 + 2067 398 + 2068 398 + 2069 398 + 2070 398 + 2071 398 + 2368 398 + 2369 398 + 2370 398 + 2371 398 + 2372 398 + 2373 398 + 2374 398 2375 398 2376 398 2377 398 @@ -2781,6 +5614,18 @@ ny= 1536 2386 398 2387 398 2388 398 + 2389 398 + 2390 398 + 2391 398 + 2392 398 + 2393 398 + 2394 398 + 2814 398 + 2815 398 + 2816 398 + 2817 398 + 2818 398 + 2819 398 2820 398 2821 398 2822 398 @@ -2794,6 +5639,20 @@ ny= 1536 2830 398 2831 398 2832 398 + 2833 398 + 2834 398 + 2835 398 + 2836 398 + 2837 398 + 2838 398 + 2839 398 + 70 399 + 71 399 + 72 399 + 73 399 + 74 399 + 75 399 + 76 399 77 399 78 399 79 399 @@ -2807,6 +5666,19 @@ ny= 1536 87 399 88 399 89 399 + 90 399 + 91 399 + 92 399 + 93 399 + 94 399 + 95 399 + 504 399 + 505 399 + 506 399 + 507 399 + 508 399 + 509 399 + 510 399 511 399 512 399 513 399 @@ -2819,6 +5691,20 @@ ny= 1536 520 399 521 399 522 399 + 523 399 + 524 399 + 525 399 + 526 399 + 527 399 + 528 399 + 529 399 + 838 399 + 839 399 + 840 399 + 841 399 + 842 399 + 843 399 + 844 399 845 399 846 399 847 399 @@ -2832,6 +5718,19 @@ ny= 1536 855 399 856 399 857 399 + 858 399 + 859 399 + 860 399 + 861 399 + 862 399 + 863 399 + 1272 399 + 1273 399 + 1274 399 + 1275 399 + 1276 399 + 1277 399 + 1278 399 1279 399 1280 399 1281 399 @@ -2844,6 +5743,20 @@ ny= 1536 1288 399 1289 399 1290 399 + 1291 399 + 1292 399 + 1293 399 + 1294 399 + 1295 399 + 1296 399 + 1297 399 + 1606 399 + 1607 399 + 1608 399 + 1609 399 + 1610 399 + 1611 399 + 1612 399 1613 399 1614 399 1615 399 @@ -2857,6 +5770,19 @@ ny= 1536 1623 399 1624 399 1625 399 + 1626 399 + 1627 399 + 1628 399 + 1629 399 + 1630 399 + 1631 399 + 2040 399 + 2041 399 + 2042 399 + 2043 399 + 2044 399 + 2045 399 + 2046 399 2047 399 2048 399 2049 399 @@ -2869,6 +5795,20 @@ ny= 1536 2056 399 2057 399 2058 399 + 2059 399 + 2060 399 + 2061 399 + 2062 399 + 2063 399 + 2064 399 + 2065 399 + 2374 399 + 2375 399 + 2376 399 + 2377 399 + 2378 399 + 2379 399 + 2380 399 2381 399 2382 399 2383 399 @@ -2882,6 +5822,19 @@ ny= 1536 2391 399 2392 399 2393 399 + 2394 399 + 2395 399 + 2396 399 + 2397 399 + 2398 399 + 2399 399 + 2808 399 + 2809 399 + 2810 399 + 2811 399 + 2812 399 + 2813 399 + 2814 399 2815 399 2816 399 2817 399 @@ -2894,6 +5847,20 @@ ny= 1536 2824 399 2825 399 2826 399 + 2827 399 + 2828 399 + 2829 399 + 2830 399 + 2831 399 + 2832 399 + 2833 399 + 76 400 + 77 400 + 78 400 + 79 400 + 80 400 + 81 400 + 82 400 83 400 84 400 85 400 @@ -2906,6 +5873,19 @@ ny= 1536 92 400 93 400 94 400 + 95 400 + 96 400 + 97 400 + 98 400 + 99 400 + 100 400 + 101 400 + 499 400 + 500 400 + 501 400 + 502 400 + 503 400 + 504 400 505 400 506 400 507 400 @@ -2918,6 +5898,20 @@ ny= 1536 514 400 515 400 516 400 + 517 400 + 518 400 + 519 400 + 520 400 + 521 400 + 522 400 + 523 400 + 844 400 + 845 400 + 846 400 + 847 400 + 848 400 + 849 400 + 850 400 851 400 852 400 853 400 @@ -2930,6 +5924,19 @@ ny= 1536 860 400 861 400 862 400 + 863 400 + 864 400 + 865 400 + 866 400 + 867 400 + 868 400 + 869 400 + 1267 400 + 1268 400 + 1269 400 + 1270 400 + 1271 400 + 1272 400 1273 400 1274 400 1275 400 @@ -2942,6 +5949,20 @@ ny= 1536 1282 400 1283 400 1284 400 + 1285 400 + 1286 400 + 1287 400 + 1288 400 + 1289 400 + 1290 400 + 1291 400 + 1612 400 + 1613 400 + 1614 400 + 1615 400 + 1616 400 + 1617 400 + 1618 400 1619 400 1620 400 1621 400 @@ -2954,6 +5975,19 @@ ny= 1536 1628 400 1629 400 1630 400 + 1631 400 + 1632 400 + 1633 400 + 1634 400 + 1635 400 + 1636 400 + 1637 400 + 2035 400 + 2036 400 + 2037 400 + 2038 400 + 2039 400 + 2040 400 2041 400 2042 400 2043 400 @@ -2966,6 +6000,20 @@ ny= 1536 2050 400 2051 400 2052 400 + 2053 400 + 2054 400 + 2055 400 + 2056 400 + 2057 400 + 2058 400 + 2059 400 + 2380 400 + 2381 400 + 2382 400 + 2383 400 + 2384 400 + 2385 400 + 2386 400 2387 400 2388 400 2389 400 @@ -2978,6 +6026,19 @@ ny= 1536 2396 400 2397 400 2398 400 + 2399 400 + 2400 400 + 2401 400 + 2402 400 + 2403 400 + 2404 400 + 2405 400 + 2803 400 + 2804 400 + 2805 400 + 2806 400 + 2807 400 + 2808 400 2809 400 2810 400 2811 400 @@ -2990,6 +6051,19 @@ ny= 1536 2818 400 2819 400 2820 400 + 2821 400 + 2822 400 + 2823 400 + 2824 400 + 2825 400 + 2826 400 + 2827 400 + 82 401 + 83 401 + 84 401 + 85 401 + 86 401 + 87 401 88 401 89 401 90 401 @@ -3003,6 +6077,17 @@ ny= 1536 98 401 99 401 100 401 + 101 401 + 102 401 + 103 401 + 104 401 + 105 401 + 494 401 + 495 401 + 496 401 + 497 401 + 498 401 + 499 401 500 401 501 401 502 401 @@ -3015,6 +6100,18 @@ ny= 1536 509 401 510 401 511 401 + 512 401 + 513 401 + 514 401 + 515 401 + 516 401 + 517 401 + 850 401 + 851 401 + 852 401 + 853 401 + 854 401 + 855 401 856 401 857 401 858 401 @@ -3028,6 +6125,17 @@ ny= 1536 866 401 867 401 868 401 + 869 401 + 870 401 + 871 401 + 872 401 + 873 401 + 1262 401 + 1263 401 + 1264 401 + 1265 401 + 1266 401 + 1267 401 1268 401 1269 401 1270 401 @@ -3040,6 +6148,18 @@ ny= 1536 1277 401 1278 401 1279 401 + 1280 401 + 1281 401 + 1282 401 + 1283 401 + 1284 401 + 1285 401 + 1618 401 + 1619 401 + 1620 401 + 1621 401 + 1622 401 + 1623 401 1624 401 1625 401 1626 401 @@ -3053,6 +6173,17 @@ ny= 1536 1634 401 1635 401 1636 401 + 1637 401 + 1638 401 + 1639 401 + 1640 401 + 1641 401 + 2030 401 + 2031 401 + 2032 401 + 2033 401 + 2034 401 + 2035 401 2036 401 2037 401 2038 401 @@ -3065,6 +6196,18 @@ ny= 1536 2045 401 2046 401 2047 401 + 2048 401 + 2049 401 + 2050 401 + 2051 401 + 2052 401 + 2053 401 + 2386 401 + 2387 401 + 2388 401 + 2389 401 + 2390 401 + 2391 401 2392 401 2393 401 2394 401 @@ -3078,6 +6221,17 @@ ny= 1536 2402 401 2403 401 2404 401 + 2405 401 + 2406 401 + 2407 401 + 2408 401 + 2409 401 + 2798 401 + 2799 401 + 2800 401 + 2801 401 + 2802 401 + 2803 401 2804 401 2805 401 2806 401 @@ -3090,6 +6244,19 @@ ny= 1536 2813 401 2814 401 2815 401 + 2816 401 + 2817 401 + 2818 401 + 2819 401 + 2820 401 + 2821 401 + 87 402 + 88 402 + 89 402 + 90 402 + 91 402 + 92 402 + 93 402 94 402 95 402 96 402 @@ -3101,6 +6268,18 @@ ny= 1536 102 402 103 402 104 402 + 105 402 + 106 402 + 107 402 + 108 402 + 109 402 + 110 402 + 489 402 + 490 402 + 491 402 + 492 402 + 493 402 + 494 402 495 402 496 402 497 402 @@ -3112,6 +6291,20 @@ ny= 1536 503 402 504 402 505 402 + 506 402 + 507 402 + 508 402 + 509 402 + 510 402 + 511 402 + 512 402 + 855 402 + 856 402 + 857 402 + 858 402 + 859 402 + 860 402 + 861 402 862 402 863 402 864 402 @@ -3123,6 +6316,18 @@ ny= 1536 870 402 871 402 872 402 + 873 402 + 874 402 + 875 402 + 876 402 + 877 402 + 878 402 + 1257 402 + 1258 402 + 1259 402 + 1260 402 + 1261 402 + 1262 402 1263 402 1264 402 1265 402 @@ -3134,6 +6339,20 @@ ny= 1536 1271 402 1272 402 1273 402 + 1274 402 + 1275 402 + 1276 402 + 1277 402 + 1278 402 + 1279 402 + 1280 402 + 1623 402 + 1624 402 + 1625 402 + 1626 402 + 1627 402 + 1628 402 + 1629 402 1630 402 1631 402 1632 402 @@ -3145,6 +6364,18 @@ ny= 1536 1638 402 1639 402 1640 402 + 1641 402 + 1642 402 + 1643 402 + 1644 402 + 1645 402 + 1646 402 + 2025 402 + 2026 402 + 2027 402 + 2028 402 + 2029 402 + 2030 402 2031 402 2032 402 2033 402 @@ -3156,6 +6387,20 @@ ny= 1536 2039 402 2040 402 2041 402 + 2042 402 + 2043 402 + 2044 402 + 2045 402 + 2046 402 + 2047 402 + 2048 402 + 2391 402 + 2392 402 + 2393 402 + 2394 402 + 2395 402 + 2396 402 + 2397 402 2398 402 2399 402 2400 402 @@ -3167,6 +6412,18 @@ ny= 1536 2406 402 2407 402 2408 402 + 2409 402 + 2410 402 + 2411 402 + 2412 402 + 2413 402 + 2414 402 + 2793 402 + 2794 402 + 2795 402 + 2796 402 + 2797 402 + 2798 402 2799 402 2800 402 2801 402 @@ -3178,6 +6435,19 @@ ny= 1536 2807 402 2808 402 2809 402 + 2810 402 + 2811 402 + 2812 402 + 2813 402 + 2814 402 + 2815 402 + 2816 402 + 93 403 + 94 403 + 95 403 + 96 403 + 97 403 + 98 403 99 403 100 403 101 403 @@ -3189,6 +6459,18 @@ ny= 1536 107 403 108 403 109 403 + 110 403 + 111 403 + 112 403 + 113 403 + 114 403 + 115 403 + 484 403 + 485 403 + 486 403 + 487 403 + 488 403 + 489 403 490 403 491 403 492 403 @@ -3200,6 +6482,18 @@ ny= 1536 498 403 499 403 500 403 + 501 403 + 502 403 + 503 403 + 504 403 + 505 403 + 506 403 + 861 403 + 862 403 + 863 403 + 864 403 + 865 403 + 866 403 867 403 868 403 869 403 @@ -3211,6 +6505,18 @@ ny= 1536 875 403 876 403 877 403 + 878 403 + 879 403 + 880 403 + 881 403 + 882 403 + 883 403 + 1252 403 + 1253 403 + 1254 403 + 1255 403 + 1256 403 + 1257 403 1258 403 1259 403 1260 403 @@ -3222,6 +6528,18 @@ ny= 1536 1266 403 1267 403 1268 403 + 1269 403 + 1270 403 + 1271 403 + 1272 403 + 1273 403 + 1274 403 + 1629 403 + 1630 403 + 1631 403 + 1632 403 + 1633 403 + 1634 403 1635 403 1636 403 1637 403 @@ -3233,6 +6551,18 @@ ny= 1536 1643 403 1644 403 1645 403 + 1646 403 + 1647 403 + 1648 403 + 1649 403 + 1650 403 + 1651 403 + 2020 403 + 2021 403 + 2022 403 + 2023 403 + 2024 403 + 2025 403 2026 403 2027 403 2028 403 @@ -3244,6 +6574,18 @@ ny= 1536 2034 403 2035 403 2036 403 + 2037 403 + 2038 403 + 2039 403 + 2040 403 + 2041 403 + 2042 403 + 2397 403 + 2398 403 + 2399 403 + 2400 403 + 2401 403 + 2402 403 2403 403 2404 403 2405 403 @@ -3255,6 +6597,18 @@ ny= 1536 2411 403 2412 403 2413 403 + 2414 403 + 2415 403 + 2416 403 + 2417 403 + 2418 403 + 2419 403 + 2788 403 + 2789 403 + 2790 403 + 2791 403 + 2792 403 + 2793 403 2794 403 2795 403 2796 403 @@ -3266,6 +6620,18 @@ ny= 1536 2802 403 2803 403 2804 403 + 2805 403 + 2806 403 + 2807 403 + 2808 403 + 2809 403 + 2810 403 + 98 404 + 99 404 + 100 404 + 101 404 + 102 404 + 103 404 104 404 105 404 106 404 @@ -3277,6 +6643,17 @@ ny= 1536 112 404 113 404 114 404 + 115 404 + 116 404 + 117 404 + 118 404 + 119 404 + 120 404 + 480 404 + 481 404 + 482 404 + 483 404 + 484 404 485 404 486 404 487 404 @@ -3289,6 +6666,17 @@ ny= 1536 494 404 495 404 496 404 + 497 404 + 498 404 + 499 404 + 500 404 + 501 404 + 866 404 + 867 404 + 868 404 + 869 404 + 870 404 + 871 404 872 404 873 404 874 404 @@ -3300,6 +6688,17 @@ ny= 1536 880 404 881 404 882 404 + 883 404 + 884 404 + 885 404 + 886 404 + 887 404 + 888 404 + 1248 404 + 1249 404 + 1250 404 + 1251 404 + 1252 404 1253 404 1254 404 1255 404 @@ -3312,6 +6711,17 @@ ny= 1536 1262 404 1263 404 1264 404 + 1265 404 + 1266 404 + 1267 404 + 1268 404 + 1269 404 + 1634 404 + 1635 404 + 1636 404 + 1637 404 + 1638 404 + 1639 404 1640 404 1641 404 1642 404 @@ -3323,6 +6733,17 @@ ny= 1536 1648 404 1649 404 1650 404 + 1651 404 + 1652 404 + 1653 404 + 1654 404 + 1655 404 + 1656 404 + 2016 404 + 2017 404 + 2018 404 + 2019 404 + 2020 404 2021 404 2022 404 2023 404 @@ -3335,6 +6756,17 @@ ny= 1536 2030 404 2031 404 2032 404 + 2033 404 + 2034 404 + 2035 404 + 2036 404 + 2037 404 + 2402 404 + 2403 404 + 2404 404 + 2405 404 + 2406 404 + 2407 404 2408 404 2409 404 2410 404 @@ -3346,6 +6778,17 @@ ny= 1536 2416 404 2417 404 2418 404 + 2419 404 + 2420 404 + 2421 404 + 2422 404 + 2423 404 + 2424 404 + 2784 404 + 2785 404 + 2786 404 + 2787 404 + 2788 404 2789 404 2790 404 2791 404 @@ -3358,6 +6801,17 @@ ny= 1536 2798 404 2799 404 2800 404 + 2801 404 + 2802 404 + 2803 404 + 2804 404 + 2805 404 + 103 405 + 104 405 + 105 405 + 106 405 + 107 405 + 108 405 109 405 110 405 111 405 @@ -3369,6 +6823,17 @@ ny= 1536 117 405 118 405 119 405 + 120 405 + 121 405 + 122 405 + 123 405 + 124 405 + 475 405 + 476 405 + 477 405 + 478 405 + 479 405 + 480 405 481 405 482 405 483 405 @@ -3379,6 +6844,19 @@ ny= 1536 488 405 489 405 490 405 + 491 405 + 492 405 + 493 405 + 494 405 + 495 405 + 496 405 + 497 405 + 871 405 + 872 405 + 873 405 + 874 405 + 875 405 + 876 405 877 405 878 405 879 405 @@ -3390,6 +6868,17 @@ ny= 1536 885 405 886 405 887 405 + 888 405 + 889 405 + 890 405 + 891 405 + 892 405 + 1243 405 + 1244 405 + 1245 405 + 1246 405 + 1247 405 + 1248 405 1249 405 1250 405 1251 405 @@ -3400,6 +6889,19 @@ ny= 1536 1256 405 1257 405 1258 405 + 1259 405 + 1260 405 + 1261 405 + 1262 405 + 1263 405 + 1264 405 + 1265 405 + 1639 405 + 1640 405 + 1641 405 + 1642 405 + 1643 405 + 1644 405 1645 405 1646 405 1647 405 @@ -3411,6 +6913,17 @@ ny= 1536 1653 405 1654 405 1655 405 + 1656 405 + 1657 405 + 1658 405 + 1659 405 + 1660 405 + 2011 405 + 2012 405 + 2013 405 + 2014 405 + 2015 405 + 2016 405 2017 405 2018 405 2019 405 @@ -3421,6 +6934,19 @@ ny= 1536 2024 405 2025 405 2026 405 + 2027 405 + 2028 405 + 2029 405 + 2030 405 + 2031 405 + 2032 405 + 2033 405 + 2407 405 + 2408 405 + 2409 405 + 2410 405 + 2411 405 + 2412 405 2413 405 2414 405 2415 405 @@ -3432,6 +6958,17 @@ ny= 1536 2421 405 2422 405 2423 405 + 2424 405 + 2425 405 + 2426 405 + 2427 405 + 2428 405 + 2779 405 + 2780 405 + 2781 405 + 2782 405 + 2783 405 + 2784 405 2785 405 2786 405 2787 405 @@ -3442,6 +6979,19 @@ ny= 1536 2792 405 2793 405 2794 405 + 2795 405 + 2796 405 + 2797 405 + 2798 405 + 2799 405 + 2800 405 + 2801 405 + 108 406 + 109 406 + 110 406 + 111 406 + 112 406 + 113 406 114 406 115 406 116 406 @@ -3452,6 +7002,17 @@ ny= 1536 121 406 122 406 123 406 + 124 406 + 125 406 + 126 406 + 127 406 + 128 406 + 129 406 + 471 406 + 472 406 + 473 406 + 474 406 + 475 406 476 406 477 406 478 406 @@ -3463,6 +7024,17 @@ ny= 1536 484 406 485 406 486 406 + 487 406 + 488 406 + 489 406 + 490 406 + 491 406 + 876 406 + 877 406 + 878 406 + 879 406 + 880 406 + 881 406 882 406 883 406 884 406 @@ -3473,6 +7045,17 @@ ny= 1536 889 406 890 406 891 406 + 892 406 + 893 406 + 894 406 + 895 406 + 896 406 + 897 406 + 1239 406 + 1240 406 + 1241 406 + 1242 406 + 1243 406 1244 406 1245 406 1246 406 @@ -3484,6 +7067,17 @@ ny= 1536 1252 406 1253 406 1254 406 + 1255 406 + 1256 406 + 1257 406 + 1258 406 + 1259 406 + 1644 406 + 1645 406 + 1646 406 + 1647 406 + 1648 406 + 1649 406 1650 406 1651 406 1652 406 @@ -3494,6 +7088,17 @@ ny= 1536 1657 406 1658 406 1659 406 + 1660 406 + 1661 406 + 1662 406 + 1663 406 + 1664 406 + 1665 406 + 2007 406 + 2008 406 + 2009 406 + 2010 406 + 2011 406 2012 406 2013 406 2014 406 @@ -3505,6 +7110,17 @@ ny= 1536 2020 406 2021 406 2022 406 + 2023 406 + 2024 406 + 2025 406 + 2026 406 + 2027 406 + 2412 406 + 2413 406 + 2414 406 + 2415 406 + 2416 406 + 2417 406 2418 406 2419 406 2420 406 @@ -3515,6 +7131,17 @@ ny= 1536 2425 406 2426 406 2427 406 + 2428 406 + 2429 406 + 2430 406 + 2431 406 + 2432 406 + 2433 406 + 2775 406 + 2776 406 + 2777 406 + 2778 406 + 2779 406 2780 406 2781 406 2782 406 @@ -3526,6 +7153,16 @@ ny= 1536 2788 406 2789 406 2790 406 + 2791 406 + 2792 406 + 2793 406 + 2794 406 + 2795 406 + 113 407 + 114 407 + 115 407 + 116 407 + 117 407 118 407 119 407 120 407 @@ -3537,6 +7174,16 @@ ny= 1536 126 407 127 407 128 407 + 129 407 + 130 407 + 131 407 + 132 407 + 133 407 + 467 407 + 468 407 + 469 407 + 470 407 + 471 407 472 407 473 407 474 407 @@ -3547,6 +7194,17 @@ ny= 1536 479 407 480 407 481 407 + 482 407 + 483 407 + 484 407 + 485 407 + 486 407 + 487 407 + 881 407 + 882 407 + 883 407 + 884 407 + 885 407 886 407 887 407 888 407 @@ -3558,6 +7216,16 @@ ny= 1536 894 407 895 407 896 407 + 897 407 + 898 407 + 899 407 + 900 407 + 901 407 + 1235 407 + 1236 407 + 1237 407 + 1238 407 + 1239 407 1240 407 1241 407 1242 407 @@ -3568,6 +7236,17 @@ ny= 1536 1247 407 1248 407 1249 407 + 1250 407 + 1251 407 + 1252 407 + 1253 407 + 1254 407 + 1255 407 + 1649 407 + 1650 407 + 1651 407 + 1652 407 + 1653 407 1654 407 1655 407 1656 407 @@ -3579,6 +7258,16 @@ ny= 1536 1662 407 1663 407 1664 407 + 1665 407 + 1666 407 + 1667 407 + 1668 407 + 1669 407 + 2003 407 + 2004 407 + 2005 407 + 2006 407 + 2007 407 2008 407 2009 407 2010 407 @@ -3589,6 +7278,17 @@ ny= 1536 2015 407 2016 407 2017 407 + 2018 407 + 2019 407 + 2020 407 + 2021 407 + 2022 407 + 2023 407 + 2417 407 + 2418 407 + 2419 407 + 2420 407 + 2421 407 2422 407 2423 407 2424 407 @@ -3600,6 +7300,16 @@ ny= 1536 2430 407 2431 407 2432 407 + 2433 407 + 2434 407 + 2435 407 + 2436 407 + 2437 407 + 2771 407 + 2772 407 + 2773 407 + 2774 407 + 2775 407 2776 407 2777 407 2778 407 @@ -3610,6 +7320,18 @@ ny= 1536 2783 407 2784 407 2785 407 + 2786 407 + 2787 407 + 2788 407 + 2789 407 + 2790 407 + 2791 407 + 117 408 + 118 408 + 119 408 + 120 408 + 121 408 + 122 408 123 408 124 408 125 408 @@ -3620,6 +7342,16 @@ ny= 1536 130 408 131 408 132 408 + 133 408 + 134 408 + 135 408 + 136 408 + 137 408 + 463 408 + 464 408 + 465 408 + 466 408 + 467 408 468 408 469 408 470 408 @@ -3630,6 +7362,17 @@ ny= 1536 475 408 476 408 477 408 + 478 408 + 479 408 + 480 408 + 481 408 + 482 408 + 885 408 + 886 408 + 887 408 + 888 408 + 889 408 + 890 408 891 408 892 408 893 408 @@ -3640,6 +7383,16 @@ ny= 1536 898 408 899 408 900 408 + 901 408 + 902 408 + 903 408 + 904 408 + 905 408 + 1231 408 + 1232 408 + 1233 408 + 1234 408 + 1235 408 1236 408 1237 408 1238 408 @@ -3650,6 +7403,17 @@ ny= 1536 1243 408 1244 408 1245 408 + 1246 408 + 1247 408 + 1248 408 + 1249 408 + 1250 408 + 1653 408 + 1654 408 + 1655 408 + 1656 408 + 1657 408 + 1658 408 1659 408 1660 408 1661 408 @@ -3660,6 +7424,16 @@ ny= 1536 1666 408 1667 408 1668 408 + 1669 408 + 1670 408 + 1671 408 + 1672 408 + 1673 408 + 1999 408 + 2000 408 + 2001 408 + 2002 408 + 2003 408 2004 408 2005 408 2006 408 @@ -3670,6 +7444,17 @@ ny= 1536 2011 408 2012 408 2013 408 + 2014 408 + 2015 408 + 2016 408 + 2017 408 + 2018 408 + 2421 408 + 2422 408 + 2423 408 + 2424 408 + 2425 408 + 2426 408 2427 408 2428 408 2429 408 @@ -3680,6 +7465,16 @@ ny= 1536 2434 408 2435 408 2436 408 + 2437 408 + 2438 408 + 2439 408 + 2440 408 + 2441 408 + 2767 408 + 2768 408 + 2769 408 + 2770 408 + 2771 408 2772 408 2773 408 2774 408 @@ -3690,6 +7485,16 @@ ny= 1536 2779 408 2780 408 2781 408 + 2782 408 + 2783 408 + 2784 408 + 2785 408 + 2786 408 + 122 409 + 123 409 + 124 409 + 125 409 + 126 409 127 409 128 409 129 409 @@ -3700,6 +7505,17 @@ ny= 1536 134 409 135 409 136 409 + 137 409 + 138 409 + 139 409 + 140 409 + 141 409 + 458 409 + 459 409 + 460 409 + 461 409 + 462 409 + 463 409 464 409 465 409 466 409 @@ -3709,6 +7525,17 @@ ny= 1536 470 409 471 409 472 409 + 473 409 + 474 409 + 475 409 + 476 409 + 477 409 + 478 409 + 890 409 + 891 409 + 892 409 + 893 409 + 894 409 895 409 896 409 897 409 @@ -3719,6 +7546,17 @@ ny= 1536 902 409 903 409 904 409 + 905 409 + 906 409 + 907 409 + 908 409 + 909 409 + 1226 409 + 1227 409 + 1228 409 + 1229 409 + 1230 409 + 1231 409 1232 409 1233 409 1234 409 @@ -3728,6 +7566,17 @@ ny= 1536 1238 409 1239 409 1240 409 + 1241 409 + 1242 409 + 1243 409 + 1244 409 + 1245 409 + 1246 409 + 1658 409 + 1659 409 + 1660 409 + 1661 409 + 1662 409 1663 409 1664 409 1665 409 @@ -3738,6 +7587,17 @@ ny= 1536 1670 409 1671 409 1672 409 + 1673 409 + 1674 409 + 1675 409 + 1676 409 + 1677 409 + 1994 409 + 1995 409 + 1996 409 + 1997 409 + 1998 409 + 1999 409 2000 409 2001 409 2002 409 @@ -3747,6 +7607,17 @@ ny= 1536 2006 409 2007 409 2008 409 + 2009 409 + 2010 409 + 2011 409 + 2012 409 + 2013 409 + 2014 409 + 2426 409 + 2427 409 + 2428 409 + 2429 409 + 2430 409 2431 409 2432 409 2433 409 @@ -3757,6 +7628,17 @@ ny= 1536 2438 409 2439 409 2440 409 + 2441 409 + 2442 409 + 2443 409 + 2444 409 + 2445 409 + 2762 409 + 2763 409 + 2764 409 + 2765 409 + 2766 409 + 2767 409 2768 409 2769 409 2770 409 @@ -3766,6 +7648,17 @@ ny= 1536 2774 409 2775 409 2776 409 + 2777 409 + 2778 409 + 2779 409 + 2780 409 + 2781 409 + 2782 409 + 126 410 + 127 410 + 128 410 + 129 410 + 130 410 131 410 132 410 133 410 @@ -3776,6 +7669,16 @@ ny= 1536 138 410 139 410 140 410 + 141 410 + 142 410 + 143 410 + 144 410 + 145 410 + 454 410 + 455 410 + 456 410 + 457 410 + 458 410 459 410 460 410 461 410 @@ -3786,6 +7689,16 @@ ny= 1536 466 410 467 410 468 410 + 469 410 + 470 410 + 471 410 + 472 410 + 473 410 + 894 410 + 895 410 + 896 410 + 897 410 + 898 410 899 410 900 410 901 410 @@ -3796,6 +7709,16 @@ ny= 1536 906 410 907 410 908 410 + 909 410 + 910 410 + 911 410 + 912 410 + 913 410 + 1222 410 + 1223 410 + 1224 410 + 1225 410 + 1226 410 1227 410 1228 410 1229 410 @@ -3806,6 +7729,16 @@ ny= 1536 1234 410 1235 410 1236 410 + 1237 410 + 1238 410 + 1239 410 + 1240 410 + 1241 410 + 1662 410 + 1663 410 + 1664 410 + 1665 410 + 1666 410 1667 410 1668 410 1669 410 @@ -3816,6 +7749,16 @@ ny= 1536 1674 410 1675 410 1676 410 + 1677 410 + 1678 410 + 1679 410 + 1680 410 + 1681 410 + 1990 410 + 1991 410 + 1992 410 + 1993 410 + 1994 410 1995 410 1996 410 1997 410 @@ -3826,6 +7769,16 @@ ny= 1536 2002 410 2003 410 2004 410 + 2005 410 + 2006 410 + 2007 410 + 2008 410 + 2009 410 + 2430 410 + 2431 410 + 2432 410 + 2433 410 + 2434 410 2435 410 2436 410 2437 410 @@ -3836,6 +7789,16 @@ ny= 1536 2442 410 2443 410 2444 410 + 2445 410 + 2446 410 + 2447 410 + 2448 410 + 2449 410 + 2758 410 + 2759 410 + 2760 410 + 2761 410 + 2762 410 2763 410 2764 410 2765 410 @@ -3846,6 +7809,16 @@ ny= 1536 2770 410 2771 410 2772 410 + 2773 410 + 2774 410 + 2775 410 + 2776 410 + 2777 410 + 130 411 + 131 411 + 132 411 + 133 411 + 134 411 135 411 136 411 137 411 @@ -3856,6 +7829,16 @@ ny= 1536 142 411 143 411 144 411 + 145 411 + 146 411 + 147 411 + 148 411 + 149 411 + 450 411 + 451 411 + 452 411 + 453 411 + 454 411 455 411 456 411 457 411 @@ -3866,6 +7849,16 @@ ny= 1536 462 411 463 411 464 411 + 465 411 + 466 411 + 467 411 + 468 411 + 469 411 + 898 411 + 899 411 + 900 411 + 901 411 + 902 411 903 411 904 411 905 411 @@ -3876,6 +7869,16 @@ ny= 1536 910 411 911 411 912 411 + 913 411 + 914 411 + 915 411 + 916 411 + 917 411 + 1218 411 + 1219 411 + 1220 411 + 1221 411 + 1222 411 1223 411 1224 411 1225 411 @@ -3886,6 +7889,16 @@ ny= 1536 1230 411 1231 411 1232 411 + 1233 411 + 1234 411 + 1235 411 + 1236 411 + 1237 411 + 1666 411 + 1667 411 + 1668 411 + 1669 411 + 1670 411 1671 411 1672 411 1673 411 @@ -3896,6 +7909,16 @@ ny= 1536 1678 411 1679 411 1680 411 + 1681 411 + 1682 411 + 1683 411 + 1684 411 + 1685 411 + 1986 411 + 1987 411 + 1988 411 + 1989 411 + 1990 411 1991 411 1992 411 1993 411 @@ -3906,6 +7929,16 @@ ny= 1536 1998 411 1999 411 2000 411 + 2001 411 + 2002 411 + 2003 411 + 2004 411 + 2005 411 + 2434 411 + 2435 411 + 2436 411 + 2437 411 + 2438 411 2439 411 2440 411 2441 411 @@ -3916,6 +7949,16 @@ ny= 1536 2446 411 2447 411 2448 411 + 2449 411 + 2450 411 + 2451 411 + 2452 411 + 2453 411 + 2754 411 + 2755 411 + 2756 411 + 2757 411 + 2758 411 2759 411 2760 411 2761 411 @@ -3926,6 +7969,17 @@ ny= 1536 2766 411 2767 411 2768 411 + 2769 411 + 2770 411 + 2771 411 + 2772 411 + 2773 411 + 134 412 + 135 412 + 136 412 + 137 412 + 138 412 + 139 412 140 412 141 412 142 412 @@ -3935,6 +7989,16 @@ ny= 1536 146 412 147 412 148 412 + 149 412 + 150 412 + 151 412 + 152 412 + 153 412 + 446 412 + 447 412 + 448 412 + 449 412 + 450 412 451 412 452 412 453 412 @@ -3945,6 +8009,17 @@ ny= 1536 458 412 459 412 460 412 + 461 412 + 462 412 + 463 412 + 464 412 + 465 412 + 902 412 + 903 412 + 904 412 + 905 412 + 906 412 + 907 412 908 412 909 412 910 412 @@ -3954,6 +8029,16 @@ ny= 1536 914 412 915 412 916 412 + 917 412 + 918 412 + 919 412 + 920 412 + 921 412 + 1214 412 + 1215 412 + 1216 412 + 1217 412 + 1218 412 1219 412 1220 412 1221 412 @@ -3964,6 +8049,17 @@ ny= 1536 1226 412 1227 412 1228 412 + 1229 412 + 1230 412 + 1231 412 + 1232 412 + 1233 412 + 1670 412 + 1671 412 + 1672 412 + 1673 412 + 1674 412 + 1675 412 1676 412 1677 412 1678 412 @@ -3973,6 +8069,16 @@ ny= 1536 1682 412 1683 412 1684 412 + 1685 412 + 1686 412 + 1687 412 + 1688 412 + 1689 412 + 1982 412 + 1983 412 + 1984 412 + 1985 412 + 1986 412 1987 412 1988 412 1989 412 @@ -3983,6 +8089,17 @@ ny= 1536 1994 412 1995 412 1996 412 + 1997 412 + 1998 412 + 1999 412 + 2000 412 + 2001 412 + 2438 412 + 2439 412 + 2440 412 + 2441 412 + 2442 412 + 2443 412 2444 412 2445 412 2446 412 @@ -3992,6 +8109,16 @@ ny= 1536 2450 412 2451 412 2452 412 + 2453 412 + 2454 412 + 2455 412 + 2456 412 + 2457 412 + 2750 412 + 2751 412 + 2752 412 + 2753 412 + 2754 412 2755 412 2756 412 2757 412 @@ -4002,6 +8129,16 @@ ny= 1536 2762 412 2763 412 2764 412 + 2765 412 + 2766 412 + 2767 412 + 2768 412 + 2769 412 + 139 413 + 140 413 + 141 413 + 142 413 + 143 413 144 413 145 413 146 413 @@ -4011,6 +8148,15 @@ ny= 1536 150 413 151 413 152 413 + 153 413 + 154 413 + 155 413 + 156 413 + 157 413 + 443 413 + 444 413 + 445 413 + 446 413 447 413 448 413 449 413 @@ -4021,6 +8167,16 @@ ny= 1536 454 413 455 413 456 413 + 457 413 + 458 413 + 459 413 + 460 413 + 461 413 + 907 413 + 908 413 + 909 413 + 910 413 + 911 413 912 413 913 413 914 413 @@ -4030,6 +8186,15 @@ ny= 1536 918 413 919 413 920 413 + 921 413 + 922 413 + 923 413 + 924 413 + 925 413 + 1211 413 + 1212 413 + 1213 413 + 1214 413 1215 413 1216 413 1217 413 @@ -4040,6 +8205,16 @@ ny= 1536 1222 413 1223 413 1224 413 + 1225 413 + 1226 413 + 1227 413 + 1228 413 + 1229 413 + 1675 413 + 1676 413 + 1677 413 + 1678 413 + 1679 413 1680 413 1681 413 1682 413 @@ -4049,6 +8224,15 @@ ny= 1536 1686 413 1687 413 1688 413 + 1689 413 + 1690 413 + 1691 413 + 1692 413 + 1693 413 + 1979 413 + 1980 413 + 1981 413 + 1982 413 1983 413 1984 413 1985 413 @@ -4059,6 +8243,16 @@ ny= 1536 1990 413 1991 413 1992 413 + 1993 413 + 1994 413 + 1995 413 + 1996 413 + 1997 413 + 2443 413 + 2444 413 + 2445 413 + 2446 413 + 2447 413 2448 413 2449 413 2450 413 @@ -4068,6 +8262,15 @@ ny= 1536 2454 413 2455 413 2456 413 + 2457 413 + 2458 413 + 2459 413 + 2460 413 + 2461 413 + 2747 413 + 2748 413 + 2749 413 + 2750 413 2751 413 2752 413 2753 413 @@ -4078,6 +8281,16 @@ ny= 1536 2758 413 2759 413 2760 413 + 2761 413 + 2762 413 + 2763 413 + 2764 413 + 2765 413 + 143 414 + 144 414 + 145 414 + 146 414 + 147 414 148 414 149 414 150 414 @@ -4087,6 +8300,16 @@ ny= 1536 154 414 155 414 156 414 + 157 414 + 158 414 + 159 414 + 160 414 + 161 414 + 439 414 + 440 414 + 441 414 + 442 414 + 443 414 444 414 445 414 446 414 @@ -4096,6 +8319,16 @@ ny= 1536 450 414 451 414 452 414 + 453 414 + 454 414 + 455 414 + 456 414 + 457 414 + 911 414 + 912 414 + 913 414 + 914 414 + 915 414 916 414 917 414 918 414 @@ -4105,6 +8338,16 @@ ny= 1536 922 414 923 414 924 414 + 925 414 + 926 414 + 927 414 + 928 414 + 929 414 + 1207 414 + 1208 414 + 1209 414 + 1210 414 + 1211 414 1212 414 1213 414 1214 414 @@ -4114,6 +8357,16 @@ ny= 1536 1218 414 1219 414 1220 414 + 1221 414 + 1222 414 + 1223 414 + 1224 414 + 1225 414 + 1679 414 + 1680 414 + 1681 414 + 1682 414 + 1683 414 1684 414 1685 414 1686 414 @@ -4123,6 +8376,16 @@ ny= 1536 1690 414 1691 414 1692 414 + 1693 414 + 1694 414 + 1695 414 + 1696 414 + 1697 414 + 1975 414 + 1976 414 + 1977 414 + 1978 414 + 1979 414 1980 414 1981 414 1982 414 @@ -4132,6 +8395,16 @@ ny= 1536 1986 414 1987 414 1988 414 + 1989 414 + 1990 414 + 1991 414 + 1992 414 + 1993 414 + 2447 414 + 2448 414 + 2449 414 + 2450 414 + 2451 414 2452 414 2453 414 2454 414 @@ -4141,6 +8414,16 @@ ny= 1536 2458 414 2459 414 2460 414 + 2461 414 + 2462 414 + 2463 414 + 2464 414 + 2465 414 + 2743 414 + 2744 414 + 2745 414 + 2746 414 + 2747 414 2748 414 2749 414 2750 414 @@ -4150,6 +8433,16 @@ ny= 1536 2754 414 2755 414 2756 414 + 2757 414 + 2758 414 + 2759 414 + 2760 414 + 2761 414 + 147 415 + 148 415 + 149 415 + 150 415 + 151 415 152 415 153 415 154 415 @@ -4159,6 +8452,15 @@ ny= 1536 158 415 159 415 160 415 + 161 415 + 162 415 + 163 415 + 164 415 + 435 415 + 436 415 + 437 415 + 438 415 + 439 415 440 415 441 415 442 415 @@ -4168,6 +8470,16 @@ ny= 1536 446 415 447 415 448 415 + 449 415 + 450 415 + 451 415 + 452 415 + 453 415 + 915 415 + 916 415 + 917 415 + 918 415 + 919 415 920 415 921 415 922 415 @@ -4177,6 +8489,15 @@ ny= 1536 926 415 927 415 928 415 + 929 415 + 930 415 + 931 415 + 932 415 + 1203 415 + 1204 415 + 1205 415 + 1206 415 + 1207 415 1208 415 1209 415 1210 415 @@ -4186,6 +8507,16 @@ ny= 1536 1214 415 1215 415 1216 415 + 1217 415 + 1218 415 + 1219 415 + 1220 415 + 1221 415 + 1683 415 + 1684 415 + 1685 415 + 1686 415 + 1687 415 1688 415 1689 415 1690 415 @@ -4195,6 +8526,15 @@ ny= 1536 1694 415 1695 415 1696 415 + 1697 415 + 1698 415 + 1699 415 + 1700 415 + 1971 415 + 1972 415 + 1973 415 + 1974 415 + 1975 415 1976 415 1977 415 1978 415 @@ -4204,6 +8544,16 @@ ny= 1536 1982 415 1983 415 1984 415 + 1985 415 + 1986 415 + 1987 415 + 1988 415 + 1989 415 + 2451 415 + 2452 415 + 2453 415 + 2454 415 + 2455 415 2456 415 2457 415 2458 415 @@ -4213,6 +8563,15 @@ ny= 1536 2462 415 2463 415 2464 415 + 2465 415 + 2466 415 + 2467 415 + 2468 415 + 2739 415 + 2740 415 + 2741 415 + 2742 415 + 2743 415 2744 415 2745 415 2746 415 @@ -4222,6 +8581,15 @@ ny= 1536 2750 415 2751 415 2752 415 + 2753 415 + 2754 415 + 2755 415 + 2756 415 + 2757 415 + 151 416 + 152 416 + 153 416 + 154 416 155 416 156 416 157 416 @@ -4231,6 +8599,16 @@ ny= 1536 161 416 162 416 163 416 + 164 416 + 165 416 + 166 416 + 167 416 + 168 416 + 431 416 + 432 416 + 433 416 + 434 416 + 435 416 436 416 437 416 438 416 @@ -4240,6 +8618,15 @@ ny= 1536 442 416 443 416 444 416 + 445 416 + 446 416 + 447 416 + 448 416 + 449 416 + 919 416 + 920 416 + 921 416 + 922 416 923 416 924 416 925 416 @@ -4249,6 +8636,16 @@ ny= 1536 929 416 930 416 931 416 + 932 416 + 933 416 + 934 416 + 935 416 + 936 416 + 1199 416 + 1200 416 + 1201 416 + 1202 416 + 1203 416 1204 416 1205 416 1206 416 @@ -4258,6 +8655,15 @@ ny= 1536 1210 416 1211 416 1212 416 + 1213 416 + 1214 416 + 1215 416 + 1216 416 + 1217 416 + 1687 416 + 1688 416 + 1689 416 + 1690 416 1691 416 1692 416 1693 416 @@ -4267,6 +8673,16 @@ ny= 1536 1697 416 1698 416 1699 416 + 1700 416 + 1701 416 + 1702 416 + 1703 416 + 1704 416 + 1967 416 + 1968 416 + 1969 416 + 1970 416 + 1971 416 1972 416 1973 416 1974 416 @@ -4276,6 +8692,15 @@ ny= 1536 1978 416 1979 416 1980 416 + 1981 416 + 1982 416 + 1983 416 + 1984 416 + 1985 416 + 2455 416 + 2456 416 + 2457 416 + 2458 416 2459 416 2460 416 2461 416 @@ -4285,6 +8710,16 @@ ny= 1536 2465 416 2466 416 2467 416 + 2468 416 + 2469 416 + 2470 416 + 2471 416 + 2472 416 + 2735 416 + 2736 416 + 2737 416 + 2738 416 + 2739 416 2740 416 2741 416 2742 416 @@ -4294,6 +8729,16 @@ ny= 1536 2746 416 2747 416 2748 416 + 2749 416 + 2750 416 + 2751 416 + 2752 416 + 2753 416 + 154 417 + 155 417 + 156 417 + 157 417 + 158 417 159 417 160 417 161 417 @@ -4303,6 +8748,14 @@ ny= 1536 165 417 166 417 167 417 + 168 417 + 169 417 + 170 417 + 171 417 + 428 417 + 429 417 + 430 417 + 431 417 432 417 433 417 434 417 @@ -4312,6 +8765,16 @@ ny= 1536 438 417 439 417 440 417 + 441 417 + 442 417 + 443 417 + 444 417 + 445 417 + 922 417 + 923 417 + 924 417 + 925 417 + 926 417 927 417 928 417 929 417 @@ -4321,6 +8784,14 @@ ny= 1536 933 417 934 417 935 417 + 936 417 + 937 417 + 938 417 + 939 417 + 1196 417 + 1197 417 + 1198 417 + 1199 417 1200 417 1201 417 1202 417 @@ -4330,6 +8801,16 @@ ny= 1536 1206 417 1207 417 1208 417 + 1209 417 + 1210 417 + 1211 417 + 1212 417 + 1213 417 + 1690 417 + 1691 417 + 1692 417 + 1693 417 + 1694 417 1695 417 1696 417 1697 417 @@ -4339,6 +8820,14 @@ ny= 1536 1701 417 1702 417 1703 417 + 1704 417 + 1705 417 + 1706 417 + 1707 417 + 1964 417 + 1965 417 + 1966 417 + 1967 417 1968 417 1969 417 1970 417 @@ -4348,6 +8837,16 @@ ny= 1536 1974 417 1975 417 1976 417 + 1977 417 + 1978 417 + 1979 417 + 1980 417 + 1981 417 + 2458 417 + 2459 417 + 2460 417 + 2461 417 + 2462 417 2463 417 2464 417 2465 417 @@ -4357,6 +8856,14 @@ ny= 1536 2469 417 2470 417 2471 417 + 2472 417 + 2473 417 + 2474 417 + 2475 417 + 2732 417 + 2733 417 + 2734 417 + 2735 417 2736 417 2737 417 2738 417 @@ -4366,6 +8873,16 @@ ny= 1536 2742 417 2743 417 2744 417 + 2745 417 + 2746 417 + 2747 417 + 2748 417 + 2749 417 + 158 418 + 159 418 + 160 418 + 161 418 + 162 418 163 418 164 418 165 418 @@ -4374,6 +8891,15 @@ ny= 1536 168 418 169 418 170 418 + 171 418 + 172 418 + 173 418 + 174 418 + 175 418 + 425 418 + 426 418 + 427 418 + 428 418 429 418 430 418 431 418 @@ -4383,6 +8909,15 @@ ny= 1536 435 418 436 418 437 418 + 438 418 + 439 418 + 440 418 + 441 418 + 926 418 + 927 418 + 928 418 + 929 418 + 930 418 931 418 932 418 933 418 @@ -4391,6 +8926,15 @@ ny= 1536 936 418 937 418 938 418 + 939 418 + 940 418 + 941 418 + 942 418 + 943 418 + 1193 418 + 1194 418 + 1195 418 + 1196 418 1197 418 1198 418 1199 418 @@ -4400,6 +8944,15 @@ ny= 1536 1203 418 1204 418 1205 418 + 1206 418 + 1207 418 + 1208 418 + 1209 418 + 1694 418 + 1695 418 + 1696 418 + 1697 418 + 1698 418 1699 418 1700 418 1701 418 @@ -4408,6 +8961,15 @@ ny= 1536 1704 418 1705 418 1706 418 + 1707 418 + 1708 418 + 1709 418 + 1710 418 + 1711 418 + 1961 418 + 1962 418 + 1963 418 + 1964 418 1965 418 1966 418 1967 418 @@ -4417,6 +8979,15 @@ ny= 1536 1971 418 1972 418 1973 418 + 1974 418 + 1975 418 + 1976 418 + 1977 418 + 2462 418 + 2463 418 + 2464 418 + 2465 418 + 2466 418 2467 418 2468 418 2469 418 @@ -4425,6 +8996,15 @@ ny= 1536 2472 418 2473 418 2474 418 + 2475 418 + 2476 418 + 2477 418 + 2478 418 + 2479 418 + 2729 418 + 2730 418 + 2731 418 + 2732 418 2733 418 2734 418 2735 418 @@ -4434,6 +9014,14 @@ ny= 1536 2739 418 2740 418 2741 418 + 2742 418 + 2743 418 + 2744 418 + 2745 418 + 162 419 + 163 419 + 164 419 + 165 419 166 419 167 419 168 419 @@ -4443,6 +9031,15 @@ ny= 1536 172 419 173 419 174 419 + 175 419 + 176 419 + 177 419 + 178 419 + 421 419 + 422 419 + 423 419 + 424 419 + 425 419 426 419 427 419 428 419 @@ -4451,6 +9048,15 @@ ny= 1536 431 419 432 419 433 419 + 434 419 + 435 419 + 436 419 + 437 419 + 438 419 + 930 419 + 931 419 + 932 419 + 933 419 934 419 935 419 936 419 @@ -4460,6 +9066,15 @@ ny= 1536 940 419 941 419 942 419 + 943 419 + 944 419 + 945 419 + 946 419 + 1189 419 + 1190 419 + 1191 419 + 1192 419 + 1193 419 1194 419 1195 419 1196 419 @@ -4468,6 +9083,15 @@ ny= 1536 1199 419 1200 419 1201 419 + 1202 419 + 1203 419 + 1204 419 + 1205 419 + 1206 419 + 1698 419 + 1699 419 + 1700 419 + 1701 419 1702 419 1703 419 1704 419 @@ -4477,6 +9101,15 @@ ny= 1536 1708 419 1709 419 1710 419 + 1711 419 + 1712 419 + 1713 419 + 1714 419 + 1957 419 + 1958 419 + 1959 419 + 1960 419 + 1961 419 1962 419 1963 419 1964 419 @@ -4485,6 +9118,15 @@ ny= 1536 1967 419 1968 419 1969 419 + 1970 419 + 1971 419 + 1972 419 + 1973 419 + 1974 419 + 2466 419 + 2467 419 + 2468 419 + 2469 419 2470 419 2471 419 2472 419 @@ -4494,6 +9136,15 @@ ny= 1536 2476 419 2477 419 2478 419 + 2479 419 + 2480 419 + 2481 419 + 2482 419 + 2725 419 + 2726 419 + 2727 419 + 2728 419 + 2729 419 2730 419 2731 419 2732 419 @@ -4502,6 +9153,16 @@ ny= 1536 2735 419 2736 419 2737 419 + 2738 419 + 2739 419 + 2740 419 + 2741 419 + 2742 419 + 165 420 + 166 420 + 167 420 + 168 420 + 169 420 170 420 171 420 172 420 @@ -4510,6 +9171,15 @@ ny= 1536 175 420 176 420 177 420 + 178 420 + 179 420 + 180 420 + 181 420 + 182 420 + 418 420 + 419 420 + 420 420 + 421 420 422 420 423 420 424 420 @@ -4518,6 +9188,16 @@ ny= 1536 427 420 428 420 429 420 + 430 420 + 431 420 + 432 420 + 433 420 + 434 420 + 933 420 + 934 420 + 935 420 + 936 420 + 937 420 938 420 939 420 940 420 @@ -4526,6 +9206,15 @@ ny= 1536 943 420 944 420 945 420 + 946 420 + 947 420 + 948 420 + 949 420 + 950 420 + 1186 420 + 1187 420 + 1188 420 + 1189 420 1190 420 1191 420 1192 420 @@ -4534,6 +9223,16 @@ ny= 1536 1195 420 1196 420 1197 420 + 1198 420 + 1199 420 + 1200 420 + 1201 420 + 1202 420 + 1701 420 + 1702 420 + 1703 420 + 1704 420 + 1705 420 1706 420 1707 420 1708 420 @@ -4542,6 +9241,15 @@ ny= 1536 1711 420 1712 420 1713 420 + 1714 420 + 1715 420 + 1716 420 + 1717 420 + 1718 420 + 1954 420 + 1955 420 + 1956 420 + 1957 420 1958 420 1959 420 1960 420 @@ -4550,6 +9258,16 @@ ny= 1536 1963 420 1964 420 1965 420 + 1966 420 + 1967 420 + 1968 420 + 1969 420 + 1970 420 + 2469 420 + 2470 420 + 2471 420 + 2472 420 + 2473 420 2474 420 2475 420 2476 420 @@ -4558,6 +9276,15 @@ ny= 1536 2479 420 2480 420 2481 420 + 2482 420 + 2483 420 + 2484 420 + 2485 420 + 2486 420 + 2722 420 + 2723 420 + 2724 420 + 2725 420 2726 420 2727 420 2728 420 @@ -4566,6 +9293,15 @@ ny= 1536 2731 420 2732 420 2733 420 + 2734 420 + 2735 420 + 2736 420 + 2737 420 + 2738 420 + 169 421 + 170 421 + 171 421 + 172 421 173 421 174 421 175 421 @@ -4575,6 +9311,15 @@ ny= 1536 179 421 180 421 181 421 + 182 421 + 183 421 + 184 421 + 185 421 + 414 421 + 415 421 + 416 421 + 417 421 + 418 421 419 421 420 421 421 421 @@ -4583,6 +9328,14 @@ ny= 1536 424 421 425 421 426 421 + 427 421 + 428 421 + 429 421 + 430 421 + 937 421 + 938 421 + 939 421 + 940 421 941 421 942 421 943 421 @@ -4592,6 +9345,15 @@ ny= 1536 947 421 948 421 949 421 + 950 421 + 951 421 + 952 421 + 953 421 + 1182 421 + 1183 421 + 1184 421 + 1185 421 + 1186 421 1187 421 1188 421 1189 421 @@ -4600,6 +9362,14 @@ ny= 1536 1192 421 1193 421 1194 421 + 1195 421 + 1196 421 + 1197 421 + 1198 421 + 1705 421 + 1706 421 + 1707 421 + 1708 421 1709 421 1710 421 1711 421 @@ -4609,6 +9379,15 @@ ny= 1536 1715 421 1716 421 1717 421 + 1718 421 + 1719 421 + 1720 421 + 1721 421 + 1950 421 + 1951 421 + 1952 421 + 1953 421 + 1954 421 1955 421 1956 421 1957 421 @@ -4617,6 +9396,14 @@ ny= 1536 1960 421 1961 421 1962 421 + 1963 421 + 1964 421 + 1965 421 + 1966 421 + 2473 421 + 2474 421 + 2475 421 + 2476 421 2477 421 2478 421 2479 421 @@ -4626,6 +9413,15 @@ ny= 1536 2483 421 2484 421 2485 421 + 2486 421 + 2487 421 + 2488 421 + 2489 421 + 2718 421 + 2719 421 + 2720 421 + 2721 421 + 2722 421 2723 421 2724 421 2725 421 @@ -4634,6 +9430,15 @@ ny= 1536 2728 421 2729 421 2730 421 + 2731 421 + 2732 421 + 2733 421 + 2734 421 + 172 422 + 173 422 + 174 422 + 175 422 + 176 422 177 422 178 422 179 422 @@ -4642,6 +9447,14 @@ ny= 1536 182 422 183 422 184 422 + 185 422 + 186 422 + 187 422 + 188 422 + 411 422 + 412 422 + 413 422 + 414 422 415 422 416 422 417 422 @@ -4651,6 +9464,15 @@ ny= 1536 421 422 422 422 423 422 + 424 422 + 425 422 + 426 422 + 427 422 + 940 422 + 941 422 + 942 422 + 943 422 + 944 422 945 422 946 422 947 422 @@ -4659,6 +9481,14 @@ ny= 1536 950 422 951 422 952 422 + 953 422 + 954 422 + 955 422 + 956 422 + 1179 422 + 1180 422 + 1181 422 + 1182 422 1183 422 1184 422 1185 422 @@ -4668,6 +9498,15 @@ ny= 1536 1189 422 1190 422 1191 422 + 1192 422 + 1193 422 + 1194 422 + 1195 422 + 1708 422 + 1709 422 + 1710 422 + 1711 422 + 1712 422 1713 422 1714 422 1715 422 @@ -4676,6 +9515,14 @@ ny= 1536 1718 422 1719 422 1720 422 + 1721 422 + 1722 422 + 1723 422 + 1724 422 + 1947 422 + 1948 422 + 1949 422 + 1950 422 1951 422 1952 422 1953 422 @@ -4685,6 +9532,15 @@ ny= 1536 1957 422 1958 422 1959 422 + 1960 422 + 1961 422 + 1962 422 + 1963 422 + 2476 422 + 2477 422 + 2478 422 + 2479 422 + 2480 422 2481 422 2482 422 2483 422 @@ -4693,6 +9549,14 @@ ny= 1536 2486 422 2487 422 2488 422 + 2489 422 + 2490 422 + 2491 422 + 2492 422 + 2715 422 + 2716 422 + 2717 422 + 2718 422 2719 422 2720 422 2721 422 @@ -4702,6 +9566,14 @@ ny= 1536 2725 422 2726 422 2727 422 + 2728 422 + 2729 422 + 2730 422 + 2731 422 + 176 423 + 177 423 + 178 423 + 179 423 180 423 181 423 182 423 @@ -4710,6 +9582,15 @@ ny= 1536 185 423 186 423 187 423 + 188 423 + 189 423 + 190 423 + 191 423 + 192 423 + 408 423 + 409 423 + 410 423 + 411 423 412 423 413 423 414 423 @@ -4718,6 +9599,15 @@ ny= 1536 417 423 418 423 419 423 + 420 423 + 421 423 + 422 423 + 423 423 + 424 423 + 944 423 + 945 423 + 946 423 + 947 423 948 423 949 423 950 423 @@ -4726,6 +9616,15 @@ ny= 1536 953 423 954 423 955 423 + 956 423 + 957 423 + 958 423 + 959 423 + 960 423 + 1176 423 + 1177 423 + 1178 423 + 1179 423 1180 423 1181 423 1182 423 @@ -4734,6 +9633,15 @@ ny= 1536 1185 423 1186 423 1187 423 + 1188 423 + 1189 423 + 1190 423 + 1191 423 + 1192 423 + 1712 423 + 1713 423 + 1714 423 + 1715 423 1716 423 1717 423 1718 423 @@ -4742,6 +9650,15 @@ ny= 1536 1721 423 1722 423 1723 423 + 1724 423 + 1725 423 + 1726 423 + 1727 423 + 1728 423 + 1944 423 + 1945 423 + 1946 423 + 1947 423 1948 423 1949 423 1950 423 @@ -4750,6 +9667,15 @@ ny= 1536 1953 423 1954 423 1955 423 + 1956 423 + 1957 423 + 1958 423 + 1959 423 + 1960 423 + 2480 423 + 2481 423 + 2482 423 + 2483 423 2484 423 2485 423 2486 423 @@ -4758,6 +9684,15 @@ ny= 1536 2489 423 2490 423 2491 423 + 2492 423 + 2493 423 + 2494 423 + 2495 423 + 2496 423 + 2712 423 + 2713 423 + 2714 423 + 2715 423 2716 423 2717 423 2718 423 @@ -4766,6 +9701,15 @@ ny= 1536 2721 423 2722 423 2723 423 + 2724 423 + 2725 423 + 2726 423 + 2727 423 + 2728 423 + 179 424 + 180 424 + 181 424 + 182 424 183 424 184 424 185 424 @@ -4775,6 +9719,15 @@ ny= 1536 189 424 190 424 191 424 + 192 424 + 193 424 + 194 424 + 195 424 + 404 424 + 405 424 + 406 424 + 407 424 + 408 424 409 424 410 424 411 424 @@ -4783,6 +9736,14 @@ ny= 1536 414 424 415 424 416 424 + 417 424 + 418 424 + 419 424 + 420 424 + 947 424 + 948 424 + 949 424 + 950 424 951 424 952 424 953 424 @@ -4792,6 +9753,15 @@ ny= 1536 957 424 958 424 959 424 + 960 424 + 961 424 + 962 424 + 963 424 + 1172 424 + 1173 424 + 1174 424 + 1175 424 + 1176 424 1177 424 1178 424 1179 424 @@ -4800,6 +9770,14 @@ ny= 1536 1182 424 1183 424 1184 424 + 1185 424 + 1186 424 + 1187 424 + 1188 424 + 1715 424 + 1716 424 + 1717 424 + 1718 424 1719 424 1720 424 1721 424 @@ -4809,6 +9787,15 @@ ny= 1536 1725 424 1726 424 1727 424 + 1728 424 + 1729 424 + 1730 424 + 1731 424 + 1940 424 + 1941 424 + 1942 424 + 1943 424 + 1944 424 1945 424 1946 424 1947 424 @@ -4817,6 +9804,14 @@ ny= 1536 1950 424 1951 424 1952 424 + 1953 424 + 1954 424 + 1955 424 + 1956 424 + 2483 424 + 2484 424 + 2485 424 + 2486 424 2487 424 2488 424 2489 424 @@ -4826,6 +9821,15 @@ ny= 1536 2493 424 2494 424 2495 424 + 2496 424 + 2497 424 + 2498 424 + 2499 424 + 2708 424 + 2709 424 + 2710 424 + 2711 424 + 2712 424 2713 424 2714 424 2715 424 @@ -4834,6 +9838,15 @@ ny= 1536 2718 424 2719 424 2720 424 + 2721 424 + 2722 424 + 2723 424 + 2724 424 + 182 425 + 183 425 + 184 425 + 185 425 + 186 425 187 425 188 425 189 425 @@ -4842,6 +9855,13 @@ ny= 1536 192 425 193 425 194 425 + 195 425 + 196 425 + 197 425 + 198 425 + 402 425 + 403 425 + 404 425 405 425 406 425 407 425 @@ -4851,6 +9871,15 @@ ny= 1536 411 425 412 425 413 425 + 414 425 + 415 425 + 416 425 + 417 425 + 950 425 + 951 425 + 952 425 + 953 425 + 954 425 955 425 956 425 957 425 @@ -4859,6 +9888,13 @@ ny= 1536 960 425 961 425 962 425 + 963 425 + 964 425 + 965 425 + 966 425 + 1170 425 + 1171 425 + 1172 425 1173 425 1174 425 1175 425 @@ -4868,6 +9904,15 @@ ny= 1536 1179 425 1180 425 1181 425 + 1182 425 + 1183 425 + 1184 425 + 1185 425 + 1718 425 + 1719 425 + 1720 425 + 1721 425 + 1722 425 1723 425 1724 425 1725 425 @@ -4876,6 +9921,13 @@ ny= 1536 1728 425 1729 425 1730 425 + 1731 425 + 1732 425 + 1733 425 + 1734 425 + 1938 425 + 1939 425 + 1940 425 1941 425 1942 425 1943 425 @@ -4885,6 +9937,15 @@ ny= 1536 1947 425 1948 425 1949 425 + 1950 425 + 1951 425 + 1952 425 + 1953 425 + 2486 425 + 2487 425 + 2488 425 + 2489 425 + 2490 425 2491 425 2492 425 2493 425 @@ -4893,6 +9954,13 @@ ny= 1536 2496 425 2497 425 2498 425 + 2499 425 + 2500 425 + 2501 425 + 2502 425 + 2706 425 + 2707 425 + 2708 425 2709 425 2710 425 2711 425 @@ -4902,6 +9970,14 @@ ny= 1536 2715 425 2716 425 2717 425 + 2718 425 + 2719 425 + 2720 425 + 2721 425 + 186 426 + 187 426 + 188 426 + 189 426 190 426 191 426 192 426 @@ -4910,6 +9986,15 @@ ny= 1536 195 426 196 426 197 426 + 198 426 + 199 426 + 200 426 + 201 426 + 398 426 + 399 426 + 400 426 + 401 426 + 402 426 403 426 404 426 405 426 @@ -4917,6 +10002,15 @@ ny= 1536 407 426 408 426 409 426 + 410 426 + 411 426 + 412 426 + 413 426 + 414 426 + 954 426 + 955 426 + 956 426 + 957 426 958 426 959 426 960 426 @@ -4925,6 +10019,15 @@ ny= 1536 963 426 964 426 965 426 + 966 426 + 967 426 + 968 426 + 969 426 + 1166 426 + 1167 426 + 1168 426 + 1169 426 + 1170 426 1171 426 1172 426 1173 426 @@ -4932,6 +10035,15 @@ ny= 1536 1175 426 1176 426 1177 426 + 1178 426 + 1179 426 + 1180 426 + 1181 426 + 1182 426 + 1722 426 + 1723 426 + 1724 426 + 1725 426 1726 426 1727 426 1728 426 @@ -4940,6 +10052,15 @@ ny= 1536 1731 426 1732 426 1733 426 + 1734 426 + 1735 426 + 1736 426 + 1737 426 + 1934 426 + 1935 426 + 1936 426 + 1937 426 + 1938 426 1939 426 1940 426 1941 426 @@ -4947,6 +10068,15 @@ ny= 1536 1943 426 1944 426 1945 426 + 1946 426 + 1947 426 + 1948 426 + 1949 426 + 1950 426 + 2490 426 + 2491 426 + 2492 426 + 2493 426 2494 426 2495 426 2496 426 @@ -4955,6 +10085,15 @@ ny= 1536 2499 426 2500 426 2501 426 + 2502 426 + 2503 426 + 2504 426 + 2505 426 + 2702 426 + 2703 426 + 2704 426 + 2705 426 + 2706 426 2707 426 2708 426 2709 426 @@ -4962,6 +10101,15 @@ ny= 1536 2711 426 2712 426 2713 426 + 2714 426 + 2715 426 + 2716 426 + 2717 426 + 2718 426 + 189 427 + 190 427 + 191 427 + 192 427 193 427 194 427 195 427 @@ -4970,6 +10118,14 @@ ny= 1536 198 427 199 427 200 427 + 201 427 + 202 427 + 203 427 + 204 427 + 395 427 + 396 427 + 397 427 + 398 427 399 427 400 427 401 427 @@ -4978,6 +10134,14 @@ ny= 1536 404 427 405 427 406 427 + 407 427 + 408 427 + 409 427 + 410 427 + 957 427 + 958 427 + 959 427 + 960 427 961 427 962 427 963 427 @@ -4986,6 +10150,14 @@ ny= 1536 966 427 967 427 968 427 + 969 427 + 970 427 + 971 427 + 972 427 + 1163 427 + 1164 427 + 1165 427 + 1166 427 1167 427 1168 427 1169 427 @@ -4994,6 +10166,14 @@ ny= 1536 1172 427 1173 427 1174 427 + 1175 427 + 1176 427 + 1177 427 + 1178 427 + 1725 427 + 1726 427 + 1727 427 + 1728 427 1729 427 1730 427 1731 427 @@ -5002,6 +10182,14 @@ ny= 1536 1734 427 1735 427 1736 427 + 1737 427 + 1738 427 + 1739 427 + 1740 427 + 1931 427 + 1932 427 + 1933 427 + 1934 427 1935 427 1936 427 1937 427 @@ -5010,6 +10198,14 @@ ny= 1536 1940 427 1941 427 1942 427 + 1943 427 + 1944 427 + 1945 427 + 1946 427 + 2493 427 + 2494 427 + 2495 427 + 2496 427 2497 427 2498 427 2499 427 @@ -5018,6 +10214,14 @@ ny= 1536 2502 427 2503 427 2504 427 + 2505 427 + 2506 427 + 2507 427 + 2508 427 + 2699 427 + 2700 427 + 2701 427 + 2702 427 2703 427 2704 427 2705 427 @@ -5026,6 +10230,14 @@ ny= 1536 2708 427 2709 427 2710 427 + 2711 427 + 2712 427 + 2713 427 + 2714 427 + 192 428 + 193 428 + 194 428 + 195 428 196 428 197 428 198 428 @@ -5034,6 +10246,14 @@ ny= 1536 201 428 202 428 203 428 + 204 428 + 205 428 + 206 428 + 207 428 + 392 428 + 393 428 + 394 428 + 395 428 396 428 397 428 398 428 @@ -5042,6 +10262,14 @@ ny= 1536 401 428 402 428 403 428 + 404 428 + 405 428 + 406 428 + 407 428 + 960 428 + 961 428 + 962 428 + 963 428 964 428 965 428 966 428 @@ -5050,6 +10278,14 @@ ny= 1536 969 428 970 428 971 428 + 972 428 + 973 428 + 974 428 + 975 428 + 1160 428 + 1161 428 + 1162 428 + 1163 428 1164 428 1165 428 1166 428 @@ -5058,6 +10294,14 @@ ny= 1536 1169 428 1170 428 1171 428 + 1172 428 + 1173 428 + 1174 428 + 1175 428 + 1728 428 + 1729 428 + 1730 428 + 1731 428 1732 428 1733 428 1734 428 @@ -5066,6 +10310,14 @@ ny= 1536 1737 428 1738 428 1739 428 + 1740 428 + 1741 428 + 1742 428 + 1743 428 + 1928 428 + 1929 428 + 1930 428 + 1931 428 1932 428 1933 428 1934 428 @@ -5074,6 +10326,14 @@ ny= 1536 1937 428 1938 428 1939 428 + 1940 428 + 1941 428 + 1942 428 + 1943 428 + 2496 428 + 2497 428 + 2498 428 + 2499 428 2500 428 2501 428 2502 428 @@ -5082,6 +10342,14 @@ ny= 1536 2505 428 2506 428 2507 428 + 2508 428 + 2509 428 + 2510 428 + 2511 428 + 2696 428 + 2697 428 + 2698 428 + 2699 428 2700 428 2701 428 2702 428 @@ -5090,6 +10358,15 @@ ny= 1536 2705 428 2706 428 2707 428 + 2708 428 + 2709 428 + 2710 428 + 2711 428 + 195 429 + 196 429 + 197 429 + 198 429 + 199 429 200 429 201 429 202 429 @@ -5097,6 +10374,14 @@ ny= 1536 204 429 205 429 206 429 + 207 429 + 208 429 + 209 429 + 210 429 + 389 429 + 390 429 + 391 429 + 392 429 393 429 394 429 395 429 @@ -5105,6 +10390,15 @@ ny= 1536 398 429 399 429 400 429 + 401 429 + 402 429 + 403 429 + 404 429 + 963 429 + 964 429 + 965 429 + 966 429 + 967 429 968 429 969 429 970 429 @@ -5112,6 +10406,14 @@ ny= 1536 972 429 973 429 974 429 + 975 429 + 976 429 + 977 429 + 978 429 + 1157 429 + 1158 429 + 1159 429 + 1160 429 1161 429 1162 429 1163 429 @@ -5120,6 +10422,15 @@ ny= 1536 1166 429 1167 429 1168 429 + 1169 429 + 1170 429 + 1171 429 + 1172 429 + 1731 429 + 1732 429 + 1733 429 + 1734 429 + 1735 429 1736 429 1737 429 1738 429 @@ -5127,6 +10438,14 @@ ny= 1536 1740 429 1741 429 1742 429 + 1743 429 + 1744 429 + 1745 429 + 1746 429 + 1925 429 + 1926 429 + 1927 429 + 1928 429 1929 429 1930 429 1931 429 @@ -5135,6 +10454,15 @@ ny= 1536 1934 429 1935 429 1936 429 + 1937 429 + 1938 429 + 1939 429 + 1940 429 + 2499 429 + 2500 429 + 2501 429 + 2502 429 + 2503 429 2504 429 2505 429 2506 429 @@ -5142,6 +10470,14 @@ ny= 1536 2508 429 2509 429 2510 429 + 2511 429 + 2512 429 + 2513 429 + 2514 429 + 2693 429 + 2694 429 + 2695 429 + 2696 429 2697 429 2698 429 2699 429 @@ -5150,6 +10486,14 @@ ny= 1536 2702 429 2703 429 2704 429 + 2705 429 + 2706 429 + 2707 429 + 2708 429 + 199 430 + 200 430 + 201 430 + 202 430 203 430 204 430 205 430 @@ -5157,6 +10501,14 @@ ny= 1536 207 430 208 430 209 430 + 210 430 + 211 430 + 212 430 + 213 430 + 386 430 + 387 430 + 388 430 + 389 430 390 430 391 430 392 430 @@ -5165,6 +10517,14 @@ ny= 1536 395 430 396 430 397 430 + 398 430 + 399 430 + 400 430 + 401 430 + 967 430 + 968 430 + 969 430 + 970 430 971 430 972 430 973 430 @@ -5172,6 +10532,14 @@ ny= 1536 975 430 976 430 977 430 + 978 430 + 979 430 + 980 430 + 981 430 + 1154 430 + 1155 430 + 1156 430 + 1157 430 1158 430 1159 430 1160 430 @@ -5180,6 +10548,14 @@ ny= 1536 1163 430 1164 430 1165 430 + 1166 430 + 1167 430 + 1168 430 + 1169 430 + 1735 430 + 1736 430 + 1737 430 + 1738 430 1739 430 1740 430 1741 430 @@ -5187,6 +10563,14 @@ ny= 1536 1743 430 1744 430 1745 430 + 1746 430 + 1747 430 + 1748 430 + 1749 430 + 1922 430 + 1923 430 + 1924 430 + 1925 430 1926 430 1927 430 1928 430 @@ -5195,6 +10579,14 @@ ny= 1536 1931 430 1932 430 1933 430 + 1934 430 + 1935 430 + 1936 430 + 1937 430 + 2503 430 + 2504 430 + 2505 430 + 2506 430 2507 430 2508 430 2509 430 @@ -5202,6 +10594,14 @@ ny= 1536 2511 430 2512 430 2513 430 + 2514 430 + 2515 430 + 2516 430 + 2517 430 + 2690 430 + 2691 430 + 2692 430 + 2693 430 2694 430 2695 430 2696 430 @@ -5210,6 +10610,14 @@ ny= 1536 2699 430 2700 430 2701 430 + 2702 430 + 2703 430 + 2704 430 + 2705 430 + 202 431 + 203 431 + 204 431 + 205 431 206 431 207 431 208 431 @@ -5217,6 +10625,14 @@ ny= 1536 210 431 211 431 212 431 + 213 431 + 214 431 + 215 431 + 216 431 + 383 431 + 384 431 + 385 431 + 386 431 387 431 388 431 389 431 @@ -5225,6 +10641,14 @@ ny= 1536 392 431 393 431 394 431 + 395 431 + 396 431 + 397 431 + 398 431 + 970 431 + 971 431 + 972 431 + 973 431 974 431 975 431 976 431 @@ -5232,6 +10656,14 @@ ny= 1536 978 431 979 431 980 431 + 981 431 + 982 431 + 983 431 + 984 431 + 1151 431 + 1152 431 + 1153 431 + 1154 431 1155 431 1156 431 1157 431 @@ -5240,6 +10672,14 @@ ny= 1536 1160 431 1161 431 1162 431 + 1163 431 + 1164 431 + 1165 431 + 1166 431 + 1738 431 + 1739 431 + 1740 431 + 1741 431 1742 431 1743 431 1744 431 @@ -5247,6 +10687,14 @@ ny= 1536 1746 431 1747 431 1748 431 + 1749 431 + 1750 431 + 1751 431 + 1752 431 + 1919 431 + 1920 431 + 1921 431 + 1922 431 1923 431 1924 431 1925 431 @@ -5255,6 +10703,14 @@ ny= 1536 1928 431 1929 431 1930 431 + 1931 431 + 1932 431 + 1933 431 + 1934 431 + 2506 431 + 2507 431 + 2508 431 + 2509 431 2510 431 2511 431 2512 431 @@ -5262,6 +10718,14 @@ ny= 1536 2514 431 2515 431 2516 431 + 2517 431 + 2518 431 + 2519 431 + 2520 431 + 2687 431 + 2688 431 + 2689 431 + 2690 431 2691 431 2692 431 2693 431 @@ -5270,6 +10734,14 @@ ny= 1536 2696 431 2697 431 2698 431 + 2699 431 + 2700 431 + 2701 431 + 2702 431 + 205 432 + 206 432 + 207 432 + 208 432 209 432 210 432 211 432 @@ -5277,6 +10749,13 @@ ny= 1536 213 432 214 432 215 432 + 216 432 + 217 432 + 218 432 + 219 432 + 381 432 + 382 432 + 383 432 384 432 385 432 386 432 @@ -5284,6 +10763,15 @@ ny= 1536 388 432 389 432 390 432 + 391 432 + 392 432 + 393 432 + 394 432 + 395 432 + 973 432 + 974 432 + 975 432 + 976 432 977 432 978 432 979 432 @@ -5291,6 +10779,13 @@ ny= 1536 981 432 982 432 983 432 + 984 432 + 985 432 + 986 432 + 987 432 + 1149 432 + 1150 432 + 1151 432 1152 432 1153 432 1154 432 @@ -5298,6 +10793,15 @@ ny= 1536 1156 432 1157 432 1158 432 + 1159 432 + 1160 432 + 1161 432 + 1162 432 + 1163 432 + 1741 432 + 1742 432 + 1743 432 + 1744 432 1745 432 1746 432 1747 432 @@ -5305,6 +10809,13 @@ ny= 1536 1749 432 1750 432 1751 432 + 1752 432 + 1753 432 + 1754 432 + 1755 432 + 1917 432 + 1918 432 + 1919 432 1920 432 1921 432 1922 432 @@ -5312,6 +10823,15 @@ ny= 1536 1924 432 1925 432 1926 432 + 1927 432 + 1928 432 + 1929 432 + 1930 432 + 1931 432 + 2509 432 + 2510 432 + 2511 432 + 2512 432 2513 432 2514 432 2515 432 @@ -5319,6 +10839,13 @@ ny= 1536 2517 432 2518 432 2519 432 + 2520 432 + 2521 432 + 2522 432 + 2523 432 + 2685 432 + 2686 432 + 2687 432 2688 432 2689 432 2690 432 @@ -5326,6 +10853,15 @@ ny= 1536 2692 432 2693 432 2694 432 + 2695 432 + 2696 432 + 2697 432 + 2698 432 + 2699 432 + 208 433 + 209 433 + 210 433 + 211 433 212 433 213 433 214 433 @@ -5333,6 +10869,15 @@ ny= 1536 216 433 217 433 218 433 + 219 433 + 220 433 + 221 433 + 222 433 + 377 433 + 378 433 + 379 433 + 380 433 + 381 433 382 433 383 433 384 433 @@ -5340,6 +10885,13 @@ ny= 1536 386 433 387 433 388 433 + 389 433 + 390 433 + 391 433 + 976 433 + 977 433 + 978 433 + 979 433 980 433 981 433 982 433 @@ -5347,6 +10899,15 @@ ny= 1536 984 433 985 433 986 433 + 987 433 + 988 433 + 989 433 + 990 433 + 1145 433 + 1146 433 + 1147 433 + 1148 433 + 1149 433 1150 433 1151 433 1152 433 @@ -5354,6 +10915,13 @@ ny= 1536 1154 433 1155 433 1156 433 + 1157 433 + 1158 433 + 1159 433 + 1744 433 + 1745 433 + 1746 433 + 1747 433 1748 433 1749 433 1750 433 @@ -5361,6 +10929,15 @@ ny= 1536 1752 433 1753 433 1754 433 + 1755 433 + 1756 433 + 1757 433 + 1758 433 + 1913 433 + 1914 433 + 1915 433 + 1916 433 + 1917 433 1918 433 1919 433 1920 433 @@ -5368,6 +10945,13 @@ ny= 1536 1922 433 1923 433 1924 433 + 1925 433 + 1926 433 + 1927 433 + 2512 433 + 2513 433 + 2514 433 + 2515 433 2516 433 2517 433 2518 433 @@ -5375,6 +10959,15 @@ ny= 1536 2520 433 2521 433 2522 433 + 2523 433 + 2524 433 + 2525 433 + 2526 433 + 2681 433 + 2682 433 + 2683 433 + 2684 433 + 2685 433 2686 433 2687 433 2688 433 @@ -5382,6 +10975,12 @@ ny= 1536 2690 433 2691 433 2692 433 + 2693 433 + 2694 433 + 2695 433 + 211 434 + 212 434 + 213 434 214 434 215 434 216 434 @@ -5390,6 +10989,13 @@ ny= 1536 219 434 220 434 221 434 + 222 434 + 223 434 + 224 434 + 225 434 + 375 434 + 376 434 + 377 434 378 434 379 434 380 434 @@ -5398,6 +11004,13 @@ ny= 1536 383 434 384 434 385 434 + 386 434 + 387 434 + 388 434 + 389 434 + 979 434 + 980 434 + 981 434 982 434 983 434 984 434 @@ -5406,6 +11019,13 @@ ny= 1536 987 434 988 434 989 434 + 990 434 + 991 434 + 992 434 + 993 434 + 1143 434 + 1144 434 + 1145 434 1146 434 1147 434 1148 434 @@ -5414,6 +11034,13 @@ ny= 1536 1151 434 1152 434 1153 434 + 1154 434 + 1155 434 + 1156 434 + 1157 434 + 1747 434 + 1748 434 + 1749 434 1750 434 1751 434 1752 434 @@ -5422,6 +11049,13 @@ ny= 1536 1755 434 1756 434 1757 434 + 1758 434 + 1759 434 + 1760 434 + 1761 434 + 1911 434 + 1912 434 + 1913 434 1914 434 1915 434 1916 434 @@ -5430,6 +11064,13 @@ ny= 1536 1919 434 1920 434 1921 434 + 1922 434 + 1923 434 + 1924 434 + 1925 434 + 2515 434 + 2516 434 + 2517 434 2518 434 2519 434 2520 434 @@ -5438,6 +11079,13 @@ ny= 1536 2523 434 2524 434 2525 434 + 2526 434 + 2527 434 + 2528 434 + 2529 434 + 2679 434 + 2680 434 + 2681 434 2682 434 2683 434 2684 434 @@ -5446,6 +11094,14 @@ ny= 1536 2687 434 2688 434 2689 434 + 2690 434 + 2691 434 + 2692 434 + 2693 434 + 213 435 + 214 435 + 215 435 + 216 435 217 435 218 435 219 435 @@ -5454,6 +11110,13 @@ ny= 1536 222 435 223 435 224 435 + 225 435 + 226 435 + 227 435 + 372 435 + 373 435 + 374 435 + 375 435 376 435 377 435 378 435 @@ -5461,6 +11124,14 @@ ny= 1536 380 435 381 435 382 435 + 383 435 + 384 435 + 385 435 + 386 435 + 981 435 + 982 435 + 983 435 + 984 435 985 435 986 435 987 435 @@ -5469,6 +11140,13 @@ ny= 1536 990 435 991 435 992 435 + 993 435 + 994 435 + 995 435 + 1140 435 + 1141 435 + 1142 435 + 1143 435 1144 435 1145 435 1146 435 @@ -5476,6 +11154,14 @@ ny= 1536 1148 435 1149 435 1150 435 + 1151 435 + 1152 435 + 1153 435 + 1154 435 + 1749 435 + 1750 435 + 1751 435 + 1752 435 1753 435 1754 435 1755 435 @@ -5484,6 +11170,13 @@ ny= 1536 1758 435 1759 435 1760 435 + 1761 435 + 1762 435 + 1763 435 + 1908 435 + 1909 435 + 1910 435 + 1911 435 1912 435 1913 435 1914 435 @@ -5491,6 +11184,14 @@ ny= 1536 1916 435 1917 435 1918 435 + 1919 435 + 1920 435 + 1921 435 + 1922 435 + 2517 435 + 2518 435 + 2519 435 + 2520 435 2521 435 2522 435 2523 435 @@ -5499,6 +11200,13 @@ ny= 1536 2526 435 2527 435 2528 435 + 2529 435 + 2530 435 + 2531 435 + 2676 435 + 2677 435 + 2678 435 + 2679 435 2680 435 2681 435 2682 435 @@ -5506,6 +11214,14 @@ ny= 1536 2684 435 2685 435 2686 435 + 2687 435 + 2688 435 + 2689 435 + 2690 435 + 216 436 + 217 436 + 218 436 + 219 436 220 436 221 436 222 436 @@ -5513,6 +11229,14 @@ ny= 1536 224 436 225 436 226 436 + 227 436 + 228 436 + 229 436 + 230 436 + 369 436 + 370 436 + 371 436 + 372 436 373 436 374 436 375 436 @@ -5520,6 +11244,14 @@ ny= 1536 377 436 378 436 379 436 + 380 436 + 381 436 + 382 436 + 383 436 + 984 436 + 985 436 + 986 436 + 987 436 988 436 989 436 990 436 @@ -5527,6 +11259,14 @@ ny= 1536 992 436 993 436 994 436 + 995 436 + 996 436 + 997 436 + 998 436 + 1137 436 + 1138 436 + 1139 436 + 1140 436 1141 436 1142 436 1143 436 @@ -5534,6 +11274,14 @@ ny= 1536 1145 436 1146 436 1147 436 + 1148 436 + 1149 436 + 1150 436 + 1151 436 + 1752 436 + 1753 436 + 1754 436 + 1755 436 1756 436 1757 436 1758 436 @@ -5541,6 +11289,14 @@ ny= 1536 1760 436 1761 436 1762 436 + 1763 436 + 1764 436 + 1765 436 + 1766 436 + 1905 436 + 1906 436 + 1907 436 + 1908 436 1909 436 1910 436 1911 436 @@ -5548,6 +11304,14 @@ ny= 1536 1913 436 1914 436 1915 436 + 1916 436 + 1917 436 + 1918 436 + 1919 436 + 2520 436 + 2521 436 + 2522 436 + 2523 436 2524 436 2525 436 2526 436 @@ -5555,6 +11319,14 @@ ny= 1536 2528 436 2529 436 2530 436 + 2531 436 + 2532 436 + 2533 436 + 2534 436 + 2673 436 + 2674 436 + 2675 436 + 2676 436 2677 436 2678 436 2679 436 @@ -5562,6 +11334,14 @@ ny= 1536 2681 436 2682 436 2683 436 + 2684 436 + 2685 436 + 2686 436 + 2687 436 + 219 437 + 220 437 + 221 437 + 222 437 223 437 224 437 225 437 @@ -5569,6 +11349,14 @@ ny= 1536 227 437 228 437 229 437 + 230 437 + 231 437 + 232 437 + 233 437 + 366 437 + 367 437 + 368 437 + 369 437 370 437 371 437 372 437 @@ -5576,6 +11364,14 @@ ny= 1536 374 437 375 437 376 437 + 377 437 + 378 437 + 379 437 + 380 437 + 987 437 + 988 437 + 989 437 + 990 437 991 437 992 437 993 437 @@ -5583,6 +11379,14 @@ ny= 1536 995 437 996 437 997 437 + 998 437 + 999 437 + 1000 437 + 1001 437 + 1134 437 + 1135 437 + 1136 437 + 1137 437 1138 437 1139 437 1140 437 @@ -5590,6 +11394,14 @@ ny= 1536 1142 437 1143 437 1144 437 + 1145 437 + 1146 437 + 1147 437 + 1148 437 + 1755 437 + 1756 437 + 1757 437 + 1758 437 1759 437 1760 437 1761 437 @@ -5597,6 +11409,14 @@ ny= 1536 1763 437 1764 437 1765 437 + 1766 437 + 1767 437 + 1768 437 + 1769 437 + 1902 437 + 1903 437 + 1904 437 + 1905 437 1906 437 1907 437 1908 437 @@ -5604,6 +11424,14 @@ ny= 1536 1910 437 1911 437 1912 437 + 1913 437 + 1914 437 + 1915 437 + 1916 437 + 2523 437 + 2524 437 + 2525 437 + 2526 437 2527 437 2528 437 2529 437 @@ -5611,6 +11439,14 @@ ny= 1536 2531 437 2532 437 2533 437 + 2534 437 + 2535 437 + 2536 437 + 2537 437 + 2670 437 + 2671 437 + 2672 437 + 2673 437 2674 437 2675 437 2676 437 @@ -5618,6 +11454,14 @@ ny= 1536 2678 437 2679 437 2680 437 + 2681 437 + 2682 437 + 2683 437 + 2684 437 + 222 438 + 223 438 + 224 438 + 225 438 226 438 227 438 228 438 @@ -5625,6 +11469,13 @@ ny= 1536 230 438 231 438 232 438 + 233 438 + 234 438 + 235 438 + 236 438 + 364 438 + 365 438 + 366 438 367 438 368 438 369 438 @@ -5632,6 +11483,14 @@ ny= 1536 371 438 372 438 373 438 + 374 438 + 375 438 + 376 438 + 377 438 + 990 438 + 991 438 + 992 438 + 993 438 994 438 995 438 996 438 @@ -5639,6 +11498,13 @@ ny= 1536 998 438 999 438 1000 438 + 1001 438 + 1002 438 + 1003 438 + 1004 438 + 1132 438 + 1133 438 + 1134 438 1135 438 1136 438 1137 438 @@ -5646,6 +11512,14 @@ ny= 1536 1139 438 1140 438 1141 438 + 1142 438 + 1143 438 + 1144 438 + 1145 438 + 1758 438 + 1759 438 + 1760 438 + 1761 438 1762 438 1763 438 1764 438 @@ -5653,6 +11527,13 @@ ny= 1536 1766 438 1767 438 1768 438 + 1769 438 + 1770 438 + 1771 438 + 1772 438 + 1900 438 + 1901 438 + 1902 438 1903 438 1904 438 1905 438 @@ -5660,6 +11541,14 @@ ny= 1536 1907 438 1908 438 1909 438 + 1910 438 + 1911 438 + 1912 438 + 1913 438 + 2526 438 + 2527 438 + 2528 438 + 2529 438 2530 438 2531 438 2532 438 @@ -5667,6 +11556,13 @@ ny= 1536 2534 438 2535 438 2536 438 + 2537 438 + 2538 438 + 2539 438 + 2540 438 + 2668 438 + 2669 438 + 2670 438 2671 438 2672 438 2673 438 @@ -5674,6 +11570,14 @@ ny= 1536 2675 438 2676 438 2677 438 + 2678 438 + 2679 438 + 2680 438 + 2681 438 + 225 439 + 226 439 + 227 439 + 228 439 229 439 230 439 231 439 @@ -5681,6 +11585,13 @@ ny= 1536 233 439 234 439 235 439 + 236 439 + 237 439 + 238 439 + 361 439 + 362 439 + 363 439 + 364 439 365 439 366 439 367 439 @@ -5688,6 +11599,13 @@ ny= 1536 369 439 370 439 371 439 + 372 439 + 373 439 + 374 439 + 993 439 + 994 439 + 995 439 + 996 439 997 439 998 439 999 439 @@ -5695,6 +11613,13 @@ ny= 1536 1001 439 1002 439 1003 439 + 1004 439 + 1005 439 + 1006 439 + 1129 439 + 1130 439 + 1131 439 + 1132 439 1133 439 1134 439 1135 439 @@ -5702,6 +11627,13 @@ ny= 1536 1137 439 1138 439 1139 439 + 1140 439 + 1141 439 + 1142 439 + 1761 439 + 1762 439 + 1763 439 + 1764 439 1765 439 1766 439 1767 439 @@ -5709,6 +11641,13 @@ ny= 1536 1769 439 1770 439 1771 439 + 1772 439 + 1773 439 + 1774 439 + 1897 439 + 1898 439 + 1899 439 + 1900 439 1901 439 1902 439 1903 439 @@ -5716,6 +11655,13 @@ ny= 1536 1905 439 1906 439 1907 439 + 1908 439 + 1909 439 + 1910 439 + 2529 439 + 2530 439 + 2531 439 + 2532 439 2533 439 2534 439 2535 439 @@ -5723,6 +11669,13 @@ ny= 1536 2537 439 2538 439 2539 439 + 2540 439 + 2541 439 + 2542 439 + 2665 439 + 2666 439 + 2667 439 + 2668 439 2669 439 2670 439 2671 439 @@ -5730,6 +11683,12 @@ ny= 1536 2673 439 2674 439 2675 439 + 2676 439 + 2677 439 + 2678 439 + 228 440 + 229 440 + 230 440 231 440 232 440 233 440 @@ -5737,6 +11696,14 @@ ny= 1536 235 440 236 440 237 440 + 238 440 + 239 440 + 240 440 + 241 440 + 358 440 + 359 440 + 360 440 + 361 440 362 440 363 440 364 440 @@ -5744,6 +11711,13 @@ ny= 1536 366 440 367 440 368 440 + 369 440 + 370 440 + 371 440 + 372 440 + 996 440 + 997 440 + 998 440 999 440 1000 440 1001 440 @@ -5751,6 +11725,14 @@ ny= 1536 1003 440 1004 440 1005 440 + 1006 440 + 1007 440 + 1008 440 + 1009 440 + 1126 440 + 1127 440 + 1128 440 + 1129 440 1130 440 1131 440 1132 440 @@ -5758,6 +11740,13 @@ ny= 1536 1134 440 1135 440 1136 440 + 1137 440 + 1138 440 + 1139 440 + 1140 440 + 1764 440 + 1765 440 + 1766 440 1767 440 1768 440 1769 440 @@ -5765,6 +11754,14 @@ ny= 1536 1771 440 1772 440 1773 440 + 1774 440 + 1775 440 + 1776 440 + 1777 440 + 1894 440 + 1895 440 + 1896 440 + 1897 440 1898 440 1899 440 1900 440 @@ -5772,6 +11769,13 @@ ny= 1536 1902 440 1903 440 1904 440 + 1905 440 + 1906 440 + 1907 440 + 1908 440 + 2532 440 + 2533 440 + 2534 440 2535 440 2536 440 2537 440 @@ -5779,6 +11783,14 @@ ny= 1536 2539 440 2540 440 2541 440 + 2542 440 + 2543 440 + 2544 440 + 2545 440 + 2662 440 + 2663 440 + 2664 440 + 2665 440 2666 440 2667 440 2668 440 @@ -5786,6 +11798,14 @@ ny= 1536 2670 440 2671 440 2672 440 + 2673 440 + 2674 440 + 2675 440 + 2676 440 + 230 441 + 231 441 + 232 441 + 233 441 234 441 235 441 236 441 @@ -5793,6 +11813,13 @@ ny= 1536 238 441 239 441 240 441 + 241 441 + 242 441 + 243 441 + 244 441 + 356 441 + 357 441 + 358 441 359 441 360 441 361 441 @@ -5800,6 +11827,14 @@ ny= 1536 363 441 364 441 365 441 + 366 441 + 367 441 + 368 441 + 369 441 + 998 441 + 999 441 + 1000 441 + 1001 441 1002 441 1003 441 1004 441 @@ -5807,6 +11842,13 @@ ny= 1536 1006 441 1007 441 1008 441 + 1009 441 + 1010 441 + 1011 441 + 1012 441 + 1124 441 + 1125 441 + 1126 441 1127 441 1128 441 1129 441 @@ -5814,6 +11856,14 @@ ny= 1536 1131 441 1132 441 1133 441 + 1134 441 + 1135 441 + 1136 441 + 1137 441 + 1766 441 + 1767 441 + 1768 441 + 1769 441 1770 441 1771 441 1772 441 @@ -5821,6 +11871,13 @@ ny= 1536 1774 441 1775 441 1776 441 + 1777 441 + 1778 441 + 1779 441 + 1780 441 + 1892 441 + 1893 441 + 1894 441 1895 441 1896 441 1897 441 @@ -5828,6 +11885,14 @@ ny= 1536 1899 441 1900 441 1901 441 + 1902 441 + 1903 441 + 1904 441 + 1905 441 + 2534 441 + 2535 441 + 2536 441 + 2537 441 2538 441 2539 441 2540 441 @@ -5835,6 +11900,13 @@ ny= 1536 2542 441 2543 441 2544 441 + 2545 441 + 2546 441 + 2547 441 + 2548 441 + 2660 441 + 2661 441 + 2662 441 2663 441 2664 441 2665 441 @@ -5842,6 +11914,14 @@ ny= 1536 2667 441 2668 441 2669 441 + 2670 441 + 2671 441 + 2672 441 + 2673 441 + 233 442 + 234 442 + 235 442 + 236 442 237 442 238 442 239 442 @@ -5849,6 +11929,13 @@ ny= 1536 241 442 242 442 243 442 + 244 442 + 245 442 + 246 442 + 353 442 + 354 442 + 355 442 + 356 442 357 442 358 442 359 442 @@ -5856,6 +11943,13 @@ ny= 1536 361 442 362 442 363 442 + 364 442 + 365 442 + 366 442 + 1001 442 + 1002 442 + 1003 442 + 1004 442 1005 442 1006 442 1007 442 @@ -5863,6 +11957,13 @@ ny= 1536 1009 442 1010 442 1011 442 + 1012 442 + 1013 442 + 1014 442 + 1121 442 + 1122 442 + 1123 442 + 1124 442 1125 442 1126 442 1127 442 @@ -5870,6 +11971,13 @@ ny= 1536 1129 442 1130 442 1131 442 + 1132 442 + 1133 442 + 1134 442 + 1769 442 + 1770 442 + 1771 442 + 1772 442 1773 442 1774 442 1775 442 @@ -5877,6 +11985,13 @@ ny= 1536 1777 442 1778 442 1779 442 + 1780 442 + 1781 442 + 1782 442 + 1889 442 + 1890 442 + 1891 442 + 1892 442 1893 442 1894 442 1895 442 @@ -5884,6 +11999,13 @@ ny= 1536 1897 442 1898 442 1899 442 + 1900 442 + 1901 442 + 1902 442 + 2537 442 + 2538 442 + 2539 442 + 2540 442 2541 442 2542 442 2543 442 @@ -5891,6 +12013,13 @@ ny= 1536 2545 442 2546 442 2547 442 + 2548 442 + 2549 442 + 2550 442 + 2657 442 + 2658 442 + 2659 442 + 2660 442 2661 442 2662 442 2663 442 @@ -5898,12 +12027,26 @@ ny= 1536 2665 442 2666 442 2667 442 + 2668 442 + 2669 442 + 2670 442 + 236 443 + 237 443 + 238 443 + 239 443 240 443 241 443 242 443 243 443 244 443 245 443 + 246 443 + 247 443 + 248 443 + 249 443 + 351 443 + 352 443 + 353 443 354 443 355 443 356 443 @@ -5911,12 +12054,27 @@ ny= 1536 358 443 359 443 360 443 + 361 443 + 362 443 + 363 443 + 364 443 + 1004 443 + 1005 443 + 1006 443 + 1007 443 1008 443 1009 443 1010 443 1011 443 1012 443 1013 443 + 1014 443 + 1015 443 + 1016 443 + 1017 443 + 1119 443 + 1120 443 + 1121 443 1122 443 1123 443 1124 443 @@ -5924,12 +12082,27 @@ ny= 1536 1126 443 1127 443 1128 443 + 1129 443 + 1130 443 + 1131 443 + 1132 443 + 1772 443 + 1773 443 + 1774 443 + 1775 443 1776 443 1777 443 1778 443 1779 443 1780 443 1781 443 + 1782 443 + 1783 443 + 1784 443 + 1785 443 + 1887 443 + 1888 443 + 1889 443 1890 443 1891 443 1892 443 @@ -5937,12 +12110,27 @@ ny= 1536 1894 443 1895 443 1896 443 + 1897 443 + 1898 443 + 1899 443 + 1900 443 + 2540 443 + 2541 443 + 2542 443 + 2543 443 2544 443 2545 443 2546 443 2547 443 2548 443 2549 443 + 2550 443 + 2551 443 + 2552 443 + 2553 443 + 2655 443 + 2656 443 + 2657 443 2658 443 2659 443 2660 443 @@ -5950,6 +12138,13 @@ ny= 1536 2662 443 2663 443 2664 443 + 2665 443 + 2666 443 + 2667 443 + 2668 443 + 239 444 + 240 444 + 241 444 242 444 243 444 244 444 @@ -5957,12 +12152,26 @@ ny= 1536 246 444 247 444 248 444 + 249 444 + 250 444 + 251 444 + 348 444 + 349 444 + 350 444 + 351 444 352 444 353 444 354 444 355 444 356 444 357 444 + 358 444 + 359 444 + 360 444 + 361 444 + 1007 444 + 1008 444 + 1009 444 1010 444 1011 444 1012 444 @@ -5970,12 +12179,26 @@ ny= 1536 1014 444 1015 444 1016 444 + 1017 444 + 1018 444 + 1019 444 + 1116 444 + 1117 444 + 1118 444 + 1119 444 1120 444 1121 444 1122 444 1123 444 1124 444 1125 444 + 1126 444 + 1127 444 + 1128 444 + 1129 444 + 1775 444 + 1776 444 + 1777 444 1778 444 1779 444 1780 444 @@ -5983,12 +12206,26 @@ ny= 1536 1782 444 1783 444 1784 444 + 1785 444 + 1786 444 + 1787 444 + 1884 444 + 1885 444 + 1886 444 + 1887 444 1888 444 1889 444 1890 444 1891 444 1892 444 1893 444 + 1894 444 + 1895 444 + 1896 444 + 1897 444 + 2543 444 + 2544 444 + 2545 444 2546 444 2547 444 2548 444 @@ -5996,12 +12233,26 @@ ny= 1536 2550 444 2551 444 2552 444 + 2553 444 + 2554 444 + 2555 444 + 2652 444 + 2653 444 + 2654 444 + 2655 444 2656 444 2657 444 2658 444 2659 444 2660 444 2661 444 + 2662 444 + 2663 444 + 2664 444 + 2665 444 + 241 445 + 242 445 + 243 445 244 445 245 445 246 445 @@ -6009,6 +12260,14 @@ ny= 1536 248 445 249 445 250 445 + 251 445 + 252 445 + 253 445 + 254 445 + 345 445 + 346 445 + 347 445 + 348 445 349 445 350 445 351 445 @@ -6016,6 +12275,12 @@ ny= 1536 353 445 354 445 355 445 + 356 445 + 357 445 + 358 445 + 1009 445 + 1010 445 + 1011 445 1012 445 1013 445 1014 445 @@ -6023,6 +12288,14 @@ ny= 1536 1016 445 1017 445 1018 445 + 1019 445 + 1020 445 + 1021 445 + 1022 445 + 1113 445 + 1114 445 + 1115 445 + 1116 445 1117 445 1118 445 1119 445 @@ -6030,6 +12303,12 @@ ny= 1536 1121 445 1122 445 1123 445 + 1124 445 + 1125 445 + 1126 445 + 1777 445 + 1778 445 + 1779 445 1780 445 1781 445 1782 445 @@ -6037,6 +12316,14 @@ ny= 1536 1784 445 1785 445 1786 445 + 1787 445 + 1788 445 + 1789 445 + 1790 445 + 1881 445 + 1882 445 + 1883 445 + 1884 445 1885 445 1886 445 1887 445 @@ -6044,6 +12331,12 @@ ny= 1536 1889 445 1890 445 1891 445 + 1892 445 + 1893 445 + 1894 445 + 2545 445 + 2546 445 + 2547 445 2548 445 2549 445 2550 445 @@ -6051,6 +12344,14 @@ ny= 1536 2552 445 2553 445 2554 445 + 2555 445 + 2556 445 + 2557 445 + 2558 445 + 2649 445 + 2650 445 + 2651 445 + 2652 445 2653 445 2654 445 2655 445 @@ -6058,6 +12359,13 @@ ny= 1536 2657 445 2658 445 2659 445 + 2660 445 + 2661 445 + 2662 445 + 243 446 + 244 446 + 245 446 + 246 446 247 446 248 446 249 446 @@ -6065,6 +12373,12 @@ ny= 1536 251 446 252 446 253 446 + 254 446 + 255 446 + 256 446 + 343 446 + 344 446 + 345 446 346 446 347 446 348 446 @@ -6072,6 +12386,14 @@ ny= 1536 350 446 351 446 352 446 + 353 446 + 354 446 + 355 446 + 356 446 + 1011 446 + 1012 446 + 1013 446 + 1014 446 1015 446 1016 446 1017 446 @@ -6079,6 +12401,12 @@ ny= 1536 1019 446 1020 446 1021 446 + 1022 446 + 1023 446 + 1024 446 + 1111 446 + 1112 446 + 1113 446 1114 446 1115 446 1116 446 @@ -6086,6 +12414,14 @@ ny= 1536 1118 446 1119 446 1120 446 + 1121 446 + 1122 446 + 1123 446 + 1124 446 + 1779 446 + 1780 446 + 1781 446 + 1782 446 1783 446 1784 446 1785 446 @@ -6093,6 +12429,12 @@ ny= 1536 1787 446 1788 446 1789 446 + 1790 446 + 1791 446 + 1792 446 + 1879 446 + 1880 446 + 1881 446 1882 446 1883 446 1884 446 @@ -6100,6 +12442,14 @@ ny= 1536 1886 446 1887 446 1888 446 + 1889 446 + 1890 446 + 1891 446 + 1892 446 + 2547 446 + 2548 446 + 2549 446 + 2550 446 2551 446 2552 446 2553 446 @@ -6107,6 +12457,12 @@ ny= 1536 2555 446 2556 446 2557 446 + 2558 446 + 2559 446 + 2560 446 + 2647 446 + 2648 446 + 2649 446 2650 446 2651 446 2652 446 @@ -6114,12 +12470,28 @@ ny= 1536 2654 446 2655 446 2656 446 + 2657 446 + 2658 446 + 2659 446 + 2660 446 + 246 447 + 247 447 + 248 447 + 249 447 250 447 251 447 252 447 253 447 254 447 255 447 + 256 447 + 257 447 + 258 447 + 259 447 + 340 447 + 341 447 + 342 447 + 343 447 344 447 345 447 346 447 @@ -6127,12 +12499,27 @@ ny= 1536 348 447 349 447 350 447 + 351 447 + 352 447 + 353 447 + 1014 447 + 1015 447 + 1016 447 + 1017 447 1018 447 1019 447 1020 447 1021 447 1022 447 1023 447 + 1024 447 + 1025 447 + 1026 447 + 1027 447 + 1108 447 + 1109 447 + 1110 447 + 1111 447 1112 447 1113 447 1114 447 @@ -6140,12 +12527,27 @@ ny= 1536 1116 447 1117 447 1118 447 + 1119 447 + 1120 447 + 1121 447 + 1782 447 + 1783 447 + 1784 447 + 1785 447 1786 447 1787 447 1788 447 1789 447 1790 447 1791 447 + 1792 447 + 1793 447 + 1794 447 + 1795 447 + 1876 447 + 1877 447 + 1878 447 + 1879 447 1880 447 1881 447 1882 447 @@ -6153,12 +12555,27 @@ ny= 1536 1884 447 1885 447 1886 447 + 1887 447 + 1888 447 + 1889 447 + 2550 447 + 2551 447 + 2552 447 + 2553 447 2554 447 2555 447 2556 447 2557 447 2558 447 2559 447 + 2560 447 + 2561 447 + 2562 447 + 2563 447 + 2644 447 + 2645 447 + 2646 447 + 2647 447 2648 447 2649 447 2650 447 @@ -6166,6 +12583,12 @@ ny= 1536 2652 447 2653 447 2654 447 + 2655 447 + 2656 447 + 2657 447 + 249 448 + 250 448 + 251 448 252 448 253 448 254 448 @@ -6173,6 +12596,12 @@ ny= 1536 256 448 257 448 258 448 + 259 448 + 260 448 + 261 448 + 338 448 + 339 448 + 340 448 341 448 342 448 343 448 @@ -6180,6 +12609,13 @@ ny= 1536 345 448 346 448 347 448 + 348 448 + 349 448 + 350 448 + 351 448 + 1017 448 + 1018 448 + 1019 448 1020 448 1021 448 1022 448 @@ -6187,6 +12623,12 @@ ny= 1536 1024 448 1025 448 1026 448 + 1027 448 + 1028 448 + 1029 448 + 1106 448 + 1107 448 + 1108 448 1109 448 1110 448 1111 448 @@ -6194,6 +12636,13 @@ ny= 1536 1113 448 1114 448 1115 448 + 1116 448 + 1117 448 + 1118 448 + 1119 448 + 1785 448 + 1786 448 + 1787 448 1788 448 1789 448 1790 448 @@ -6201,6 +12650,12 @@ ny= 1536 1792 448 1793 448 1794 448 + 1795 448 + 1796 448 + 1797 448 + 1874 448 + 1875 448 + 1876 448 1877 448 1878 448 1879 448 @@ -6208,6 +12663,13 @@ ny= 1536 1881 448 1882 448 1883 448 + 1884 448 + 1885 448 + 1886 448 + 1887 448 + 2553 448 + 2554 448 + 2555 448 2556 448 2557 448 2558 448 @@ -6215,6 +12677,12 @@ ny= 1536 2560 448 2561 448 2562 448 + 2563 448 + 2564 448 + 2565 448 + 2642 448 + 2643 448 + 2644 448 2645 448 2646 448 2647 448 @@ -6222,12 +12690,27 @@ ny= 1536 2649 448 2650 448 2651 448 + 2652 448 + 2653 448 + 2654 448 + 2655 448 + 251 449 + 252 449 + 253 449 + 254 449 255 449 256 449 257 449 258 449 259 449 260 449 + 261 449 + 262 449 + 263 449 + 264 449 + 336 449 + 337 449 + 338 449 339 449 340 449 341 449 @@ -6235,12 +12718,26 @@ ny= 1536 343 449 344 449 345 449 + 346 449 + 347 449 + 348 449 + 1019 449 + 1020 449 + 1021 449 + 1022 449 1023 449 1024 449 1025 449 1026 449 1027 449 1028 449 + 1029 449 + 1030 449 + 1031 449 + 1032 449 + 1104 449 + 1105 449 + 1106 449 1107 449 1108 449 1109 449 @@ -6248,12 +12745,26 @@ ny= 1536 1111 449 1112 449 1113 449 + 1114 449 + 1115 449 + 1116 449 + 1787 449 + 1788 449 + 1789 449 + 1790 449 1791 449 1792 449 1793 449 1794 449 1795 449 1796 449 + 1797 449 + 1798 449 + 1799 449 + 1800 449 + 1872 449 + 1873 449 + 1874 449 1875 449 1876 449 1877 449 @@ -6261,12 +12772,26 @@ ny= 1536 1879 449 1880 449 1881 449 + 1882 449 + 1883 449 + 1884 449 + 2555 449 + 2556 449 + 2557 449 + 2558 449 2559 449 2560 449 2561 449 2562 449 2563 449 2564 449 + 2565 449 + 2566 449 + 2567 449 + 2568 449 + 2640 449 + 2641 449 + 2642 449 2643 449 2644 449 2645 449 @@ -6274,6 +12799,12 @@ ny= 1536 2647 449 2648 449 2649 449 + 2650 449 + 2651 449 + 2652 449 + 254 450 + 255 450 + 256 450 257 450 258 450 259 450 @@ -6281,12 +12812,26 @@ ny= 1536 261 450 262 450 263 450 + 264 450 + 265 450 + 266 450 + 333 450 + 334 450 + 335 450 + 336 450 337 450 338 450 339 450 340 450 341 450 342 450 + 343 450 + 344 450 + 345 450 + 346 450 + 1022 450 + 1023 450 + 1024 450 1025 450 1026 450 1027 450 @@ -6294,12 +12839,26 @@ ny= 1536 1029 450 1030 450 1031 450 + 1032 450 + 1033 450 + 1034 450 + 1101 450 + 1102 450 + 1103 450 + 1104 450 1105 450 1106 450 1107 450 1108 450 1109 450 1110 450 + 1111 450 + 1112 450 + 1113 450 + 1114 450 + 1790 450 + 1791 450 + 1792 450 1793 450 1794 450 1795 450 @@ -6307,12 +12866,26 @@ ny= 1536 1797 450 1798 450 1799 450 + 1800 450 + 1801 450 + 1802 450 + 1869 450 + 1870 450 + 1871 450 + 1872 450 1873 450 1874 450 1875 450 1876 450 1877 450 1878 450 + 1879 450 + 1880 450 + 1881 450 + 1882 450 + 2558 450 + 2559 450 + 2560 450 2561 450 2562 450 2563 450 @@ -6320,12 +12893,26 @@ ny= 1536 2565 450 2566 450 2567 450 + 2568 450 + 2569 450 + 2570 450 + 2637 450 + 2638 450 + 2639 450 + 2640 450 2641 450 2642 450 2643 450 2644 450 2645 450 2646 450 + 2647 450 + 2648 450 + 2649 450 + 2650 450 + 256 451 + 257 451 + 258 451 259 451 260 451 261 451 @@ -6333,6 +12920,12 @@ ny= 1536 263 451 264 451 265 451 + 266 451 + 267 451 + 268 451 + 331 451 + 332 451 + 333 451 334 451 335 451 336 451 @@ -6340,6 +12933,12 @@ ny= 1536 338 451 339 451 340 451 + 341 451 + 342 451 + 343 451 + 1024 451 + 1025 451 + 1026 451 1027 451 1028 451 1029 451 @@ -6347,6 +12946,12 @@ ny= 1536 1031 451 1032 451 1033 451 + 1034 451 + 1035 451 + 1036 451 + 1099 451 + 1100 451 + 1101 451 1102 451 1103 451 1104 451 @@ -6354,6 +12959,12 @@ ny= 1536 1106 451 1107 451 1108 451 + 1109 451 + 1110 451 + 1111 451 + 1792 451 + 1793 451 + 1794 451 1795 451 1796 451 1797 451 @@ -6361,6 +12972,12 @@ ny= 1536 1799 451 1800 451 1801 451 + 1802 451 + 1803 451 + 1804 451 + 1867 451 + 1868 451 + 1869 451 1870 451 1871 451 1872 451 @@ -6368,6 +12985,12 @@ ny= 1536 1874 451 1875 451 1876 451 + 1877 451 + 1878 451 + 1879 451 + 2560 451 + 2561 451 + 2562 451 2563 451 2564 451 2565 451 @@ -6375,6 +12998,12 @@ ny= 1536 2567 451 2568 451 2569 451 + 2570 451 + 2571 451 + 2572 451 + 2635 451 + 2636 451 + 2637 451 2638 451 2639 451 2640 451 @@ -6382,60 +13011,137 @@ ny= 1536 2642 451 2643 451 2644 451 + 2645 451 + 2646 451 + 2647 451 + 258 452 + 259 452 + 260 452 + 261 452 262 452 263 452 264 452 265 452 266 452 267 452 + 268 452 + 269 452 + 270 452 + 271 452 + 328 452 + 329 452 + 330 452 + 331 452 332 452 333 452 334 452 335 452 336 452 337 452 + 338 452 + 339 452 + 340 452 + 341 452 + 1026 452 + 1027 452 + 1028 452 + 1029 452 1030 452 1031 452 1032 452 1033 452 1034 452 1035 452 + 1036 452 + 1037 452 + 1038 452 + 1039 452 + 1096 452 + 1097 452 + 1098 452 + 1099 452 1100 452 1101 452 1102 452 1103 452 1104 452 1105 452 + 1106 452 + 1107 452 + 1108 452 + 1109 452 + 1794 452 + 1795 452 + 1796 452 + 1797 452 1798 452 1799 452 1800 452 1801 452 1802 452 1803 452 + 1804 452 + 1805 452 + 1806 452 + 1807 452 + 1864 452 + 1865 452 + 1866 452 + 1867 452 1868 452 1869 452 1870 452 1871 452 1872 452 1873 452 + 1874 452 + 1875 452 + 1876 452 + 1877 452 + 2562 452 + 2563 452 + 2564 452 + 2565 452 2566 452 2567 452 2568 452 2569 452 2570 452 2571 452 + 2572 452 + 2573 452 + 2574 452 + 2575 452 + 2632 452 + 2633 452 + 2634 452 + 2635 452 2636 452 2637 452 2638 452 2639 452 2640 452 2641 452 + 2642 452 + 2643 452 + 2644 452 + 2645 452 + 261 453 + 262 453 + 263 453 + 264 453 265 453 266 453 267 453 268 453 269 453 270 453 + 271 453 + 272 453 + 273 453 + 326 453 + 327 453 + 328 453 329 453 330 453 331 453 @@ -6443,12 +13149,25 @@ ny= 1536 333 453 334 453 335 453 + 336 453 + 337 453 + 338 453 + 1029 453 + 1030 453 + 1031 453 + 1032 453 1033 453 1034 453 1035 453 1036 453 1037 453 1038 453 + 1039 453 + 1040 453 + 1041 453 + 1094 453 + 1095 453 + 1096 453 1097 453 1098 453 1099 453 @@ -6456,12 +13175,25 @@ ny= 1536 1101 453 1102 453 1103 453 + 1104 453 + 1105 453 + 1106 453 + 1797 453 + 1798 453 + 1799 453 + 1800 453 1801 453 1802 453 1803 453 1804 453 1805 453 1806 453 + 1807 453 + 1808 453 + 1809 453 + 1862 453 + 1863 453 + 1864 453 1865 453 1866 453 1867 453 @@ -6469,12 +13201,25 @@ ny= 1536 1869 453 1870 453 1871 453 + 1872 453 + 1873 453 + 1874 453 + 2565 453 + 2566 453 + 2567 453 + 2568 453 2569 453 2570 453 2571 453 2572 453 2573 453 2574 453 + 2575 453 + 2576 453 + 2577 453 + 2630 453 + 2631 453 + 2632 453 2633 453 2634 453 2635 453 @@ -6482,108 +13227,229 @@ ny= 1536 2637 453 2638 453 2639 453 + 2640 453 + 2641 453 + 2642 453 + 264 454 + 265 454 + 266 454 267 454 268 454 269 454 270 454 271 454 272 454 + 273 454 + 274 454 + 275 454 + 324 454 + 325 454 + 326 454 327 454 328 454 329 454 330 454 331 454 332 454 + 333 454 + 334 454 + 335 454 + 336 454 + 1032 454 + 1033 454 + 1034 454 1035 454 1036 454 1037 454 1038 454 1039 454 1040 454 + 1041 454 + 1042 454 + 1043 454 + 1092 454 + 1093 454 + 1094 454 1095 454 1096 454 1097 454 1098 454 1099 454 1100 454 + 1101 454 + 1102 454 + 1103 454 + 1104 454 + 1800 454 + 1801 454 + 1802 454 1803 454 1804 454 1805 454 1806 454 1807 454 1808 454 + 1809 454 + 1810 454 + 1811 454 + 1860 454 + 1861 454 + 1862 454 1863 454 1864 454 1865 454 1866 454 1867 454 1868 454 + 1869 454 + 1870 454 + 1871 454 + 1872 454 + 2568 454 + 2569 454 + 2570 454 2571 454 2572 454 2573 454 2574 454 2575 454 2576 454 + 2577 454 + 2578 454 + 2579 454 + 2628 454 + 2629 454 + 2630 454 2631 454 2632 454 2633 454 2634 454 2635 454 2636 454 + 2637 454 + 2638 454 + 2639 454 + 2640 454 + 266 455 + 267 455 + 268 455 269 455 270 455 271 455 272 455 273 455 274 455 + 275 455 + 276 455 + 277 455 + 278 455 + 321 455 + 322 455 + 323 455 + 324 455 325 455 326 455 327 455 328 455 329 455 330 455 + 331 455 + 332 455 + 333 455 + 1034 455 + 1035 455 + 1036 455 1037 455 1038 455 1039 455 1040 455 1041 455 1042 455 + 1043 455 + 1044 455 + 1045 455 + 1046 455 + 1089 455 + 1090 455 + 1091 455 + 1092 455 1093 455 1094 455 1095 455 1096 455 1097 455 1098 455 + 1099 455 + 1100 455 + 1101 455 + 1802 455 + 1803 455 + 1804 455 1805 455 1806 455 1807 455 1808 455 1809 455 1810 455 + 1811 455 + 1812 455 + 1813 455 + 1814 455 + 1857 455 + 1858 455 + 1859 455 + 1860 455 1861 455 1862 455 1863 455 1864 455 1865 455 1866 455 + 1867 455 + 1868 455 + 1869 455 + 2570 455 + 2571 455 + 2572 455 2573 455 2574 455 2575 455 2576 455 2577 455 2578 455 + 2579 455 + 2580 455 + 2581 455 + 2582 455 + 2625 455 + 2626 455 + 2627 455 + 2628 455 2629 455 2630 455 2631 455 2632 455 2633 455 2634 455 + 2635 455 + 2636 455 + 2637 455 + 268 456 + 269 456 + 270 456 + 271 456 272 456 273 456 274 456 275 456 276 456 277 456 + 278 456 + 279 456 + 280 456 + 319 456 + 320 456 + 321 456 322 456 323 456 324 456 @@ -6591,12 +13457,25 @@ ny= 1536 326 456 327 456 328 456 + 329 456 + 330 456 + 331 456 + 1036 456 + 1037 456 + 1038 456 + 1039 456 1040 456 1041 456 1042 456 1043 456 1044 456 1045 456 + 1046 456 + 1047 456 + 1048 456 + 1087 456 + 1088 456 + 1089 456 1090 456 1091 456 1092 456 @@ -6604,12 +13483,25 @@ ny= 1536 1094 456 1095 456 1096 456 + 1097 456 + 1098 456 + 1099 456 + 1804 456 + 1805 456 + 1806 456 + 1807 456 1808 456 1809 456 1810 456 1811 456 1812 456 1813 456 + 1814 456 + 1815 456 + 1816 456 + 1855 456 + 1856 456 + 1857 456 1858 456 1859 456 1860 456 @@ -6617,12 +13509,25 @@ ny= 1536 1862 456 1863 456 1864 456 + 1865 456 + 1866 456 + 1867 456 + 2572 456 + 2573 456 + 2574 456 + 2575 456 2576 456 2577 456 2578 456 2579 456 2580 456 2581 456 + 2582 456 + 2583 456 + 2584 456 + 2623 456 + 2624 456 + 2625 456 2626 456 2627 456 2628 456 @@ -6630,12 +13535,24 @@ ny= 1536 2630 456 2631 456 2632 456 + 2633 456 + 2634 456 + 2635 456 + 271 457 + 272 457 + 273 457 274 457 275 457 276 457 277 457 278 457 279 457 + 280 457 + 281 457 + 282 457 + 317 457 + 318 457 + 319 457 320 457 321 457 322 457 @@ -6643,12 +13560,24 @@ ny= 1536 324 457 325 457 326 457 + 327 457 + 328 457 + 329 457 + 1039 457 + 1040 457 + 1041 457 1042 457 1043 457 1044 457 1045 457 1046 457 1047 457 + 1048 457 + 1049 457 + 1050 457 + 1085 457 + 1086 457 + 1087 457 1088 457 1089 457 1090 457 @@ -6656,12 +13585,24 @@ ny= 1536 1092 457 1093 457 1094 457 + 1095 457 + 1096 457 + 1097 457 + 1807 457 + 1808 457 + 1809 457 1810 457 1811 457 1812 457 1813 457 1814 457 1815 457 + 1816 457 + 1817 457 + 1818 457 + 1853 457 + 1854 457 + 1855 457 1856 457 1857 457 1858 457 @@ -6669,12 +13610,24 @@ ny= 1536 1860 457 1861 457 1862 457 + 1863 457 + 1864 457 + 1865 457 + 2575 457 + 2576 457 + 2577 457 2578 457 2579 457 2580 457 2581 457 2582 457 2583 457 + 2584 457 + 2585 457 + 2586 457 + 2621 457 + 2622 457 + 2623 457 2624 457 2625 457 2626 457 @@ -6682,108 +13635,232 @@ ny= 1536 2628 457 2629 457 2630 457 + 2631 457 + 2632 457 + 2633 457 + 273 458 + 274 458 + 275 458 276 458 277 458 278 458 279 458 280 458 281 458 + 282 458 + 283 458 + 284 458 + 285 458 + 315 458 + 316 458 + 317 458 318 458 319 458 320 458 321 458 322 458 323 458 + 324 458 + 325 458 + 326 458 + 327 458 + 1041 458 + 1042 458 + 1043 458 1044 458 1045 458 1046 458 1047 458 1048 458 1049 458 + 1050 458 + 1051 458 + 1052 458 + 1053 458 + 1083 458 + 1084 458 + 1085 458 1086 458 1087 458 1088 458 1089 458 1090 458 1091 458 + 1092 458 + 1093 458 + 1094 458 + 1095 458 + 1809 458 + 1810 458 + 1811 458 1812 458 1813 458 1814 458 1815 458 1816 458 1817 458 + 1818 458 + 1819 458 + 1820 458 + 1821 458 + 1851 458 + 1852 458 + 1853 458 1854 458 1855 458 1856 458 1857 458 1858 458 1859 458 + 1860 458 + 1861 458 + 1862 458 + 1863 458 + 2577 458 + 2578 458 + 2579 458 2580 458 2581 458 2582 458 2583 458 2584 458 2585 458 + 2586 458 + 2587 458 + 2588 458 + 2589 458 + 2619 458 + 2620 458 + 2621 458 2622 458 2623 458 2624 458 2625 458 2626 458 2627 458 + 2628 458 + 2629 458 + 2630 458 + 2631 458 + 275 459 + 276 459 + 277 459 + 278 459 279 459 280 459 281 459 282 459 283 459 284 459 + 285 459 + 286 459 + 287 459 + 312 459 + 313 459 + 314 459 + 315 459 316 459 317 459 318 459 319 459 320 459 321 459 + 322 459 + 323 459 + 324 459 + 1043 459 + 1044 459 + 1045 459 + 1046 459 1047 459 1048 459 1049 459 1050 459 1051 459 1052 459 + 1053 459 + 1054 459 + 1055 459 + 1080 459 + 1081 459 + 1082 459 + 1083 459 1084 459 1085 459 1086 459 1087 459 1088 459 1089 459 + 1090 459 + 1091 459 + 1092 459 + 1811 459 + 1812 459 + 1813 459 + 1814 459 1815 459 1816 459 1817 459 1818 459 1819 459 1820 459 + 1821 459 + 1822 459 + 1823 459 + 1848 459 + 1849 459 + 1850 459 + 1851 459 1852 459 1853 459 1854 459 1855 459 1856 459 1857 459 + 1858 459 + 1859 459 + 1860 459 + 2579 459 + 2580 459 + 2581 459 + 2582 459 2583 459 2584 459 2585 459 2586 459 2587 459 2588 459 + 2589 459 + 2590 459 + 2591 459 + 2616 459 + 2617 459 + 2618 459 + 2619 459 2620 459 2621 459 2622 459 2623 459 2624 459 2625 459 + 2626 459 + 2627 459 + 2628 459 + 278 460 + 279 460 + 280 460 281 460 282 460 283 460 284 460 285 460 286 460 + 287 460 + 288 460 + 289 460 + 310 460 + 311 460 + 312 460 313 460 314 460 315 460 @@ -6791,12 +13868,24 @@ ny= 1536 317 460 318 460 319 460 + 320 460 + 321 460 + 322 460 + 1046 460 + 1047 460 + 1048 460 1049 460 1050 460 1051 460 1052 460 1053 460 1054 460 + 1055 460 + 1056 460 + 1057 460 + 1078 460 + 1079 460 + 1080 460 1081 460 1082 460 1083 460 @@ -6804,12 +13893,24 @@ ny= 1536 1085 460 1086 460 1087 460 + 1088 460 + 1089 460 + 1090 460 + 1814 460 + 1815 460 + 1816 460 1817 460 1818 460 1819 460 1820 460 1821 460 1822 460 + 1823 460 + 1824 460 + 1825 460 + 1846 460 + 1847 460 + 1848 460 1849 460 1850 460 1851 460 @@ -6817,12 +13918,24 @@ ny= 1536 1853 460 1854 460 1855 460 + 1856 460 + 1857 460 + 1858 460 + 2582 460 + 2583 460 + 2584 460 2585 460 2586 460 2587 460 2588 460 2589 460 2590 460 + 2591 460 + 2592 460 + 2593 460 + 2614 460 + 2615 460 + 2616 460 2617 460 2618 460 2619 460 @@ -6830,102 +13943,212 @@ ny= 1536 2621 460 2622 460 2623 460 + 2624 460 + 2625 460 + 2626 460 + 280 461 + 281 461 + 282 461 283 461 284 461 285 461 286 461 287 461 288 461 + 289 461 + 290 461 + 291 461 + 308 461 + 309 461 + 310 461 311 461 312 461 313 461 314 461 315 461 316 461 + 317 461 + 318 461 + 319 461 + 320 461 + 1048 461 + 1049 461 + 1050 461 1051 461 1052 461 1053 461 1054 461 1055 461 1056 461 + 1057 461 + 1058 461 + 1059 461 + 1076 461 + 1077 461 + 1078 461 1079 461 1080 461 1081 461 1082 461 1083 461 1084 461 + 1085 461 + 1086 461 + 1087 461 + 1088 461 + 1816 461 + 1817 461 + 1818 461 1819 461 1820 461 1821 461 1822 461 1823 461 1824 461 + 1825 461 + 1826 461 + 1827 461 + 1844 461 + 1845 461 + 1846 461 1847 461 1848 461 1849 461 1850 461 1851 461 1852 461 + 1853 461 + 1854 461 + 1855 461 + 1856 461 + 2584 461 + 2585 461 + 2586 461 2587 461 2588 461 2589 461 2590 461 2591 461 2592 461 + 2593 461 + 2594 461 + 2595 461 + 2612 461 + 2613 461 + 2614 461 2615 461 2616 461 2617 461 2618 461 2619 461 2620 461 + 2621 461 + 2622 461 + 2623 461 + 2624 461 + 282 462 + 283 462 + 284 462 285 462 286 462 287 462 288 462 289 462 290 462 + 291 462 + 292 462 + 293 462 + 294 462 + 306 462 + 307 462 + 308 462 309 462 310 462 311 462 312 462 313 462 314 462 + 315 462 + 316 462 + 317 462 + 1050 462 + 1051 462 + 1052 462 1053 462 1054 462 1055 462 1056 462 1057 462 1058 462 + 1059 462 + 1060 462 + 1061 462 + 1062 462 + 1074 462 + 1075 462 + 1076 462 1077 462 1078 462 1079 462 1080 462 1081 462 1082 462 + 1083 462 + 1084 462 + 1085 462 + 1818 462 + 1819 462 + 1820 462 1821 462 1822 462 1823 462 1824 462 1825 462 1826 462 + 1827 462 + 1828 462 + 1829 462 + 1830 462 + 1842 462 + 1843 462 + 1844 462 1845 462 1846 462 1847 462 1848 462 1849 462 1850 462 + 1851 462 + 1852 462 + 1853 462 + 2586 462 + 2587 462 + 2588 462 2589 462 2590 462 2591 462 2592 462 2593 462 2594 462 + 2595 462 + 2596 462 + 2597 462 + 2598 462 + 2610 462 + 2611 462 + 2612 462 2613 462 2614 462 2615 462 2616 462 2617 462 2618 462 + 2619 462 + 2620 462 + 2621 462 + 284 463 + 285 463 + 286 463 287 463 288 463 289 463 @@ -6933,12 +14156,24 @@ ny= 1536 291 463 292 463 293 463 + 294 463 + 295 463 + 296 463 + 304 463 + 305 463 + 306 463 307 463 308 463 309 463 310 463 311 463 312 463 + 313 463 + 314 463 + 315 463 + 1052 463 + 1053 463 + 1054 463 1055 463 1056 463 1057 463 @@ -6946,12 +14181,24 @@ ny= 1536 1059 463 1060 463 1061 463 + 1062 463 + 1063 463 + 1064 463 + 1072 463 + 1073 463 + 1074 463 1075 463 1076 463 1077 463 1078 463 1079 463 1080 463 + 1081 463 + 1082 463 + 1083 463 + 1820 463 + 1821 463 + 1822 463 1823 463 1824 463 1825 463 @@ -6959,12 +14206,24 @@ ny= 1536 1827 463 1828 463 1829 463 + 1830 463 + 1831 463 + 1832 463 + 1840 463 + 1841 463 + 1842 463 1843 463 1844 463 1845 463 1846 463 1847 463 1848 463 + 1849 463 + 1850 463 + 1851 463 + 2588 463 + 2589 463 + 2590 463 2591 463 2592 463 2593 463 @@ -6972,104 +14231,216 @@ ny= 1536 2595 463 2596 463 2597 463 + 2598 463 + 2599 463 + 2600 463 + 2608 463 + 2609 463 + 2610 463 2611 463 2612 463 2613 463 2614 463 2615 463 2616 463 + 2617 463 + 2618 463 + 2619 463 + 286 464 + 287 464 + 288 464 + 289 464 290 464 291 464 292 464 293 464 294 464 295 464 + 296 464 + 297 464 + 298 464 + 302 464 + 303 464 + 304 464 305 464 306 464 307 464 308 464 309 464 310 464 + 311 464 + 312 464 + 313 464 + 1054 464 + 1055 464 + 1056 464 + 1057 464 1058 464 1059 464 1060 464 1061 464 1062 464 1063 464 + 1064 464 + 1065 464 + 1066 464 + 1070 464 + 1071 464 + 1072 464 1073 464 1074 464 1075 464 1076 464 1077 464 1078 464 + 1079 464 + 1080 464 + 1081 464 + 1822 464 + 1823 464 + 1824 464 + 1825 464 1826 464 1827 464 1828 464 1829 464 1830 464 1831 464 + 1832 464 + 1833 464 + 1834 464 + 1838 464 + 1839 464 + 1840 464 1841 464 1842 464 1843 464 1844 464 1845 464 1846 464 + 1847 464 + 1848 464 + 1849 464 + 2590 464 + 2591 464 + 2592 464 + 2593 464 2594 464 2595 464 2596 464 2597 464 2598 464 2599 464 + 2600 464 + 2601 464 + 2602 464 + 2606 464 + 2607 464 + 2608 464 2609 464 2610 464 2611 464 2612 464 2613 464 2614 464 + 2615 464 + 2616 464 + 2617 464 + 289 465 + 290 465 + 291 465 292 465 293 465 294 465 295 465 296 465 297 465 + 298 465 + 299 465 + 300 465 + 301 465 + 302 465 303 465 304 465 305 465 306 465 307 465 + 308 465 + 309 465 + 310 465 + 311 465 + 1057 465 + 1058 465 + 1059 465 1060 465 1061 465 1062 465 1063 465 1064 465 1065 465 + 1066 465 + 1067 465 + 1068 465 + 1069 465 + 1070 465 1071 465 1072 465 1073 465 1074 465 1075 465 + 1076 465 + 1077 465 + 1078 465 + 1079 465 + 1825 465 + 1826 465 + 1827 465 1828 465 1829 465 1830 465 1831 465 1832 465 1833 465 + 1834 465 + 1835 465 + 1836 465 + 1837 465 + 1838 465 1839 465 1840 465 1841 465 1842 465 1843 465 + 1844 465 + 1845 465 + 1846 465 + 1847 465 + 2593 465 + 2594 465 + 2595 465 2596 465 2597 465 2598 465 2599 465 2600 465 2601 465 + 2602 465 + 2603 465 + 2604 465 + 2605 465 + 2606 465 2607 465 2608 465 2609 465 2610 465 2611 465 + 2612 465 + 2613 465 + 2614 465 + 2615 465 + 291 466 + 292 466 + 293 466 294 466 295 466 296 466 @@ -7082,6 +14453,12 @@ ny= 1536 303 466 304 466 305 466 + 306 466 + 307 466 + 308 466 + 1059 466 + 1060 466 + 1061 466 1062 466 1063 466 1064 466 @@ -7094,6 +14471,12 @@ ny= 1536 1071 466 1072 466 1073 466 + 1074 466 + 1075 466 + 1076 466 + 1827 466 + 1828 466 + 1829 466 1830 466 1831 466 1832 466 @@ -7106,6 +14489,12 @@ ny= 1536 1839 466 1840 466 1841 466 + 1842 466 + 1843 466 + 1844 466 + 2595 466 + 2596 466 + 2597 466 2598 466 2599 466 2600 466 @@ -7118,6 +14507,12 @@ ny= 1536 2607 466 2608 466 2609 466 + 2610 466 + 2611 466 + 2612 466 + 293 467 + 294 467 + 295 467 296 467 297 467 298 467 @@ -7126,6 +14521,12 @@ ny= 1536 301 467 302 467 303 467 + 304 467 + 305 467 + 306 467 + 1061 467 + 1062 467 + 1063 467 1064 467 1065 467 1066 467 @@ -7134,6 +14535,12 @@ ny= 1536 1069 467 1070 467 1071 467 + 1072 467 + 1073 467 + 1074 467 + 1829 467 + 1830 467 + 1831 467 1832 467 1833 467 1834 467 @@ -7142,6 +14549,12 @@ ny= 1536 1837 467 1838 467 1839 467 + 1840 467 + 1841 467 + 1842 467 + 2597 467 + 2598 467 + 2599 467 2600 467 2601 467 2602 467 @@ -7150,390 +14563,793 @@ ny= 1536 2605 467 2606 467 2607 467 + 2608 467 + 2609 467 + 2610 467 + 295 468 + 296 468 + 297 468 298 468 299 468 300 468 301 468 + 302 468 + 303 468 + 304 468 + 1063 468 + 1064 468 + 1065 468 1066 468 1067 468 1068 468 1069 468 + 1070 468 + 1071 468 + 1072 468 + 1831 468 + 1832 468 + 1833 468 1834 468 1835 468 1836 468 1837 468 + 1838 468 + 1839 468 + 1840 468 + 2599 468 + 2600 468 + 2601 468 2602 468 2603 468 2604 468 2605 468 + 2606 468 + 2607 468 + 2608 468 + 297 469 + 298 469 299 469 300 469 + 301 469 + 302 469 + 1065 469 + 1066 469 1067 469 1068 469 + 1069 469 + 1070 469 + 1833 469 + 1834 469 1835 469 1836 469 + 1837 469 + 1838 469 + 2601 469 + 2602 469 2603 469 2604 469 + 2605 469 + 2606 469 + 298 470 299 470 300 470 + 301 470 + 1066 470 1067 470 1068 470 + 1069 470 + 1834 470 1835 470 1836 470 + 1837 470 + 2602 470 2603 470 2604 470 + 2605 470 + 298 471 299 471 300 471 + 301 471 + 1066 471 1067 471 1068 471 + 1069 471 + 1834 471 1835 471 1836 471 + 1837 471 + 2602 471 2603 471 2604 471 + 2605 471 + 298 472 299 472 300 472 + 301 472 + 1066 472 1067 472 1068 472 + 1069 472 + 1834 472 1835 472 1836 472 + 1837 472 + 2602 472 2603 472 2604 472 + 2605 472 + 298 473 299 473 300 473 + 301 473 + 1066 473 1067 473 1068 473 + 1069 473 + 1834 473 1835 473 1836 473 + 1837 473 + 2602 473 2603 473 2604 473 + 2605 473 + 298 474 299 474 300 474 + 301 474 + 1066 474 1067 474 1068 474 + 1069 474 + 1834 474 1835 474 1836 474 + 1837 474 + 2602 474 2603 474 2604 474 + 2605 474 + 298 475 299 475 300 475 + 301 475 + 1066 475 1067 475 1068 475 + 1069 475 + 1834 475 1835 475 1836 475 + 1837 475 + 2602 475 2603 475 2604 475 + 2605 475 + 298 476 299 476 300 476 + 301 476 + 1066 476 1067 476 1068 476 + 1069 476 + 1834 476 1835 476 1836 476 + 1837 476 + 2602 476 2603 476 2604 476 + 2605 476 + 298 477 299 477 300 477 + 301 477 + 1066 477 1067 477 1068 477 + 1069 477 + 1834 477 1835 477 1836 477 + 1837 477 + 2602 477 2603 477 2604 477 + 2605 477 + 298 478 299 478 300 478 + 301 478 + 1066 478 1067 478 1068 478 + 1069 478 + 1834 478 1835 478 1836 478 + 1837 478 + 2602 478 2603 478 2604 478 + 2605 478 + 298 479 299 479 300 479 + 301 479 + 1066 479 1067 479 1068 479 + 1069 479 + 1834 479 1835 479 1836 479 + 1837 479 + 2602 479 2603 479 2604 479 + 2605 479 + 298 480 299 480 300 480 + 301 480 + 1066 480 1067 480 1068 480 + 1069 480 + 1834 480 1835 480 1836 480 + 1837 480 + 2602 480 2603 480 2604 480 + 2605 480 + 298 481 299 481 300 481 + 301 481 + 1066 481 1067 481 1068 481 + 1069 481 + 1834 481 1835 481 1836 481 + 1837 481 + 2602 481 2603 481 2604 481 + 2605 481 + 298 482 299 482 300 482 + 301 482 + 1066 482 1067 482 1068 482 + 1069 482 + 1834 482 1835 482 1836 482 + 1837 482 + 2602 482 2603 482 2604 482 + 2605 482 + 298 483 299 483 300 483 + 301 483 + 1066 483 1067 483 1068 483 + 1069 483 + 1834 483 1835 483 1836 483 + 1837 483 + 2602 483 2603 483 2604 483 + 2605 483 + 298 484 299 484 300 484 + 301 484 + 1066 484 1067 484 1068 484 + 1069 484 + 1834 484 1835 484 1836 484 + 1837 484 + 2602 484 2603 484 2604 484 + 2605 484 + 298 485 299 485 300 485 + 301 485 + 1066 485 1067 485 1068 485 + 1069 485 + 1834 485 1835 485 1836 485 + 1837 485 + 2602 485 2603 485 2604 485 + 2605 485 + 298 486 299 486 300 486 + 301 486 + 1066 486 1067 486 1068 486 + 1069 486 + 1834 486 1835 486 1836 486 + 1837 486 + 2602 486 2603 486 2604 486 + 2605 486 + 298 487 299 487 300 487 + 301 487 + 1066 487 1067 487 1068 487 + 1069 487 + 1834 487 1835 487 1836 487 + 1837 487 + 2602 487 2603 487 2604 487 + 2605 487 + 298 488 299 488 300 488 + 301 488 + 1066 488 1067 488 1068 488 + 1069 488 + 1834 488 1835 488 1836 488 + 1837 488 + 2602 488 2603 488 2604 488 + 2605 488 + 298 489 299 489 300 489 + 301 489 + 1066 489 1067 489 1068 489 + 1069 489 + 1834 489 1835 489 1836 489 + 1837 489 + 2602 489 2603 489 2604 489 + 2605 489 + 298 490 299 490 300 490 + 301 490 + 1066 490 1067 490 1068 490 + 1069 490 + 1834 490 1835 490 1836 490 + 1837 490 + 2602 490 2603 490 2604 490 + 2605 490 + 298 491 299 491 300 491 + 301 491 + 1066 491 1067 491 1068 491 + 1069 491 + 1834 491 1835 491 1836 491 + 1837 491 + 2602 491 2603 491 2604 491 + 2605 491 + 298 492 299 492 300 492 + 301 492 + 1066 492 1067 492 1068 492 + 1069 492 + 1834 492 1835 492 1836 492 + 1837 492 + 2602 492 2603 492 2604 492 + 2605 492 + 298 493 299 493 300 493 + 301 493 + 1066 493 1067 493 1068 493 + 1069 493 + 1834 493 1835 493 1836 493 + 1837 493 + 2602 493 2603 493 2604 493 + 2605 493 + 298 494 299 494 300 494 + 301 494 + 1066 494 1067 494 1068 494 + 1069 494 + 1834 494 1835 494 1836 494 + 1837 494 + 2602 494 2603 494 2604 494 + 2605 494 + 298 495 299 495 300 495 + 301 495 + 1066 495 1067 495 1068 495 + 1069 495 + 1834 495 1835 495 1836 495 + 1837 495 + 2602 495 2603 495 2604 495 + 2605 495 + 298 496 299 496 300 496 + 301 496 + 1066 496 1067 496 1068 496 + 1069 496 + 1834 496 1835 496 1836 496 + 1837 496 + 2602 496 2603 496 2604 496 + 2605 496 + 298 497 299 497 300 497 + 301 497 + 1066 497 1067 497 1068 497 + 1069 497 + 1834 497 1835 497 1836 497 + 1837 497 + 2602 497 2603 497 2604 497 + 2605 497 + 298 498 299 498 300 498 + 301 498 + 1066 498 1067 498 1068 498 + 1069 498 + 1834 498 1835 498 1836 498 + 1837 498 + 2602 498 2603 498 2604 498 + 2605 498 + 298 499 299 499 300 499 + 301 499 + 1066 499 1067 499 1068 499 + 1069 499 + 1834 499 1835 499 1836 499 + 1837 499 + 2602 499 2603 499 2604 499 + 2605 499 + 298 500 299 500 300 500 + 301 500 + 1066 500 1067 500 1068 500 + 1069 500 + 1834 500 1835 500 1836 500 + 1837 500 + 2602 500 2603 500 2604 500 + 2605 500 + 298 501 299 501 300 501 + 301 501 + 1066 501 1067 501 1068 501 + 1069 501 + 1834 501 1835 501 1836 501 + 1837 501 + 2602 501 2603 501 2604 501 + 2605 501 + 298 502 299 502 300 502 + 301 502 + 1066 502 1067 502 1068 502 + 1069 502 + 1834 502 1835 502 1836 502 + 1837 502 + 2602 502 2603 502 2604 502 + 2605 502 + 298 503 299 503 300 503 + 301 503 + 1066 503 1067 503 1068 503 + 1069 503 + 1834 503 1835 503 1836 503 + 1837 503 + 2602 503 2603 503 2604 503 + 2605 503 + 298 504 299 504 300 504 + 301 504 + 1066 504 1067 504 1068 504 + 1069 504 + 1834 504 1835 504 1836 504 + 1837 504 + 2602 504 2603 504 2604 504 + 2605 504 + 298 505 299 505 300 505 + 301 505 + 1066 505 1067 505 1068 505 + 1069 505 + 1834 505 1835 505 1836 505 + 1837 505 + 2602 505 2603 505 2604 505 + 2605 505 + 298 506 299 506 300 506 + 301 506 + 1066 506 1067 506 1068 506 + 1069 506 + 1834 506 1835 506 1836 506 + 1837 506 + 2602 506 2603 506 2604 506 + 2605 506 + 298 507 299 507 300 507 + 301 507 + 1066 507 1067 507 1068 507 + 1069 507 + 1834 507 1835 507 1836 507 + 1837 507 + 2602 507 2603 507 2604 507 + 2605 507 + 298 508 299 508 300 508 + 301 508 + 1066 508 1067 508 1068 508 + 1069 508 + 1834 508 1835 508 1836 508 + 1837 508 + 2602 508 2603 508 2604 508 + 2605 508 + 298 509 299 509 300 509 + 301 509 + 1066 509 1067 509 1068 509 + 1069 509 + 1834 509 1835 509 1836 509 + 1837 509 + 2602 509 2603 509 2604 509 + 2605 509 + 298 510 299 510 300 510 + 301 510 + 1066 510 1067 510 1068 510 + 1069 510 + 1834 510 1835 510 1836 510 + 1837 510 + 2602 510 2603 510 2604 510 + 2605 510 + 298 511 299 511 300 511 + 301 511 + 1066 511 1067 511 1068 511 + 1069 511 + 1834 511 1835 511 1836 511 + 1837 511 + 2602 511 2603 511 2604 511 + 2605 511 + 298 512 299 512 300 512 + 301 512 + 1066 512 1067 512 1068 512 + 1069 512 + 1834 512 1835 512 1836 512 + 1837 512 + 2602 512 2603 512 2604 512 + 2605 512 + 298 513 299 513 300 513 + 301 513 + 1066 513 1067 513 1068 513 + 1069 513 + 1834 513 1835 513 1836 513 + 1837 513 + 2602 513 2603 513 2604 513 + 2605 513 + 298 514 299 514 300 514 + 301 514 + 1066 514 1067 514 1068 514 + 1069 514 + 1834 514 1835 514 1836 514 + 1837 514 + 2602 514 2603 514 2604 514 + 2605 514 299 515 300 515 1067 515 @@ -11598,390 +19414,793 @@ ny= 1536 1836 1022 2603 1022 2604 1022 + 298 1023 299 1023 300 1023 + 301 1023 + 1066 1023 1067 1023 1068 1023 + 1069 1023 + 1834 1023 1835 1023 1836 1023 + 1837 1023 + 2602 1023 2603 1023 2604 1023 + 2605 1023 + 298 1024 299 1024 300 1024 + 301 1024 + 1066 1024 1067 1024 1068 1024 + 1069 1024 + 1834 1024 1835 1024 1836 1024 + 1837 1024 + 2602 1024 2603 1024 2604 1024 + 2605 1024 + 298 1025 299 1025 300 1025 + 301 1025 + 1066 1025 1067 1025 1068 1025 + 1069 1025 + 1834 1025 1835 1025 1836 1025 + 1837 1025 + 2602 1025 2603 1025 2604 1025 + 2605 1025 + 298 1026 299 1026 300 1026 + 301 1026 + 1066 1026 1067 1026 1068 1026 + 1069 1026 + 1834 1026 1835 1026 1836 1026 + 1837 1026 + 2602 1026 2603 1026 2604 1026 + 2605 1026 + 298 1027 299 1027 300 1027 + 301 1027 + 1066 1027 1067 1027 1068 1027 + 1069 1027 + 1834 1027 1835 1027 1836 1027 + 1837 1027 + 2602 1027 2603 1027 2604 1027 + 2605 1027 + 298 1028 299 1028 300 1028 + 301 1028 + 1066 1028 1067 1028 1068 1028 + 1069 1028 + 1834 1028 1835 1028 1836 1028 + 1837 1028 + 2602 1028 2603 1028 2604 1028 + 2605 1028 + 298 1029 299 1029 300 1029 + 301 1029 + 1066 1029 1067 1029 1068 1029 + 1069 1029 + 1834 1029 1835 1029 1836 1029 + 1837 1029 + 2602 1029 2603 1029 2604 1029 + 2605 1029 + 298 1030 299 1030 300 1030 + 301 1030 + 1066 1030 1067 1030 1068 1030 + 1069 1030 + 1834 1030 1835 1030 1836 1030 + 1837 1030 + 2602 1030 2603 1030 2604 1030 + 2605 1030 + 298 1031 299 1031 300 1031 + 301 1031 + 1066 1031 1067 1031 1068 1031 + 1069 1031 + 1834 1031 1835 1031 1836 1031 + 1837 1031 + 2602 1031 2603 1031 2604 1031 + 2605 1031 + 298 1032 299 1032 300 1032 + 301 1032 + 1066 1032 1067 1032 1068 1032 + 1069 1032 + 1834 1032 1835 1032 1836 1032 + 1837 1032 + 2602 1032 2603 1032 2604 1032 + 2605 1032 + 298 1033 299 1033 300 1033 + 301 1033 + 1066 1033 1067 1033 1068 1033 + 1069 1033 + 1834 1033 1835 1033 1836 1033 + 1837 1033 + 2602 1033 2603 1033 2604 1033 + 2605 1033 + 298 1034 299 1034 300 1034 + 301 1034 + 1066 1034 1067 1034 1068 1034 + 1069 1034 + 1834 1034 1835 1034 1836 1034 + 1837 1034 + 2602 1034 2603 1034 2604 1034 + 2605 1034 + 298 1035 299 1035 300 1035 + 301 1035 + 1066 1035 1067 1035 1068 1035 + 1069 1035 + 1834 1035 1835 1035 1836 1035 + 1837 1035 + 2602 1035 2603 1035 2604 1035 + 2605 1035 + 298 1036 299 1036 300 1036 + 301 1036 + 1066 1036 1067 1036 1068 1036 + 1069 1036 + 1834 1036 1835 1036 1836 1036 + 1837 1036 + 2602 1036 2603 1036 2604 1036 + 2605 1036 + 298 1037 299 1037 300 1037 + 301 1037 + 1066 1037 1067 1037 1068 1037 + 1069 1037 + 1834 1037 1835 1037 1836 1037 + 1837 1037 + 2602 1037 2603 1037 2604 1037 + 2605 1037 + 298 1038 299 1038 300 1038 + 301 1038 + 1066 1038 1067 1038 1068 1038 + 1069 1038 + 1834 1038 1835 1038 1836 1038 + 1837 1038 + 2602 1038 2603 1038 2604 1038 + 2605 1038 + 298 1039 299 1039 300 1039 + 301 1039 + 1066 1039 1067 1039 1068 1039 + 1069 1039 + 1834 1039 1835 1039 1836 1039 + 1837 1039 + 2602 1039 2603 1039 2604 1039 + 2605 1039 + 298 1040 299 1040 300 1040 + 301 1040 + 1066 1040 1067 1040 1068 1040 + 1069 1040 + 1834 1040 1835 1040 1836 1040 + 1837 1040 + 2602 1040 2603 1040 2604 1040 + 2605 1040 + 298 1041 299 1041 300 1041 + 301 1041 + 1066 1041 1067 1041 1068 1041 + 1069 1041 + 1834 1041 1835 1041 1836 1041 + 1837 1041 + 2602 1041 2603 1041 2604 1041 + 2605 1041 + 298 1042 299 1042 300 1042 + 301 1042 + 1066 1042 1067 1042 1068 1042 + 1069 1042 + 1834 1042 1835 1042 1836 1042 + 1837 1042 + 2602 1042 2603 1042 2604 1042 + 2605 1042 + 298 1043 299 1043 300 1043 + 301 1043 + 1066 1043 1067 1043 1068 1043 + 1069 1043 + 1834 1043 1835 1043 1836 1043 + 1837 1043 + 2602 1043 2603 1043 2604 1043 + 2605 1043 + 298 1044 299 1044 300 1044 + 301 1044 + 1066 1044 1067 1044 1068 1044 + 1069 1044 + 1834 1044 1835 1044 1836 1044 + 1837 1044 + 2602 1044 2603 1044 2604 1044 + 2605 1044 + 298 1045 299 1045 300 1045 + 301 1045 + 1066 1045 1067 1045 1068 1045 + 1069 1045 + 1834 1045 1835 1045 1836 1045 + 1837 1045 + 2602 1045 2603 1045 2604 1045 + 2605 1045 + 298 1046 299 1046 300 1046 + 301 1046 + 1066 1046 1067 1046 1068 1046 + 1069 1046 + 1834 1046 1835 1046 1836 1046 + 1837 1046 + 2602 1046 2603 1046 2604 1046 + 2605 1046 + 298 1047 299 1047 300 1047 + 301 1047 + 1066 1047 1067 1047 1068 1047 + 1069 1047 + 1834 1047 1835 1047 1836 1047 + 1837 1047 + 2602 1047 2603 1047 2604 1047 + 2605 1047 + 298 1048 299 1048 300 1048 + 301 1048 + 1066 1048 1067 1048 1068 1048 + 1069 1048 + 1834 1048 1835 1048 1836 1048 + 1837 1048 + 2602 1048 2603 1048 2604 1048 + 2605 1048 + 298 1049 299 1049 300 1049 + 301 1049 + 1066 1049 1067 1049 1068 1049 + 1069 1049 + 1834 1049 1835 1049 1836 1049 + 1837 1049 + 2602 1049 2603 1049 2604 1049 + 2605 1049 + 298 1050 299 1050 300 1050 + 301 1050 + 1066 1050 1067 1050 1068 1050 + 1069 1050 + 1834 1050 1835 1050 1836 1050 + 1837 1050 + 2602 1050 2603 1050 2604 1050 + 2605 1050 + 298 1051 299 1051 300 1051 + 301 1051 + 1066 1051 1067 1051 1068 1051 + 1069 1051 + 1834 1051 1835 1051 1836 1051 + 1837 1051 + 2602 1051 2603 1051 2604 1051 + 2605 1051 + 298 1052 299 1052 300 1052 + 301 1052 + 1066 1052 1067 1052 1068 1052 + 1069 1052 + 1834 1052 1835 1052 1836 1052 + 1837 1052 + 2602 1052 2603 1052 2604 1052 + 2605 1052 + 298 1053 299 1053 300 1053 + 301 1053 + 1066 1053 1067 1053 1068 1053 + 1069 1053 + 1834 1053 1835 1053 1836 1053 + 1837 1053 + 2602 1053 2603 1053 2604 1053 + 2605 1053 + 298 1054 299 1054 300 1054 + 301 1054 + 1066 1054 1067 1054 1068 1054 + 1069 1054 + 1834 1054 1835 1054 1836 1054 + 1837 1054 + 2602 1054 2603 1054 2604 1054 + 2605 1054 + 298 1055 299 1055 300 1055 + 301 1055 + 1066 1055 1067 1055 1068 1055 + 1069 1055 + 1834 1055 1835 1055 1836 1055 + 1837 1055 + 2602 1055 2603 1055 2604 1055 + 2605 1055 + 298 1056 299 1056 300 1056 + 301 1056 + 1066 1056 1067 1056 1068 1056 + 1069 1056 + 1834 1056 1835 1056 1836 1056 + 1837 1056 + 2602 1056 2603 1056 2604 1056 + 2605 1056 + 298 1057 299 1057 300 1057 + 301 1057 + 1066 1057 1067 1057 1068 1057 + 1069 1057 + 1834 1057 1835 1057 1836 1057 + 1837 1057 + 2602 1057 2603 1057 2604 1057 + 2605 1057 + 298 1058 299 1058 300 1058 + 301 1058 + 1066 1058 1067 1058 1068 1058 + 1069 1058 + 1834 1058 1835 1058 1836 1058 + 1837 1058 + 2602 1058 2603 1058 2604 1058 + 2605 1058 + 298 1059 299 1059 300 1059 + 301 1059 + 1066 1059 1067 1059 1068 1059 + 1069 1059 + 1834 1059 1835 1059 1836 1059 + 1837 1059 + 2602 1059 2603 1059 2604 1059 + 2605 1059 + 298 1060 299 1060 300 1060 + 301 1060 + 1066 1060 1067 1060 1068 1060 + 1069 1060 + 1834 1060 1835 1060 1836 1060 + 1837 1060 + 2602 1060 2603 1060 2604 1060 + 2605 1060 + 298 1061 299 1061 300 1061 + 301 1061 + 1066 1061 1067 1061 1068 1061 + 1069 1061 + 1834 1061 1835 1061 1836 1061 + 1837 1061 + 2602 1061 2603 1061 2604 1061 + 2605 1061 + 298 1062 299 1062 300 1062 + 301 1062 + 1066 1062 1067 1062 1068 1062 + 1069 1062 + 1834 1062 1835 1062 1836 1062 + 1837 1062 + 2602 1062 2603 1062 2604 1062 + 2605 1062 + 298 1063 299 1063 300 1063 + 301 1063 + 1066 1063 1067 1063 1068 1063 + 1069 1063 + 1834 1063 1835 1063 1836 1063 + 1837 1063 + 2602 1063 2603 1063 2604 1063 + 2605 1063 + 298 1064 299 1064 300 1064 + 301 1064 + 1066 1064 1067 1064 1068 1064 + 1069 1064 + 1834 1064 1835 1064 1836 1064 + 1837 1064 + 2602 1064 2603 1064 2604 1064 + 2605 1064 + 298 1065 299 1065 300 1065 + 301 1065 + 1066 1065 1067 1065 1068 1065 + 1069 1065 + 1834 1065 1835 1065 1836 1065 + 1837 1065 + 2602 1065 2603 1065 2604 1065 + 2605 1065 + 298 1066 299 1066 300 1066 + 301 1066 + 1066 1066 1067 1066 1068 1066 + 1069 1066 + 1834 1066 1835 1066 1836 1066 + 1837 1066 + 2602 1066 2603 1066 2604 1066 + 2605 1066 + 298 1067 299 1067 300 1067 + 301 1067 + 1066 1067 1067 1067 1068 1067 + 1069 1067 + 1834 1067 1835 1067 1836 1067 + 1837 1067 + 2602 1067 2603 1067 2604 1067 + 2605 1067 + 297 1068 + 298 1068 299 1068 300 1068 + 301 1068 + 302 1068 + 1065 1068 + 1066 1068 1067 1068 1068 1068 + 1069 1068 + 1070 1068 + 1833 1068 + 1834 1068 1835 1068 1836 1068 + 1837 1068 + 1838 1068 + 2601 1068 + 2602 1068 2603 1068 2604 1068 + 2605 1068 + 2606 1068 + 295 1069 + 296 1069 + 297 1069 298 1069 299 1069 300 1069 301 1069 + 302 1069 + 303 1069 + 304 1069 + 1063 1069 + 1064 1069 + 1065 1069 1066 1069 1067 1069 1068 1069 1069 1069 + 1070 1069 + 1071 1069 + 1072 1069 + 1831 1069 + 1832 1069 + 1833 1069 1834 1069 1835 1069 1836 1069 1837 1069 + 1838 1069 + 1839 1069 + 1840 1069 + 2599 1069 + 2600 1069 + 2601 1069 2602 1069 2603 1069 2604 1069 2605 1069 + 2606 1069 + 2607 1069 + 2608 1069 + 293 1070 + 294 1070 + 295 1070 296 1070 297 1070 298 1070 @@ -11990,6 +20209,12 @@ ny= 1536 301 1070 302 1070 303 1070 + 304 1070 + 305 1070 + 306 1070 + 1061 1070 + 1062 1070 + 1063 1070 1064 1070 1065 1070 1066 1070 @@ -11998,6 +20223,12 @@ ny= 1536 1069 1070 1070 1070 1071 1070 + 1072 1070 + 1073 1070 + 1074 1070 + 1829 1070 + 1830 1070 + 1831 1070 1832 1070 1833 1070 1834 1070 @@ -12006,6 +20237,12 @@ ny= 1536 1837 1070 1838 1070 1839 1070 + 1840 1070 + 1841 1070 + 1842 1070 + 2597 1070 + 2598 1070 + 2599 1070 2600 1070 2601 1070 2602 1070 @@ -12014,6 +20251,12 @@ ny= 1536 2605 1070 2606 1070 2607 1070 + 2608 1070 + 2609 1070 + 2610 1070 + 291 1071 + 292 1071 + 293 1071 294 1071 295 1071 296 1071 @@ -12026,6 +20269,12 @@ ny= 1536 303 1071 304 1071 305 1071 + 306 1071 + 307 1071 + 308 1071 + 1059 1071 + 1060 1071 + 1061 1071 1062 1071 1063 1071 1064 1071 @@ -12038,6 +20287,12 @@ ny= 1536 1071 1071 1072 1071 1073 1071 + 1074 1071 + 1075 1071 + 1076 1071 + 1827 1071 + 1828 1071 + 1829 1071 1830 1071 1831 1071 1832 1071 @@ -12050,6 +20305,12 @@ ny= 1536 1839 1071 1840 1071 1841 1071 + 1842 1071 + 1843 1071 + 1844 1071 + 2595 1071 + 2596 1071 + 2597 1071 2598 1071 2599 1071 2600 1071 @@ -12062,98 +20323,204 @@ ny= 1536 2607 1071 2608 1071 2609 1071 + 2610 1071 + 2611 1071 + 2612 1071 + 289 1072 + 290 1072 + 291 1072 292 1072 293 1072 294 1072 295 1072 296 1072 297 1072 + 298 1072 + 299 1072 + 300 1072 + 301 1072 + 302 1072 303 1072 304 1072 305 1072 306 1072 307 1072 + 308 1072 + 309 1072 + 310 1072 + 311 1072 + 1057 1072 + 1058 1072 + 1059 1072 1060 1072 1061 1072 1062 1072 1063 1072 1064 1072 1065 1072 + 1066 1072 + 1067 1072 + 1068 1072 + 1069 1072 + 1070 1072 1071 1072 1072 1072 1073 1072 1074 1072 1075 1072 + 1076 1072 + 1077 1072 + 1078 1072 + 1079 1072 + 1825 1072 + 1826 1072 + 1827 1072 1828 1072 1829 1072 1830 1072 1831 1072 1832 1072 1833 1072 + 1834 1072 + 1835 1072 + 1836 1072 + 1837 1072 + 1838 1072 1839 1072 1840 1072 1841 1072 1842 1072 1843 1072 + 1844 1072 + 1845 1072 + 1846 1072 + 1847 1072 + 2593 1072 + 2594 1072 + 2595 1072 2596 1072 2597 1072 2598 1072 2599 1072 2600 1072 2601 1072 + 2602 1072 + 2603 1072 + 2604 1072 + 2605 1072 + 2606 1072 2607 1072 2608 1072 2609 1072 2610 1072 2611 1072 + 2612 1072 + 2613 1072 + 2614 1072 + 2615 1072 + 286 1073 + 287 1073 + 288 1073 + 289 1073 290 1073 291 1073 292 1073 293 1073 294 1073 295 1073 + 296 1073 + 297 1073 + 298 1073 + 302 1073 + 303 1073 + 304 1073 305 1073 306 1073 307 1073 308 1073 309 1073 310 1073 + 311 1073 + 312 1073 + 313 1073 + 1054 1073 + 1055 1073 + 1056 1073 + 1057 1073 1058 1073 1059 1073 1060 1073 1061 1073 1062 1073 1063 1073 + 1064 1073 + 1065 1073 + 1066 1073 + 1070 1073 + 1071 1073 + 1072 1073 1073 1073 1074 1073 1075 1073 1076 1073 1077 1073 1078 1073 + 1079 1073 + 1080 1073 + 1081 1073 + 1822 1073 + 1823 1073 + 1824 1073 + 1825 1073 1826 1073 1827 1073 1828 1073 1829 1073 1830 1073 1831 1073 + 1832 1073 + 1833 1073 + 1834 1073 + 1838 1073 + 1839 1073 + 1840 1073 1841 1073 1842 1073 1843 1073 1844 1073 1845 1073 1846 1073 + 1847 1073 + 1848 1073 + 1849 1073 + 2590 1073 + 2591 1073 + 2592 1073 + 2593 1073 2594 1073 2595 1073 2596 1073 2597 1073 2598 1073 2599 1073 + 2600 1073 + 2601 1073 + 2602 1073 + 2606 1073 + 2607 1073 + 2608 1073 2609 1073 2610 1073 2611 1073 2612 1073 2613 1073 2614 1073 + 2615 1073 + 2616 1073 + 2617 1073 + 284 1074 + 285 1074 + 286 1074 287 1074 288 1074 289 1074 @@ -12161,12 +20528,24 @@ ny= 1536 291 1074 292 1074 293 1074 + 294 1074 + 295 1074 + 296 1074 + 304 1074 + 305 1074 + 306 1074 307 1074 308 1074 309 1074 310 1074 311 1074 312 1074 + 313 1074 + 314 1074 + 315 1074 + 1052 1074 + 1053 1074 + 1054 1074 1055 1074 1056 1074 1057 1074 @@ -12174,12 +20553,24 @@ ny= 1536 1059 1074 1060 1074 1061 1074 + 1062 1074 + 1063 1074 + 1064 1074 + 1072 1074 + 1073 1074 + 1074 1074 1075 1074 1076 1074 1077 1074 1078 1074 1079 1074 1080 1074 + 1081 1074 + 1082 1074 + 1083 1074 + 1820 1074 + 1821 1074 + 1822 1074 1823 1074 1824 1074 1825 1074 @@ -12187,12 +20578,24 @@ ny= 1536 1827 1074 1828 1074 1829 1074 + 1830 1074 + 1831 1074 + 1832 1074 + 1840 1074 + 1841 1074 + 1842 1074 1843 1074 1844 1074 1845 1074 1846 1074 1847 1074 1848 1074 + 1849 1074 + 1850 1074 + 1851 1074 + 2588 1074 + 2589 1074 + 2590 1074 2591 1074 2592 1074 2593 1074 @@ -12200,114 +20603,236 @@ ny= 1536 2595 1074 2596 1074 2597 1074 + 2598 1074 + 2599 1074 + 2600 1074 + 2608 1074 + 2609 1074 + 2610 1074 2611 1074 2612 1074 2613 1074 2614 1074 2615 1074 2616 1074 + 2617 1074 + 2618 1074 + 2619 1074 + 282 1075 + 283 1075 + 284 1075 285 1075 286 1075 287 1075 288 1075 289 1075 290 1075 + 291 1075 + 292 1075 + 293 1075 + 294 1075 + 306 1075 + 307 1075 + 308 1075 309 1075 310 1075 311 1075 312 1075 313 1075 314 1075 + 315 1075 + 316 1075 + 317 1075 + 1050 1075 + 1051 1075 + 1052 1075 1053 1075 1054 1075 1055 1075 1056 1075 1057 1075 1058 1075 + 1059 1075 + 1060 1075 + 1061 1075 + 1062 1075 + 1074 1075 + 1075 1075 + 1076 1075 1077 1075 1078 1075 1079 1075 1080 1075 1081 1075 1082 1075 + 1083 1075 + 1084 1075 + 1085 1075 + 1818 1075 + 1819 1075 + 1820 1075 1821 1075 1822 1075 1823 1075 1824 1075 1825 1075 1826 1075 + 1827 1075 + 1828 1075 + 1829 1075 + 1830 1075 + 1842 1075 + 1843 1075 + 1844 1075 1845 1075 1846 1075 1847 1075 1848 1075 1849 1075 1850 1075 + 1851 1075 + 1852 1075 + 1853 1075 + 2586 1075 + 2587 1075 + 2588 1075 2589 1075 2590 1075 2591 1075 2592 1075 2593 1075 2594 1075 + 2595 1075 + 2596 1075 + 2597 1075 + 2598 1075 + 2610 1075 + 2611 1075 + 2612 1075 2613 1075 2614 1075 2615 1075 2616 1075 2617 1075 2618 1075 + 2619 1075 + 2620 1075 + 2621 1075 + 280 1076 + 281 1076 + 282 1076 283 1076 284 1076 285 1076 286 1076 287 1076 288 1076 + 289 1076 + 290 1076 + 291 1076 + 308 1076 + 309 1076 + 310 1076 311 1076 312 1076 313 1076 314 1076 315 1076 316 1076 + 317 1076 + 318 1076 + 319 1076 + 320 1076 + 1048 1076 + 1049 1076 + 1050 1076 1051 1076 1052 1076 1053 1076 1054 1076 1055 1076 1056 1076 + 1057 1076 + 1058 1076 + 1059 1076 + 1076 1076 + 1077 1076 + 1078 1076 1079 1076 1080 1076 1081 1076 1082 1076 1083 1076 1084 1076 + 1085 1076 + 1086 1076 + 1087 1076 + 1088 1076 + 1816 1076 + 1817 1076 + 1818 1076 1819 1076 1820 1076 1821 1076 1822 1076 1823 1076 1824 1076 + 1825 1076 + 1826 1076 + 1827 1076 + 1844 1076 + 1845 1076 + 1846 1076 1847 1076 1848 1076 1849 1076 1850 1076 1851 1076 1852 1076 + 1853 1076 + 1854 1076 + 1855 1076 + 1856 1076 + 2584 1076 + 2585 1076 + 2586 1076 2587 1076 2588 1076 2589 1076 2590 1076 2591 1076 2592 1076 + 2593 1076 + 2594 1076 + 2595 1076 + 2612 1076 + 2613 1076 + 2614 1076 2615 1076 2616 1076 2617 1076 2618 1076 2619 1076 2620 1076 + 2621 1076 + 2622 1076 + 2623 1076 + 2624 1076 + 278 1077 + 279 1077 + 280 1077 281 1077 282 1077 283 1077 284 1077 285 1077 286 1077 + 287 1077 + 288 1077 + 289 1077 + 310 1077 + 311 1077 + 312 1077 313 1077 314 1077 315 1077 @@ -12315,12 +20840,24 @@ ny= 1536 317 1077 318 1077 319 1077 + 320 1077 + 321 1077 + 322 1077 + 1046 1077 + 1047 1077 + 1048 1077 1049 1077 1050 1077 1051 1077 1052 1077 1053 1077 1054 1077 + 1055 1077 + 1056 1077 + 1057 1077 + 1078 1077 + 1079 1077 + 1080 1077 1081 1077 1082 1077 1083 1077 @@ -12328,12 +20865,24 @@ ny= 1536 1085 1077 1086 1077 1087 1077 + 1088 1077 + 1089 1077 + 1090 1077 + 1814 1077 + 1815 1077 + 1816 1077 1817 1077 1818 1077 1819 1077 1820 1077 1821 1077 1822 1077 + 1823 1077 + 1824 1077 + 1825 1077 + 1846 1077 + 1847 1077 + 1848 1077 1849 1077 1850 1077 1851 1077 @@ -12341,12 +20890,24 @@ ny= 1536 1853 1077 1854 1077 1855 1077 + 1856 1077 + 1857 1077 + 1858 1077 + 2582 1077 + 2583 1077 + 2584 1077 2585 1077 2586 1077 2587 1077 2588 1077 2589 1077 2590 1077 + 2591 1077 + 2592 1077 + 2593 1077 + 2614 1077 + 2615 1077 + 2616 1077 2617 1077 2618 1077 2619 1077 @@ -12354,108 +20915,232 @@ ny= 1536 2621 1077 2622 1077 2623 1077 + 2624 1077 + 2625 1077 + 2626 1077 + 275 1078 + 276 1078 + 277 1078 + 278 1078 279 1078 280 1078 281 1078 282 1078 283 1078 284 1078 + 285 1078 + 286 1078 + 287 1078 + 312 1078 + 313 1078 + 314 1078 + 315 1078 316 1078 317 1078 318 1078 319 1078 320 1078 321 1078 + 322 1078 + 323 1078 + 324 1078 + 1043 1078 + 1044 1078 + 1045 1078 + 1046 1078 1047 1078 1048 1078 1049 1078 1050 1078 1051 1078 1052 1078 + 1053 1078 + 1054 1078 + 1055 1078 + 1080 1078 + 1081 1078 + 1082 1078 + 1083 1078 1084 1078 1085 1078 1086 1078 1087 1078 1088 1078 1089 1078 + 1090 1078 + 1091 1078 + 1092 1078 + 1811 1078 + 1812 1078 + 1813 1078 + 1814 1078 1815 1078 1816 1078 1817 1078 1818 1078 1819 1078 1820 1078 + 1821 1078 + 1822 1078 + 1823 1078 + 1848 1078 + 1849 1078 + 1850 1078 + 1851 1078 1852 1078 1853 1078 1854 1078 1855 1078 1856 1078 1857 1078 + 1858 1078 + 1859 1078 + 1860 1078 + 2579 1078 + 2580 1078 + 2581 1078 + 2582 1078 2583 1078 2584 1078 2585 1078 2586 1078 2587 1078 2588 1078 + 2589 1078 + 2590 1078 + 2591 1078 + 2616 1078 + 2617 1078 + 2618 1078 + 2619 1078 2620 1078 2621 1078 2622 1078 2623 1078 2624 1078 2625 1078 + 2626 1078 + 2627 1078 + 2628 1078 + 273 1079 + 274 1079 + 275 1079 276 1079 277 1079 278 1079 279 1079 280 1079 281 1079 + 282 1079 + 283 1079 + 284 1079 + 285 1079 + 315 1079 + 316 1079 + 317 1079 318 1079 319 1079 320 1079 321 1079 322 1079 323 1079 + 324 1079 + 325 1079 + 326 1079 + 327 1079 + 1041 1079 + 1042 1079 + 1043 1079 1044 1079 1045 1079 1046 1079 1047 1079 1048 1079 1049 1079 + 1050 1079 + 1051 1079 + 1052 1079 + 1053 1079 + 1083 1079 + 1084 1079 + 1085 1079 1086 1079 1087 1079 1088 1079 1089 1079 1090 1079 1091 1079 + 1092 1079 + 1093 1079 + 1094 1079 + 1095 1079 + 1809 1079 + 1810 1079 + 1811 1079 1812 1079 1813 1079 1814 1079 1815 1079 1816 1079 1817 1079 + 1818 1079 + 1819 1079 + 1820 1079 + 1821 1079 + 1851 1079 + 1852 1079 + 1853 1079 1854 1079 1855 1079 1856 1079 1857 1079 1858 1079 1859 1079 + 1860 1079 + 1861 1079 + 1862 1079 + 1863 1079 + 2577 1079 + 2578 1079 + 2579 1079 2580 1079 2581 1079 2582 1079 2583 1079 2584 1079 2585 1079 + 2586 1079 + 2587 1079 + 2588 1079 + 2589 1079 + 2619 1079 + 2620 1079 + 2621 1079 2622 1079 2623 1079 2624 1079 2625 1079 2626 1079 2627 1079 + 2628 1079 + 2629 1079 + 2630 1079 + 2631 1079 + 271 1080 + 272 1080 + 273 1080 274 1080 275 1080 276 1080 277 1080 278 1080 279 1080 + 280 1080 + 281 1080 + 282 1080 + 317 1080 + 318 1080 + 319 1080 320 1080 321 1080 322 1080 @@ -12463,12 +21148,24 @@ ny= 1536 324 1080 325 1080 326 1080 + 327 1080 + 328 1080 + 329 1080 + 1039 1080 + 1040 1080 + 1041 1080 1042 1080 1043 1080 1044 1080 1045 1080 1046 1080 1047 1080 + 1048 1080 + 1049 1080 + 1050 1080 + 1085 1080 + 1086 1080 + 1087 1080 1088 1080 1089 1080 1090 1080 @@ -12476,12 +21173,24 @@ ny= 1536 1092 1080 1093 1080 1094 1080 + 1095 1080 + 1096 1080 + 1097 1080 + 1807 1080 + 1808 1080 + 1809 1080 1810 1080 1811 1080 1812 1080 1813 1080 1814 1080 1815 1080 + 1816 1080 + 1817 1080 + 1818 1080 + 1853 1080 + 1854 1080 + 1855 1080 1856 1080 1857 1080 1858 1080 @@ -12489,12 +21198,24 @@ ny= 1536 1860 1080 1861 1080 1862 1080 + 1863 1080 + 1864 1080 + 1865 1080 + 2575 1080 + 2576 1080 + 2577 1080 2578 1080 2579 1080 2580 1080 2581 1080 2582 1080 2583 1080 + 2584 1080 + 2585 1080 + 2586 1080 + 2621 1080 + 2622 1080 + 2623 1080 2624 1080 2625 1080 2626 1080 @@ -12502,12 +21223,25 @@ ny= 1536 2628 1080 2629 1080 2630 1080 + 2631 1080 + 2632 1080 + 2633 1080 + 268 1081 + 269 1081 + 270 1081 + 271 1081 272 1081 273 1081 274 1081 275 1081 276 1081 277 1081 + 278 1081 + 279 1081 + 280 1081 + 319 1081 + 320 1081 + 321 1081 322 1081 323 1081 324 1081 @@ -12515,12 +21249,25 @@ ny= 1536 326 1081 327 1081 328 1081 + 329 1081 + 330 1081 + 331 1081 + 1036 1081 + 1037 1081 + 1038 1081 + 1039 1081 1040 1081 1041 1081 1042 1081 1043 1081 1044 1081 1045 1081 + 1046 1081 + 1047 1081 + 1048 1081 + 1087 1081 + 1088 1081 + 1089 1081 1090 1081 1091 1081 1092 1081 @@ -12528,12 +21275,25 @@ ny= 1536 1094 1081 1095 1081 1096 1081 + 1097 1081 + 1098 1081 + 1099 1081 + 1804 1081 + 1805 1081 + 1806 1081 + 1807 1081 1808 1081 1809 1081 1810 1081 1811 1081 1812 1081 1813 1081 + 1814 1081 + 1815 1081 + 1816 1081 + 1855 1081 + 1856 1081 + 1857 1081 1858 1081 1859 1081 1860 1081 @@ -12541,12 +21301,25 @@ ny= 1536 1862 1081 1863 1081 1864 1081 + 1865 1081 + 1866 1081 + 1867 1081 + 2572 1081 + 2573 1081 + 2574 1081 + 2575 1081 2576 1081 2577 1081 2578 1081 2579 1081 2580 1081 2581 1081 + 2582 1081 + 2583 1081 + 2584 1081 + 2623 1081 + 2624 1081 + 2625 1081 2626 1081 2627 1081 2628 1081 @@ -12554,108 +21327,229 @@ ny= 1536 2630 1081 2631 1081 2632 1081 + 2633 1081 + 2634 1081 + 2635 1081 + 266 1082 + 267 1082 + 268 1082 269 1082 270 1082 271 1082 272 1082 273 1082 274 1082 + 275 1082 + 276 1082 + 277 1082 + 278 1082 + 321 1082 + 322 1082 + 323 1082 + 324 1082 325 1082 326 1082 327 1082 328 1082 329 1082 330 1082 + 331 1082 + 332 1082 + 333 1082 + 1034 1082 + 1035 1082 + 1036 1082 1037 1082 1038 1082 1039 1082 1040 1082 1041 1082 1042 1082 + 1043 1082 + 1044 1082 + 1045 1082 + 1046 1082 + 1089 1082 + 1090 1082 + 1091 1082 + 1092 1082 1093 1082 1094 1082 1095 1082 1096 1082 1097 1082 1098 1082 + 1099 1082 + 1100 1082 + 1101 1082 + 1802 1082 + 1803 1082 + 1804 1082 1805 1082 1806 1082 1807 1082 1808 1082 1809 1082 1810 1082 + 1811 1082 + 1812 1082 + 1813 1082 + 1814 1082 + 1857 1082 + 1858 1082 + 1859 1082 + 1860 1082 1861 1082 1862 1082 1863 1082 1864 1082 1865 1082 1866 1082 + 1867 1082 + 1868 1082 + 1869 1082 + 2570 1082 + 2571 1082 + 2572 1082 2573 1082 2574 1082 2575 1082 2576 1082 2577 1082 2578 1082 + 2579 1082 + 2580 1082 + 2581 1082 + 2582 1082 + 2625 1082 + 2626 1082 + 2627 1082 + 2628 1082 2629 1082 2630 1082 2631 1082 2632 1082 2633 1082 2634 1082 + 2635 1082 + 2636 1082 + 2637 1082 + 264 1083 + 265 1083 + 266 1083 267 1083 268 1083 269 1083 270 1083 271 1083 272 1083 + 273 1083 + 274 1083 + 275 1083 + 324 1083 + 325 1083 + 326 1083 327 1083 328 1083 329 1083 330 1083 331 1083 332 1083 + 333 1083 + 334 1083 + 335 1083 + 336 1083 + 1032 1083 + 1033 1083 + 1034 1083 1035 1083 1036 1083 1037 1083 1038 1083 1039 1083 1040 1083 + 1041 1083 + 1042 1083 + 1043 1083 + 1092 1083 + 1093 1083 + 1094 1083 1095 1083 1096 1083 1097 1083 1098 1083 1099 1083 1100 1083 + 1101 1083 + 1102 1083 + 1103 1083 + 1104 1083 + 1800 1083 + 1801 1083 + 1802 1083 1803 1083 1804 1083 1805 1083 1806 1083 1807 1083 1808 1083 + 1809 1083 + 1810 1083 + 1811 1083 + 1860 1083 + 1861 1083 + 1862 1083 1863 1083 1864 1083 1865 1083 1866 1083 1867 1083 1868 1083 + 1869 1083 + 1870 1083 + 1871 1083 + 1872 1083 + 2568 1083 + 2569 1083 + 2570 1083 2571 1083 2572 1083 2573 1083 2574 1083 2575 1083 2576 1083 + 2577 1083 + 2578 1083 + 2579 1083 + 2628 1083 + 2629 1083 + 2630 1083 2631 1083 2632 1083 2633 1083 2634 1083 2635 1083 2636 1083 + 2637 1083 + 2638 1083 + 2639 1083 + 2640 1083 + 261 1084 + 262 1084 + 263 1084 + 264 1084 265 1084 266 1084 267 1084 268 1084 269 1084 270 1084 + 271 1084 + 272 1084 + 273 1084 + 326 1084 + 327 1084 + 328 1084 329 1084 330 1084 331 1084 @@ -12663,12 +21557,25 @@ ny= 1536 333 1084 334 1084 335 1084 + 336 1084 + 337 1084 + 338 1084 + 1029 1084 + 1030 1084 + 1031 1084 + 1032 1084 1033 1084 1034 1084 1035 1084 1036 1084 1037 1084 1038 1084 + 1039 1084 + 1040 1084 + 1041 1084 + 1094 1084 + 1095 1084 + 1096 1084 1097 1084 1098 1084 1099 1084 @@ -12676,12 +21583,25 @@ ny= 1536 1101 1084 1102 1084 1103 1084 + 1104 1084 + 1105 1084 + 1106 1084 + 1797 1084 + 1798 1084 + 1799 1084 + 1800 1084 1801 1084 1802 1084 1803 1084 1804 1084 1805 1084 1806 1084 + 1807 1084 + 1808 1084 + 1809 1084 + 1862 1084 + 1863 1084 + 1864 1084 1865 1084 1866 1084 1867 1084 @@ -12689,12 +21609,25 @@ ny= 1536 1869 1084 1870 1084 1871 1084 + 1872 1084 + 1873 1084 + 1874 1084 + 2565 1084 + 2566 1084 + 2567 1084 + 2568 1084 2569 1084 2570 1084 2571 1084 2572 1084 2573 1084 2574 1084 + 2575 1084 + 2576 1084 + 2577 1084 + 2630 1084 + 2631 1084 + 2632 1084 2633 1084 2634 1084 2635 1084 @@ -12702,54 +21635,124 @@ ny= 1536 2637 1084 2638 1084 2639 1084 + 2640 1084 + 2641 1084 + 2642 1084 + 258 1085 + 259 1085 + 260 1085 + 261 1085 262 1085 263 1085 264 1085 265 1085 266 1085 267 1085 + 268 1085 + 269 1085 + 270 1085 + 271 1085 + 328 1085 + 329 1085 + 330 1085 + 331 1085 332 1085 333 1085 334 1085 335 1085 336 1085 337 1085 + 338 1085 + 339 1085 + 340 1085 + 341 1085 + 1026 1085 + 1027 1085 + 1028 1085 + 1029 1085 1030 1085 1031 1085 1032 1085 1033 1085 1034 1085 1035 1085 + 1036 1085 + 1037 1085 + 1038 1085 + 1039 1085 + 1096 1085 + 1097 1085 + 1098 1085 + 1099 1085 1100 1085 1101 1085 1102 1085 1103 1085 1104 1085 1105 1085 + 1106 1085 + 1107 1085 + 1108 1085 + 1109 1085 + 1794 1085 + 1795 1085 + 1796 1085 + 1797 1085 1798 1085 1799 1085 1800 1085 1801 1085 1802 1085 1803 1085 + 1804 1085 + 1805 1085 + 1806 1085 + 1807 1085 + 1864 1085 + 1865 1085 + 1866 1085 + 1867 1085 1868 1085 1869 1085 1870 1085 1871 1085 1872 1085 1873 1085 + 1874 1085 + 1875 1085 + 1876 1085 + 1877 1085 + 2562 1085 + 2563 1085 + 2564 1085 + 2565 1085 2566 1085 2567 1085 2568 1085 2569 1085 2570 1085 2571 1085 + 2572 1085 + 2573 1085 + 2574 1085 + 2575 1085 + 2632 1085 + 2633 1085 + 2634 1085 + 2635 1085 2636 1085 2637 1085 2638 1085 2639 1085 2640 1085 2641 1085 + 2642 1085 + 2643 1085 + 2644 1085 + 2645 1085 + 256 1086 + 257 1086 + 258 1086 259 1086 260 1086 261 1086 @@ -12757,6 +21760,12 @@ ny= 1536 263 1086 264 1086 265 1086 + 266 1086 + 267 1086 + 268 1086 + 331 1086 + 332 1086 + 333 1086 334 1086 335 1086 336 1086 @@ -12764,6 +21773,12 @@ ny= 1536 338 1086 339 1086 340 1086 + 341 1086 + 342 1086 + 343 1086 + 1024 1086 + 1025 1086 + 1026 1086 1027 1086 1028 1086 1029 1086 @@ -12771,6 +21786,12 @@ ny= 1536 1031 1086 1032 1086 1033 1086 + 1034 1086 + 1035 1086 + 1036 1086 + 1099 1086 + 1100 1086 + 1101 1086 1102 1086 1103 1086 1104 1086 @@ -12778,6 +21799,12 @@ ny= 1536 1106 1086 1107 1086 1108 1086 + 1109 1086 + 1110 1086 + 1111 1086 + 1792 1086 + 1793 1086 + 1794 1086 1795 1086 1796 1086 1797 1086 @@ -12785,6 +21812,12 @@ ny= 1536 1799 1086 1800 1086 1801 1086 + 1802 1086 + 1803 1086 + 1804 1086 + 1867 1086 + 1868 1086 + 1869 1086 1870 1086 1871 1086 1872 1086 @@ -12792,6 +21825,12 @@ ny= 1536 1874 1086 1875 1086 1876 1086 + 1877 1086 + 1878 1086 + 1879 1086 + 2560 1086 + 2561 1086 + 2562 1086 2563 1086 2564 1086 2565 1086 @@ -12799,6 +21838,12 @@ ny= 1536 2567 1086 2568 1086 2569 1086 + 2570 1086 + 2571 1086 + 2572 1086 + 2635 1086 + 2636 1086 + 2637 1086 2638 1086 2639 1086 2640 1086 @@ -12806,6 +21851,12 @@ ny= 1536 2642 1086 2643 1086 2644 1086 + 2645 1086 + 2646 1086 + 2647 1086 + 254 1087 + 255 1087 + 256 1087 257 1087 258 1087 259 1087 @@ -12813,12 +21864,26 @@ ny= 1536 261 1087 262 1087 263 1087 + 264 1087 + 265 1087 + 266 1087 + 333 1087 + 334 1087 + 335 1087 + 336 1087 337 1087 338 1087 339 1087 340 1087 341 1087 342 1087 + 343 1087 + 344 1087 + 345 1087 + 346 1087 + 1022 1087 + 1023 1087 + 1024 1087 1025 1087 1026 1087 1027 1087 @@ -12826,12 +21891,26 @@ ny= 1536 1029 1087 1030 1087 1031 1087 + 1032 1087 + 1033 1087 + 1034 1087 + 1101 1087 + 1102 1087 + 1103 1087 + 1104 1087 1105 1087 1106 1087 1107 1087 1108 1087 1109 1087 1110 1087 + 1111 1087 + 1112 1087 + 1113 1087 + 1114 1087 + 1790 1087 + 1791 1087 + 1792 1087 1793 1087 1794 1087 1795 1087 @@ -12839,12 +21918,26 @@ ny= 1536 1797 1087 1798 1087 1799 1087 + 1800 1087 + 1801 1087 + 1802 1087 + 1869 1087 + 1870 1087 + 1871 1087 + 1872 1087 1873 1087 1874 1087 1875 1087 1876 1087 1877 1087 1878 1087 + 1879 1087 + 1880 1087 + 1881 1087 + 1882 1087 + 2558 1087 + 2559 1087 + 2560 1087 2561 1087 2562 1087 2563 1087 @@ -12852,18 +21945,40 @@ ny= 1536 2565 1087 2566 1087 2567 1087 + 2568 1087 + 2569 1087 + 2570 1087 + 2637 1087 + 2638 1087 + 2639 1087 + 2640 1087 2641 1087 2642 1087 2643 1087 2644 1087 2645 1087 2646 1087 + 2647 1087 + 2648 1087 + 2649 1087 + 2650 1087 + 251 1088 + 252 1088 + 253 1088 + 254 1088 255 1088 256 1088 257 1088 258 1088 259 1088 260 1088 + 261 1088 + 262 1088 + 263 1088 + 264 1088 + 336 1088 + 337 1088 + 338 1088 339 1088 340 1088 341 1088 @@ -12871,12 +21986,26 @@ ny= 1536 343 1088 344 1088 345 1088 + 346 1088 + 347 1088 + 348 1088 + 1019 1088 + 1020 1088 + 1021 1088 + 1022 1088 1023 1088 1024 1088 1025 1088 1026 1088 1027 1088 1028 1088 + 1029 1088 + 1030 1088 + 1031 1088 + 1032 1088 + 1104 1088 + 1105 1088 + 1106 1088 1107 1088 1108 1088 1109 1088 @@ -12884,12 +22013,26 @@ ny= 1536 1111 1088 1112 1088 1113 1088 + 1114 1088 + 1115 1088 + 1116 1088 + 1787 1088 + 1788 1088 + 1789 1088 + 1790 1088 1791 1088 1792 1088 1793 1088 1794 1088 1795 1088 1796 1088 + 1797 1088 + 1798 1088 + 1799 1088 + 1800 1088 + 1872 1088 + 1873 1088 + 1874 1088 1875 1088 1876 1088 1877 1088 @@ -12897,12 +22040,26 @@ ny= 1536 1879 1088 1880 1088 1881 1088 + 1882 1088 + 1883 1088 + 1884 1088 + 2555 1088 + 2556 1088 + 2557 1088 + 2558 1088 2559 1088 2560 1088 2561 1088 2562 1088 2563 1088 2564 1088 + 2565 1088 + 2566 1088 + 2567 1088 + 2568 1088 + 2640 1088 + 2641 1088 + 2642 1088 2643 1088 2644 1088 2645 1088 @@ -12910,6 +22067,12 @@ ny= 1536 2647 1088 2648 1088 2649 1088 + 2650 1088 + 2651 1088 + 2652 1088 + 249 1089 + 250 1089 + 251 1089 252 1089 253 1089 254 1089 @@ -12917,6 +22080,12 @@ ny= 1536 256 1089 257 1089 258 1089 + 259 1089 + 260 1089 + 261 1089 + 338 1089 + 339 1089 + 340 1089 341 1089 342 1089 343 1089 @@ -12924,6 +22093,13 @@ ny= 1536 345 1089 346 1089 347 1089 + 348 1089 + 349 1089 + 350 1089 + 351 1089 + 1017 1089 + 1018 1089 + 1019 1089 1020 1089 1021 1089 1022 1089 @@ -12931,6 +22107,12 @@ ny= 1536 1024 1089 1025 1089 1026 1089 + 1027 1089 + 1028 1089 + 1029 1089 + 1106 1089 + 1107 1089 + 1108 1089 1109 1089 1110 1089 1111 1089 @@ -12938,6 +22120,13 @@ ny= 1536 1113 1089 1114 1089 1115 1089 + 1116 1089 + 1117 1089 + 1118 1089 + 1119 1089 + 1785 1089 + 1786 1089 + 1787 1089 1788 1089 1789 1089 1790 1089 @@ -12945,6 +22134,12 @@ ny= 1536 1792 1089 1793 1089 1794 1089 + 1795 1089 + 1796 1089 + 1797 1089 + 1874 1089 + 1875 1089 + 1876 1089 1877 1089 1878 1089 1879 1089 @@ -12952,6 +22147,13 @@ ny= 1536 1881 1089 1882 1089 1883 1089 + 1884 1089 + 1885 1089 + 1886 1089 + 1887 1089 + 2553 1089 + 2554 1089 + 2555 1089 2556 1089 2557 1089 2558 1089 @@ -12959,6 +22161,12 @@ ny= 1536 2560 1089 2561 1089 2562 1089 + 2563 1089 + 2564 1089 + 2565 1089 + 2642 1089 + 2643 1089 + 2644 1089 2645 1089 2646 1089 2647 1089 @@ -12966,12 +22174,28 @@ ny= 1536 2649 1089 2650 1089 2651 1089 + 2652 1089 + 2653 1089 + 2654 1089 + 2655 1089 + 246 1090 + 247 1090 + 248 1090 + 249 1090 250 1090 251 1090 252 1090 253 1090 254 1090 255 1090 + 256 1090 + 257 1090 + 258 1090 + 259 1090 + 340 1090 + 341 1090 + 342 1090 + 343 1090 344 1090 345 1090 346 1090 @@ -12979,12 +22203,27 @@ ny= 1536 348 1090 349 1090 350 1090 + 351 1090 + 352 1090 + 353 1090 + 1014 1090 + 1015 1090 + 1016 1090 + 1017 1090 1018 1090 1019 1090 1020 1090 1021 1090 1022 1090 1023 1090 + 1024 1090 + 1025 1090 + 1026 1090 + 1027 1090 + 1108 1090 + 1109 1090 + 1110 1090 + 1111 1090 1112 1090 1113 1090 1114 1090 @@ -12992,12 +22231,27 @@ ny= 1536 1116 1090 1117 1090 1118 1090 + 1119 1090 + 1120 1090 + 1121 1090 + 1782 1090 + 1783 1090 + 1784 1090 + 1785 1090 1786 1090 1787 1090 1788 1090 1789 1090 1790 1090 1791 1090 + 1792 1090 + 1793 1090 + 1794 1090 + 1795 1090 + 1876 1090 + 1877 1090 + 1878 1090 + 1879 1090 1880 1090 1881 1090 1882 1090 @@ -13005,12 +22259,27 @@ ny= 1536 1884 1090 1885 1090 1886 1090 + 1887 1090 + 1888 1090 + 1889 1090 + 2550 1090 + 2551 1090 + 2552 1090 + 2553 1090 2554 1090 2555 1090 2556 1090 2557 1090 2558 1090 2559 1090 + 2560 1090 + 2561 1090 + 2562 1090 + 2563 1090 + 2644 1090 + 2645 1090 + 2646 1090 + 2647 1090 2648 1090 2649 1090 2650 1090 @@ -13018,6 +22287,13 @@ ny= 1536 2652 1090 2653 1090 2654 1090 + 2655 1090 + 2656 1090 + 2657 1090 + 243 1091 + 244 1091 + 245 1091 + 246 1091 247 1091 248 1091 249 1091 @@ -13025,6 +22301,12 @@ ny= 1536 251 1091 252 1091 253 1091 + 254 1091 + 255 1091 + 256 1091 + 343 1091 + 344 1091 + 345 1091 346 1091 347 1091 348 1091 @@ -13032,6 +22314,14 @@ ny= 1536 350 1091 351 1091 352 1091 + 353 1091 + 354 1091 + 355 1091 + 356 1091 + 1011 1091 + 1012 1091 + 1013 1091 + 1014 1091 1015 1091 1016 1091 1017 1091 @@ -13039,6 +22329,12 @@ ny= 1536 1019 1091 1020 1091 1021 1091 + 1022 1091 + 1023 1091 + 1024 1091 + 1111 1091 + 1112 1091 + 1113 1091 1114 1091 1115 1091 1116 1091 @@ -13046,6 +22342,14 @@ ny= 1536 1118 1091 1119 1091 1120 1091 + 1121 1091 + 1122 1091 + 1123 1091 + 1124 1091 + 1779 1091 + 1780 1091 + 1781 1091 + 1782 1091 1783 1091 1784 1091 1785 1091 @@ -13053,6 +22357,12 @@ ny= 1536 1787 1091 1788 1091 1789 1091 + 1790 1091 + 1791 1091 + 1792 1091 + 1879 1091 + 1880 1091 + 1881 1091 1882 1091 1883 1091 1884 1091 @@ -13060,6 +22370,14 @@ ny= 1536 1886 1091 1887 1091 1888 1091 + 1889 1091 + 1890 1091 + 1891 1091 + 1892 1091 + 2547 1091 + 2548 1091 + 2549 1091 + 2550 1091 2551 1091 2552 1091 2553 1091 @@ -13067,6 +22385,12 @@ ny= 1536 2555 1091 2556 1091 2557 1091 + 2558 1091 + 2559 1091 + 2560 1091 + 2647 1091 + 2648 1091 + 2649 1091 2650 1091 2651 1091 2652 1091 @@ -13074,6 +22398,13 @@ ny= 1536 2654 1091 2655 1091 2656 1091 + 2657 1091 + 2658 1091 + 2659 1091 + 2660 1091 + 241 1092 + 242 1092 + 243 1092 244 1092 245 1092 246 1092 @@ -13081,6 +22412,14 @@ ny= 1536 248 1092 249 1092 250 1092 + 251 1092 + 252 1092 + 253 1092 + 254 1092 + 345 1092 + 346 1092 + 347 1092 + 348 1092 349 1092 350 1092 351 1092 @@ -13088,6 +22427,12 @@ ny= 1536 353 1092 354 1092 355 1092 + 356 1092 + 357 1092 + 358 1092 + 1009 1092 + 1010 1092 + 1011 1092 1012 1092 1013 1092 1014 1092 @@ -13095,6 +22440,14 @@ ny= 1536 1016 1092 1017 1092 1018 1092 + 1019 1092 + 1020 1092 + 1021 1092 + 1022 1092 + 1113 1092 + 1114 1092 + 1115 1092 + 1116 1092 1117 1092 1118 1092 1119 1092 @@ -13102,6 +22455,12 @@ ny= 1536 1121 1092 1122 1092 1123 1092 + 1124 1092 + 1125 1092 + 1126 1092 + 1777 1092 + 1778 1092 + 1779 1092 1780 1092 1781 1092 1782 1092 @@ -13109,6 +22468,14 @@ ny= 1536 1784 1092 1785 1092 1786 1092 + 1787 1092 + 1788 1092 + 1789 1092 + 1790 1092 + 1881 1092 + 1882 1092 + 1883 1092 + 1884 1092 1885 1092 1886 1092 1887 1092 @@ -13116,6 +22483,12 @@ ny= 1536 1889 1092 1890 1092 1891 1092 + 1892 1092 + 1893 1092 + 1894 1092 + 2545 1092 + 2546 1092 + 2547 1092 2548 1092 2549 1092 2550 1092 @@ -13123,6 +22496,14 @@ ny= 1536 2552 1092 2553 1092 2554 1092 + 2555 1092 + 2556 1092 + 2557 1092 + 2558 1092 + 2649 1092 + 2650 1092 + 2651 1092 + 2652 1092 2653 1092 2654 1092 2655 1092 @@ -13130,6 +22511,12 @@ ny= 1536 2657 1092 2658 1092 2659 1092 + 2660 1092 + 2661 1092 + 2662 1092 + 239 1093 + 240 1093 + 241 1093 242 1093 243 1093 244 1093 @@ -13137,12 +22524,26 @@ ny= 1536 246 1093 247 1093 248 1093 + 249 1093 + 250 1093 + 251 1093 + 348 1093 + 349 1093 + 350 1093 + 351 1093 352 1093 353 1093 354 1093 355 1093 356 1093 357 1093 + 358 1093 + 359 1093 + 360 1093 + 361 1093 + 1007 1093 + 1008 1093 + 1009 1093 1010 1093 1011 1093 1012 1093 @@ -13150,12 +22551,26 @@ ny= 1536 1014 1093 1015 1093 1016 1093 + 1017 1093 + 1018 1093 + 1019 1093 + 1116 1093 + 1117 1093 + 1118 1093 + 1119 1093 1120 1093 1121 1093 1122 1093 1123 1093 1124 1093 1125 1093 + 1126 1093 + 1127 1093 + 1128 1093 + 1129 1093 + 1775 1093 + 1776 1093 + 1777 1093 1778 1093 1779 1093 1780 1093 @@ -13163,12 +22578,26 @@ ny= 1536 1782 1093 1783 1093 1784 1093 + 1785 1093 + 1786 1093 + 1787 1093 + 1884 1093 + 1885 1093 + 1886 1093 + 1887 1093 1888 1093 1889 1093 1890 1093 1891 1093 1892 1093 1893 1093 + 1894 1093 + 1895 1093 + 1896 1093 + 1897 1093 + 2543 1093 + 2544 1093 + 2545 1093 2546 1093 2547 1093 2548 1093 @@ -13176,18 +22605,40 @@ ny= 1536 2550 1093 2551 1093 2552 1093 + 2553 1093 + 2554 1093 + 2555 1093 + 2652 1093 + 2653 1093 + 2654 1093 + 2655 1093 2656 1093 2657 1093 2658 1093 2659 1093 2660 1093 2661 1093 + 2662 1093 + 2663 1093 + 2664 1093 + 2665 1093 + 236 1094 + 237 1094 + 238 1094 + 239 1094 240 1094 241 1094 242 1094 243 1094 244 1094 245 1094 + 246 1094 + 247 1094 + 248 1094 + 249 1094 + 351 1094 + 352 1094 + 353 1094 354 1094 355 1094 356 1094 @@ -13195,12 +22646,27 @@ ny= 1536 358 1094 359 1094 360 1094 + 361 1094 + 362 1094 + 363 1094 + 364 1094 + 1004 1094 + 1005 1094 + 1006 1094 + 1007 1094 1008 1094 1009 1094 1010 1094 1011 1094 1012 1094 1013 1094 + 1014 1094 + 1015 1094 + 1016 1094 + 1017 1094 + 1119 1094 + 1120 1094 + 1121 1094 1122 1094 1123 1094 1124 1094 @@ -13208,12 +22674,27 @@ ny= 1536 1126 1094 1127 1094 1128 1094 + 1129 1094 + 1130 1094 + 1131 1094 + 1132 1094 + 1772 1094 + 1773 1094 + 1774 1094 + 1775 1094 1776 1094 1777 1094 1778 1094 1779 1094 1780 1094 1781 1094 + 1782 1094 + 1783 1094 + 1784 1094 + 1785 1094 + 1887 1094 + 1888 1094 + 1889 1094 1890 1094 1891 1094 1892 1094 @@ -13221,12 +22702,27 @@ ny= 1536 1894 1094 1895 1094 1896 1094 + 1897 1094 + 1898 1094 + 1899 1094 + 1900 1094 + 2540 1094 + 2541 1094 + 2542 1094 + 2543 1094 2544 1094 2545 1094 2546 1094 2547 1094 2548 1094 2549 1094 + 2550 1094 + 2551 1094 + 2552 1094 + 2553 1094 + 2655 1094 + 2656 1094 + 2657 1094 2658 1094 2659 1094 2660 1094 @@ -13234,6 +22730,14 @@ ny= 1536 2662 1094 2663 1094 2664 1094 + 2665 1094 + 2666 1094 + 2667 1094 + 2668 1094 + 233 1095 + 234 1095 + 235 1095 + 236 1095 237 1095 238 1095 239 1095 @@ -13241,6 +22745,13 @@ ny= 1536 241 1095 242 1095 243 1095 + 244 1095 + 245 1095 + 246 1095 + 353 1095 + 354 1095 + 355 1095 + 356 1095 357 1095 358 1095 359 1095 @@ -13248,6 +22759,13 @@ ny= 1536 361 1095 362 1095 363 1095 + 364 1095 + 365 1095 + 366 1095 + 1001 1095 + 1002 1095 + 1003 1095 + 1004 1095 1005 1095 1006 1095 1007 1095 @@ -13255,6 +22773,13 @@ ny= 1536 1009 1095 1010 1095 1011 1095 + 1012 1095 + 1013 1095 + 1014 1095 + 1121 1095 + 1122 1095 + 1123 1095 + 1124 1095 1125 1095 1126 1095 1127 1095 @@ -13262,6 +22787,13 @@ ny= 1536 1129 1095 1130 1095 1131 1095 + 1132 1095 + 1133 1095 + 1134 1095 + 1769 1095 + 1770 1095 + 1771 1095 + 1772 1095 1773 1095 1774 1095 1775 1095 @@ -13269,6 +22801,13 @@ ny= 1536 1777 1095 1778 1095 1779 1095 + 1780 1095 + 1781 1095 + 1782 1095 + 1889 1095 + 1890 1095 + 1891 1095 + 1892 1095 1893 1095 1894 1095 1895 1095 @@ -13276,6 +22815,13 @@ ny= 1536 1897 1095 1898 1095 1899 1095 + 1900 1095 + 1901 1095 + 1902 1095 + 2537 1095 + 2538 1095 + 2539 1095 + 2540 1095 2541 1095 2542 1095 2543 1095 @@ -13283,6 +22829,13 @@ ny= 1536 2545 1095 2546 1095 2547 1095 + 2548 1095 + 2549 1095 + 2550 1095 + 2657 1095 + 2658 1095 + 2659 1095 + 2660 1095 2661 1095 2662 1095 2663 1095 @@ -13290,6 +22843,13 @@ ny= 1536 2665 1095 2666 1095 2667 1095 + 2668 1095 + 2669 1095 + 2670 1095 + 230 1096 + 231 1096 + 232 1096 + 233 1096 234 1096 235 1096 236 1096 @@ -13297,6 +22857,13 @@ ny= 1536 238 1096 239 1096 240 1096 + 241 1096 + 242 1096 + 243 1096 + 244 1096 + 356 1096 + 357 1096 + 358 1096 359 1096 360 1096 361 1096 @@ -13304,6 +22871,14 @@ ny= 1536 363 1096 364 1096 365 1096 + 366 1096 + 367 1096 + 368 1096 + 369 1096 + 998 1096 + 999 1096 + 1000 1096 + 1001 1096 1002 1096 1003 1096 1004 1096 @@ -13311,6 +22886,13 @@ ny= 1536 1006 1096 1007 1096 1008 1096 + 1009 1096 + 1010 1096 + 1011 1096 + 1012 1096 + 1124 1096 + 1125 1096 + 1126 1096 1127 1096 1128 1096 1129 1096 @@ -13318,6 +22900,14 @@ ny= 1536 1131 1096 1132 1096 1133 1096 + 1134 1096 + 1135 1096 + 1136 1096 + 1137 1096 + 1766 1096 + 1767 1096 + 1768 1096 + 1769 1096 1770 1096 1771 1096 1772 1096 @@ -13325,6 +22915,13 @@ ny= 1536 1774 1096 1775 1096 1776 1096 + 1777 1096 + 1778 1096 + 1779 1096 + 1780 1096 + 1892 1096 + 1893 1096 + 1894 1096 1895 1096 1896 1096 1897 1096 @@ -13332,6 +22929,14 @@ ny= 1536 1899 1096 1900 1096 1901 1096 + 1902 1096 + 1903 1096 + 1904 1096 + 1905 1096 + 2534 1096 + 2535 1096 + 2536 1096 + 2537 1096 2538 1096 2539 1096 2540 1096 @@ -13339,6 +22944,13 @@ ny= 1536 2542 1096 2543 1096 2544 1096 + 2545 1096 + 2546 1096 + 2547 1096 + 2548 1096 + 2660 1096 + 2661 1096 + 2662 1096 2663 1096 2664 1096 2665 1096 @@ -13346,6 +22958,13 @@ ny= 1536 2667 1096 2668 1096 2669 1096 + 2670 1096 + 2671 1096 + 2672 1096 + 2673 1096 + 228 1097 + 229 1097 + 230 1097 231 1097 232 1097 233 1097 @@ -13353,6 +22972,14 @@ ny= 1536 235 1097 236 1097 237 1097 + 238 1097 + 239 1097 + 240 1097 + 241 1097 + 358 1097 + 359 1097 + 360 1097 + 361 1097 362 1097 363 1097 364 1097 @@ -13360,6 +22987,13 @@ ny= 1536 366 1097 367 1097 368 1097 + 369 1097 + 370 1097 + 371 1097 + 372 1097 + 996 1097 + 997 1097 + 998 1097 999 1097 1000 1097 1001 1097 @@ -13367,6 +23001,14 @@ ny= 1536 1003 1097 1004 1097 1005 1097 + 1006 1097 + 1007 1097 + 1008 1097 + 1009 1097 + 1126 1097 + 1127 1097 + 1128 1097 + 1129 1097 1130 1097 1131 1097 1132 1097 @@ -13374,6 +23016,13 @@ ny= 1536 1134 1097 1135 1097 1136 1097 + 1137 1097 + 1138 1097 + 1139 1097 + 1140 1097 + 1764 1097 + 1765 1097 + 1766 1097 1767 1097 1768 1097 1769 1097 @@ -13381,6 +23030,14 @@ ny= 1536 1771 1097 1772 1097 1773 1097 + 1774 1097 + 1775 1097 + 1776 1097 + 1777 1097 + 1894 1097 + 1895 1097 + 1896 1097 + 1897 1097 1898 1097 1899 1097 1900 1097 @@ -13388,6 +23045,13 @@ ny= 1536 1902 1097 1903 1097 1904 1097 + 1905 1097 + 1906 1097 + 1907 1097 + 1908 1097 + 2532 1097 + 2533 1097 + 2534 1097 2535 1097 2536 1097 2537 1097 @@ -13395,6 +23059,14 @@ ny= 1536 2539 1097 2540 1097 2541 1097 + 2542 1097 + 2543 1097 + 2544 1097 + 2545 1097 + 2662 1097 + 2663 1097 + 2664 1097 + 2665 1097 2666 1097 2667 1097 2668 1097 @@ -13402,6 +23074,14 @@ ny= 1536 2670 1097 2671 1097 2672 1097 + 2673 1097 + 2674 1097 + 2675 1097 + 2676 1097 + 225 1098 + 226 1098 + 227 1098 + 228 1098 229 1098 230 1098 231 1098 @@ -13409,6 +23089,13 @@ ny= 1536 233 1098 234 1098 235 1098 + 236 1098 + 237 1098 + 238 1098 + 361 1098 + 362 1098 + 363 1098 + 364 1098 365 1098 366 1098 367 1098 @@ -13416,6 +23103,13 @@ ny= 1536 369 1098 370 1098 371 1098 + 372 1098 + 373 1098 + 374 1098 + 993 1098 + 994 1098 + 995 1098 + 996 1098 997 1098 998 1098 999 1098 @@ -13423,6 +23117,13 @@ ny= 1536 1001 1098 1002 1098 1003 1098 + 1004 1098 + 1005 1098 + 1006 1098 + 1129 1098 + 1130 1098 + 1131 1098 + 1132 1098 1133 1098 1134 1098 1135 1098 @@ -13430,6 +23131,13 @@ ny= 1536 1137 1098 1138 1098 1139 1098 + 1140 1098 + 1141 1098 + 1142 1098 + 1761 1098 + 1762 1098 + 1763 1098 + 1764 1098 1765 1098 1766 1098 1767 1098 @@ -13437,6 +23145,13 @@ ny= 1536 1769 1098 1770 1098 1771 1098 + 1772 1098 + 1773 1098 + 1774 1098 + 1897 1098 + 1898 1098 + 1899 1098 + 1900 1098 1901 1098 1902 1098 1903 1098 @@ -13444,6 +23159,13 @@ ny= 1536 1905 1098 1906 1098 1907 1098 + 1908 1098 + 1909 1098 + 1910 1098 + 2529 1098 + 2530 1098 + 2531 1098 + 2532 1098 2533 1098 2534 1098 2535 1098 @@ -13451,6 +23173,13 @@ ny= 1536 2537 1098 2538 1098 2539 1098 + 2540 1098 + 2541 1098 + 2542 1098 + 2665 1098 + 2666 1098 + 2667 1098 + 2668 1098 2669 1098 2670 1098 2671 1098 @@ -13458,6 +23187,13 @@ ny= 1536 2673 1098 2674 1098 2675 1098 + 2676 1098 + 2677 1098 + 2678 1098 + 222 1099 + 223 1099 + 224 1099 + 225 1099 226 1099 227 1099 228 1099 @@ -13465,6 +23201,13 @@ ny= 1536 230 1099 231 1099 232 1099 + 233 1099 + 234 1099 + 235 1099 + 236 1099 + 364 1099 + 365 1099 + 366 1099 367 1099 368 1099 369 1099 @@ -13472,6 +23215,14 @@ ny= 1536 371 1099 372 1099 373 1099 + 374 1099 + 375 1099 + 376 1099 + 377 1099 + 990 1099 + 991 1099 + 992 1099 + 993 1099 994 1099 995 1099 996 1099 @@ -13479,6 +23230,13 @@ ny= 1536 998 1099 999 1099 1000 1099 + 1001 1099 + 1002 1099 + 1003 1099 + 1004 1099 + 1132 1099 + 1133 1099 + 1134 1099 1135 1099 1136 1099 1137 1099 @@ -13486,6 +23244,14 @@ ny= 1536 1139 1099 1140 1099 1141 1099 + 1142 1099 + 1143 1099 + 1144 1099 + 1145 1099 + 1758 1099 + 1759 1099 + 1760 1099 + 1761 1099 1762 1099 1763 1099 1764 1099 @@ -13493,6 +23259,13 @@ ny= 1536 1766 1099 1767 1099 1768 1099 + 1769 1099 + 1770 1099 + 1771 1099 + 1772 1099 + 1900 1099 + 1901 1099 + 1902 1099 1903 1099 1904 1099 1905 1099 @@ -13500,6 +23273,14 @@ ny= 1536 1907 1099 1908 1099 1909 1099 + 1910 1099 + 1911 1099 + 1912 1099 + 1913 1099 + 2526 1099 + 2527 1099 + 2528 1099 + 2529 1099 2530 1099 2531 1099 2532 1099 @@ -13507,6 +23288,13 @@ ny= 1536 2534 1099 2535 1099 2536 1099 + 2537 1099 + 2538 1099 + 2539 1099 + 2540 1099 + 2668 1099 + 2669 1099 + 2670 1099 2671 1099 2672 1099 2673 1099 @@ -13514,6 +23302,14 @@ ny= 1536 2675 1099 2676 1099 2677 1099 + 2678 1099 + 2679 1099 + 2680 1099 + 2681 1099 + 219 1100 + 220 1100 + 221 1100 + 222 1100 223 1100 224 1100 225 1100 @@ -13521,6 +23317,14 @@ ny= 1536 227 1100 228 1100 229 1100 + 230 1100 + 231 1100 + 232 1100 + 233 1100 + 366 1100 + 367 1100 + 368 1100 + 369 1100 370 1100 371 1100 372 1100 @@ -13528,6 +23332,14 @@ ny= 1536 374 1100 375 1100 376 1100 + 377 1100 + 378 1100 + 379 1100 + 380 1100 + 987 1100 + 988 1100 + 989 1100 + 990 1100 991 1100 992 1100 993 1100 @@ -13535,6 +23347,14 @@ ny= 1536 995 1100 996 1100 997 1100 + 998 1100 + 999 1100 + 1000 1100 + 1001 1100 + 1134 1100 + 1135 1100 + 1136 1100 + 1137 1100 1138 1100 1139 1100 1140 1100 @@ -13542,6 +23362,14 @@ ny= 1536 1142 1100 1143 1100 1144 1100 + 1145 1100 + 1146 1100 + 1147 1100 + 1148 1100 + 1755 1100 + 1756 1100 + 1757 1100 + 1758 1100 1759 1100 1760 1100 1761 1100 @@ -13549,6 +23377,14 @@ ny= 1536 1763 1100 1764 1100 1765 1100 + 1766 1100 + 1767 1100 + 1768 1100 + 1769 1100 + 1902 1100 + 1903 1100 + 1904 1100 + 1905 1100 1906 1100 1907 1100 1908 1100 @@ -13556,6 +23392,14 @@ ny= 1536 1910 1100 1911 1100 1912 1100 + 1913 1100 + 1914 1100 + 1915 1100 + 1916 1100 + 2523 1100 + 2524 1100 + 2525 1100 + 2526 1100 2527 1100 2528 1100 2529 1100 @@ -13563,6 +23407,14 @@ ny= 1536 2531 1100 2532 1100 2533 1100 + 2534 1100 + 2535 1100 + 2536 1100 + 2537 1100 + 2670 1100 + 2671 1100 + 2672 1100 + 2673 1100 2674 1100 2675 1100 2676 1100 @@ -13570,6 +23422,14 @@ ny= 1536 2678 1100 2679 1100 2680 1100 + 2681 1100 + 2682 1100 + 2683 1100 + 2684 1100 + 216 1101 + 217 1101 + 218 1101 + 219 1101 220 1101 221 1101 222 1101 @@ -13577,6 +23437,14 @@ ny= 1536 224 1101 225 1101 226 1101 + 227 1101 + 228 1101 + 229 1101 + 230 1101 + 369 1101 + 370 1101 + 371 1101 + 372 1101 373 1101 374 1101 375 1101 @@ -13584,6 +23452,14 @@ ny= 1536 377 1101 378 1101 379 1101 + 380 1101 + 381 1101 + 382 1101 + 383 1101 + 984 1101 + 985 1101 + 986 1101 + 987 1101 988 1101 989 1101 990 1101 @@ -13591,6 +23467,14 @@ ny= 1536 992 1101 993 1101 994 1101 + 995 1101 + 996 1101 + 997 1101 + 998 1101 + 1137 1101 + 1138 1101 + 1139 1101 + 1140 1101 1141 1101 1142 1101 1143 1101 @@ -13598,6 +23482,14 @@ ny= 1536 1145 1101 1146 1101 1147 1101 + 1148 1101 + 1149 1101 + 1150 1101 + 1151 1101 + 1752 1101 + 1753 1101 + 1754 1101 + 1755 1101 1756 1101 1757 1101 1758 1101 @@ -13605,6 +23497,14 @@ ny= 1536 1760 1101 1761 1101 1762 1101 + 1763 1101 + 1764 1101 + 1765 1101 + 1766 1101 + 1905 1101 + 1906 1101 + 1907 1101 + 1908 1101 1909 1101 1910 1101 1911 1101 @@ -13612,6 +23512,14 @@ ny= 1536 1913 1101 1914 1101 1915 1101 + 1916 1101 + 1917 1101 + 1918 1101 + 1919 1101 + 2520 1101 + 2521 1101 + 2522 1101 + 2523 1101 2524 1101 2525 1101 2526 1101 @@ -13619,6 +23527,14 @@ ny= 1536 2528 1101 2529 1101 2530 1101 + 2531 1101 + 2532 1101 + 2533 1101 + 2534 1101 + 2673 1101 + 2674 1101 + 2675 1101 + 2676 1101 2677 1101 2678 1101 2679 1101 @@ -13626,6 +23542,14 @@ ny= 1536 2681 1101 2682 1101 2683 1101 + 2684 1101 + 2685 1101 + 2686 1101 + 2687 1101 + 213 1102 + 214 1102 + 215 1102 + 216 1102 217 1102 218 1102 219 1102 @@ -13634,6 +23558,13 @@ ny= 1536 222 1102 223 1102 224 1102 + 225 1102 + 226 1102 + 227 1102 + 372 1102 + 373 1102 + 374 1102 + 375 1102 376 1102 377 1102 378 1102 @@ -13641,6 +23572,14 @@ ny= 1536 380 1102 381 1102 382 1102 + 383 1102 + 384 1102 + 385 1102 + 386 1102 + 981 1102 + 982 1102 + 983 1102 + 984 1102 985 1102 986 1102 987 1102 @@ -13649,6 +23588,13 @@ ny= 1536 990 1102 991 1102 992 1102 + 993 1102 + 994 1102 + 995 1102 + 1140 1102 + 1141 1102 + 1142 1102 + 1143 1102 1144 1102 1145 1102 1146 1102 @@ -13656,6 +23602,14 @@ ny= 1536 1148 1102 1149 1102 1150 1102 + 1151 1102 + 1152 1102 + 1153 1102 + 1154 1102 + 1749 1102 + 1750 1102 + 1751 1102 + 1752 1102 1753 1102 1754 1102 1755 1102 @@ -13664,6 +23618,13 @@ ny= 1536 1758 1102 1759 1102 1760 1102 + 1761 1102 + 1762 1102 + 1763 1102 + 1908 1102 + 1909 1102 + 1910 1102 + 1911 1102 1912 1102 1913 1102 1914 1102 @@ -13671,6 +23632,14 @@ ny= 1536 1916 1102 1917 1102 1918 1102 + 1919 1102 + 1920 1102 + 1921 1102 + 1922 1102 + 2517 1102 + 2518 1102 + 2519 1102 + 2520 1102 2521 1102 2522 1102 2523 1102 @@ -13679,6 +23648,13 @@ ny= 1536 2526 1102 2527 1102 2528 1102 + 2529 1102 + 2530 1102 + 2531 1102 + 2676 1102 + 2677 1102 + 2678 1102 + 2679 1102 2680 1102 2681 1102 2682 1102 @@ -13686,6 +23662,13 @@ ny= 1536 2684 1102 2685 1102 2686 1102 + 2687 1102 + 2688 1102 + 2689 1102 + 2690 1102 + 211 1103 + 212 1103 + 213 1103 214 1103 215 1103 216 1103 @@ -13694,6 +23677,13 @@ ny= 1536 219 1103 220 1103 221 1103 + 222 1103 + 223 1103 + 224 1103 + 225 1103 + 375 1103 + 376 1103 + 377 1103 378 1103 379 1103 380 1103 @@ -13702,6 +23692,13 @@ ny= 1536 383 1103 384 1103 385 1103 + 386 1103 + 387 1103 + 388 1103 + 389 1103 + 979 1103 + 980 1103 + 981 1103 982 1103 983 1103 984 1103 @@ -13710,6 +23707,13 @@ ny= 1536 987 1103 988 1103 989 1103 + 990 1103 + 991 1103 + 992 1103 + 993 1103 + 1143 1103 + 1144 1103 + 1145 1103 1146 1103 1147 1103 1148 1103 @@ -13718,6 +23722,13 @@ ny= 1536 1151 1103 1152 1103 1153 1103 + 1154 1103 + 1155 1103 + 1156 1103 + 1157 1103 + 1747 1103 + 1748 1103 + 1749 1103 1750 1103 1751 1103 1752 1103 @@ -13726,6 +23737,13 @@ ny= 1536 1755 1103 1756 1103 1757 1103 + 1758 1103 + 1759 1103 + 1760 1103 + 1761 1103 + 1911 1103 + 1912 1103 + 1913 1103 1914 1103 1915 1103 1916 1103 @@ -13734,6 +23752,13 @@ ny= 1536 1919 1103 1920 1103 1921 1103 + 1922 1103 + 1923 1103 + 1924 1103 + 1925 1103 + 2515 1103 + 2516 1103 + 2517 1103 2518 1103 2519 1103 2520 1103 @@ -13742,6 +23767,13 @@ ny= 1536 2523 1103 2524 1103 2525 1103 + 2526 1103 + 2527 1103 + 2528 1103 + 2529 1103 + 2679 1103 + 2680 1103 + 2681 1103 2682 1103 2683 1103 2684 1103 @@ -13750,6 +23782,14 @@ ny= 1536 2687 1103 2688 1103 2689 1103 + 2690 1103 + 2691 1103 + 2692 1103 + 2693 1103 + 208 1104 + 209 1104 + 210 1104 + 211 1104 212 1104 213 1104 214 1104 @@ -13757,6 +23797,15 @@ ny= 1536 216 1104 217 1104 218 1104 + 219 1104 + 220 1104 + 221 1104 + 222 1104 + 377 1104 + 378 1104 + 379 1104 + 380 1104 + 381 1104 382 1104 383 1104 384 1104 @@ -13764,6 +23813,13 @@ ny= 1536 386 1104 387 1104 388 1104 + 389 1104 + 390 1104 + 391 1104 + 976 1104 + 977 1104 + 978 1104 + 979 1104 980 1104 981 1104 982 1104 @@ -13771,6 +23827,15 @@ ny= 1536 984 1104 985 1104 986 1104 + 987 1104 + 988 1104 + 989 1104 + 990 1104 + 1145 1104 + 1146 1104 + 1147 1104 + 1148 1104 + 1149 1104 1150 1104 1151 1104 1152 1104 @@ -13778,6 +23843,13 @@ ny= 1536 1154 1104 1155 1104 1156 1104 + 1157 1104 + 1158 1104 + 1159 1104 + 1744 1104 + 1745 1104 + 1746 1104 + 1747 1104 1748 1104 1749 1104 1750 1104 @@ -13785,6 +23857,15 @@ ny= 1536 1752 1104 1753 1104 1754 1104 + 1755 1104 + 1756 1104 + 1757 1104 + 1758 1104 + 1913 1104 + 1914 1104 + 1915 1104 + 1916 1104 + 1917 1104 1918 1104 1919 1104 1920 1104 @@ -13792,6 +23873,13 @@ ny= 1536 1922 1104 1923 1104 1924 1104 + 1925 1104 + 1926 1104 + 1927 1104 + 2512 1104 + 2513 1104 + 2514 1104 + 2515 1104 2516 1104 2517 1104 2518 1104 @@ -13799,6 +23887,15 @@ ny= 1536 2520 1104 2521 1104 2522 1104 + 2523 1104 + 2524 1104 + 2525 1104 + 2526 1104 + 2681 1104 + 2682 1104 + 2683 1104 + 2684 1104 + 2685 1104 2686 1104 2687 1104 2688 1104 @@ -13806,6 +23903,13 @@ ny= 1536 2690 1104 2691 1104 2692 1104 + 2693 1104 + 2694 1104 + 2695 1104 + 205 1105 + 206 1105 + 207 1105 + 208 1105 209 1105 210 1105 211 1105 @@ -13813,6 +23917,13 @@ ny= 1536 213 1105 214 1105 215 1105 + 216 1105 + 217 1105 + 218 1105 + 219 1105 + 381 1105 + 382 1105 + 383 1105 384 1105 385 1105 386 1105 @@ -13820,6 +23931,15 @@ ny= 1536 388 1105 389 1105 390 1105 + 391 1105 + 392 1105 + 393 1105 + 394 1105 + 395 1105 + 973 1105 + 974 1105 + 975 1105 + 976 1105 977 1105 978 1105 979 1105 @@ -13827,6 +23947,13 @@ ny= 1536 981 1105 982 1105 983 1105 + 984 1105 + 985 1105 + 986 1105 + 987 1105 + 1149 1105 + 1150 1105 + 1151 1105 1152 1105 1153 1105 1154 1105 @@ -13834,6 +23961,15 @@ ny= 1536 1156 1105 1157 1105 1158 1105 + 1159 1105 + 1160 1105 + 1161 1105 + 1162 1105 + 1163 1105 + 1741 1105 + 1742 1105 + 1743 1105 + 1744 1105 1745 1105 1746 1105 1747 1105 @@ -13841,6 +23977,13 @@ ny= 1536 1749 1105 1750 1105 1751 1105 + 1752 1105 + 1753 1105 + 1754 1105 + 1755 1105 + 1917 1105 + 1918 1105 + 1919 1105 1920 1105 1921 1105 1922 1105 @@ -13848,6 +23991,15 @@ ny= 1536 1924 1105 1925 1105 1926 1105 + 1927 1105 + 1928 1105 + 1929 1105 + 1930 1105 + 1931 1105 + 2509 1105 + 2510 1105 + 2511 1105 + 2512 1105 2513 1105 2514 1105 2515 1105 @@ -13855,6 +24007,13 @@ ny= 1536 2517 1105 2518 1105 2519 1105 + 2520 1105 + 2521 1105 + 2522 1105 + 2523 1105 + 2685 1105 + 2686 1105 + 2687 1105 2688 1105 2689 1105 2690 1105 @@ -13862,6 +24021,15 @@ ny= 1536 2692 1105 2693 1105 2694 1105 + 2695 1105 + 2696 1105 + 2697 1105 + 2698 1105 + 2699 1105 + 202 1106 + 203 1106 + 204 1106 + 205 1106 206 1106 207 1106 208 1106 @@ -13869,6 +24037,14 @@ ny= 1536 210 1106 211 1106 212 1106 + 213 1106 + 214 1106 + 215 1106 + 216 1106 + 383 1106 + 384 1106 + 385 1106 + 386 1106 387 1106 388 1106 389 1106 @@ -13877,6 +24053,14 @@ ny= 1536 392 1106 393 1106 394 1106 + 395 1106 + 396 1106 + 397 1106 + 398 1106 + 970 1106 + 971 1106 + 972 1106 + 973 1106 974 1106 975 1106 976 1106 @@ -13884,6 +24068,14 @@ ny= 1536 978 1106 979 1106 980 1106 + 981 1106 + 982 1106 + 983 1106 + 984 1106 + 1151 1106 + 1152 1106 + 1153 1106 + 1154 1106 1155 1106 1156 1106 1157 1106 @@ -13892,6 +24084,14 @@ ny= 1536 1160 1106 1161 1106 1162 1106 + 1163 1106 + 1164 1106 + 1165 1106 + 1166 1106 + 1738 1106 + 1739 1106 + 1740 1106 + 1741 1106 1742 1106 1743 1106 1744 1106 @@ -13899,6 +24099,14 @@ ny= 1536 1746 1106 1747 1106 1748 1106 + 1749 1106 + 1750 1106 + 1751 1106 + 1752 1106 + 1919 1106 + 1920 1106 + 1921 1106 + 1922 1106 1923 1106 1924 1106 1925 1106 @@ -13907,6 +24115,14 @@ ny= 1536 1928 1106 1929 1106 1930 1106 + 1931 1106 + 1932 1106 + 1933 1106 + 1934 1106 + 2506 1106 + 2507 1106 + 2508 1106 + 2509 1106 2510 1106 2511 1106 2512 1106 @@ -13914,6 +24130,14 @@ ny= 1536 2514 1106 2515 1106 2516 1106 + 2517 1106 + 2518 1106 + 2519 1106 + 2520 1106 + 2687 1106 + 2688 1106 + 2689 1106 + 2690 1106 2691 1106 2692 1106 2693 1106 @@ -13922,6 +24146,14 @@ ny= 1536 2696 1106 2697 1106 2698 1106 + 2699 1106 + 2700 1106 + 2701 1106 + 2702 1106 + 199 1107 + 200 1107 + 201 1107 + 202 1107 203 1107 204 1107 205 1107 @@ -13929,6 +24161,14 @@ ny= 1536 207 1107 208 1107 209 1107 + 210 1107 + 211 1107 + 212 1107 + 213 1107 + 386 1107 + 387 1107 + 388 1107 + 389 1107 390 1107 391 1107 392 1107 @@ -13937,6 +24177,14 @@ ny= 1536 395 1107 396 1107 397 1107 + 398 1107 + 399 1107 + 400 1107 + 401 1107 + 967 1107 + 968 1107 + 969 1107 + 970 1107 971 1107 972 1107 973 1107 @@ -13944,6 +24192,14 @@ ny= 1536 975 1107 976 1107 977 1107 + 978 1107 + 979 1107 + 980 1107 + 981 1107 + 1154 1107 + 1155 1107 + 1156 1107 + 1157 1107 1158 1107 1159 1107 1160 1107 @@ -13952,6 +24208,14 @@ ny= 1536 1163 1107 1164 1107 1165 1107 + 1166 1107 + 1167 1107 + 1168 1107 + 1169 1107 + 1735 1107 + 1736 1107 + 1737 1107 + 1738 1107 1739 1107 1740 1107 1741 1107 @@ -13959,6 +24223,14 @@ ny= 1536 1743 1107 1744 1107 1745 1107 + 1746 1107 + 1747 1107 + 1748 1107 + 1749 1107 + 1922 1107 + 1923 1107 + 1924 1107 + 1925 1107 1926 1107 1927 1107 1928 1107 @@ -13967,6 +24239,14 @@ ny= 1536 1931 1107 1932 1107 1933 1107 + 1934 1107 + 1935 1107 + 1936 1107 + 1937 1107 + 2503 1107 + 2504 1107 + 2505 1107 + 2506 1107 2507 1107 2508 1107 2509 1107 @@ -13974,6 +24254,14 @@ ny= 1536 2511 1107 2512 1107 2513 1107 + 2514 1107 + 2515 1107 + 2516 1107 + 2517 1107 + 2690 1107 + 2691 1107 + 2692 1107 + 2693 1107 2694 1107 2695 1107 2696 1107 @@ -13982,6 +24270,15 @@ ny= 1536 2699 1107 2700 1107 2701 1107 + 2702 1107 + 2703 1107 + 2704 1107 + 2705 1107 + 195 1108 + 196 1108 + 197 1108 + 198 1108 + 199 1108 200 1108 201 1108 202 1108 @@ -13989,6 +24286,14 @@ ny= 1536 204 1108 205 1108 206 1108 + 207 1108 + 208 1108 + 209 1108 + 210 1108 + 389 1108 + 390 1108 + 391 1108 + 392 1108 393 1108 394 1108 395 1108 @@ -13997,6 +24302,15 @@ ny= 1536 398 1108 399 1108 400 1108 + 401 1108 + 402 1108 + 403 1108 + 404 1108 + 963 1108 + 964 1108 + 965 1108 + 966 1108 + 967 1108 968 1108 969 1108 970 1108 @@ -14004,6 +24318,14 @@ ny= 1536 972 1108 973 1108 974 1108 + 975 1108 + 976 1108 + 977 1108 + 978 1108 + 1157 1108 + 1158 1108 + 1159 1108 + 1160 1108 1161 1108 1162 1108 1163 1108 @@ -14012,6 +24334,15 @@ ny= 1536 1166 1108 1167 1108 1168 1108 + 1169 1108 + 1170 1108 + 1171 1108 + 1172 1108 + 1731 1108 + 1732 1108 + 1733 1108 + 1734 1108 + 1735 1108 1736 1108 1737 1108 1738 1108 @@ -14019,6 +24350,14 @@ ny= 1536 1740 1108 1741 1108 1742 1108 + 1743 1108 + 1744 1108 + 1745 1108 + 1746 1108 + 1925 1108 + 1926 1108 + 1927 1108 + 1928 1108 1929 1108 1930 1108 1931 1108 @@ -14027,6 +24366,15 @@ ny= 1536 1934 1108 1935 1108 1936 1108 + 1937 1108 + 1938 1108 + 1939 1108 + 1940 1108 + 2499 1108 + 2500 1108 + 2501 1108 + 2502 1108 + 2503 1108 2504 1108 2505 1108 2506 1108 @@ -14034,6 +24382,14 @@ ny= 1536 2508 1108 2509 1108 2510 1108 + 2511 1108 + 2512 1108 + 2513 1108 + 2514 1108 + 2693 1108 + 2694 1108 + 2695 1108 + 2696 1108 2697 1108 2698 1108 2699 1108 @@ -14042,6 +24398,14 @@ ny= 1536 2702 1108 2703 1108 2704 1108 + 2705 1108 + 2706 1108 + 2707 1108 + 2708 1108 + 192 1109 + 193 1109 + 194 1109 + 195 1109 196 1109 197 1109 198 1109 @@ -14050,6 +24414,14 @@ ny= 1536 201 1109 202 1109 203 1109 + 204 1109 + 205 1109 + 206 1109 + 207 1109 + 392 1109 + 393 1109 + 394 1109 + 395 1109 396 1109 397 1109 398 1109 @@ -14058,6 +24430,14 @@ ny= 1536 401 1109 402 1109 403 1109 + 404 1109 + 405 1109 + 406 1109 + 407 1109 + 960 1109 + 961 1109 + 962 1109 + 963 1109 964 1109 965 1109 966 1109 @@ -14066,6 +24446,14 @@ ny= 1536 969 1109 970 1109 971 1109 + 972 1109 + 973 1109 + 974 1109 + 975 1109 + 1160 1109 + 1161 1109 + 1162 1109 + 1163 1109 1164 1109 1165 1109 1166 1109 @@ -14074,6 +24462,14 @@ ny= 1536 1169 1109 1170 1109 1171 1109 + 1172 1109 + 1173 1109 + 1174 1109 + 1175 1109 + 1728 1109 + 1729 1109 + 1730 1109 + 1731 1109 1732 1109 1733 1109 1734 1109 @@ -14082,6 +24478,14 @@ ny= 1536 1737 1109 1738 1109 1739 1109 + 1740 1109 + 1741 1109 + 1742 1109 + 1743 1109 + 1928 1109 + 1929 1109 + 1930 1109 + 1931 1109 1932 1109 1933 1109 1934 1109 @@ -14090,6 +24494,14 @@ ny= 1536 1937 1109 1938 1109 1939 1109 + 1940 1109 + 1941 1109 + 1942 1109 + 1943 1109 + 2496 1109 + 2497 1109 + 2498 1109 + 2499 1109 2500 1109 2501 1109 2502 1109 @@ -14098,6 +24510,14 @@ ny= 1536 2505 1109 2506 1109 2507 1109 + 2508 1109 + 2509 1109 + 2510 1109 + 2511 1109 + 2696 1109 + 2697 1109 + 2698 1109 + 2699 1109 2700 1109 2701 1109 2702 1109 @@ -14106,6 +24526,14 @@ ny= 1536 2705 1109 2706 1109 2707 1109 + 2708 1109 + 2709 1109 + 2710 1109 + 2711 1109 + 189 1110 + 190 1110 + 191 1110 + 192 1110 193 1110 194 1110 195 1110 @@ -14114,6 +24542,14 @@ ny= 1536 198 1110 199 1110 200 1110 + 201 1110 + 202 1110 + 203 1110 + 204 1110 + 395 1110 + 396 1110 + 397 1110 + 398 1110 399 1110 400 1110 401 1110 @@ -14122,6 +24558,14 @@ ny= 1536 404 1110 405 1110 406 1110 + 407 1110 + 408 1110 + 409 1110 + 410 1110 + 957 1110 + 958 1110 + 959 1110 + 960 1110 961 1110 962 1110 963 1110 @@ -14130,6 +24574,14 @@ ny= 1536 966 1110 967 1110 968 1110 + 969 1110 + 970 1110 + 971 1110 + 972 1110 + 1163 1110 + 1164 1110 + 1165 1110 + 1166 1110 1167 1110 1168 1110 1169 1110 @@ -14138,6 +24590,14 @@ ny= 1536 1172 1110 1173 1110 1174 1110 + 1175 1110 + 1176 1110 + 1177 1110 + 1178 1110 + 1725 1110 + 1726 1110 + 1727 1110 + 1728 1110 1729 1110 1730 1110 1731 1110 @@ -14146,6 +24606,14 @@ ny= 1536 1734 1110 1735 1110 1736 1110 + 1737 1110 + 1738 1110 + 1739 1110 + 1740 1110 + 1931 1110 + 1932 1110 + 1933 1110 + 1934 1110 1935 1110 1936 1110 1937 1110 @@ -14154,6 +24622,14 @@ ny= 1536 1940 1110 1941 1110 1942 1110 + 1943 1110 + 1944 1110 + 1945 1110 + 1946 1110 + 2493 1110 + 2494 1110 + 2495 1110 + 2496 1110 2497 1110 2498 1110 2499 1110 @@ -14162,6 +24638,14 @@ ny= 1536 2502 1110 2503 1110 2504 1110 + 2505 1110 + 2506 1110 + 2507 1110 + 2508 1110 + 2699 1110 + 2700 1110 + 2701 1110 + 2702 1110 2703 1110 2704 1110 2705 1110 @@ -14170,6 +24654,14 @@ ny= 1536 2708 1110 2709 1110 2710 1110 + 2711 1110 + 2712 1110 + 2713 1110 + 2714 1110 + 186 1111 + 187 1111 + 188 1111 + 189 1111 190 1111 191 1111 192 1111 @@ -14178,6 +24670,15 @@ ny= 1536 195 1111 196 1111 197 1111 + 198 1111 + 199 1111 + 200 1111 + 201 1111 + 398 1111 + 399 1111 + 400 1111 + 401 1111 + 402 1111 403 1111 404 1111 405 1111 @@ -14185,6 +24686,15 @@ ny= 1536 407 1111 408 1111 409 1111 + 410 1111 + 411 1111 + 412 1111 + 413 1111 + 414 1111 + 954 1111 + 955 1111 + 956 1111 + 957 1111 958 1111 959 1111 960 1111 @@ -14193,6 +24703,15 @@ ny= 1536 963 1111 964 1111 965 1111 + 966 1111 + 967 1111 + 968 1111 + 969 1111 + 1166 1111 + 1167 1111 + 1168 1111 + 1169 1111 + 1170 1111 1171 1111 1172 1111 1173 1111 @@ -14200,6 +24719,15 @@ ny= 1536 1175 1111 1176 1111 1177 1111 + 1178 1111 + 1179 1111 + 1180 1111 + 1181 1111 + 1182 1111 + 1722 1111 + 1723 1111 + 1724 1111 + 1725 1111 1726 1111 1727 1111 1728 1111 @@ -14208,6 +24736,15 @@ ny= 1536 1731 1111 1732 1111 1733 1111 + 1734 1111 + 1735 1111 + 1736 1111 + 1737 1111 + 1934 1111 + 1935 1111 + 1936 1111 + 1937 1111 + 1938 1111 1939 1111 1940 1111 1941 1111 @@ -14215,6 +24752,15 @@ ny= 1536 1943 1111 1944 1111 1945 1111 + 1946 1111 + 1947 1111 + 1948 1111 + 1949 1111 + 1950 1111 + 2490 1111 + 2491 1111 + 2492 1111 + 2493 1111 2494 1111 2495 1111 2496 1111 @@ -14223,6 +24769,15 @@ ny= 1536 2499 1111 2500 1111 2501 1111 + 2502 1111 + 2503 1111 + 2504 1111 + 2505 1111 + 2702 1111 + 2703 1111 + 2704 1111 + 2705 1111 + 2706 1111 2707 1111 2708 1111 2709 1111 @@ -14230,6 +24785,16 @@ ny= 1536 2711 1111 2712 1111 2713 1111 + 2714 1111 + 2715 1111 + 2716 1111 + 2717 1111 + 2718 1111 + 182 1112 + 183 1112 + 184 1112 + 185 1112 + 186 1112 187 1112 188 1112 189 1112 @@ -14238,6 +24803,13 @@ ny= 1536 192 1112 193 1112 194 1112 + 195 1112 + 196 1112 + 197 1112 + 198 1112 + 402 1112 + 403 1112 + 404 1112 405 1112 406 1112 407 1112 @@ -14247,6 +24819,15 @@ ny= 1536 411 1112 412 1112 413 1112 + 414 1112 + 415 1112 + 416 1112 + 417 1112 + 950 1112 + 951 1112 + 952 1112 + 953 1112 + 954 1112 955 1112 956 1112 957 1112 @@ -14255,6 +24836,13 @@ ny= 1536 960 1112 961 1112 962 1112 + 963 1112 + 964 1112 + 965 1112 + 966 1112 + 1170 1112 + 1171 1112 + 1172 1112 1173 1112 1174 1112 1175 1112 @@ -14264,6 +24852,15 @@ ny= 1536 1179 1112 1180 1112 1181 1112 + 1182 1112 + 1183 1112 + 1184 1112 + 1185 1112 + 1718 1112 + 1719 1112 + 1720 1112 + 1721 1112 + 1722 1112 1723 1112 1724 1112 1725 1112 @@ -14272,6 +24869,13 @@ ny= 1536 1728 1112 1729 1112 1730 1112 + 1731 1112 + 1732 1112 + 1733 1112 + 1734 1112 + 1938 1112 + 1939 1112 + 1940 1112 1941 1112 1942 1112 1943 1112 @@ -14281,6 +24885,15 @@ ny= 1536 1947 1112 1948 1112 1949 1112 + 1950 1112 + 1951 1112 + 1952 1112 + 1953 1112 + 2486 1112 + 2487 1112 + 2488 1112 + 2489 1112 + 2490 1112 2491 1112 2492 1112 2493 1112 @@ -14289,6 +24902,13 @@ ny= 1536 2496 1112 2497 1112 2498 1112 + 2499 1112 + 2500 1112 + 2501 1112 + 2502 1112 + 2706 1112 + 2707 1112 + 2708 1112 2709 1112 2710 1112 2711 1112 @@ -14298,6 +24918,14 @@ ny= 1536 2715 1112 2716 1112 2717 1112 + 2718 1112 + 2719 1112 + 2720 1112 + 2721 1112 + 179 1113 + 180 1113 + 181 1113 + 182 1113 183 1113 184 1113 185 1113 @@ -14307,6 +24935,15 @@ ny= 1536 189 1113 190 1113 191 1113 + 192 1113 + 193 1113 + 194 1113 + 195 1113 + 404 1113 + 405 1113 + 406 1113 + 407 1113 + 408 1113 409 1113 410 1113 411 1113 @@ -14315,6 +24952,14 @@ ny= 1536 414 1113 415 1113 416 1113 + 417 1113 + 418 1113 + 419 1113 + 420 1113 + 947 1113 + 948 1113 + 949 1113 + 950 1113 951 1113 952 1113 953 1113 @@ -14324,6 +24969,15 @@ ny= 1536 957 1113 958 1113 959 1113 + 960 1113 + 961 1113 + 962 1113 + 963 1113 + 1172 1113 + 1173 1113 + 1174 1113 + 1175 1113 + 1176 1113 1177 1113 1178 1113 1179 1113 @@ -14332,6 +24986,14 @@ ny= 1536 1182 1113 1183 1113 1184 1113 + 1185 1113 + 1186 1113 + 1187 1113 + 1188 1113 + 1715 1113 + 1716 1113 + 1717 1113 + 1718 1113 1719 1113 1720 1113 1721 1113 @@ -14341,6 +25003,15 @@ ny= 1536 1725 1113 1726 1113 1727 1113 + 1728 1113 + 1729 1113 + 1730 1113 + 1731 1113 + 1940 1113 + 1941 1113 + 1942 1113 + 1943 1113 + 1944 1113 1945 1113 1946 1113 1947 1113 @@ -14349,6 +25020,14 @@ ny= 1536 1950 1113 1951 1113 1952 1113 + 1953 1113 + 1954 1113 + 1955 1113 + 1956 1113 + 2483 1113 + 2484 1113 + 2485 1113 + 2486 1113 2487 1113 2488 1113 2489 1113 @@ -14358,6 +25037,15 @@ ny= 1536 2493 1113 2494 1113 2495 1113 + 2496 1113 + 2497 1113 + 2498 1113 + 2499 1113 + 2708 1113 + 2709 1113 + 2710 1113 + 2711 1113 + 2712 1113 2713 1113 2714 1113 2715 1113 @@ -14366,6 +25054,14 @@ ny= 1536 2718 1113 2719 1113 2720 1113 + 2721 1113 + 2722 1113 + 2723 1113 + 2724 1113 + 176 1114 + 177 1114 + 178 1114 + 179 1114 180 1114 181 1114 182 1114 @@ -14374,6 +25070,15 @@ ny= 1536 185 1114 186 1114 187 1114 + 188 1114 + 189 1114 + 190 1114 + 191 1114 + 192 1114 + 408 1114 + 409 1114 + 410 1114 + 411 1114 412 1114 413 1114 414 1114 @@ -14382,6 +25087,15 @@ ny= 1536 417 1114 418 1114 419 1114 + 420 1114 + 421 1114 + 422 1114 + 423 1114 + 424 1114 + 944 1114 + 945 1114 + 946 1114 + 947 1114 948 1114 949 1114 950 1114 @@ -14390,6 +25104,15 @@ ny= 1536 953 1114 954 1114 955 1114 + 956 1114 + 957 1114 + 958 1114 + 959 1114 + 960 1114 + 1176 1114 + 1177 1114 + 1178 1114 + 1179 1114 1180 1114 1181 1114 1182 1114 @@ -14398,6 +25121,15 @@ ny= 1536 1185 1114 1186 1114 1187 1114 + 1188 1114 + 1189 1114 + 1190 1114 + 1191 1114 + 1192 1114 + 1712 1114 + 1713 1114 + 1714 1114 + 1715 1114 1716 1114 1717 1114 1718 1114 @@ -14406,6 +25138,15 @@ ny= 1536 1721 1114 1722 1114 1723 1114 + 1724 1114 + 1725 1114 + 1726 1114 + 1727 1114 + 1728 1114 + 1944 1114 + 1945 1114 + 1946 1114 + 1947 1114 1948 1114 1949 1114 1950 1114 @@ -14414,6 +25155,15 @@ ny= 1536 1953 1114 1954 1114 1955 1114 + 1956 1114 + 1957 1114 + 1958 1114 + 1959 1114 + 1960 1114 + 2480 1114 + 2481 1114 + 2482 1114 + 2483 1114 2484 1114 2485 1114 2486 1114 @@ -14422,6 +25172,15 @@ ny= 1536 2489 1114 2490 1114 2491 1114 + 2492 1114 + 2493 1114 + 2494 1114 + 2495 1114 + 2496 1114 + 2712 1114 + 2713 1114 + 2714 1114 + 2715 1114 2716 1114 2717 1114 2718 1114 @@ -14430,6 +25189,16 @@ ny= 1536 2721 1114 2722 1114 2723 1114 + 2724 1114 + 2725 1114 + 2726 1114 + 2727 1114 + 2728 1114 + 172 1115 + 173 1115 + 174 1115 + 175 1115 + 176 1115 177 1115 178 1115 179 1115 @@ -14438,6 +25207,14 @@ ny= 1536 182 1115 183 1115 184 1115 + 185 1115 + 186 1115 + 187 1115 + 188 1115 + 411 1115 + 412 1115 + 413 1115 + 414 1115 415 1115 416 1115 417 1115 @@ -14447,6 +25224,15 @@ ny= 1536 421 1115 422 1115 423 1115 + 424 1115 + 425 1115 + 426 1115 + 427 1115 + 940 1115 + 941 1115 + 942 1115 + 943 1115 + 944 1115 945 1115 946 1115 947 1115 @@ -14455,6 +25241,14 @@ ny= 1536 950 1115 951 1115 952 1115 + 953 1115 + 954 1115 + 955 1115 + 956 1115 + 1179 1115 + 1180 1115 + 1181 1115 + 1182 1115 1183 1115 1184 1115 1185 1115 @@ -14464,6 +25258,15 @@ ny= 1536 1189 1115 1190 1115 1191 1115 + 1192 1115 + 1193 1115 + 1194 1115 + 1195 1115 + 1708 1115 + 1709 1115 + 1710 1115 + 1711 1115 + 1712 1115 1713 1115 1714 1115 1715 1115 @@ -14472,6 +25275,14 @@ ny= 1536 1718 1115 1719 1115 1720 1115 + 1721 1115 + 1722 1115 + 1723 1115 + 1724 1115 + 1947 1115 + 1948 1115 + 1949 1115 + 1950 1115 1951 1115 1952 1115 1953 1115 @@ -14481,6 +25292,15 @@ ny= 1536 1957 1115 1958 1115 1959 1115 + 1960 1115 + 1961 1115 + 1962 1115 + 1963 1115 + 2476 1115 + 2477 1115 + 2478 1115 + 2479 1115 + 2480 1115 2481 1115 2482 1115 2483 1115 @@ -14489,6 +25309,14 @@ ny= 1536 2486 1115 2487 1115 2488 1115 + 2489 1115 + 2490 1115 + 2491 1115 + 2492 1115 + 2715 1115 + 2716 1115 + 2717 1115 + 2718 1115 2719 1115 2720 1115 2721 1115 @@ -14498,6 +25326,14 @@ ny= 1536 2725 1115 2726 1115 2727 1115 + 2728 1115 + 2729 1115 + 2730 1115 + 2731 1115 + 169 1116 + 170 1116 + 171 1116 + 172 1116 173 1116 174 1116 175 1116 @@ -14507,6 +25343,15 @@ ny= 1536 179 1116 180 1116 181 1116 + 182 1116 + 183 1116 + 184 1116 + 185 1116 + 414 1116 + 415 1116 + 416 1116 + 417 1116 + 418 1116 419 1116 420 1116 421 1116 @@ -14515,6 +25360,14 @@ ny= 1536 424 1116 425 1116 426 1116 + 427 1116 + 428 1116 + 429 1116 + 430 1116 + 937 1116 + 938 1116 + 939 1116 + 940 1116 941 1116 942 1116 943 1116 @@ -14524,6 +25377,15 @@ ny= 1536 947 1116 948 1116 949 1116 + 950 1116 + 951 1116 + 952 1116 + 953 1116 + 1182 1116 + 1183 1116 + 1184 1116 + 1185 1116 + 1186 1116 1187 1116 1188 1116 1189 1116 @@ -14532,6 +25394,14 @@ ny= 1536 1192 1116 1193 1116 1194 1116 + 1195 1116 + 1196 1116 + 1197 1116 + 1198 1116 + 1705 1116 + 1706 1116 + 1707 1116 + 1708 1116 1709 1116 1710 1116 1711 1116 @@ -14541,6 +25411,15 @@ ny= 1536 1715 1116 1716 1116 1717 1116 + 1718 1116 + 1719 1116 + 1720 1116 + 1721 1116 + 1950 1116 + 1951 1116 + 1952 1116 + 1953 1116 + 1954 1116 1955 1116 1956 1116 1957 1116 @@ -14549,6 +25428,14 @@ ny= 1536 1960 1116 1961 1116 1962 1116 + 1963 1116 + 1964 1116 + 1965 1116 + 1966 1116 + 2473 1116 + 2474 1116 + 2475 1116 + 2476 1116 2477 1116 2478 1116 2479 1116 @@ -14558,6 +25445,15 @@ ny= 1536 2483 1116 2484 1116 2485 1116 + 2486 1116 + 2487 1116 + 2488 1116 + 2489 1116 + 2718 1116 + 2719 1116 + 2720 1116 + 2721 1116 + 2722 1116 2723 1116 2724 1116 2725 1116 @@ -14566,6 +25462,15 @@ ny= 1536 2728 1116 2729 1116 2730 1116 + 2731 1116 + 2732 1116 + 2733 1116 + 2734 1116 + 165 1117 + 166 1117 + 167 1117 + 168 1117 + 169 1117 170 1117 171 1117 172 1117 @@ -14574,6 +25479,15 @@ ny= 1536 175 1117 176 1117 177 1117 + 178 1117 + 179 1117 + 180 1117 + 181 1117 + 182 1117 + 418 1117 + 419 1117 + 420 1117 + 421 1117 422 1117 423 1117 424 1117 @@ -14582,6 +25496,16 @@ ny= 1536 427 1117 428 1117 429 1117 + 430 1117 + 431 1117 + 432 1117 + 433 1117 + 434 1117 + 933 1117 + 934 1117 + 935 1117 + 936 1117 + 937 1117 938 1117 939 1117 940 1117 @@ -14590,6 +25514,15 @@ ny= 1536 943 1117 944 1117 945 1117 + 946 1117 + 947 1117 + 948 1117 + 949 1117 + 950 1117 + 1186 1117 + 1187 1117 + 1188 1117 + 1189 1117 1190 1117 1191 1117 1192 1117 @@ -14598,6 +25531,16 @@ ny= 1536 1195 1117 1196 1117 1197 1117 + 1198 1117 + 1199 1117 + 1200 1117 + 1201 1117 + 1202 1117 + 1701 1117 + 1702 1117 + 1703 1117 + 1704 1117 + 1705 1117 1706 1117 1707 1117 1708 1117 @@ -14606,6 +25549,15 @@ ny= 1536 1711 1117 1712 1117 1713 1117 + 1714 1117 + 1715 1117 + 1716 1117 + 1717 1117 + 1718 1117 + 1954 1117 + 1955 1117 + 1956 1117 + 1957 1117 1958 1117 1959 1117 1960 1117 @@ -14614,6 +25566,16 @@ ny= 1536 1963 1117 1964 1117 1965 1117 + 1966 1117 + 1967 1117 + 1968 1117 + 1969 1117 + 1970 1117 + 2469 1117 + 2470 1117 + 2471 1117 + 2472 1117 + 2473 1117 2474 1117 2475 1117 2476 1117 @@ -14622,6 +25584,15 @@ ny= 1536 2479 1117 2480 1117 2481 1117 + 2482 1117 + 2483 1117 + 2484 1117 + 2485 1117 + 2486 1117 + 2722 1117 + 2723 1117 + 2724 1117 + 2725 1117 2726 1117 2727 1117 2728 1117 @@ -14630,6 +25601,15 @@ ny= 1536 2731 1117 2732 1117 2733 1117 + 2734 1117 + 2735 1117 + 2736 1117 + 2737 1117 + 2738 1117 + 162 1118 + 163 1118 + 164 1118 + 165 1118 166 1118 167 1118 168 1118 @@ -14639,6 +25619,15 @@ ny= 1536 172 1118 173 1118 174 1118 + 175 1118 + 176 1118 + 177 1118 + 178 1118 + 421 1118 + 422 1118 + 423 1118 + 424 1118 + 425 1118 426 1118 427 1118 428 1118 @@ -14647,6 +25636,15 @@ ny= 1536 431 1118 432 1118 433 1118 + 434 1118 + 435 1118 + 436 1118 + 437 1118 + 438 1118 + 930 1118 + 931 1118 + 932 1118 + 933 1118 934 1118 935 1118 936 1118 @@ -14656,6 +25654,15 @@ ny= 1536 940 1118 941 1118 942 1118 + 943 1118 + 944 1118 + 945 1118 + 946 1118 + 1189 1118 + 1190 1118 + 1191 1118 + 1192 1118 + 1193 1118 1194 1118 1195 1118 1196 1118 @@ -14664,6 +25671,15 @@ ny= 1536 1199 1118 1200 1118 1201 1118 + 1202 1118 + 1203 1118 + 1204 1118 + 1205 1118 + 1206 1118 + 1698 1118 + 1699 1118 + 1700 1118 + 1701 1118 1702 1118 1703 1118 1704 1118 @@ -14673,6 +25689,15 @@ ny= 1536 1708 1118 1709 1118 1710 1118 + 1711 1118 + 1712 1118 + 1713 1118 + 1714 1118 + 1957 1118 + 1958 1118 + 1959 1118 + 1960 1118 + 1961 1118 1962 1118 1963 1118 1964 1118 @@ -14681,6 +25706,15 @@ ny= 1536 1967 1118 1968 1118 1969 1118 + 1970 1118 + 1971 1118 + 1972 1118 + 1973 1118 + 1974 1118 + 2466 1118 + 2467 1118 + 2468 1118 + 2469 1118 2470 1118 2471 1118 2472 1118 @@ -14690,6 +25724,15 @@ ny= 1536 2476 1118 2477 1118 2478 1118 + 2479 1118 + 2480 1118 + 2481 1118 + 2482 1118 + 2725 1118 + 2726 1118 + 2727 1118 + 2728 1118 + 2729 1118 2730 1118 2731 1118 2732 1118 @@ -14698,6 +25741,16 @@ ny= 1536 2735 1118 2736 1118 2737 1118 + 2738 1118 + 2739 1118 + 2740 1118 + 2741 1118 + 2742 1118 + 158 1119 + 159 1119 + 160 1119 + 161 1119 + 162 1119 163 1119 164 1119 165 1119 @@ -14706,6 +25759,15 @@ ny= 1536 168 1119 169 1119 170 1119 + 171 1119 + 172 1119 + 173 1119 + 174 1119 + 175 1119 + 425 1119 + 426 1119 + 427 1119 + 428 1119 429 1119 430 1119 431 1119 @@ -14715,6 +25777,15 @@ ny= 1536 435 1119 436 1119 437 1119 + 438 1119 + 439 1119 + 440 1119 + 441 1119 + 926 1119 + 927 1119 + 928 1119 + 929 1119 + 930 1119 931 1119 932 1119 933 1119 @@ -14723,6 +25794,15 @@ ny= 1536 936 1119 937 1119 938 1119 + 939 1119 + 940 1119 + 941 1119 + 942 1119 + 943 1119 + 1193 1119 + 1194 1119 + 1195 1119 + 1196 1119 1197 1119 1198 1119 1199 1119 @@ -14732,6 +25812,15 @@ ny= 1536 1203 1119 1204 1119 1205 1119 + 1206 1119 + 1207 1119 + 1208 1119 + 1209 1119 + 1694 1119 + 1695 1119 + 1696 1119 + 1697 1119 + 1698 1119 1699 1119 1700 1119 1701 1119 @@ -14740,6 +25829,15 @@ ny= 1536 1704 1119 1705 1119 1706 1119 + 1707 1119 + 1708 1119 + 1709 1119 + 1710 1119 + 1711 1119 + 1961 1119 + 1962 1119 + 1963 1119 + 1964 1119 1965 1119 1966 1119 1967 1119 @@ -14749,6 +25847,15 @@ ny= 1536 1971 1119 1972 1119 1973 1119 + 1974 1119 + 1975 1119 + 1976 1119 + 1977 1119 + 2462 1119 + 2463 1119 + 2464 1119 + 2465 1119 + 2466 1119 2467 1119 2468 1119 2469 1119 @@ -14757,6 +25864,15 @@ ny= 1536 2472 1119 2473 1119 2474 1119 + 2475 1119 + 2476 1119 + 2477 1119 + 2478 1119 + 2479 1119 + 2729 1119 + 2730 1119 + 2731 1119 + 2732 1119 2733 1119 2734 1119 2735 1119 @@ -14766,6 +25882,15 @@ ny= 1536 2739 1119 2740 1119 2741 1119 + 2742 1119 + 2743 1119 + 2744 1119 + 2745 1119 + 154 1120 + 155 1120 + 156 1120 + 157 1120 + 158 1120 159 1120 160 1120 161 1120 @@ -14775,6 +25900,14 @@ ny= 1536 165 1120 166 1120 167 1120 + 168 1120 + 169 1120 + 170 1120 + 171 1120 + 428 1120 + 429 1120 + 430 1120 + 431 1120 432 1120 433 1120 434 1120 @@ -14784,6 +25917,16 @@ ny= 1536 438 1120 439 1120 440 1120 + 441 1120 + 442 1120 + 443 1120 + 444 1120 + 445 1120 + 922 1120 + 923 1120 + 924 1120 + 925 1120 + 926 1120 927 1120 928 1120 929 1120 @@ -14793,6 +25936,14 @@ ny= 1536 933 1120 934 1120 935 1120 + 936 1120 + 937 1120 + 938 1120 + 939 1120 + 1196 1120 + 1197 1120 + 1198 1120 + 1199 1120 1200 1120 1201 1120 1202 1120 @@ -14802,6 +25953,16 @@ ny= 1536 1206 1120 1207 1120 1208 1120 + 1209 1120 + 1210 1120 + 1211 1120 + 1212 1120 + 1213 1120 + 1690 1120 + 1691 1120 + 1692 1120 + 1693 1120 + 1694 1120 1695 1120 1696 1120 1697 1120 @@ -14811,6 +25972,14 @@ ny= 1536 1701 1120 1702 1120 1703 1120 + 1704 1120 + 1705 1120 + 1706 1120 + 1707 1120 + 1964 1120 + 1965 1120 + 1966 1120 + 1967 1120 1968 1120 1969 1120 1970 1120 @@ -14820,6 +25989,16 @@ ny= 1536 1974 1120 1975 1120 1976 1120 + 1977 1120 + 1978 1120 + 1979 1120 + 1980 1120 + 1981 1120 + 2458 1120 + 2459 1120 + 2460 1120 + 2461 1120 + 2462 1120 2463 1120 2464 1120 2465 1120 @@ -14829,6 +26008,14 @@ ny= 1536 2469 1120 2470 1120 2471 1120 + 2472 1120 + 2473 1120 + 2474 1120 + 2475 1120 + 2732 1120 + 2733 1120 + 2734 1120 + 2735 1120 2736 1120 2737 1120 2738 1120 @@ -14838,6 +26025,15 @@ ny= 1536 2742 1120 2743 1120 2744 1120 + 2745 1120 + 2746 1120 + 2747 1120 + 2748 1120 + 2749 1120 + 151 1121 + 152 1121 + 153 1121 + 154 1121 155 1121 156 1121 157 1121 @@ -14847,6 +26043,16 @@ ny= 1536 161 1121 162 1121 163 1121 + 164 1121 + 165 1121 + 166 1121 + 167 1121 + 168 1121 + 431 1121 + 432 1121 + 433 1121 + 434 1121 + 435 1121 436 1121 437 1121 438 1121 @@ -14856,6 +26062,15 @@ ny= 1536 442 1121 443 1121 444 1121 + 445 1121 + 446 1121 + 447 1121 + 448 1121 + 449 1121 + 919 1121 + 920 1121 + 921 1121 + 922 1121 923 1121 924 1121 925 1121 @@ -14865,6 +26080,16 @@ ny= 1536 929 1121 930 1121 931 1121 + 932 1121 + 933 1121 + 934 1121 + 935 1121 + 936 1121 + 1199 1121 + 1200 1121 + 1201 1121 + 1202 1121 + 1203 1121 1204 1121 1205 1121 1206 1121 @@ -14874,6 +26099,15 @@ ny= 1536 1210 1121 1211 1121 1212 1121 + 1213 1121 + 1214 1121 + 1215 1121 + 1216 1121 + 1217 1121 + 1687 1121 + 1688 1121 + 1689 1121 + 1690 1121 1691 1121 1692 1121 1693 1121 @@ -14883,6 +26117,16 @@ ny= 1536 1697 1121 1698 1121 1699 1121 + 1700 1121 + 1701 1121 + 1702 1121 + 1703 1121 + 1704 1121 + 1967 1121 + 1968 1121 + 1969 1121 + 1970 1121 + 1971 1121 1972 1121 1973 1121 1974 1121 @@ -14892,6 +26136,15 @@ ny= 1536 1978 1121 1979 1121 1980 1121 + 1981 1121 + 1982 1121 + 1983 1121 + 1984 1121 + 1985 1121 + 2455 1121 + 2456 1121 + 2457 1121 + 2458 1121 2459 1121 2460 1121 2461 1121 @@ -14901,6 +26154,16 @@ ny= 1536 2465 1121 2466 1121 2467 1121 + 2468 1121 + 2469 1121 + 2470 1121 + 2471 1121 + 2472 1121 + 2735 1121 + 2736 1121 + 2737 1121 + 2738 1121 + 2739 1121 2740 1121 2741 1121 2742 1121 @@ -14910,6 +26173,16 @@ ny= 1536 2746 1121 2747 1121 2748 1121 + 2749 1121 + 2750 1121 + 2751 1121 + 2752 1121 + 2753 1121 + 147 1122 + 148 1122 + 149 1122 + 150 1122 + 151 1122 152 1122 153 1122 154 1122 @@ -14919,6 +26192,15 @@ ny= 1536 158 1122 159 1122 160 1122 + 161 1122 + 162 1122 + 163 1122 + 164 1122 + 435 1122 + 436 1122 + 437 1122 + 438 1122 + 439 1122 440 1122 441 1122 442 1122 @@ -14928,6 +26210,16 @@ ny= 1536 446 1122 447 1122 448 1122 + 449 1122 + 450 1122 + 451 1122 + 452 1122 + 453 1122 + 915 1122 + 916 1122 + 917 1122 + 918 1122 + 919 1122 920 1122 921 1122 922 1122 @@ -14937,6 +26229,15 @@ ny= 1536 926 1122 927 1122 928 1122 + 929 1122 + 930 1122 + 931 1122 + 932 1122 + 1203 1122 + 1204 1122 + 1205 1122 + 1206 1122 + 1207 1122 1208 1122 1209 1122 1210 1122 @@ -14946,6 +26247,16 @@ ny= 1536 1214 1122 1215 1122 1216 1122 + 1217 1122 + 1218 1122 + 1219 1122 + 1220 1122 + 1221 1122 + 1683 1122 + 1684 1122 + 1685 1122 + 1686 1122 + 1687 1122 1688 1122 1689 1122 1690 1122 @@ -14955,6 +26266,15 @@ ny= 1536 1694 1122 1695 1122 1696 1122 + 1697 1122 + 1698 1122 + 1699 1122 + 1700 1122 + 1971 1122 + 1972 1122 + 1973 1122 + 1974 1122 + 1975 1122 1976 1122 1977 1122 1978 1122 @@ -14964,6 +26284,16 @@ ny= 1536 1982 1122 1983 1122 1984 1122 + 1985 1122 + 1986 1122 + 1987 1122 + 1988 1122 + 1989 1122 + 2451 1122 + 2452 1122 + 2453 1122 + 2454 1122 + 2455 1122 2456 1122 2457 1122 2458 1122 @@ -14973,6 +26303,15 @@ ny= 1536 2462 1122 2463 1122 2464 1122 + 2465 1122 + 2466 1122 + 2467 1122 + 2468 1122 + 2739 1122 + 2740 1122 + 2741 1122 + 2742 1122 + 2743 1122 2744 1122 2745 1122 2746 1122 @@ -14982,6 +26321,16 @@ ny= 1536 2750 1122 2751 1122 2752 1122 + 2753 1122 + 2754 1122 + 2755 1122 + 2756 1122 + 2757 1122 + 143 1123 + 144 1123 + 145 1123 + 146 1123 + 147 1123 148 1123 149 1123 150 1123 @@ -14991,6 +26340,16 @@ ny= 1536 154 1123 155 1123 156 1123 + 157 1123 + 158 1123 + 159 1123 + 160 1123 + 161 1123 + 439 1123 + 440 1123 + 441 1123 + 442 1123 + 443 1123 444 1123 445 1123 446 1123 @@ -15000,6 +26359,16 @@ ny= 1536 450 1123 451 1123 452 1123 + 453 1123 + 454 1123 + 455 1123 + 456 1123 + 457 1123 + 911 1123 + 912 1123 + 913 1123 + 914 1123 + 915 1123 916 1123 917 1123 918 1123 @@ -15009,6 +26378,16 @@ ny= 1536 922 1123 923 1123 924 1123 + 925 1123 + 926 1123 + 927 1123 + 928 1123 + 929 1123 + 1207 1123 + 1208 1123 + 1209 1123 + 1210 1123 + 1211 1123 1212 1123 1213 1123 1214 1123 @@ -15018,6 +26397,16 @@ ny= 1536 1218 1123 1219 1123 1220 1123 + 1221 1123 + 1222 1123 + 1223 1123 + 1224 1123 + 1225 1123 + 1679 1123 + 1680 1123 + 1681 1123 + 1682 1123 + 1683 1123 1684 1123 1685 1123 1686 1123 @@ -15027,6 +26416,16 @@ ny= 1536 1690 1123 1691 1123 1692 1123 + 1693 1123 + 1694 1123 + 1695 1123 + 1696 1123 + 1697 1123 + 1975 1123 + 1976 1123 + 1977 1123 + 1978 1123 + 1979 1123 1980 1123 1981 1123 1982 1123 @@ -15036,6 +26435,16 @@ ny= 1536 1986 1123 1987 1123 1988 1123 + 1989 1123 + 1990 1123 + 1991 1123 + 1992 1123 + 1993 1123 + 2447 1123 + 2448 1123 + 2449 1123 + 2450 1123 + 2451 1123 2452 1123 2453 1123 2454 1123 @@ -15045,6 +26454,16 @@ ny= 1536 2458 1123 2459 1123 2460 1123 + 2461 1123 + 2462 1123 + 2463 1123 + 2464 1123 + 2465 1123 + 2743 1123 + 2744 1123 + 2745 1123 + 2746 1123 + 2747 1123 2748 1123 2749 1123 2750 1123 @@ -15054,6 +26473,16 @@ ny= 1536 2754 1123 2755 1123 2756 1123 + 2757 1123 + 2758 1123 + 2759 1123 + 2760 1123 + 2761 1123 + 139 1124 + 140 1124 + 141 1124 + 142 1124 + 143 1124 144 1124 145 1124 146 1124 @@ -15063,6 +26492,15 @@ ny= 1536 150 1124 151 1124 152 1124 + 153 1124 + 154 1124 + 155 1124 + 156 1124 + 157 1124 + 443 1124 + 444 1124 + 445 1124 + 446 1124 447 1124 448 1124 449 1124 @@ -15073,6 +26511,16 @@ ny= 1536 454 1124 455 1124 456 1124 + 457 1124 + 458 1124 + 459 1124 + 460 1124 + 461 1124 + 907 1124 + 908 1124 + 909 1124 + 910 1124 + 911 1124 912 1124 913 1124 914 1124 @@ -15082,6 +26530,15 @@ ny= 1536 918 1124 919 1124 920 1124 + 921 1124 + 922 1124 + 923 1124 + 924 1124 + 925 1124 + 1211 1124 + 1212 1124 + 1213 1124 + 1214 1124 1215 1124 1216 1124 1217 1124 @@ -15092,6 +26549,16 @@ ny= 1536 1222 1124 1223 1124 1224 1124 + 1225 1124 + 1226 1124 + 1227 1124 + 1228 1124 + 1229 1124 + 1675 1124 + 1676 1124 + 1677 1124 + 1678 1124 + 1679 1124 1680 1124 1681 1124 1682 1124 @@ -15101,6 +26568,15 @@ ny= 1536 1686 1124 1687 1124 1688 1124 + 1689 1124 + 1690 1124 + 1691 1124 + 1692 1124 + 1693 1124 + 1979 1124 + 1980 1124 + 1981 1124 + 1982 1124 1983 1124 1984 1124 1985 1124 @@ -15111,6 +26587,16 @@ ny= 1536 1990 1124 1991 1124 1992 1124 + 1993 1124 + 1994 1124 + 1995 1124 + 1996 1124 + 1997 1124 + 2443 1124 + 2444 1124 + 2445 1124 + 2446 1124 + 2447 1124 2448 1124 2449 1124 2450 1124 @@ -15120,6 +26606,15 @@ ny= 1536 2454 1124 2455 1124 2456 1124 + 2457 1124 + 2458 1124 + 2459 1124 + 2460 1124 + 2461 1124 + 2747 1124 + 2748 1124 + 2749 1124 + 2750 1124 2751 1124 2752 1124 2753 1124 @@ -15130,6 +26625,17 @@ ny= 1536 2758 1124 2759 1124 2760 1124 + 2761 1124 + 2762 1124 + 2763 1124 + 2764 1124 + 2765 1124 + 134 1125 + 135 1125 + 136 1125 + 137 1125 + 138 1125 + 139 1125 140 1125 141 1125 142 1125 @@ -15139,6 +26645,16 @@ ny= 1536 146 1125 147 1125 148 1125 + 149 1125 + 150 1125 + 151 1125 + 152 1125 + 153 1125 + 446 1125 + 447 1125 + 448 1125 + 449 1125 + 450 1125 451 1125 452 1125 453 1125 @@ -15149,6 +26665,17 @@ ny= 1536 458 1125 459 1125 460 1125 + 461 1125 + 462 1125 + 463 1125 + 464 1125 + 465 1125 + 902 1125 + 903 1125 + 904 1125 + 905 1125 + 906 1125 + 907 1125 908 1125 909 1125 910 1125 @@ -15158,6 +26685,16 @@ ny= 1536 914 1125 915 1125 916 1125 + 917 1125 + 918 1125 + 919 1125 + 920 1125 + 921 1125 + 1214 1125 + 1215 1125 + 1216 1125 + 1217 1125 + 1218 1125 1219 1125 1220 1125 1221 1125 @@ -15168,6 +26705,17 @@ ny= 1536 1226 1125 1227 1125 1228 1125 + 1229 1125 + 1230 1125 + 1231 1125 + 1232 1125 + 1233 1125 + 1670 1125 + 1671 1125 + 1672 1125 + 1673 1125 + 1674 1125 + 1675 1125 1676 1125 1677 1125 1678 1125 @@ -15177,6 +26725,16 @@ ny= 1536 1682 1125 1683 1125 1684 1125 + 1685 1125 + 1686 1125 + 1687 1125 + 1688 1125 + 1689 1125 + 1982 1125 + 1983 1125 + 1984 1125 + 1985 1125 + 1986 1125 1987 1125 1988 1125 1989 1125 @@ -15187,6 +26745,17 @@ ny= 1536 1994 1125 1995 1125 1996 1125 + 1997 1125 + 1998 1125 + 1999 1125 + 2000 1125 + 2001 1125 + 2438 1125 + 2439 1125 + 2440 1125 + 2441 1125 + 2442 1125 + 2443 1125 2444 1125 2445 1125 2446 1125 @@ -15196,6 +26765,16 @@ ny= 1536 2450 1125 2451 1125 2452 1125 + 2453 1125 + 2454 1125 + 2455 1125 + 2456 1125 + 2457 1125 + 2750 1125 + 2751 1125 + 2752 1125 + 2753 1125 + 2754 1125 2755 1125 2756 1125 2757 1125 @@ -15206,6 +26785,16 @@ ny= 1536 2762 1125 2763 1125 2764 1125 + 2765 1125 + 2766 1125 + 2767 1125 + 2768 1125 + 2769 1125 + 130 1126 + 131 1126 + 132 1126 + 133 1126 + 134 1126 135 1126 136 1126 137 1126 @@ -15216,6 +26805,16 @@ ny= 1536 142 1126 143 1126 144 1126 + 145 1126 + 146 1126 + 147 1126 + 148 1126 + 149 1126 + 450 1126 + 451 1126 + 452 1126 + 453 1126 + 454 1126 455 1126 456 1126 457 1126 @@ -15226,6 +26825,16 @@ ny= 1536 462 1126 463 1126 464 1126 + 465 1126 + 466 1126 + 467 1126 + 468 1126 + 469 1126 + 898 1126 + 899 1126 + 900 1126 + 901 1126 + 902 1126 903 1126 904 1126 905 1126 @@ -15236,6 +26845,16 @@ ny= 1536 910 1126 911 1126 912 1126 + 913 1126 + 914 1126 + 915 1126 + 916 1126 + 917 1126 + 1218 1126 + 1219 1126 + 1220 1126 + 1221 1126 + 1222 1126 1223 1126 1224 1126 1225 1126 @@ -15246,6 +26865,16 @@ ny= 1536 1230 1126 1231 1126 1232 1126 + 1233 1126 + 1234 1126 + 1235 1126 + 1236 1126 + 1237 1126 + 1666 1126 + 1667 1126 + 1668 1126 + 1669 1126 + 1670 1126 1671 1126 1672 1126 1673 1126 @@ -15256,6 +26885,16 @@ ny= 1536 1678 1126 1679 1126 1680 1126 + 1681 1126 + 1682 1126 + 1683 1126 + 1684 1126 + 1685 1126 + 1986 1126 + 1987 1126 + 1988 1126 + 1989 1126 + 1990 1126 1991 1126 1992 1126 1993 1126 @@ -15266,6 +26905,16 @@ ny= 1536 1998 1126 1999 1126 2000 1126 + 2001 1126 + 2002 1126 + 2003 1126 + 2004 1126 + 2005 1126 + 2434 1126 + 2435 1126 + 2436 1126 + 2437 1126 + 2438 1126 2439 1126 2440 1126 2441 1126 @@ -15276,6 +26925,16 @@ ny= 1536 2446 1126 2447 1126 2448 1126 + 2449 1126 + 2450 1126 + 2451 1126 + 2452 1126 + 2453 1126 + 2754 1126 + 2755 1126 + 2756 1126 + 2757 1126 + 2758 1126 2759 1126 2760 1126 2761 1126 @@ -15286,6 +26945,16 @@ ny= 1536 2766 1126 2767 1126 2768 1126 + 2769 1126 + 2770 1126 + 2771 1126 + 2772 1126 + 2773 1126 + 126 1127 + 127 1127 + 128 1127 + 129 1127 + 130 1127 131 1127 132 1127 133 1127 @@ -15296,6 +26965,16 @@ ny= 1536 138 1127 139 1127 140 1127 + 141 1127 + 142 1127 + 143 1127 + 144 1127 + 145 1127 + 454 1127 + 455 1127 + 456 1127 + 457 1127 + 458 1127 459 1127 460 1127 461 1127 @@ -15306,6 +26985,16 @@ ny= 1536 466 1127 467 1127 468 1127 + 469 1127 + 470 1127 + 471 1127 + 472 1127 + 473 1127 + 894 1127 + 895 1127 + 896 1127 + 897 1127 + 898 1127 899 1127 900 1127 901 1127 @@ -15316,6 +27005,16 @@ ny= 1536 906 1127 907 1127 908 1127 + 909 1127 + 910 1127 + 911 1127 + 912 1127 + 913 1127 + 1222 1127 + 1223 1127 + 1224 1127 + 1225 1127 + 1226 1127 1227 1127 1228 1127 1229 1127 @@ -15326,6 +27025,16 @@ ny= 1536 1234 1127 1235 1127 1236 1127 + 1237 1127 + 1238 1127 + 1239 1127 + 1240 1127 + 1241 1127 + 1662 1127 + 1663 1127 + 1664 1127 + 1665 1127 + 1666 1127 1667 1127 1668 1127 1669 1127 @@ -15336,6 +27045,16 @@ ny= 1536 1674 1127 1675 1127 1676 1127 + 1677 1127 + 1678 1127 + 1679 1127 + 1680 1127 + 1681 1127 + 1990 1127 + 1991 1127 + 1992 1127 + 1993 1127 + 1994 1127 1995 1127 1996 1127 1997 1127 @@ -15346,6 +27065,16 @@ ny= 1536 2002 1127 2003 1127 2004 1127 + 2005 1127 + 2006 1127 + 2007 1127 + 2008 1127 + 2009 1127 + 2430 1127 + 2431 1127 + 2432 1127 + 2433 1127 + 2434 1127 2435 1127 2436 1127 2437 1127 @@ -15356,6 +27085,16 @@ ny= 1536 2442 1127 2443 1127 2444 1127 + 2445 1127 + 2446 1127 + 2447 1127 + 2448 1127 + 2449 1127 + 2758 1127 + 2759 1127 + 2760 1127 + 2761 1127 + 2762 1127 2763 1127 2764 1127 2765 1127 @@ -15366,6 +27105,16 @@ ny= 1536 2770 1127 2771 1127 2772 1127 + 2773 1127 + 2774 1127 + 2775 1127 + 2776 1127 + 2777 1127 + 122 1128 + 123 1128 + 124 1128 + 125 1128 + 126 1128 127 1128 128 1128 129 1128 @@ -15376,6 +27125,17 @@ ny= 1536 134 1128 135 1128 136 1128 + 137 1128 + 138 1128 + 139 1128 + 140 1128 + 141 1128 + 458 1128 + 459 1128 + 460 1128 + 461 1128 + 462 1128 + 463 1128 464 1128 465 1128 466 1128 @@ -15385,6 +27145,17 @@ ny= 1536 470 1128 471 1128 472 1128 + 473 1128 + 474 1128 + 475 1128 + 476 1128 + 477 1128 + 478 1128 + 890 1128 + 891 1128 + 892 1128 + 893 1128 + 894 1128 895 1128 896 1128 897 1128 @@ -15395,6 +27166,17 @@ ny= 1536 902 1128 903 1128 904 1128 + 905 1128 + 906 1128 + 907 1128 + 908 1128 + 909 1128 + 1226 1128 + 1227 1128 + 1228 1128 + 1229 1128 + 1230 1128 + 1231 1128 1232 1128 1233 1128 1234 1128 @@ -15404,6 +27186,17 @@ ny= 1536 1238 1128 1239 1128 1240 1128 + 1241 1128 + 1242 1128 + 1243 1128 + 1244 1128 + 1245 1128 + 1246 1128 + 1658 1128 + 1659 1128 + 1660 1128 + 1661 1128 + 1662 1128 1663 1128 1664 1128 1665 1128 @@ -15414,6 +27207,17 @@ ny= 1536 1670 1128 1671 1128 1672 1128 + 1673 1128 + 1674 1128 + 1675 1128 + 1676 1128 + 1677 1128 + 1994 1128 + 1995 1128 + 1996 1128 + 1997 1128 + 1998 1128 + 1999 1128 2000 1128 2001 1128 2002 1128 @@ -15423,6 +27227,17 @@ ny= 1536 2006 1128 2007 1128 2008 1128 + 2009 1128 + 2010 1128 + 2011 1128 + 2012 1128 + 2013 1128 + 2014 1128 + 2426 1128 + 2427 1128 + 2428 1128 + 2429 1128 + 2430 1128 2431 1128 2432 1128 2433 1128 @@ -15433,6 +27248,17 @@ ny= 1536 2438 1128 2439 1128 2440 1128 + 2441 1128 + 2442 1128 + 2443 1128 + 2444 1128 + 2445 1128 + 2762 1128 + 2763 1128 + 2764 1128 + 2765 1128 + 2766 1128 + 2767 1128 2768 1128 2769 1128 2770 1128 @@ -15442,6 +27268,18 @@ ny= 1536 2774 1128 2775 1128 2776 1128 + 2777 1128 + 2778 1128 + 2779 1128 + 2780 1128 + 2781 1128 + 2782 1128 + 117 1129 + 118 1129 + 119 1129 + 120 1129 + 121 1129 + 122 1129 123 1129 124 1129 125 1129 @@ -15452,6 +27290,16 @@ ny= 1536 130 1129 131 1129 132 1129 + 133 1129 + 134 1129 + 135 1129 + 136 1129 + 137 1129 + 463 1129 + 464 1129 + 465 1129 + 466 1129 + 467 1129 468 1129 469 1129 470 1129 @@ -15462,6 +27310,17 @@ ny= 1536 475 1129 476 1129 477 1129 + 478 1129 + 479 1129 + 480 1129 + 481 1129 + 482 1129 + 885 1129 + 886 1129 + 887 1129 + 888 1129 + 889 1129 + 890 1129 891 1129 892 1129 893 1129 @@ -15472,6 +27331,16 @@ ny= 1536 898 1129 899 1129 900 1129 + 901 1129 + 902 1129 + 903 1129 + 904 1129 + 905 1129 + 1231 1129 + 1232 1129 + 1233 1129 + 1234 1129 + 1235 1129 1236 1129 1237 1129 1238 1129 @@ -15482,6 +27351,17 @@ ny= 1536 1243 1129 1244 1129 1245 1129 + 1246 1129 + 1247 1129 + 1248 1129 + 1249 1129 + 1250 1129 + 1653 1129 + 1654 1129 + 1655 1129 + 1656 1129 + 1657 1129 + 1658 1129 1659 1129 1660 1129 1661 1129 @@ -15492,6 +27372,16 @@ ny= 1536 1666 1129 1667 1129 1668 1129 + 1669 1129 + 1670 1129 + 1671 1129 + 1672 1129 + 1673 1129 + 1999 1129 + 2000 1129 + 2001 1129 + 2002 1129 + 2003 1129 2004 1129 2005 1129 2006 1129 @@ -15502,6 +27392,17 @@ ny= 1536 2011 1129 2012 1129 2013 1129 + 2014 1129 + 2015 1129 + 2016 1129 + 2017 1129 + 2018 1129 + 2421 1129 + 2422 1129 + 2423 1129 + 2424 1129 + 2425 1129 + 2426 1129 2427 1129 2428 1129 2429 1129 @@ -15512,6 +27413,16 @@ ny= 1536 2434 1129 2435 1129 2436 1129 + 2437 1129 + 2438 1129 + 2439 1129 + 2440 1129 + 2441 1129 + 2767 1129 + 2768 1129 + 2769 1129 + 2770 1129 + 2771 1129 2772 1129 2773 1129 2774 1129 @@ -15522,6 +27433,16 @@ ny= 1536 2779 1129 2780 1129 2781 1129 + 2782 1129 + 2783 1129 + 2784 1129 + 2785 1129 + 2786 1129 + 113 1130 + 114 1130 + 115 1130 + 116 1130 + 117 1130 118 1130 119 1130 120 1130 @@ -15533,6 +27454,16 @@ ny= 1536 126 1130 127 1130 128 1130 + 129 1130 + 130 1130 + 131 1130 + 132 1130 + 133 1130 + 467 1130 + 468 1130 + 469 1130 + 470 1130 + 471 1130 472 1130 473 1130 474 1130 @@ -15543,6 +27474,17 @@ ny= 1536 479 1130 480 1130 481 1130 + 482 1130 + 483 1130 + 484 1130 + 485 1130 + 486 1130 + 487 1130 + 881 1130 + 882 1130 + 883 1130 + 884 1130 + 885 1130 886 1130 887 1130 888 1130 @@ -15554,6 +27496,16 @@ ny= 1536 894 1130 895 1130 896 1130 + 897 1130 + 898 1130 + 899 1130 + 900 1130 + 901 1130 + 1235 1130 + 1236 1130 + 1237 1130 + 1238 1130 + 1239 1130 1240 1130 1241 1130 1242 1130 @@ -15564,6 +27516,17 @@ ny= 1536 1247 1130 1248 1130 1249 1130 + 1250 1130 + 1251 1130 + 1252 1130 + 1253 1130 + 1254 1130 + 1255 1130 + 1649 1130 + 1650 1130 + 1651 1130 + 1652 1130 + 1653 1130 1654 1130 1655 1130 1656 1130 @@ -15575,6 +27538,16 @@ ny= 1536 1662 1130 1663 1130 1664 1130 + 1665 1130 + 1666 1130 + 1667 1130 + 1668 1130 + 1669 1130 + 2003 1130 + 2004 1130 + 2005 1130 + 2006 1130 + 2007 1130 2008 1130 2009 1130 2010 1130 @@ -15585,6 +27558,17 @@ ny= 1536 2015 1130 2016 1130 2017 1130 + 2018 1130 + 2019 1130 + 2020 1130 + 2021 1130 + 2022 1130 + 2023 1130 + 2417 1130 + 2418 1130 + 2419 1130 + 2420 1130 + 2421 1130 2422 1130 2423 1130 2424 1130 @@ -15596,6 +27580,16 @@ ny= 1536 2430 1130 2431 1130 2432 1130 + 2433 1130 + 2434 1130 + 2435 1130 + 2436 1130 + 2437 1130 + 2771 1130 + 2772 1130 + 2773 1130 + 2774 1130 + 2775 1130 2776 1130 2777 1130 2778 1130 @@ -15606,6 +27600,18 @@ ny= 1536 2783 1130 2784 1130 2785 1130 + 2786 1130 + 2787 1130 + 2788 1130 + 2789 1130 + 2790 1130 + 2791 1130 + 108 1131 + 109 1131 + 110 1131 + 111 1131 + 112 1131 + 113 1131 114 1131 115 1131 116 1131 @@ -15616,6 +27622,17 @@ ny= 1536 121 1131 122 1131 123 1131 + 124 1131 + 125 1131 + 126 1131 + 127 1131 + 128 1131 + 129 1131 + 471 1131 + 472 1131 + 473 1131 + 474 1131 + 475 1131 476 1131 477 1131 478 1131 @@ -15627,6 +27644,17 @@ ny= 1536 484 1131 485 1131 486 1131 + 487 1131 + 488 1131 + 489 1131 + 490 1131 + 491 1131 + 876 1131 + 877 1131 + 878 1131 + 879 1131 + 880 1131 + 881 1131 882 1131 883 1131 884 1131 @@ -15637,6 +27665,17 @@ ny= 1536 889 1131 890 1131 891 1131 + 892 1131 + 893 1131 + 894 1131 + 895 1131 + 896 1131 + 897 1131 + 1239 1131 + 1240 1131 + 1241 1131 + 1242 1131 + 1243 1131 1244 1131 1245 1131 1246 1131 @@ -15648,6 +27687,17 @@ ny= 1536 1252 1131 1253 1131 1254 1131 + 1255 1131 + 1256 1131 + 1257 1131 + 1258 1131 + 1259 1131 + 1644 1131 + 1645 1131 + 1646 1131 + 1647 1131 + 1648 1131 + 1649 1131 1650 1131 1651 1131 1652 1131 @@ -15658,6 +27708,17 @@ ny= 1536 1657 1131 1658 1131 1659 1131 + 1660 1131 + 1661 1131 + 1662 1131 + 1663 1131 + 1664 1131 + 1665 1131 + 2007 1131 + 2008 1131 + 2009 1131 + 2010 1131 + 2011 1131 2012 1131 2013 1131 2014 1131 @@ -15669,6 +27730,17 @@ ny= 1536 2020 1131 2021 1131 2022 1131 + 2023 1131 + 2024 1131 + 2025 1131 + 2026 1131 + 2027 1131 + 2412 1131 + 2413 1131 + 2414 1131 + 2415 1131 + 2416 1131 + 2417 1131 2418 1131 2419 1131 2420 1131 @@ -15679,6 +27751,17 @@ ny= 1536 2425 1131 2426 1131 2427 1131 + 2428 1131 + 2429 1131 + 2430 1131 + 2431 1131 + 2432 1131 + 2433 1131 + 2775 1131 + 2776 1131 + 2777 1131 + 2778 1131 + 2779 1131 2780 1131 2781 1131 2782 1131 @@ -15690,6 +27773,17 @@ ny= 1536 2788 1131 2789 1131 2790 1131 + 2791 1131 + 2792 1131 + 2793 1131 + 2794 1131 + 2795 1131 + 103 1132 + 104 1132 + 105 1132 + 106 1132 + 107 1132 + 108 1132 109 1132 110 1132 111 1132 @@ -15701,6 +27795,17 @@ ny= 1536 117 1132 118 1132 119 1132 + 120 1132 + 121 1132 + 122 1132 + 123 1132 + 124 1132 + 475 1132 + 476 1132 + 477 1132 + 478 1132 + 479 1132 + 480 1132 481 1132 482 1132 483 1132 @@ -15711,6 +27816,19 @@ ny= 1536 488 1132 489 1132 490 1132 + 491 1132 + 492 1132 + 493 1132 + 494 1132 + 495 1132 + 496 1132 + 497 1132 + 871 1132 + 872 1132 + 873 1132 + 874 1132 + 875 1132 + 876 1132 877 1132 878 1132 879 1132 @@ -15722,6 +27840,17 @@ ny= 1536 885 1132 886 1132 887 1132 + 888 1132 + 889 1132 + 890 1132 + 891 1132 + 892 1132 + 1243 1132 + 1244 1132 + 1245 1132 + 1246 1132 + 1247 1132 + 1248 1132 1249 1132 1250 1132 1251 1132 @@ -15732,6 +27861,19 @@ ny= 1536 1256 1132 1257 1132 1258 1132 + 1259 1132 + 1260 1132 + 1261 1132 + 1262 1132 + 1263 1132 + 1264 1132 + 1265 1132 + 1639 1132 + 1640 1132 + 1641 1132 + 1642 1132 + 1643 1132 + 1644 1132 1645 1132 1646 1132 1647 1132 @@ -15743,6 +27885,17 @@ ny= 1536 1653 1132 1654 1132 1655 1132 + 1656 1132 + 1657 1132 + 1658 1132 + 1659 1132 + 1660 1132 + 2011 1132 + 2012 1132 + 2013 1132 + 2014 1132 + 2015 1132 + 2016 1132 2017 1132 2018 1132 2019 1132 @@ -15753,6 +27906,19 @@ ny= 1536 2024 1132 2025 1132 2026 1132 + 2027 1132 + 2028 1132 + 2029 1132 + 2030 1132 + 2031 1132 + 2032 1132 + 2033 1132 + 2407 1132 + 2408 1132 + 2409 1132 + 2410 1132 + 2411 1132 + 2412 1132 2413 1132 2414 1132 2415 1132 @@ -15764,6 +27930,17 @@ ny= 1536 2421 1132 2422 1132 2423 1132 + 2424 1132 + 2425 1132 + 2426 1132 + 2427 1132 + 2428 1132 + 2779 1132 + 2780 1132 + 2781 1132 + 2782 1132 + 2783 1132 + 2784 1132 2785 1132 2786 1132 2787 1132 @@ -15774,6 +27951,19 @@ ny= 1536 2792 1132 2793 1132 2794 1132 + 2795 1132 + 2796 1132 + 2797 1132 + 2798 1132 + 2799 1132 + 2800 1132 + 2801 1132 + 98 1133 + 99 1133 + 100 1133 + 101 1133 + 102 1133 + 103 1133 104 1133 105 1133 106 1133 @@ -15785,6 +27975,17 @@ ny= 1536 112 1133 113 1133 114 1133 + 115 1133 + 116 1133 + 117 1133 + 118 1133 + 119 1133 + 120 1133 + 480 1133 + 481 1133 + 482 1133 + 483 1133 + 484 1133 485 1133 486 1133 487 1133 @@ -15797,6 +27998,17 @@ ny= 1536 494 1133 495 1133 496 1133 + 497 1133 + 498 1133 + 499 1133 + 500 1133 + 501 1133 + 866 1133 + 867 1133 + 868 1133 + 869 1133 + 870 1133 + 871 1133 872 1133 873 1133 874 1133 @@ -15808,6 +28020,17 @@ ny= 1536 880 1133 881 1133 882 1133 + 883 1133 + 884 1133 + 885 1133 + 886 1133 + 887 1133 + 888 1133 + 1248 1133 + 1249 1133 + 1250 1133 + 1251 1133 + 1252 1133 1253 1133 1254 1133 1255 1133 @@ -15820,6 +28043,17 @@ ny= 1536 1262 1133 1263 1133 1264 1133 + 1265 1133 + 1266 1133 + 1267 1133 + 1268 1133 + 1269 1133 + 1634 1133 + 1635 1133 + 1636 1133 + 1637 1133 + 1638 1133 + 1639 1133 1640 1133 1641 1133 1642 1133 @@ -15831,6 +28065,17 @@ ny= 1536 1648 1133 1649 1133 1650 1133 + 1651 1133 + 1652 1133 + 1653 1133 + 1654 1133 + 1655 1133 + 1656 1133 + 2016 1133 + 2017 1133 + 2018 1133 + 2019 1133 + 2020 1133 2021 1133 2022 1133 2023 1133 @@ -15843,6 +28088,17 @@ ny= 1536 2030 1133 2031 1133 2032 1133 + 2033 1133 + 2034 1133 + 2035 1133 + 2036 1133 + 2037 1133 + 2402 1133 + 2403 1133 + 2404 1133 + 2405 1133 + 2406 1133 + 2407 1133 2408 1133 2409 1133 2410 1133 @@ -15854,6 +28110,17 @@ ny= 1536 2416 1133 2417 1133 2418 1133 + 2419 1133 + 2420 1133 + 2421 1133 + 2422 1133 + 2423 1133 + 2424 1133 + 2784 1133 + 2785 1133 + 2786 1133 + 2787 1133 + 2788 1133 2789 1133 2790 1133 2791 1133 @@ -15866,6 +28133,17 @@ ny= 1536 2798 1133 2799 1133 2800 1133 + 2801 1133 + 2802 1133 + 2803 1133 + 2804 1133 + 2805 1133 + 93 1134 + 94 1134 + 95 1134 + 96 1134 + 97 1134 + 98 1134 99 1134 100 1134 101 1134 @@ -15877,6 +28155,18 @@ ny= 1536 107 1134 108 1134 109 1134 + 110 1134 + 111 1134 + 112 1134 + 113 1134 + 114 1134 + 115 1134 + 484 1134 + 485 1134 + 486 1134 + 487 1134 + 488 1134 + 489 1134 490 1134 491 1134 492 1134 @@ -15888,6 +28178,18 @@ ny= 1536 498 1134 499 1134 500 1134 + 501 1134 + 502 1134 + 503 1134 + 504 1134 + 505 1134 + 506 1134 + 861 1134 + 862 1134 + 863 1134 + 864 1134 + 865 1134 + 866 1134 867 1134 868 1134 869 1134 @@ -15899,6 +28201,18 @@ ny= 1536 875 1134 876 1134 877 1134 + 878 1134 + 879 1134 + 880 1134 + 881 1134 + 882 1134 + 883 1134 + 1252 1134 + 1253 1134 + 1254 1134 + 1255 1134 + 1256 1134 + 1257 1134 1258 1134 1259 1134 1260 1134 @@ -15910,6 +28224,18 @@ ny= 1536 1266 1134 1267 1134 1268 1134 + 1269 1134 + 1270 1134 + 1271 1134 + 1272 1134 + 1273 1134 + 1274 1134 + 1629 1134 + 1630 1134 + 1631 1134 + 1632 1134 + 1633 1134 + 1634 1134 1635 1134 1636 1134 1637 1134 @@ -15921,6 +28247,18 @@ ny= 1536 1643 1134 1644 1134 1645 1134 + 1646 1134 + 1647 1134 + 1648 1134 + 1649 1134 + 1650 1134 + 1651 1134 + 2020 1134 + 2021 1134 + 2022 1134 + 2023 1134 + 2024 1134 + 2025 1134 2026 1134 2027 1134 2028 1134 @@ -15932,6 +28270,18 @@ ny= 1536 2034 1134 2035 1134 2036 1134 + 2037 1134 + 2038 1134 + 2039 1134 + 2040 1134 + 2041 1134 + 2042 1134 + 2397 1134 + 2398 1134 + 2399 1134 + 2400 1134 + 2401 1134 + 2402 1134 2403 1134 2404 1134 2405 1134 @@ -15943,6 +28293,18 @@ ny= 1536 2411 1134 2412 1134 2413 1134 + 2414 1134 + 2415 1134 + 2416 1134 + 2417 1134 + 2418 1134 + 2419 1134 + 2788 1134 + 2789 1134 + 2790 1134 + 2791 1134 + 2792 1134 + 2793 1134 2794 1134 2795 1134 2796 1134 @@ -15954,6 +28316,19 @@ ny= 1536 2802 1134 2803 1134 2804 1134 + 2805 1134 + 2806 1134 + 2807 1134 + 2808 1134 + 2809 1134 + 2810 1134 + 87 1135 + 88 1135 + 89 1135 + 90 1135 + 91 1135 + 92 1135 + 93 1135 94 1135 95 1135 96 1135 @@ -15965,6 +28340,18 @@ ny= 1536 102 1135 103 1135 104 1135 + 105 1135 + 106 1135 + 107 1135 + 108 1135 + 109 1135 + 110 1135 + 489 1135 + 490 1135 + 491 1135 + 492 1135 + 493 1135 + 494 1135 495 1135 496 1135 497 1135 @@ -15976,6 +28363,20 @@ ny= 1536 503 1135 504 1135 505 1135 + 506 1135 + 507 1135 + 508 1135 + 509 1135 + 510 1135 + 511 1135 + 512 1135 + 855 1135 + 856 1135 + 857 1135 + 858 1135 + 859 1135 + 860 1135 + 861 1135 862 1135 863 1135 864 1135 @@ -15987,6 +28388,18 @@ ny= 1536 870 1135 871 1135 872 1135 + 873 1135 + 874 1135 + 875 1135 + 876 1135 + 877 1135 + 878 1135 + 1257 1135 + 1258 1135 + 1259 1135 + 1260 1135 + 1261 1135 + 1262 1135 1263 1135 1264 1135 1265 1135 @@ -15998,6 +28411,20 @@ ny= 1536 1271 1135 1272 1135 1273 1135 + 1274 1135 + 1275 1135 + 1276 1135 + 1277 1135 + 1278 1135 + 1279 1135 + 1280 1135 + 1623 1135 + 1624 1135 + 1625 1135 + 1626 1135 + 1627 1135 + 1628 1135 + 1629 1135 1630 1135 1631 1135 1632 1135 @@ -16009,6 +28436,18 @@ ny= 1536 1638 1135 1639 1135 1640 1135 + 1641 1135 + 1642 1135 + 1643 1135 + 1644 1135 + 1645 1135 + 1646 1135 + 2025 1135 + 2026 1135 + 2027 1135 + 2028 1135 + 2029 1135 + 2030 1135 2031 1135 2032 1135 2033 1135 @@ -16020,6 +28459,20 @@ ny= 1536 2039 1135 2040 1135 2041 1135 + 2042 1135 + 2043 1135 + 2044 1135 + 2045 1135 + 2046 1135 + 2047 1135 + 2048 1135 + 2391 1135 + 2392 1135 + 2393 1135 + 2394 1135 + 2395 1135 + 2396 1135 + 2397 1135 2398 1135 2399 1135 2400 1135 @@ -16031,6 +28484,18 @@ ny= 1536 2406 1135 2407 1135 2408 1135 + 2409 1135 + 2410 1135 + 2411 1135 + 2412 1135 + 2413 1135 + 2414 1135 + 2793 1135 + 2794 1135 + 2795 1135 + 2796 1135 + 2797 1135 + 2798 1135 2799 1135 2800 1135 2801 1135 @@ -16042,6 +28507,19 @@ ny= 1536 2807 1135 2808 1135 2809 1135 + 2810 1135 + 2811 1135 + 2812 1135 + 2813 1135 + 2814 1135 + 2815 1135 + 2816 1135 + 82 1136 + 83 1136 + 84 1136 + 85 1136 + 86 1136 + 87 1136 88 1136 89 1136 90 1136 @@ -16055,6 +28533,17 @@ ny= 1536 98 1136 99 1136 100 1136 + 101 1136 + 102 1136 + 103 1136 + 104 1136 + 105 1136 + 494 1136 + 495 1136 + 496 1136 + 497 1136 + 498 1136 + 499 1136 500 1136 501 1136 502 1136 @@ -16067,6 +28556,18 @@ ny= 1536 509 1136 510 1136 511 1136 + 512 1136 + 513 1136 + 514 1136 + 515 1136 + 516 1136 + 517 1136 + 850 1136 + 851 1136 + 852 1136 + 853 1136 + 854 1136 + 855 1136 856 1136 857 1136 858 1136 @@ -16080,6 +28581,17 @@ ny= 1536 866 1136 867 1136 868 1136 + 869 1136 + 870 1136 + 871 1136 + 872 1136 + 873 1136 + 1262 1136 + 1263 1136 + 1264 1136 + 1265 1136 + 1266 1136 + 1267 1136 1268 1136 1269 1136 1270 1136 @@ -16092,6 +28604,18 @@ ny= 1536 1277 1136 1278 1136 1279 1136 + 1280 1136 + 1281 1136 + 1282 1136 + 1283 1136 + 1284 1136 + 1285 1136 + 1618 1136 + 1619 1136 + 1620 1136 + 1621 1136 + 1622 1136 + 1623 1136 1624 1136 1625 1136 1626 1136 @@ -16105,6 +28629,17 @@ ny= 1536 1634 1136 1635 1136 1636 1136 + 1637 1136 + 1638 1136 + 1639 1136 + 1640 1136 + 1641 1136 + 2030 1136 + 2031 1136 + 2032 1136 + 2033 1136 + 2034 1136 + 2035 1136 2036 1136 2037 1136 2038 1136 @@ -16117,6 +28652,18 @@ ny= 1536 2045 1136 2046 1136 2047 1136 + 2048 1136 + 2049 1136 + 2050 1136 + 2051 1136 + 2052 1136 + 2053 1136 + 2386 1136 + 2387 1136 + 2388 1136 + 2389 1136 + 2390 1136 + 2391 1136 2392 1136 2393 1136 2394 1136 @@ -16130,6 +28677,17 @@ ny= 1536 2402 1136 2403 1136 2404 1136 + 2405 1136 + 2406 1136 + 2407 1136 + 2408 1136 + 2409 1136 + 2798 1136 + 2799 1136 + 2800 1136 + 2801 1136 + 2802 1136 + 2803 1136 2804 1136 2805 1136 2806 1136 @@ -16142,6 +28700,19 @@ ny= 1536 2813 1136 2814 1136 2815 1136 + 2816 1136 + 2817 1136 + 2818 1136 + 2819 1136 + 2820 1136 + 2821 1136 + 76 1137 + 77 1137 + 78 1137 + 79 1137 + 80 1137 + 81 1137 + 82 1137 83 1137 84 1137 85 1137 @@ -16154,6 +28725,19 @@ ny= 1536 92 1137 93 1137 94 1137 + 95 1137 + 96 1137 + 97 1137 + 98 1137 + 99 1137 + 100 1137 + 101 1137 + 499 1137 + 500 1137 + 501 1137 + 502 1137 + 503 1137 + 504 1137 505 1137 506 1137 507 1137 @@ -16166,6 +28750,20 @@ ny= 1536 514 1137 515 1137 516 1137 + 517 1137 + 518 1137 + 519 1137 + 520 1137 + 521 1137 + 522 1137 + 523 1137 + 844 1137 + 845 1137 + 846 1137 + 847 1137 + 848 1137 + 849 1137 + 850 1137 851 1137 852 1137 853 1137 @@ -16178,6 +28776,19 @@ ny= 1536 860 1137 861 1137 862 1137 + 863 1137 + 864 1137 + 865 1137 + 866 1137 + 867 1137 + 868 1137 + 869 1137 + 1267 1137 + 1268 1137 + 1269 1137 + 1270 1137 + 1271 1137 + 1272 1137 1273 1137 1274 1137 1275 1137 @@ -16190,6 +28801,20 @@ ny= 1536 1282 1137 1283 1137 1284 1137 + 1285 1137 + 1286 1137 + 1287 1137 + 1288 1137 + 1289 1137 + 1290 1137 + 1291 1137 + 1612 1137 + 1613 1137 + 1614 1137 + 1615 1137 + 1616 1137 + 1617 1137 + 1618 1137 1619 1137 1620 1137 1621 1137 @@ -16202,6 +28827,19 @@ ny= 1536 1628 1137 1629 1137 1630 1137 + 1631 1137 + 1632 1137 + 1633 1137 + 1634 1137 + 1635 1137 + 1636 1137 + 1637 1137 + 2035 1137 + 2036 1137 + 2037 1137 + 2038 1137 + 2039 1137 + 2040 1137 2041 1137 2042 1137 2043 1137 @@ -16214,6 +28852,20 @@ ny= 1536 2050 1137 2051 1137 2052 1137 + 2053 1137 + 2054 1137 + 2055 1137 + 2056 1137 + 2057 1137 + 2058 1137 + 2059 1137 + 2380 1137 + 2381 1137 + 2382 1137 + 2383 1137 + 2384 1137 + 2385 1137 + 2386 1137 2387 1137 2388 1137 2389 1137 @@ -16226,6 +28878,19 @@ ny= 1536 2396 1137 2397 1137 2398 1137 + 2399 1137 + 2400 1137 + 2401 1137 + 2402 1137 + 2403 1137 + 2404 1137 + 2405 1137 + 2803 1137 + 2804 1137 + 2805 1137 + 2806 1137 + 2807 1137 + 2808 1137 2809 1137 2810 1137 2811 1137 @@ -16238,6 +28903,20 @@ ny= 1536 2818 1137 2819 1137 2820 1137 + 2821 1137 + 2822 1137 + 2823 1137 + 2824 1137 + 2825 1137 + 2826 1137 + 2827 1137 + 70 1138 + 71 1138 + 72 1138 + 73 1138 + 74 1138 + 75 1138 + 76 1138 77 1138 78 1138 79 1138 @@ -16251,6 +28930,19 @@ ny= 1536 87 1138 88 1138 89 1138 + 90 1138 + 91 1138 + 92 1138 + 93 1138 + 94 1138 + 95 1138 + 504 1138 + 505 1138 + 506 1138 + 507 1138 + 508 1138 + 509 1138 + 510 1138 511 1138 512 1138 513 1138 @@ -16263,6 +28955,20 @@ ny= 1536 520 1138 521 1138 522 1138 + 523 1138 + 524 1138 + 525 1138 + 526 1138 + 527 1138 + 528 1138 + 529 1138 + 838 1138 + 839 1138 + 840 1138 + 841 1138 + 842 1138 + 843 1138 + 844 1138 845 1138 846 1138 847 1138 @@ -16276,6 +28982,19 @@ ny= 1536 855 1138 856 1138 857 1138 + 858 1138 + 859 1138 + 860 1138 + 861 1138 + 862 1138 + 863 1138 + 1272 1138 + 1273 1138 + 1274 1138 + 1275 1138 + 1276 1138 + 1277 1138 + 1278 1138 1279 1138 1280 1138 1281 1138 @@ -16288,6 +29007,20 @@ ny= 1536 1288 1138 1289 1138 1290 1138 + 1291 1138 + 1292 1138 + 1293 1138 + 1294 1138 + 1295 1138 + 1296 1138 + 1297 1138 + 1606 1138 + 1607 1138 + 1608 1138 + 1609 1138 + 1610 1138 + 1611 1138 + 1612 1138 1613 1138 1614 1138 1615 1138 @@ -16301,6 +29034,19 @@ ny= 1536 1623 1138 1624 1138 1625 1138 + 1626 1138 + 1627 1138 + 1628 1138 + 1629 1138 + 1630 1138 + 1631 1138 + 2040 1138 + 2041 1138 + 2042 1138 + 2043 1138 + 2044 1138 + 2045 1138 + 2046 1138 2047 1138 2048 1138 2049 1138 @@ -16313,6 +29059,20 @@ ny= 1536 2056 1138 2057 1138 2058 1138 + 2059 1138 + 2060 1138 + 2061 1138 + 2062 1138 + 2063 1138 + 2064 1138 + 2065 1138 + 2374 1138 + 2375 1138 + 2376 1138 + 2377 1138 + 2378 1138 + 2379 1138 + 2380 1138 2381 1138 2382 1138 2383 1138 @@ -16326,6 +29086,19 @@ ny= 1536 2391 1138 2392 1138 2393 1138 + 2394 1138 + 2395 1138 + 2396 1138 + 2397 1138 + 2398 1138 + 2399 1138 + 2808 1138 + 2809 1138 + 2810 1138 + 2811 1138 + 2812 1138 + 2813 1138 + 2814 1138 2815 1138 2816 1138 2817 1138 @@ -16338,6 +29111,20 @@ ny= 1536 2824 1138 2825 1138 2826 1138 + 2827 1138 + 2828 1138 + 2829 1138 + 2830 1138 + 2831 1138 + 2832 1138 + 2833 1138 + 64 1139 + 65 1139 + 66 1139 + 67 1139 + 68 1139 + 69 1139 + 70 1139 71 1139 72 1139 73 1139 @@ -16352,6 +29139,18 @@ ny= 1536 82 1139 83 1139 84 1139 + 85 1139 + 86 1139 + 87 1139 + 88 1139 + 89 1139 + 90 1139 + 510 1139 + 511 1139 + 512 1139 + 513 1139 + 514 1139 + 515 1139 516 1139 517 1139 518 1139 @@ -16365,6 +29164,20 @@ ny= 1536 526 1139 527 1139 528 1139 + 529 1139 + 530 1139 + 531 1139 + 532 1139 + 533 1139 + 534 1139 + 535 1139 + 832 1139 + 833 1139 + 834 1139 + 835 1139 + 836 1139 + 837 1139 + 838 1139 839 1139 840 1139 841 1139 @@ -16379,6 +29192,18 @@ ny= 1536 850 1139 851 1139 852 1139 + 853 1139 + 854 1139 + 855 1139 + 856 1139 + 857 1139 + 858 1139 + 1278 1139 + 1279 1139 + 1280 1139 + 1281 1139 + 1282 1139 + 1283 1139 1284 1139 1285 1139 1286 1139 @@ -16392,6 +29217,20 @@ ny= 1536 1294 1139 1295 1139 1296 1139 + 1297 1139 + 1298 1139 + 1299 1139 + 1300 1139 + 1301 1139 + 1302 1139 + 1303 1139 + 1600 1139 + 1601 1139 + 1602 1139 + 1603 1139 + 1604 1139 + 1605 1139 + 1606 1139 1607 1139 1608 1139 1609 1139 @@ -16406,6 +29245,18 @@ ny= 1536 1618 1139 1619 1139 1620 1139 + 1621 1139 + 1622 1139 + 1623 1139 + 1624 1139 + 1625 1139 + 1626 1139 + 2046 1139 + 2047 1139 + 2048 1139 + 2049 1139 + 2050 1139 + 2051 1139 2052 1139 2053 1139 2054 1139 @@ -16419,6 +29270,20 @@ ny= 1536 2062 1139 2063 1139 2064 1139 + 2065 1139 + 2066 1139 + 2067 1139 + 2068 1139 + 2069 1139 + 2070 1139 + 2071 1139 + 2368 1139 + 2369 1139 + 2370 1139 + 2371 1139 + 2372 1139 + 2373 1139 + 2374 1139 2375 1139 2376 1139 2377 1139 @@ -16433,6 +29298,18 @@ ny= 1536 2386 1139 2387 1139 2388 1139 + 2389 1139 + 2390 1139 + 2391 1139 + 2392 1139 + 2393 1139 + 2394 1139 + 2814 1139 + 2815 1139 + 2816 1139 + 2817 1139 + 2818 1139 + 2819 1139 2820 1139 2821 1139 2822 1139 @@ -16446,6 +29323,21 @@ ny= 1536 2830 1139 2831 1139 2832 1139 + 2833 1139 + 2834 1139 + 2835 1139 + 2836 1139 + 2837 1139 + 2838 1139 + 2839 1139 + 57 1140 + 58 1140 + 59 1140 + 60 1140 + 61 1140 + 62 1140 + 63 1140 + 64 1140 65 1140 66 1140 67 1140 @@ -16460,6 +29352,20 @@ ny= 1536 76 1140 77 1140 78 1140 + 79 1140 + 80 1140 + 81 1140 + 82 1140 + 83 1140 + 84 1140 + 85 1140 + 515 1140 + 516 1140 + 517 1140 + 518 1140 + 519 1140 + 520 1140 + 521 1140 522 1140 523 1140 524 1140 @@ -16473,6 +29379,22 @@ ny= 1536 532 1140 533 1140 534 1140 + 535 1140 + 536 1140 + 537 1140 + 538 1140 + 539 1140 + 540 1140 + 541 1140 + 542 1140 + 825 1140 + 826 1140 + 827 1140 + 828 1140 + 829 1140 + 830 1140 + 831 1140 + 832 1140 833 1140 834 1140 835 1140 @@ -16487,6 +29409,20 @@ ny= 1536 844 1140 845 1140 846 1140 + 847 1140 + 848 1140 + 849 1140 + 850 1140 + 851 1140 + 852 1140 + 853 1140 + 1283 1140 + 1284 1140 + 1285 1140 + 1286 1140 + 1287 1140 + 1288 1140 + 1289 1140 1290 1140 1291 1140 1292 1140 @@ -16500,6 +29436,22 @@ ny= 1536 1300 1140 1301 1140 1302 1140 + 1303 1140 + 1304 1140 + 1305 1140 + 1306 1140 + 1307 1140 + 1308 1140 + 1309 1140 + 1310 1140 + 1593 1140 + 1594 1140 + 1595 1140 + 1596 1140 + 1597 1140 + 1598 1140 + 1599 1140 + 1600 1140 1601 1140 1602 1140 1603 1140 @@ -16514,6 +29466,20 @@ ny= 1536 1612 1140 1613 1140 1614 1140 + 1615 1140 + 1616 1140 + 1617 1140 + 1618 1140 + 1619 1140 + 1620 1140 + 1621 1140 + 2051 1140 + 2052 1140 + 2053 1140 + 2054 1140 + 2055 1140 + 2056 1140 + 2057 1140 2058 1140 2059 1140 2060 1140 @@ -16527,6 +29493,22 @@ ny= 1536 2068 1140 2069 1140 2070 1140 + 2071 1140 + 2072 1140 + 2073 1140 + 2074 1140 + 2075 1140 + 2076 1140 + 2077 1140 + 2078 1140 + 2361 1140 + 2362 1140 + 2363 1140 + 2364 1140 + 2365 1140 + 2366 1140 + 2367 1140 + 2368 1140 2369 1140 2370 1140 2371 1140 @@ -16541,6 +29523,20 @@ ny= 1536 2380 1140 2381 1140 2382 1140 + 2383 1140 + 2384 1140 + 2385 1140 + 2386 1140 + 2387 1140 + 2388 1140 + 2389 1140 + 2819 1140 + 2820 1140 + 2821 1140 + 2822 1140 + 2823 1140 + 2824 1140 + 2825 1140 2826 1140 2827 1140 2828 1140 @@ -16554,6 +29550,21 @@ ny= 1536 2836 1140 2837 1140 2838 1140 + 2839 1140 + 2840 1140 + 2841 1140 + 2842 1140 + 2843 1140 + 2844 1140 + 2845 1140 + 2846 1140 + 51 1141 + 52 1141 + 53 1141 + 54 1141 + 55 1141 + 56 1141 + 57 1141 58 1141 59 1141 60 1141 @@ -16568,6 +29579,21 @@ ny= 1536 69 1141 70 1141 71 1141 + 72 1141 + 73 1141 + 74 1141 + 75 1141 + 76 1141 + 77 1141 + 78 1141 + 79 1141 + 521 1141 + 522 1141 + 523 1141 + 524 1141 + 525 1141 + 526 1141 + 527 1141 528 1141 529 1141 530 1141 @@ -16582,6 +29608,20 @@ ny= 1536 539 1141 540 1141 541 1141 + 542 1141 + 543 1141 + 544 1141 + 545 1141 + 546 1141 + 547 1141 + 548 1141 + 819 1141 + 820 1141 + 821 1141 + 822 1141 + 823 1141 + 824 1141 + 825 1141 826 1141 827 1141 828 1141 @@ -16596,6 +29636,21 @@ ny= 1536 837 1141 838 1141 839 1141 + 840 1141 + 841 1141 + 842 1141 + 843 1141 + 844 1141 + 845 1141 + 846 1141 + 847 1141 + 1289 1141 + 1290 1141 + 1291 1141 + 1292 1141 + 1293 1141 + 1294 1141 + 1295 1141 1296 1141 1297 1141 1298 1141 @@ -16610,6 +29665,20 @@ ny= 1536 1307 1141 1308 1141 1309 1141 + 1310 1141 + 1311 1141 + 1312 1141 + 1313 1141 + 1314 1141 + 1315 1141 + 1316 1141 + 1587 1141 + 1588 1141 + 1589 1141 + 1590 1141 + 1591 1141 + 1592 1141 + 1593 1141 1594 1141 1595 1141 1596 1141 @@ -16624,6 +29693,21 @@ ny= 1536 1605 1141 1606 1141 1607 1141 + 1608 1141 + 1609 1141 + 1610 1141 + 1611 1141 + 1612 1141 + 1613 1141 + 1614 1141 + 1615 1141 + 2057 1141 + 2058 1141 + 2059 1141 + 2060 1141 + 2061 1141 + 2062 1141 + 2063 1141 2064 1141 2065 1141 2066 1141 @@ -16638,6 +29722,20 @@ ny= 1536 2075 1141 2076 1141 2077 1141 + 2078 1141 + 2079 1141 + 2080 1141 + 2081 1141 + 2082 1141 + 2083 1141 + 2084 1141 + 2355 1141 + 2356 1141 + 2357 1141 + 2358 1141 + 2359 1141 + 2360 1141 + 2361 1141 2362 1141 2363 1141 2364 1141 @@ -16652,6 +29750,21 @@ ny= 1536 2373 1141 2374 1141 2375 1141 + 2376 1141 + 2377 1141 + 2378 1141 + 2379 1141 + 2380 1141 + 2381 1141 + 2382 1141 + 2383 1141 + 2825 1141 + 2826 1141 + 2827 1141 + 2828 1141 + 2829 1141 + 2830 1141 + 2831 1141 2832 1141 2833 1141 2834 1141 @@ -16666,6 +29779,22 @@ ny= 1536 2843 1141 2844 1141 2845 1141 + 2846 1141 + 2847 1141 + 2848 1141 + 2849 1141 + 2850 1141 + 2851 1141 + 2852 1141 + 43 1142 + 44 1142 + 45 1142 + 46 1142 + 47 1142 + 48 1142 + 49 1142 + 50 1142 + 51 1142 52 1142 53 1142 54 1142 @@ -16681,6 +29810,19 @@ ny= 1536 64 1142 65 1142 66 1142 + 67 1142 + 68 1142 + 69 1142 + 70 1142 + 71 1142 + 72 1142 + 527 1142 + 528 1142 + 529 1142 + 530 1142 + 531 1142 + 532 1142 + 533 1142 534 1142 535 1142 536 1142 @@ -16695,6 +29837,24 @@ ny= 1536 545 1142 546 1142 547 1142 + 548 1142 + 549 1142 + 550 1142 + 551 1142 + 552 1142 + 553 1142 + 554 1142 + 555 1142 + 556 1142 + 811 1142 + 812 1142 + 813 1142 + 814 1142 + 815 1142 + 816 1142 + 817 1142 + 818 1142 + 819 1142 820 1142 821 1142 822 1142 @@ -16710,6 +29870,19 @@ ny= 1536 832 1142 833 1142 834 1142 + 835 1142 + 836 1142 + 837 1142 + 838 1142 + 839 1142 + 840 1142 + 1295 1142 + 1296 1142 + 1297 1142 + 1298 1142 + 1299 1142 + 1300 1142 + 1301 1142 1302 1142 1303 1142 1304 1142 @@ -16724,6 +29897,24 @@ ny= 1536 1313 1142 1314 1142 1315 1142 + 1316 1142 + 1317 1142 + 1318 1142 + 1319 1142 + 1320 1142 + 1321 1142 + 1322 1142 + 1323 1142 + 1324 1142 + 1579 1142 + 1580 1142 + 1581 1142 + 1582 1142 + 1583 1142 + 1584 1142 + 1585 1142 + 1586 1142 + 1587 1142 1588 1142 1589 1142 1590 1142 @@ -16739,6 +29930,19 @@ ny= 1536 1600 1142 1601 1142 1602 1142 + 1603 1142 + 1604 1142 + 1605 1142 + 1606 1142 + 1607 1142 + 1608 1142 + 2063 1142 + 2064 1142 + 2065 1142 + 2066 1142 + 2067 1142 + 2068 1142 + 2069 1142 2070 1142 2071 1142 2072 1142 @@ -16753,6 +29957,24 @@ ny= 1536 2081 1142 2082 1142 2083 1142 + 2084 1142 + 2085 1142 + 2086 1142 + 2087 1142 + 2088 1142 + 2089 1142 + 2090 1142 + 2091 1142 + 2092 1142 + 2347 1142 + 2348 1142 + 2349 1142 + 2350 1142 + 2351 1142 + 2352 1142 + 2353 1142 + 2354 1142 + 2355 1142 2356 1142 2357 1142 2358 1142 @@ -16768,6 +29990,19 @@ ny= 1536 2368 1142 2369 1142 2370 1142 + 2371 1142 + 2372 1142 + 2373 1142 + 2374 1142 + 2375 1142 + 2376 1142 + 2831 1142 + 2832 1142 + 2833 1142 + 2834 1142 + 2835 1142 + 2836 1142 + 2837 1142 2838 1142 2839 1142 2840 1142 @@ -16782,6 +30017,23 @@ ny= 1536 2849 1142 2850 1142 2851 1142 + 2852 1142 + 2853 1142 + 2854 1142 + 2855 1142 + 2856 1142 + 2857 1142 + 2858 1142 + 2859 1142 + 2860 1142 + 36 1143 + 37 1143 + 38 1143 + 39 1143 + 40 1143 + 41 1143 + 42 1143 + 43 1143 44 1143 45 1143 46 1143 @@ -16798,6 +30050,22 @@ ny= 1536 57 1143 58 1143 59 1143 + 60 1143 + 61 1143 + 62 1143 + 63 1143 + 64 1143 + 65 1143 + 66 1143 + 67 1143 + 533 1143 + 534 1143 + 535 1143 + 536 1143 + 537 1143 + 538 1143 + 539 1143 + 540 1143 541 1143 542 1143 543 1143 @@ -16813,6 +30081,22 @@ ny= 1536 553 1143 554 1143 555 1143 + 556 1143 + 557 1143 + 558 1143 + 559 1143 + 560 1143 + 561 1143 + 562 1143 + 563 1143 + 804 1143 + 805 1143 + 806 1143 + 807 1143 + 808 1143 + 809 1143 + 810 1143 + 811 1143 812 1143 813 1143 814 1143 @@ -16829,6 +30113,22 @@ ny= 1536 825 1143 826 1143 827 1143 + 828 1143 + 829 1143 + 830 1143 + 831 1143 + 832 1143 + 833 1143 + 834 1143 + 835 1143 + 1301 1143 + 1302 1143 + 1303 1143 + 1304 1143 + 1305 1143 + 1306 1143 + 1307 1143 + 1308 1143 1309 1143 1310 1143 1311 1143 @@ -16844,6 +30144,22 @@ ny= 1536 1321 1143 1322 1143 1323 1143 + 1324 1143 + 1325 1143 + 1326 1143 + 1327 1143 + 1328 1143 + 1329 1143 + 1330 1143 + 1331 1143 + 1572 1143 + 1573 1143 + 1574 1143 + 1575 1143 + 1576 1143 + 1577 1143 + 1578 1143 + 1579 1143 1580 1143 1581 1143 1582 1143 @@ -16860,6 +30176,22 @@ ny= 1536 1593 1143 1594 1143 1595 1143 + 1596 1143 + 1597 1143 + 1598 1143 + 1599 1143 + 1600 1143 + 1601 1143 + 1602 1143 + 1603 1143 + 2069 1143 + 2070 1143 + 2071 1143 + 2072 1143 + 2073 1143 + 2074 1143 + 2075 1143 + 2076 1143 2077 1143 2078 1143 2079 1143 @@ -16875,6 +30207,22 @@ ny= 1536 2089 1143 2090 1143 2091 1143 + 2092 1143 + 2093 1143 + 2094 1143 + 2095 1143 + 2096 1143 + 2097 1143 + 2098 1143 + 2099 1143 + 2340 1143 + 2341 1143 + 2342 1143 + 2343 1143 + 2344 1143 + 2345 1143 + 2346 1143 + 2347 1143 2348 1143 2349 1143 2350 1143 @@ -16891,6 +30239,22 @@ ny= 1536 2361 1143 2362 1143 2363 1143 + 2364 1143 + 2365 1143 + 2366 1143 + 2367 1143 + 2368 1143 + 2369 1143 + 2370 1143 + 2371 1143 + 2837 1143 + 2838 1143 + 2839 1143 + 2840 1143 + 2841 1143 + 2842 1143 + 2843 1143 + 2844 1143 2845 1143 2846 1143 2847 1143 @@ -16906,6 +30270,23 @@ ny= 1536 2857 1143 2858 1143 2859 1143 + 2860 1143 + 2861 1143 + 2862 1143 + 2863 1143 + 2864 1143 + 2865 1143 + 2866 1143 + 2867 1143 + 28 1144 + 29 1144 + 30 1144 + 31 1144 + 32 1144 + 33 1144 + 34 1144 + 35 1144 + 36 1144 37 1144 38 1144 39 1144 @@ -16922,6 +30303,21 @@ ny= 1536 50 1144 51 1144 52 1144 + 53 1144 + 54 1144 + 55 1144 + 56 1144 + 57 1144 + 58 1144 + 59 1144 + 60 1144 + 540 1144 + 541 1144 + 542 1144 + 543 1144 + 544 1144 + 545 1144 + 546 1144 547 1144 548 1144 549 1144 @@ -16938,6 +30334,24 @@ ny= 1536 560 1144 561 1144 562 1144 + 563 1144 + 564 1144 + 565 1144 + 566 1144 + 567 1144 + 568 1144 + 569 1144 + 570 1144 + 571 1144 + 796 1144 + 797 1144 + 798 1144 + 799 1144 + 800 1144 + 801 1144 + 802 1144 + 803 1144 + 804 1144 805 1144 806 1144 807 1144 @@ -16954,6 +30368,21 @@ ny= 1536 818 1144 819 1144 820 1144 + 821 1144 + 822 1144 + 823 1144 + 824 1144 + 825 1144 + 826 1144 + 827 1144 + 828 1144 + 1308 1144 + 1309 1144 + 1310 1144 + 1311 1144 + 1312 1144 + 1313 1144 + 1314 1144 1315 1144 1316 1144 1317 1144 @@ -16970,6 +30399,24 @@ ny= 1536 1328 1144 1329 1144 1330 1144 + 1331 1144 + 1332 1144 + 1333 1144 + 1334 1144 + 1335 1144 + 1336 1144 + 1337 1144 + 1338 1144 + 1339 1144 + 1564 1144 + 1565 1144 + 1566 1144 + 1567 1144 + 1568 1144 + 1569 1144 + 1570 1144 + 1571 1144 + 1572 1144 1573 1144 1574 1144 1575 1144 @@ -16986,6 +30433,21 @@ ny= 1536 1586 1144 1587 1144 1588 1144 + 1589 1144 + 1590 1144 + 1591 1144 + 1592 1144 + 1593 1144 + 1594 1144 + 1595 1144 + 1596 1144 + 2076 1144 + 2077 1144 + 2078 1144 + 2079 1144 + 2080 1144 + 2081 1144 + 2082 1144 2083 1144 2084 1144 2085 1144 @@ -17002,6 +30464,24 @@ ny= 1536 2096 1144 2097 1144 2098 1144 + 2099 1144 + 2100 1144 + 2101 1144 + 2102 1144 + 2103 1144 + 2104 1144 + 2105 1144 + 2106 1144 + 2107 1144 + 2332 1144 + 2333 1144 + 2334 1144 + 2335 1144 + 2336 1144 + 2337 1144 + 2338 1144 + 2339 1144 + 2340 1144 2341 1144 2342 1144 2343 1144 @@ -17018,6 +30498,21 @@ ny= 1536 2354 1144 2355 1144 2356 1144 + 2357 1144 + 2358 1144 + 2359 1144 + 2360 1144 + 2361 1144 + 2362 1144 + 2363 1144 + 2364 1144 + 2844 1144 + 2845 1144 + 2846 1144 + 2847 1144 + 2848 1144 + 2849 1144 + 2850 1144 2851 1144 2852 1144 2853 1144 @@ -17034,6 +30529,25 @@ ny= 1536 2864 1144 2865 1144 2866 1144 + 2867 1144 + 2868 1144 + 2869 1144 + 2870 1144 + 2871 1144 + 2872 1144 + 2873 1144 + 2874 1144 + 2875 1144 + 19 1145 + 20 1145 + 21 1145 + 22 1145 + 23 1145 + 24 1145 + 25 1145 + 26 1145 + 27 1145 + 28 1145 29 1145 30 1145 31 1145 @@ -17051,6 +30565,22 @@ ny= 1536 43 1145 44 1145 45 1145 + 46 1145 + 47 1145 + 48 1145 + 49 1145 + 50 1145 + 51 1145 + 52 1145 + 53 1145 + 546 1145 + 547 1145 + 548 1145 + 549 1145 + 550 1145 + 551 1145 + 552 1145 + 553 1145 554 1145 555 1145 556 1145 @@ -17068,6 +30598,27 @@ ny= 1536 568 1145 569 1145 570 1145 + 571 1145 + 572 1145 + 573 1145 + 574 1145 + 575 1145 + 576 1145 + 577 1145 + 578 1145 + 579 1145 + 580 1145 + 581 1145 + 787 1145 + 788 1145 + 789 1145 + 790 1145 + 791 1145 + 792 1145 + 793 1145 + 794 1145 + 795 1145 + 796 1145 797 1145 798 1145 799 1145 @@ -17085,6 +30636,22 @@ ny= 1536 811 1145 812 1145 813 1145 + 814 1145 + 815 1145 + 816 1145 + 817 1145 + 818 1145 + 819 1145 + 820 1145 + 821 1145 + 1314 1145 + 1315 1145 + 1316 1145 + 1317 1145 + 1318 1145 + 1319 1145 + 1320 1145 + 1321 1145 1322 1145 1323 1145 1324 1145 @@ -17102,6 +30669,27 @@ ny= 1536 1336 1145 1337 1145 1338 1145 + 1339 1145 + 1340 1145 + 1341 1145 + 1342 1145 + 1343 1145 + 1344 1145 + 1345 1145 + 1346 1145 + 1347 1145 + 1348 1145 + 1349 1145 + 1555 1145 + 1556 1145 + 1557 1145 + 1558 1145 + 1559 1145 + 1560 1145 + 1561 1145 + 1562 1145 + 1563 1145 + 1564 1145 1565 1145 1566 1145 1567 1145 @@ -17119,6 +30707,22 @@ ny= 1536 1579 1145 1580 1145 1581 1145 + 1582 1145 + 1583 1145 + 1584 1145 + 1585 1145 + 1586 1145 + 1587 1145 + 1588 1145 + 1589 1145 + 2082 1145 + 2083 1145 + 2084 1145 + 2085 1145 + 2086 1145 + 2087 1145 + 2088 1145 + 2089 1145 2090 1145 2091 1145 2092 1145 @@ -17136,6 +30740,27 @@ ny= 1536 2104 1145 2105 1145 2106 1145 + 2107 1145 + 2108 1145 + 2109 1145 + 2110 1145 + 2111 1145 + 2112 1145 + 2113 1145 + 2114 1145 + 2115 1145 + 2116 1145 + 2117 1145 + 2323 1145 + 2324 1145 + 2325 1145 + 2326 1145 + 2327 1145 + 2328 1145 + 2329 1145 + 2330 1145 + 2331 1145 + 2332 1145 2333 1145 2334 1145 2335 1145 @@ -17153,6 +30778,22 @@ ny= 1536 2347 1145 2348 1145 2349 1145 + 2350 1145 + 2351 1145 + 2352 1145 + 2353 1145 + 2354 1145 + 2355 1145 + 2356 1145 + 2357 1145 + 2850 1145 + 2851 1145 + 2852 1145 + 2853 1145 + 2854 1145 + 2855 1145 + 2856 1145 + 2857 1145 2858 1145 2859 1145 2860 1145 @@ -17170,6 +30811,28 @@ ny= 1536 2872 1145 2873 1145 2874 1145 + 2875 1145 + 2876 1145 + 2877 1145 + 2878 1145 + 2879 1145 + 2880 1145 + 2881 1145 + 2882 1145 + 2883 1145 + 2884 1145 + 2885 1145 + 9 1146 + 10 1146 + 11 1146 + 12 1146 + 13 1146 + 14 1146 + 15 1146 + 16 1146 + 17 1146 + 18 1146 + 19 1146 20 1146 21 1146 22 1146 @@ -17188,6 +30851,24 @@ ny= 1536 35 1146 36 1146 37 1146 + 38 1146 + 39 1146 + 40 1146 + 41 1146 + 42 1146 + 43 1146 + 44 1146 + 45 1146 + 46 1146 + 553 1146 + 554 1146 + 555 1146 + 556 1146 + 557 1146 + 558 1146 + 559 1146 + 560 1146 + 561 1146 562 1146 563 1146 564 1146 @@ -17207,6 +30888,27 @@ ny= 1536 578 1146 579 1146 580 1146 + 581 1146 + 582 1146 + 583 1146 + 584 1146 + 585 1146 + 586 1146 + 587 1146 + 588 1146 + 589 1146 + 590 1146 + 777 1146 + 778 1146 + 779 1146 + 780 1146 + 781 1146 + 782 1146 + 783 1146 + 784 1146 + 785 1146 + 786 1146 + 787 1146 788 1146 789 1146 790 1146 @@ -17225,6 +30927,24 @@ ny= 1536 803 1146 804 1146 805 1146 + 806 1146 + 807 1146 + 808 1146 + 809 1146 + 810 1146 + 811 1146 + 812 1146 + 813 1146 + 814 1146 + 1321 1146 + 1322 1146 + 1323 1146 + 1324 1146 + 1325 1146 + 1326 1146 + 1327 1146 + 1328 1146 + 1329 1146 1330 1146 1331 1146 1332 1146 @@ -17244,6 +30964,27 @@ ny= 1536 1346 1146 1347 1146 1348 1146 + 1349 1146 + 1350 1146 + 1351 1146 + 1352 1146 + 1353 1146 + 1354 1146 + 1355 1146 + 1356 1146 + 1357 1146 + 1358 1146 + 1545 1146 + 1546 1146 + 1547 1146 + 1548 1146 + 1549 1146 + 1550 1146 + 1551 1146 + 1552 1146 + 1553 1146 + 1554 1146 + 1555 1146 1556 1146 1557 1146 1558 1146 @@ -17262,6 +31003,24 @@ ny= 1536 1571 1146 1572 1146 1573 1146 + 1574 1146 + 1575 1146 + 1576 1146 + 1577 1146 + 1578 1146 + 1579 1146 + 1580 1146 + 1581 1146 + 1582 1146 + 2089 1146 + 2090 1146 + 2091 1146 + 2092 1146 + 2093 1146 + 2094 1146 + 2095 1146 + 2096 1146 + 2097 1146 2098 1146 2099 1146 2100 1146 @@ -17281,6 +31040,27 @@ ny= 1536 2114 1146 2115 1146 2116 1146 + 2117 1146 + 2118 1146 + 2119 1146 + 2120 1146 + 2121 1146 + 2122 1146 + 2123 1146 + 2124 1146 + 2125 1146 + 2126 1146 + 2313 1146 + 2314 1146 + 2315 1146 + 2316 1146 + 2317 1146 + 2318 1146 + 2319 1146 + 2320 1146 + 2321 1146 + 2322 1146 + 2323 1146 2324 1146 2325 1146 2326 1146 @@ -17299,6 +31079,24 @@ ny= 1536 2339 1146 2340 1146 2341 1146 + 2342 1146 + 2343 1146 + 2344 1146 + 2345 1146 + 2346 1146 + 2347 1146 + 2348 1146 + 2349 1146 + 2350 1146 + 2857 1146 + 2858 1146 + 2859 1146 + 2860 1146 + 2861 1146 + 2862 1146 + 2863 1146 + 2864 1146 + 2865 1146 2866 1146 2867 1146 2868 1146 @@ -17318,6 +31116,25 @@ ny= 1536 2882 1146 2883 1146 2884 1146 + 2885 1146 + 2886 1146 + 2887 1146 + 2888 1146 + 2889 1146 + 2890 1146 + 2891 1146 + 2892 1146 + 2893 1146 + 2894 1146 + 1 1147 + 2 1147 + 3 1147 + 4 1147 + 5 1147 + 6 1147 + 7 1147 + 8 1147 + 9 1147 10 1147 11 1147 12 1147 @@ -17338,6 +31155,24 @@ ny= 1536 27 1147 28 1147 29 1147 + 30 1147 + 31 1147 + 32 1147 + 33 1147 + 34 1147 + 35 1147 + 36 1147 + 37 1147 + 38 1147 + 561 1147 + 562 1147 + 563 1147 + 564 1147 + 565 1147 + 566 1147 + 567 1147 + 568 1147 + 569 1147 570 1147 571 1147 572 1147 @@ -17358,6 +31193,29 @@ ny= 1536 587 1147 588 1147 589 1147 + 590 1147 + 591 1147 + 592 1147 + 593 1147 + 594 1147 + 595 1147 + 596 1147 + 597 1147 + 598 1147 + 599 1147 + 600 1147 + 601 1147 + 767 1147 + 768 1147 + 769 1147 + 770 1147 + 771 1147 + 772 1147 + 773 1147 + 774 1147 + 775 1147 + 776 1147 + 777 1147 778 1147 779 1147 780 1147 @@ -17378,6 +31236,24 @@ ny= 1536 795 1147 796 1147 797 1147 + 798 1147 + 799 1147 + 800 1147 + 801 1147 + 802 1147 + 803 1147 + 804 1147 + 805 1147 + 806 1147 + 1329 1147 + 1330 1147 + 1331 1147 + 1332 1147 + 1333 1147 + 1334 1147 + 1335 1147 + 1336 1147 + 1337 1147 1338 1147 1339 1147 1340 1147 @@ -17398,6 +31274,29 @@ ny= 1536 1355 1147 1356 1147 1357 1147 + 1358 1147 + 1359 1147 + 1360 1147 + 1361 1147 + 1362 1147 + 1363 1147 + 1364 1147 + 1365 1147 + 1366 1147 + 1367 1147 + 1368 1147 + 1369 1147 + 1535 1147 + 1536 1147 + 1537 1147 + 1538 1147 + 1539 1147 + 1540 1147 + 1541 1147 + 1542 1147 + 1543 1147 + 1544 1147 + 1545 1147 1546 1147 1547 1147 1548 1147 @@ -17418,6 +31317,24 @@ ny= 1536 1563 1147 1564 1147 1565 1147 + 1566 1147 + 1567 1147 + 1568 1147 + 1569 1147 + 1570 1147 + 1571 1147 + 1572 1147 + 1573 1147 + 1574 1147 + 2097 1147 + 2098 1147 + 2099 1147 + 2100 1147 + 2101 1147 + 2102 1147 + 2103 1147 + 2104 1147 + 2105 1147 2106 1147 2107 1147 2108 1147 @@ -17438,6 +31355,29 @@ ny= 1536 2123 1147 2124 1147 2125 1147 + 2126 1147 + 2127 1147 + 2128 1147 + 2129 1147 + 2130 1147 + 2131 1147 + 2132 1147 + 2133 1147 + 2134 1147 + 2135 1147 + 2136 1147 + 2137 1147 + 2303 1147 + 2304 1147 + 2305 1147 + 2306 1147 + 2307 1147 + 2308 1147 + 2309 1147 + 2310 1147 + 2311 1147 + 2312 1147 + 2313 1147 2314 1147 2315 1147 2316 1147 @@ -17458,6 +31398,24 @@ ny= 1536 2331 1147 2332 1147 2333 1147 + 2334 1147 + 2335 1147 + 2336 1147 + 2337 1147 + 2338 1147 + 2339 1147 + 2340 1147 + 2341 1147 + 2342 1147 + 2865 1147 + 2866 1147 + 2867 1147 + 2868 1147 + 2869 1147 + 2870 1147 + 2871 1147 + 2872 1147 + 2873 1147 2874 1147 2875 1147 2876 1147 @@ -17478,6 +31436,20 @@ ny= 1536 2891 1147 2892 1147 2893 1147 + 2894 1147 + 2895 1147 + 2896 1147 + 2897 1147 + 2898 1147 + 2899 1147 + 2900 1147 + 2901 1147 + 2902 1147 + 2903 1147 + 2904 1147 + 2905 1147 + 3071 1147 + 3072 1147 1 1148 2 1148 3 1148 @@ -17498,6 +31470,26 @@ ny= 1536 18 1148 19 1148 20 1148 + 21 1148 + 22 1148 + 23 1148 + 24 1148 + 25 1148 + 26 1148 + 27 1148 + 28 1148 + 29 1148 + 30 1148 + 569 1148 + 570 1148 + 571 1148 + 572 1148 + 573 1148 + 574 1148 + 575 1148 + 576 1148 + 577 1148 + 578 1148 579 1148 580 1148 581 1148 @@ -17520,6 +31512,33 @@ ny= 1536 598 1148 599 1148 600 1148 + 601 1148 + 602 1148 + 603 1148 + 604 1148 + 605 1148 + 606 1148 + 607 1148 + 608 1148 + 609 1148 + 610 1148 + 611 1148 + 612 1148 + 613 1148 + 754 1148 + 755 1148 + 756 1148 + 757 1148 + 758 1148 + 759 1148 + 760 1148 + 761 1148 + 762 1148 + 763 1148 + 764 1148 + 765 1148 + 766 1148 + 767 1148 768 1148 769 1148 770 1148 @@ -17541,6 +31560,26 @@ ny= 1536 786 1148 787 1148 788 1148 + 789 1148 + 790 1148 + 791 1148 + 792 1148 + 793 1148 + 794 1148 + 795 1148 + 796 1148 + 797 1148 + 798 1148 + 1337 1148 + 1338 1148 + 1339 1148 + 1340 1148 + 1341 1148 + 1342 1148 + 1343 1148 + 1344 1148 + 1345 1148 + 1346 1148 1347 1148 1348 1148 1349 1148 @@ -17563,6 +31602,33 @@ ny= 1536 1366 1148 1367 1148 1368 1148 + 1369 1148 + 1370 1148 + 1371 1148 + 1372 1148 + 1373 1148 + 1374 1148 + 1375 1148 + 1376 1148 + 1377 1148 + 1378 1148 + 1379 1148 + 1380 1148 + 1381 1148 + 1522 1148 + 1523 1148 + 1524 1148 + 1525 1148 + 1526 1148 + 1527 1148 + 1528 1148 + 1529 1148 + 1530 1148 + 1531 1148 + 1532 1148 + 1533 1148 + 1534 1148 + 1535 1148 1536 1148 1537 1148 1538 1148 @@ -17584,6 +31650,26 @@ ny= 1536 1554 1148 1555 1148 1556 1148 + 1557 1148 + 1558 1148 + 1559 1148 + 1560 1148 + 1561 1148 + 1562 1148 + 1563 1148 + 1564 1148 + 1565 1148 + 1566 1148 + 2105 1148 + 2106 1148 + 2107 1148 + 2108 1148 + 2109 1148 + 2110 1148 + 2111 1148 + 2112 1148 + 2113 1148 + 2114 1148 2115 1148 2116 1148 2117 1148 @@ -17606,6 +31692,33 @@ ny= 1536 2134 1148 2135 1148 2136 1148 + 2137 1148 + 2138 1148 + 2139 1148 + 2140 1148 + 2141 1148 + 2142 1148 + 2143 1148 + 2144 1148 + 2145 1148 + 2146 1148 + 2147 1148 + 2148 1148 + 2149 1148 + 2290 1148 + 2291 1148 + 2292 1148 + 2293 1148 + 2294 1148 + 2295 1148 + 2296 1148 + 2297 1148 + 2298 1148 + 2299 1148 + 2300 1148 + 2301 1148 + 2302 1148 + 2303 1148 2304 1148 2305 1148 2306 1148 @@ -17627,6 +31740,26 @@ ny= 1536 2322 1148 2323 1148 2324 1148 + 2325 1148 + 2326 1148 + 2327 1148 + 2328 1148 + 2329 1148 + 2330 1148 + 2331 1148 + 2332 1148 + 2333 1148 + 2334 1148 + 2873 1148 + 2874 1148 + 2875 1148 + 2876 1148 + 2877 1148 + 2878 1148 + 2879 1148 + 2880 1148 + 2881 1148 + 2882 1148 2883 1148 2884 1148 2885 1148 @@ -17649,6 +31782,33 @@ ny= 1536 2902 1148 2903 1148 2904 1148 + 2905 1148 + 2906 1148 + 2907 1148 + 2908 1148 + 2909 1148 + 2910 1148 + 2911 1148 + 2912 1148 + 2913 1148 + 2914 1148 + 2915 1148 + 2916 1148 + 2917 1148 + 3058 1148 + 3059 1148 + 3060 1148 + 3061 1148 + 3062 1148 + 3063 1148 + 3064 1148 + 3065 1148 + 3066 1148 + 3067 1148 + 3068 1148 + 3069 1148 + 3070 1148 + 3071 1148 3072 1148 1 1149 2 1149 @@ -17661,6 +31821,26 @@ ny= 1536 9 1149 10 1149 11 1149 + 12 1149 + 13 1149 + 14 1149 + 15 1149 + 16 1149 + 17 1149 + 18 1149 + 19 1149 + 20 1149 + 21 1149 + 578 1149 + 579 1149 + 580 1149 + 581 1149 + 582 1149 + 583 1149 + 584 1149 + 585 1149 + 586 1149 + 587 1149 588 1149 589 1149 590 1149 @@ -17686,6 +31866,39 @@ ny= 1536 610 1149 611 1149 612 1149 + 613 1149 + 614 1149 + 615 1149 + 616 1149 + 617 1149 + 618 1149 + 619 1149 + 620 1149 + 621 1149 + 622 1149 + 623 1149 + 624 1149 + 625 1149 + 626 1149 + 627 1149 + 628 1149 + 629 1149 + 739 1149 + 740 1149 + 741 1149 + 742 1149 + 743 1149 + 744 1149 + 745 1149 + 746 1149 + 747 1149 + 748 1149 + 749 1149 + 750 1149 + 751 1149 + 752 1149 + 753 1149 + 754 1149 755 1149 756 1149 757 1149 @@ -17711,6 +31924,26 @@ ny= 1536 777 1149 778 1149 779 1149 + 780 1149 + 781 1149 + 782 1149 + 783 1149 + 784 1149 + 785 1149 + 786 1149 + 787 1149 + 788 1149 + 789 1149 + 1346 1149 + 1347 1149 + 1348 1149 + 1349 1149 + 1350 1149 + 1351 1149 + 1352 1149 + 1353 1149 + 1354 1149 + 1355 1149 1356 1149 1357 1149 1358 1149 @@ -17736,6 +31969,39 @@ ny= 1536 1378 1149 1379 1149 1380 1149 + 1381 1149 + 1382 1149 + 1383 1149 + 1384 1149 + 1385 1149 + 1386 1149 + 1387 1149 + 1388 1149 + 1389 1149 + 1390 1149 + 1391 1149 + 1392 1149 + 1393 1149 + 1394 1149 + 1395 1149 + 1396 1149 + 1397 1149 + 1507 1149 + 1508 1149 + 1509 1149 + 1510 1149 + 1511 1149 + 1512 1149 + 1513 1149 + 1514 1149 + 1515 1149 + 1516 1149 + 1517 1149 + 1518 1149 + 1519 1149 + 1520 1149 + 1521 1149 + 1522 1149 1523 1149 1524 1149 1525 1149 @@ -17761,6 +32027,26 @@ ny= 1536 1545 1149 1546 1149 1547 1149 + 1548 1149 + 1549 1149 + 1550 1149 + 1551 1149 + 1552 1149 + 1553 1149 + 1554 1149 + 1555 1149 + 1556 1149 + 1557 1149 + 2114 1149 + 2115 1149 + 2116 1149 + 2117 1149 + 2118 1149 + 2119 1149 + 2120 1149 + 2121 1149 + 2122 1149 + 2123 1149 2124 1149 2125 1149 2126 1149 @@ -17786,6 +32072,39 @@ ny= 1536 2146 1149 2147 1149 2148 1149 + 2149 1149 + 2150 1149 + 2151 1149 + 2152 1149 + 2153 1149 + 2154 1149 + 2155 1149 + 2156 1149 + 2157 1149 + 2158 1149 + 2159 1149 + 2160 1149 + 2161 1149 + 2162 1149 + 2163 1149 + 2164 1149 + 2165 1149 + 2275 1149 + 2276 1149 + 2277 1149 + 2278 1149 + 2279 1149 + 2280 1149 + 2281 1149 + 2282 1149 + 2283 1149 + 2284 1149 + 2285 1149 + 2286 1149 + 2287 1149 + 2288 1149 + 2289 1149 + 2290 1149 2291 1149 2292 1149 2293 1149 @@ -17811,6 +32130,26 @@ ny= 1536 2313 1149 2314 1149 2315 1149 + 2316 1149 + 2317 1149 + 2318 1149 + 2319 1149 + 2320 1149 + 2321 1149 + 2322 1149 + 2323 1149 + 2324 1149 + 2325 1149 + 2882 1149 + 2883 1149 + 2884 1149 + 2885 1149 + 2886 1149 + 2887 1149 + 2888 1149 + 2889 1149 + 2890 1149 + 2891 1149 2892 1149 2893 1149 2894 1149 @@ -17836,6 +32175,39 @@ ny= 1536 2914 1149 2915 1149 2916 1149 + 2917 1149 + 2918 1149 + 2919 1149 + 2920 1149 + 2921 1149 + 2922 1149 + 2923 1149 + 2924 1149 + 2925 1149 + 2926 1149 + 2927 1149 + 2928 1149 + 2929 1149 + 2930 1149 + 2931 1149 + 2932 1149 + 2933 1149 + 3043 1149 + 3044 1149 + 3045 1149 + 3046 1149 + 3047 1149 + 3048 1149 + 3049 1149 + 3050 1149 + 3051 1149 + 3052 1149 + 3053 1149 + 3054 1149 + 3055 1149 + 3056 1149 + 3057 1149 + 3058 1149 3059 1149 3060 1149 3061 1149 @@ -17850,6 +32222,30 @@ ny= 1536 3070 1149 3071 1149 3072 1149 + 1 1150 + 2 1150 + 3 1150 + 4 1150 + 5 1150 + 6 1150 + 7 1150 + 8 1150 + 9 1150 + 10 1150 + 11 1150 + 12 1150 + 587 1150 + 588 1150 + 589 1150 + 590 1150 + 591 1150 + 592 1150 + 593 1150 + 594 1150 + 595 1150 + 596 1150 + 597 1150 + 598 1150 599 1150 600 1150 601 1150 @@ -17880,6 +32276,50 @@ ny= 1536 626 1150 627 1150 628 1150 + 629 1150 + 630 1150 + 631 1150 + 632 1150 + 633 1150 + 634 1150 + 635 1150 + 636 1150 + 637 1150 + 638 1150 + 639 1150 + 640 1150 + 641 1150 + 642 1150 + 643 1150 + 644 1150 + 645 1150 + 646 1150 + 647 1150 + 648 1150 + 649 1150 + 650 1150 + 718 1150 + 719 1150 + 720 1150 + 721 1150 + 722 1150 + 723 1150 + 724 1150 + 725 1150 + 726 1150 + 727 1150 + 728 1150 + 729 1150 + 730 1150 + 731 1150 + 732 1150 + 733 1150 + 734 1150 + 735 1150 + 736 1150 + 737 1150 + 738 1150 + 739 1150 740 1150 741 1150 742 1150 @@ -17909,6 +32349,30 @@ ny= 1536 766 1150 767 1150 768 1150 + 769 1150 + 770 1150 + 771 1150 + 772 1150 + 773 1150 + 774 1150 + 775 1150 + 776 1150 + 777 1150 + 778 1150 + 779 1150 + 780 1150 + 1355 1150 + 1356 1150 + 1357 1150 + 1358 1150 + 1359 1150 + 1360 1150 + 1361 1150 + 1362 1150 + 1363 1150 + 1364 1150 + 1365 1150 + 1366 1150 1367 1150 1368 1150 1369 1150 @@ -17939,6 +32403,50 @@ ny= 1536 1394 1150 1395 1150 1396 1150 + 1397 1150 + 1398 1150 + 1399 1150 + 1400 1150 + 1401 1150 + 1402 1150 + 1403 1150 + 1404 1150 + 1405 1150 + 1406 1150 + 1407 1150 + 1408 1150 + 1409 1150 + 1410 1150 + 1411 1150 + 1412 1150 + 1413 1150 + 1414 1150 + 1415 1150 + 1416 1150 + 1417 1150 + 1418 1150 + 1486 1150 + 1487 1150 + 1488 1150 + 1489 1150 + 1490 1150 + 1491 1150 + 1492 1150 + 1493 1150 + 1494 1150 + 1495 1150 + 1496 1150 + 1497 1150 + 1498 1150 + 1499 1150 + 1500 1150 + 1501 1150 + 1502 1150 + 1503 1150 + 1504 1150 + 1505 1150 + 1506 1150 + 1507 1150 1508 1150 1509 1150 1510 1150 @@ -17968,6 +32476,30 @@ ny= 1536 1534 1150 1535 1150 1536 1150 + 1537 1150 + 1538 1150 + 1539 1150 + 1540 1150 + 1541 1150 + 1542 1150 + 1543 1150 + 1544 1150 + 1545 1150 + 1546 1150 + 1547 1150 + 1548 1150 + 2123 1150 + 2124 1150 + 2125 1150 + 2126 1150 + 2127 1150 + 2128 1150 + 2129 1150 + 2130 1150 + 2131 1150 + 2132 1150 + 2133 1150 + 2134 1150 2135 1150 2136 1150 2137 1150 @@ -17998,6 +32530,50 @@ ny= 1536 2162 1150 2163 1150 2164 1150 + 2165 1150 + 2166 1150 + 2167 1150 + 2168 1150 + 2169 1150 + 2170 1150 + 2171 1150 + 2172 1150 + 2173 1150 + 2174 1150 + 2175 1150 + 2176 1150 + 2177 1150 + 2178 1150 + 2179 1150 + 2180 1150 + 2181 1150 + 2182 1150 + 2183 1150 + 2184 1150 + 2185 1150 + 2186 1150 + 2254 1150 + 2255 1150 + 2256 1150 + 2257 1150 + 2258 1150 + 2259 1150 + 2260 1150 + 2261 1150 + 2262 1150 + 2263 1150 + 2264 1150 + 2265 1150 + 2266 1150 + 2267 1150 + 2268 1150 + 2269 1150 + 2270 1150 + 2271 1150 + 2272 1150 + 2273 1150 + 2274 1150 + 2275 1150 2276 1150 2277 1150 2278 1150 @@ -18027,6 +32603,30 @@ ny= 1536 2302 1150 2303 1150 2304 1150 + 2305 1150 + 2306 1150 + 2307 1150 + 2308 1150 + 2309 1150 + 2310 1150 + 2311 1150 + 2312 1150 + 2313 1150 + 2314 1150 + 2315 1150 + 2316 1150 + 2891 1150 + 2892 1150 + 2893 1150 + 2894 1150 + 2895 1150 + 2896 1150 + 2897 1150 + 2898 1150 + 2899 1150 + 2900 1150 + 2901 1150 + 2902 1150 2903 1150 2904 1150 2905 1150 @@ -18057,6 +32657,50 @@ ny= 1536 2930 1150 2931 1150 2932 1150 + 2933 1150 + 2934 1150 + 2935 1150 + 2936 1150 + 2937 1150 + 2938 1150 + 2939 1150 + 2940 1150 + 2941 1150 + 2942 1150 + 2943 1150 + 2944 1150 + 2945 1150 + 2946 1150 + 2947 1150 + 2948 1150 + 2949 1150 + 2950 1150 + 2951 1150 + 2952 1150 + 2953 1150 + 2954 1150 + 3022 1150 + 3023 1150 + 3024 1150 + 3025 1150 + 3026 1150 + 3027 1150 + 3028 1150 + 3029 1150 + 3030 1150 + 3031 1150 + 3032 1150 + 3033 1150 + 3034 1150 + 3035 1150 + 3036 1150 + 3037 1150 + 3038 1150 + 3039 1150 + 3040 1150 + 3041 1150 + 3042 1150 + 3043 1150 3044 1150 3045 1150 3046 1150 @@ -18086,6 +32730,21 @@ ny= 1536 3070 1150 3071 1150 3072 1150 + 1 1151 + 598 1151 + 599 1151 + 600 1151 + 601 1151 + 602 1151 + 603 1151 + 604 1151 + 605 1151 + 606 1151 + 607 1151 + 608 1151 + 609 1151 + 610 1151 + 611 1151 612 1151 613 1151 614 1151 @@ -18124,6 +32783,75 @@ ny= 1536 647 1151 648 1151 649 1151 + 650 1151 + 651 1151 + 652 1151 + 653 1151 + 654 1151 + 655 1151 + 656 1151 + 657 1151 + 658 1151 + 659 1151 + 660 1151 + 661 1151 + 662 1151 + 663 1151 + 664 1151 + 665 1151 + 666 1151 + 667 1151 + 668 1151 + 669 1151 + 670 1151 + 671 1151 + 672 1151 + 673 1151 + 674 1151 + 675 1151 + 676 1151 + 677 1151 + 678 1151 + 679 1151 + 680 1151 + 681 1151 + 682 1151 + 683 1151 + 684 1151 + 685 1151 + 686 1151 + 687 1151 + 688 1151 + 689 1151 + 690 1151 + 691 1151 + 692 1151 + 693 1151 + 694 1151 + 695 1151 + 696 1151 + 697 1151 + 698 1151 + 699 1151 + 700 1151 + 701 1151 + 702 1151 + 703 1151 + 704 1151 + 705 1151 + 706 1151 + 707 1151 + 708 1151 + 709 1151 + 710 1151 + 711 1151 + 712 1151 + 713 1151 + 714 1151 + 715 1151 + 716 1151 + 717 1151 + 718 1151 719 1151 720 1151 721 1151 @@ -18161,6 +32889,34 @@ ny= 1536 753 1151 754 1151 755 1151 + 756 1151 + 757 1151 + 758 1151 + 759 1151 + 760 1151 + 761 1151 + 762 1151 + 763 1151 + 764 1151 + 765 1151 + 766 1151 + 767 1151 + 768 1151 + 769 1151 + 1366 1151 + 1367 1151 + 1368 1151 + 1369 1151 + 1370 1151 + 1371 1151 + 1372 1151 + 1373 1151 + 1374 1151 + 1375 1151 + 1376 1151 + 1377 1151 + 1378 1151 + 1379 1151 1380 1151 1381 1151 1382 1151 @@ -18199,6 +32955,75 @@ ny= 1536 1415 1151 1416 1151 1417 1151 + 1418 1151 + 1419 1151 + 1420 1151 + 1421 1151 + 1422 1151 + 1423 1151 + 1424 1151 + 1425 1151 + 1426 1151 + 1427 1151 + 1428 1151 + 1429 1151 + 1430 1151 + 1431 1151 + 1432 1151 + 1433 1151 + 1434 1151 + 1435 1151 + 1436 1151 + 1437 1151 + 1438 1151 + 1439 1151 + 1440 1151 + 1441 1151 + 1442 1151 + 1443 1151 + 1444 1151 + 1445 1151 + 1446 1151 + 1447 1151 + 1448 1151 + 1449 1151 + 1450 1151 + 1451 1151 + 1452 1151 + 1453 1151 + 1454 1151 + 1455 1151 + 1456 1151 + 1457 1151 + 1458 1151 + 1459 1151 + 1460 1151 + 1461 1151 + 1462 1151 + 1463 1151 + 1464 1151 + 1465 1151 + 1466 1151 + 1467 1151 + 1468 1151 + 1469 1151 + 1470 1151 + 1471 1151 + 1472 1151 + 1473 1151 + 1474 1151 + 1475 1151 + 1476 1151 + 1477 1151 + 1478 1151 + 1479 1151 + 1480 1151 + 1481 1151 + 1482 1151 + 1483 1151 + 1484 1151 + 1485 1151 + 1486 1151 1487 1151 1488 1151 1489 1151 @@ -18236,6 +33061,34 @@ ny= 1536 1521 1151 1522 1151 1523 1151 + 1524 1151 + 1525 1151 + 1526 1151 + 1527 1151 + 1528 1151 + 1529 1151 + 1530 1151 + 1531 1151 + 1532 1151 + 1533 1151 + 1534 1151 + 1535 1151 + 1536 1151 + 1537 1151 + 2134 1151 + 2135 1151 + 2136 1151 + 2137 1151 + 2138 1151 + 2139 1151 + 2140 1151 + 2141 1151 + 2142 1151 + 2143 1151 + 2144 1151 + 2145 1151 + 2146 1151 + 2147 1151 2148 1151 2149 1151 2150 1151 @@ -18274,6 +33127,75 @@ ny= 1536 2183 1151 2184 1151 2185 1151 + 2186 1151 + 2187 1151 + 2188 1151 + 2189 1151 + 2190 1151 + 2191 1151 + 2192 1151 + 2193 1151 + 2194 1151 + 2195 1151 + 2196 1151 + 2197 1151 + 2198 1151 + 2199 1151 + 2200 1151 + 2201 1151 + 2202 1151 + 2203 1151 + 2204 1151 + 2205 1151 + 2206 1151 + 2207 1151 + 2208 1151 + 2209 1151 + 2210 1151 + 2211 1151 + 2212 1151 + 2213 1151 + 2214 1151 + 2215 1151 + 2216 1151 + 2217 1151 + 2218 1151 + 2219 1151 + 2220 1151 + 2221 1151 + 2222 1151 + 2223 1151 + 2224 1151 + 2225 1151 + 2226 1151 + 2227 1151 + 2228 1151 + 2229 1151 + 2230 1151 + 2231 1151 + 2232 1151 + 2233 1151 + 2234 1151 + 2235 1151 + 2236 1151 + 2237 1151 + 2238 1151 + 2239 1151 + 2240 1151 + 2241 1151 + 2242 1151 + 2243 1151 + 2244 1151 + 2245 1151 + 2246 1151 + 2247 1151 + 2248 1151 + 2249 1151 + 2250 1151 + 2251 1151 + 2252 1151 + 2253 1151 + 2254 1151 2255 1151 2256 1151 2257 1151 @@ -18311,6 +33233,34 @@ ny= 1536 2289 1151 2290 1151 2291 1151 + 2292 1151 + 2293 1151 + 2294 1151 + 2295 1151 + 2296 1151 + 2297 1151 + 2298 1151 + 2299 1151 + 2300 1151 + 2301 1151 + 2302 1151 + 2303 1151 + 2304 1151 + 2305 1151 + 2902 1151 + 2903 1151 + 2904 1151 + 2905 1151 + 2906 1151 + 2907 1151 + 2908 1151 + 2909 1151 + 2910 1151 + 2911 1151 + 2912 1151 + 2913 1151 + 2914 1151 + 2915 1151 2916 1151 2917 1151 2918 1151 @@ -18349,6 +33299,75 @@ ny= 1536 2951 1151 2952 1151 2953 1151 + 2954 1151 + 2955 1151 + 2956 1151 + 2957 1151 + 2958 1151 + 2959 1151 + 2960 1151 + 2961 1151 + 2962 1151 + 2963 1151 + 2964 1151 + 2965 1151 + 2966 1151 + 2967 1151 + 2968 1151 + 2969 1151 + 2970 1151 + 2971 1151 + 2972 1151 + 2973 1151 + 2974 1151 + 2975 1151 + 2976 1151 + 2977 1151 + 2978 1151 + 2979 1151 + 2980 1151 + 2981 1151 + 2982 1151 + 2983 1151 + 2984 1151 + 2985 1151 + 2986 1151 + 2987 1151 + 2988 1151 + 2989 1151 + 2990 1151 + 2991 1151 + 2992 1151 + 2993 1151 + 2994 1151 + 2995 1151 + 2996 1151 + 2997 1151 + 2998 1151 + 2999 1151 + 3000 1151 + 3001 1151 + 3002 1151 + 3003 1151 + 3004 1151 + 3005 1151 + 3006 1151 + 3007 1151 + 3008 1151 + 3009 1151 + 3010 1151 + 3011 1151 + 3012 1151 + 3013 1151 + 3014 1151 + 3015 1151 + 3016 1151 + 3017 1151 + 3018 1151 + 3019 1151 + 3020 1151 + 3021 1151 + 3022 1151 3023 1151 3024 1151 3025 1151 @@ -18386,6 +33405,35 @@ ny= 1536 3057 1151 3058 1151 3059 1151 + 3060 1151 + 3061 1151 + 3062 1151 + 3063 1151 + 3064 1151 + 3065 1151 + 3066 1151 + 3067 1151 + 3068 1151 + 3069 1151 + 3070 1151 + 3071 1151 + 3072 1151 + 611 1152 + 612 1152 + 613 1152 + 614 1152 + 615 1152 + 616 1152 + 617 1152 + 618 1152 + 619 1152 + 620 1152 + 621 1152 + 622 1152 + 623 1152 + 624 1152 + 625 1152 + 626 1152 627 1152 628 1152 629 1152 @@ -18500,6 +33548,38 @@ ny= 1536 738 1152 739 1152 740 1152 + 741 1152 + 742 1152 + 743 1152 + 744 1152 + 745 1152 + 746 1152 + 747 1152 + 748 1152 + 749 1152 + 750 1152 + 751 1152 + 752 1152 + 753 1152 + 754 1152 + 755 1152 + 756 1152 + 1379 1152 + 1380 1152 + 1381 1152 + 1382 1152 + 1383 1152 + 1384 1152 + 1385 1152 + 1386 1152 + 1387 1152 + 1388 1152 + 1389 1152 + 1390 1152 + 1391 1152 + 1392 1152 + 1393 1152 + 1394 1152 1395 1152 1396 1152 1397 1152 @@ -18614,6 +33694,38 @@ ny= 1536 1506 1152 1507 1152 1508 1152 + 1509 1152 + 1510 1152 + 1511 1152 + 1512 1152 + 1513 1152 + 1514 1152 + 1515 1152 + 1516 1152 + 1517 1152 + 1518 1152 + 1519 1152 + 1520 1152 + 1521 1152 + 1522 1152 + 1523 1152 + 1524 1152 + 2147 1152 + 2148 1152 + 2149 1152 + 2150 1152 + 2151 1152 + 2152 1152 + 2153 1152 + 2154 1152 + 2155 1152 + 2156 1152 + 2157 1152 + 2158 1152 + 2159 1152 + 2160 1152 + 2161 1152 + 2162 1152 2163 1152 2164 1152 2165 1152 @@ -18728,6 +33840,38 @@ ny= 1536 2274 1152 2275 1152 2276 1152 + 2277 1152 + 2278 1152 + 2279 1152 + 2280 1152 + 2281 1152 + 2282 1152 + 2283 1152 + 2284 1152 + 2285 1152 + 2286 1152 + 2287 1152 + 2288 1152 + 2289 1152 + 2290 1152 + 2291 1152 + 2292 1152 + 2915 1152 + 2916 1152 + 2917 1152 + 2918 1152 + 2919 1152 + 2920 1152 + 2921 1152 + 2922 1152 + 2923 1152 + 2924 1152 + 2925 1152 + 2926 1152 + 2927 1152 + 2928 1152 + 2929 1152 + 2930 1152 2931 1152 2932 1152 2933 1152 @@ -18842,6 +33986,44 @@ ny= 1536 3042 1152 3043 1152 3044 1152 + 3045 1152 + 3046 1152 + 3047 1152 + 3048 1152 + 3049 1152 + 3050 1152 + 3051 1152 + 3052 1152 + 3053 1152 + 3054 1152 + 3055 1152 + 3056 1152 + 3057 1152 + 3058 1152 + 3059 1152 + 3060 1152 + 626 1153 + 627 1153 + 628 1153 + 629 1153 + 630 1153 + 631 1153 + 632 1153 + 633 1153 + 634 1153 + 635 1153 + 636 1153 + 637 1153 + 638 1153 + 639 1153 + 640 1153 + 641 1153 + 642 1153 + 643 1153 + 644 1153 + 645 1153 + 646 1153 + 647 1153 648 1153 649 1153 650 1153 @@ -18914,6 +34096,50 @@ ny= 1536 717 1153 718 1153 719 1153 + 720 1153 + 721 1153 + 722 1153 + 723 1153 + 724 1153 + 725 1153 + 726 1153 + 727 1153 + 728 1153 + 729 1153 + 730 1153 + 731 1153 + 732 1153 + 733 1153 + 734 1153 + 735 1153 + 736 1153 + 737 1153 + 738 1153 + 739 1153 + 740 1153 + 741 1153 + 1394 1153 + 1395 1153 + 1396 1153 + 1397 1153 + 1398 1153 + 1399 1153 + 1400 1153 + 1401 1153 + 1402 1153 + 1403 1153 + 1404 1153 + 1405 1153 + 1406 1153 + 1407 1153 + 1408 1153 + 1409 1153 + 1410 1153 + 1411 1153 + 1412 1153 + 1413 1153 + 1414 1153 + 1415 1153 1416 1153 1417 1153 1418 1153 @@ -18986,6 +34212,50 @@ ny= 1536 1485 1153 1486 1153 1487 1153 + 1488 1153 + 1489 1153 + 1490 1153 + 1491 1153 + 1492 1153 + 1493 1153 + 1494 1153 + 1495 1153 + 1496 1153 + 1497 1153 + 1498 1153 + 1499 1153 + 1500 1153 + 1501 1153 + 1502 1153 + 1503 1153 + 1504 1153 + 1505 1153 + 1506 1153 + 1507 1153 + 1508 1153 + 1509 1153 + 2162 1153 + 2163 1153 + 2164 1153 + 2165 1153 + 2166 1153 + 2167 1153 + 2168 1153 + 2169 1153 + 2170 1153 + 2171 1153 + 2172 1153 + 2173 1153 + 2174 1153 + 2175 1153 + 2176 1153 + 2177 1153 + 2178 1153 + 2179 1153 + 2180 1153 + 2181 1153 + 2182 1153 + 2183 1153 2184 1153 2185 1153 2186 1153 @@ -19058,6 +34328,50 @@ ny= 1536 2253 1153 2254 1153 2255 1153 + 2256 1153 + 2257 1153 + 2258 1153 + 2259 1153 + 2260 1153 + 2261 1153 + 2262 1153 + 2263 1153 + 2264 1153 + 2265 1153 + 2266 1153 + 2267 1153 + 2268 1153 + 2269 1153 + 2270 1153 + 2271 1153 + 2272 1153 + 2273 1153 + 2274 1153 + 2275 1153 + 2276 1153 + 2277 1153 + 2930 1153 + 2931 1153 + 2932 1153 + 2933 1153 + 2934 1153 + 2935 1153 + 2936 1153 + 2937 1153 + 2938 1153 + 2939 1153 + 2940 1153 + 2941 1153 + 2942 1153 + 2943 1153 + 2944 1153 + 2945 1153 + 2946 1153 + 2947 1153 + 2948 1153 + 2949 1153 + 2950 1153 + 2951 1153 2952 1153 2953 1153 2954 1153 @@ -19130,3 +34444,321 @@ ny= 1536 3021 1153 3022 1153 3023 1153 + 3024 1153 + 3025 1153 + 3026 1153 + 3027 1153 + 3028 1153 + 3029 1153 + 3030 1153 + 3031 1153 + 3032 1153 + 3033 1153 + 3034 1153 + 3035 1153 + 3036 1153 + 3037 1153 + 3038 1153 + 3039 1153 + 3040 1153 + 3041 1153 + 3042 1153 + 3043 1153 + 3044 1153 + 3045 1153 + 647 1154 + 648 1154 + 649 1154 + 650 1154 + 651 1154 + 652 1154 + 653 1154 + 654 1154 + 655 1154 + 656 1154 + 657 1154 + 658 1154 + 659 1154 + 660 1154 + 661 1154 + 662 1154 + 663 1154 + 664 1154 + 665 1154 + 666 1154 + 667 1154 + 668 1154 + 669 1154 + 670 1154 + 671 1154 + 672 1154 + 673 1154 + 674 1154 + 675 1154 + 676 1154 + 677 1154 + 678 1154 + 679 1154 + 680 1154 + 681 1154 + 682 1154 + 683 1154 + 684 1154 + 685 1154 + 686 1154 + 687 1154 + 688 1154 + 689 1154 + 690 1154 + 691 1154 + 692 1154 + 693 1154 + 694 1154 + 695 1154 + 696 1154 + 697 1154 + 698 1154 + 699 1154 + 700 1154 + 701 1154 + 702 1154 + 703 1154 + 704 1154 + 705 1154 + 706 1154 + 707 1154 + 708 1154 + 709 1154 + 710 1154 + 711 1154 + 712 1154 + 713 1154 + 714 1154 + 715 1154 + 716 1154 + 717 1154 + 718 1154 + 719 1154 + 720 1154 + 1415 1154 + 1416 1154 + 1417 1154 + 1418 1154 + 1419 1154 + 1420 1154 + 1421 1154 + 1422 1154 + 1423 1154 + 1424 1154 + 1425 1154 + 1426 1154 + 1427 1154 + 1428 1154 + 1429 1154 + 1430 1154 + 1431 1154 + 1432 1154 + 1433 1154 + 1434 1154 + 1435 1154 + 1436 1154 + 1437 1154 + 1438 1154 + 1439 1154 + 1440 1154 + 1441 1154 + 1442 1154 + 1443 1154 + 1444 1154 + 1445 1154 + 1446 1154 + 1447 1154 + 1448 1154 + 1449 1154 + 1450 1154 + 1451 1154 + 1452 1154 + 1453 1154 + 1454 1154 + 1455 1154 + 1456 1154 + 1457 1154 + 1458 1154 + 1459 1154 + 1460 1154 + 1461 1154 + 1462 1154 + 1463 1154 + 1464 1154 + 1465 1154 + 1466 1154 + 1467 1154 + 1468 1154 + 1469 1154 + 1470 1154 + 1471 1154 + 1472 1154 + 1473 1154 + 1474 1154 + 1475 1154 + 1476 1154 + 1477 1154 + 1478 1154 + 1479 1154 + 1480 1154 + 1481 1154 + 1482 1154 + 1483 1154 + 1484 1154 + 1485 1154 + 1486 1154 + 1487 1154 + 1488 1154 + 2183 1154 + 2184 1154 + 2185 1154 + 2186 1154 + 2187 1154 + 2188 1154 + 2189 1154 + 2190 1154 + 2191 1154 + 2192 1154 + 2193 1154 + 2194 1154 + 2195 1154 + 2196 1154 + 2197 1154 + 2198 1154 + 2199 1154 + 2200 1154 + 2201 1154 + 2202 1154 + 2203 1154 + 2204 1154 + 2205 1154 + 2206 1154 + 2207 1154 + 2208 1154 + 2209 1154 + 2210 1154 + 2211 1154 + 2212 1154 + 2213 1154 + 2214 1154 + 2215 1154 + 2216 1154 + 2217 1154 + 2218 1154 + 2219 1154 + 2220 1154 + 2221 1154 + 2222 1154 + 2223 1154 + 2224 1154 + 2225 1154 + 2226 1154 + 2227 1154 + 2228 1154 + 2229 1154 + 2230 1154 + 2231 1154 + 2232 1154 + 2233 1154 + 2234 1154 + 2235 1154 + 2236 1154 + 2237 1154 + 2238 1154 + 2239 1154 + 2240 1154 + 2241 1154 + 2242 1154 + 2243 1154 + 2244 1154 + 2245 1154 + 2246 1154 + 2247 1154 + 2248 1154 + 2249 1154 + 2250 1154 + 2251 1154 + 2252 1154 + 2253 1154 + 2254 1154 + 2255 1154 + 2256 1154 + 2951 1154 + 2952 1154 + 2953 1154 + 2954 1154 + 2955 1154 + 2956 1154 + 2957 1154 + 2958 1154 + 2959 1154 + 2960 1154 + 2961 1154 + 2962 1154 + 2963 1154 + 2964 1154 + 2965 1154 + 2966 1154 + 2967 1154 + 2968 1154 + 2969 1154 + 2970 1154 + 2971 1154 + 2972 1154 + 2973 1154 + 2974 1154 + 2975 1154 + 2976 1154 + 2977 1154 + 2978 1154 + 2979 1154 + 2980 1154 + 2981 1154 + 2982 1154 + 2983 1154 + 2984 1154 + 2985 1154 + 2986 1154 + 2987 1154 + 2988 1154 + 2989 1154 + 2990 1154 + 2991 1154 + 2992 1154 + 2993 1154 + 2994 1154 + 2995 1154 + 2996 1154 + 2997 1154 + 2998 1154 + 2999 1154 + 3000 1154 + 3001 1154 + 3002 1154 + 3003 1154 + 3004 1154 + 3005 1154 + 3006 1154 + 3007 1154 + 3008 1154 + 3009 1154 + 3010 1154 + 3011 1154 + 3012 1154 + 3013 1154 + 3014 1154 + 3015 1154 + 3016 1154 + 3017 1154 + 3018 1154 + 3019 1154 + 3020 1154 + 3021 1154 + 3022 1154 + 3023 1154 + 3024 1154 From a6922fd626aa31aeddd160f1c312e7f219ff690b Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Fri, 21 Jun 2019 22:12:07 +0000 Subject: [PATCH 10/38] VLAB Issue #44506 --Update gtg_imprintings.txt further. --- parm/gtg_imprintings.txt | 15632 ------------------------------------- 1 file changed, 15632 deletions(-) diff --git a/parm/gtg_imprintings.txt b/parm/gtg_imprintings.txt index c743a21a3..29ed7eb40 100644 --- a/parm/gtg_imprintings.txt +++ b/parm/gtg_imprintings.txt @@ -2,324 +2,6 @@ fillnumber= 4 nx= 3072 ny= 1536 i,j= - 647 383 - 648 383 - 649 383 - 650 383 - 651 383 - 652 383 - 653 383 - 654 383 - 655 383 - 656 383 - 657 383 - 658 383 - 659 383 - 660 383 - 661 383 - 662 383 - 663 383 - 664 383 - 665 383 - 666 383 - 667 383 - 668 383 - 669 383 - 670 383 - 671 383 - 672 383 - 673 383 - 674 383 - 675 383 - 676 383 - 677 383 - 678 383 - 679 383 - 680 383 - 681 383 - 682 383 - 683 383 - 684 383 - 685 383 - 686 383 - 687 383 - 688 383 - 689 383 - 690 383 - 691 383 - 692 383 - 693 383 - 694 383 - 695 383 - 696 383 - 697 383 - 698 383 - 699 383 - 700 383 - 701 383 - 702 383 - 703 383 - 704 383 - 705 383 - 706 383 - 707 383 - 708 383 - 709 383 - 710 383 - 711 383 - 712 383 - 713 383 - 714 383 - 715 383 - 716 383 - 717 383 - 718 383 - 719 383 - 720 383 - 1415 383 - 1416 383 - 1417 383 - 1418 383 - 1419 383 - 1420 383 - 1421 383 - 1422 383 - 1423 383 - 1424 383 - 1425 383 - 1426 383 - 1427 383 - 1428 383 - 1429 383 - 1430 383 - 1431 383 - 1432 383 - 1433 383 - 1434 383 - 1435 383 - 1436 383 - 1437 383 - 1438 383 - 1439 383 - 1440 383 - 1441 383 - 1442 383 - 1443 383 - 1444 383 - 1445 383 - 1446 383 - 1447 383 - 1448 383 - 1449 383 - 1450 383 - 1451 383 - 1452 383 - 1453 383 - 1454 383 - 1455 383 - 1456 383 - 1457 383 - 1458 383 - 1459 383 - 1460 383 - 1461 383 - 1462 383 - 1463 383 - 1464 383 - 1465 383 - 1466 383 - 1467 383 - 1468 383 - 1469 383 - 1470 383 - 1471 383 - 1472 383 - 1473 383 - 1474 383 - 1475 383 - 1476 383 - 1477 383 - 1478 383 - 1479 383 - 1480 383 - 1481 383 - 1482 383 - 1483 383 - 1484 383 - 1485 383 - 1486 383 - 1487 383 - 1488 383 - 2183 383 - 2184 383 - 2185 383 - 2186 383 - 2187 383 - 2188 383 - 2189 383 - 2190 383 - 2191 383 - 2192 383 - 2193 383 - 2194 383 - 2195 383 - 2196 383 - 2197 383 - 2198 383 - 2199 383 - 2200 383 - 2201 383 - 2202 383 - 2203 383 - 2204 383 - 2205 383 - 2206 383 - 2207 383 - 2208 383 - 2209 383 - 2210 383 - 2211 383 - 2212 383 - 2213 383 - 2214 383 - 2215 383 - 2216 383 - 2217 383 - 2218 383 - 2219 383 - 2220 383 - 2221 383 - 2222 383 - 2223 383 - 2224 383 - 2225 383 - 2226 383 - 2227 383 - 2228 383 - 2229 383 - 2230 383 - 2231 383 - 2232 383 - 2233 383 - 2234 383 - 2235 383 - 2236 383 - 2237 383 - 2238 383 - 2239 383 - 2240 383 - 2241 383 - 2242 383 - 2243 383 - 2244 383 - 2245 383 - 2246 383 - 2247 383 - 2248 383 - 2249 383 - 2250 383 - 2251 383 - 2252 383 - 2253 383 - 2254 383 - 2255 383 - 2256 383 - 2951 383 - 2952 383 - 2953 383 - 2954 383 - 2955 383 - 2956 383 - 2957 383 - 2958 383 - 2959 383 - 2960 383 - 2961 383 - 2962 383 - 2963 383 - 2964 383 - 2965 383 - 2966 383 - 2967 383 - 2968 383 - 2969 383 - 2970 383 - 2971 383 - 2972 383 - 2973 383 - 2974 383 - 2975 383 - 2976 383 - 2977 383 - 2978 383 - 2979 383 - 2980 383 - 2981 383 - 2982 383 - 2983 383 - 2984 383 - 2985 383 - 2986 383 - 2987 383 - 2988 383 - 2989 383 - 2990 383 - 2991 383 - 2992 383 - 2993 383 - 2994 383 - 2995 383 - 2996 383 - 2997 383 - 2998 383 - 2999 383 - 3000 383 - 3001 383 - 3002 383 - 3003 383 - 3004 383 - 3005 383 - 3006 383 - 3007 383 - 3008 383 - 3009 383 - 3010 383 - 3011 383 - 3012 383 - 3013 383 - 3014 383 - 3015 383 - 3016 383 - 3017 383 - 3018 383 - 3019 383 - 3020 383 - 3021 383 - 3022 383 - 3023 383 - 3024 383 - 626 384 - 627 384 - 628 384 - 629 384 - 630 384 - 631 384 - 632 384 - 633 384 - 634 384 - 635 384 - 636 384 - 637 384 - 638 384 - 639 384 - 640 384 - 641 384 - 642 384 - 643 384 - 644 384 - 645 384 - 646 384 - 647 384 648 384 649 384 650 384 @@ -392,50 +74,6 @@ ny= 1536 717 384 718 384 719 384 - 720 384 - 721 384 - 722 384 - 723 384 - 724 384 - 725 384 - 726 384 - 727 384 - 728 384 - 729 384 - 730 384 - 731 384 - 732 384 - 733 384 - 734 384 - 735 384 - 736 384 - 737 384 - 738 384 - 739 384 - 740 384 - 741 384 - 1394 384 - 1395 384 - 1396 384 - 1397 384 - 1398 384 - 1399 384 - 1400 384 - 1401 384 - 1402 384 - 1403 384 - 1404 384 - 1405 384 - 1406 384 - 1407 384 - 1408 384 - 1409 384 - 1410 384 - 1411 384 - 1412 384 - 1413 384 - 1414 384 - 1415 384 1416 384 1417 384 1418 384 @@ -508,50 +146,6 @@ ny= 1536 1485 384 1486 384 1487 384 - 1488 384 - 1489 384 - 1490 384 - 1491 384 - 1492 384 - 1493 384 - 1494 384 - 1495 384 - 1496 384 - 1497 384 - 1498 384 - 1499 384 - 1500 384 - 1501 384 - 1502 384 - 1503 384 - 1504 384 - 1505 384 - 1506 384 - 1507 384 - 1508 384 - 1509 384 - 2162 384 - 2163 384 - 2164 384 - 2165 384 - 2166 384 - 2167 384 - 2168 384 - 2169 384 - 2170 384 - 2171 384 - 2172 384 - 2173 384 - 2174 384 - 2175 384 - 2176 384 - 2177 384 - 2178 384 - 2179 384 - 2180 384 - 2181 384 - 2182 384 - 2183 384 2184 384 2185 384 2186 384 @@ -624,50 +218,6 @@ ny= 1536 2253 384 2254 384 2255 384 - 2256 384 - 2257 384 - 2258 384 - 2259 384 - 2260 384 - 2261 384 - 2262 384 - 2263 384 - 2264 384 - 2265 384 - 2266 384 - 2267 384 - 2268 384 - 2269 384 - 2270 384 - 2271 384 - 2272 384 - 2273 384 - 2274 384 - 2275 384 - 2276 384 - 2277 384 - 2930 384 - 2931 384 - 2932 384 - 2933 384 - 2934 384 - 2935 384 - 2936 384 - 2937 384 - 2938 384 - 2939 384 - 2940 384 - 2941 384 - 2942 384 - 2943 384 - 2944 384 - 2945 384 - 2946 384 - 2947 384 - 2948 384 - 2949 384 - 2950 384 - 2951 384 2952 384 2953 384 2954 384 @@ -740,44 +290,6 @@ ny= 1536 3021 384 3022 384 3023 384 - 3024 384 - 3025 384 - 3026 384 - 3027 384 - 3028 384 - 3029 384 - 3030 384 - 3031 384 - 3032 384 - 3033 384 - 3034 384 - 3035 384 - 3036 384 - 3037 384 - 3038 384 - 3039 384 - 3040 384 - 3041 384 - 3042 384 - 3043 384 - 3044 384 - 3045 384 - 611 385 - 612 385 - 613 385 - 614 385 - 615 385 - 616 385 - 617 385 - 618 385 - 619 385 - 620 385 - 621 385 - 622 385 - 623 385 - 624 385 - 625 385 - 626 385 627 385 628 385 629 385 @@ -892,38 +404,6 @@ ny= 1536 738 385 739 385 740 385 - 741 385 - 742 385 - 743 385 - 744 385 - 745 385 - 746 385 - 747 385 - 748 385 - 749 385 - 750 385 - 751 385 - 752 385 - 753 385 - 754 385 - 755 385 - 756 385 - 1379 385 - 1380 385 - 1381 385 - 1382 385 - 1383 385 - 1384 385 - 1385 385 - 1386 385 - 1387 385 - 1388 385 - 1389 385 - 1390 385 - 1391 385 - 1392 385 - 1393 385 - 1394 385 1395 385 1396 385 1397 385 @@ -1038,38 +518,6 @@ ny= 1536 1506 385 1507 385 1508 385 - 1509 385 - 1510 385 - 1511 385 - 1512 385 - 1513 385 - 1514 385 - 1515 385 - 1516 385 - 1517 385 - 1518 385 - 1519 385 - 1520 385 - 1521 385 - 1522 385 - 1523 385 - 1524 385 - 2147 385 - 2148 385 - 2149 385 - 2150 385 - 2151 385 - 2152 385 - 2153 385 - 2154 385 - 2155 385 - 2156 385 - 2157 385 - 2158 385 - 2159 385 - 2160 385 - 2161 385 - 2162 385 2163 385 2164 385 2165 385 @@ -1184,38 +632,6 @@ ny= 1536 2274 385 2275 385 2276 385 - 2277 385 - 2278 385 - 2279 385 - 2280 385 - 2281 385 - 2282 385 - 2283 385 - 2284 385 - 2285 385 - 2286 385 - 2287 385 - 2288 385 - 2289 385 - 2290 385 - 2291 385 - 2292 385 - 2915 385 - 2916 385 - 2917 385 - 2918 385 - 2919 385 - 2920 385 - 2921 385 - 2922 385 - 2923 385 - 2924 385 - 2925 385 - 2926 385 - 2927 385 - 2928 385 - 2929 385 - 2930 385 2931 385 2932 385 2933 385 @@ -1330,37 +746,6 @@ ny= 1536 3042 385 3043 385 3044 385 - 3045 385 - 3046 385 - 3047 385 - 3048 385 - 3049 385 - 3050 385 - 3051 385 - 3052 385 - 3053 385 - 3054 385 - 3055 385 - 3056 385 - 3057 385 - 3058 385 - 3059 385 - 3060 385 - 1 386 - 598 386 - 599 386 - 600 386 - 601 386 - 602 386 - 603 386 - 604 386 - 605 386 - 606 386 - 607 386 - 608 386 - 609 386 - 610 386 - 611 386 612 386 613 386 614 386 @@ -1399,75 +784,6 @@ ny= 1536 647 386 648 386 649 386 - 650 386 - 651 386 - 652 386 - 653 386 - 654 386 - 655 386 - 656 386 - 657 386 - 658 386 - 659 386 - 660 386 - 661 386 - 662 386 - 663 386 - 664 386 - 665 386 - 666 386 - 667 386 - 668 386 - 669 386 - 670 386 - 671 386 - 672 386 - 673 386 - 674 386 - 675 386 - 676 386 - 677 386 - 678 386 - 679 386 - 680 386 - 681 386 - 682 386 - 683 386 - 684 386 - 685 386 - 686 386 - 687 386 - 688 386 - 689 386 - 690 386 - 691 386 - 692 386 - 693 386 - 694 386 - 695 386 - 696 386 - 697 386 - 698 386 - 699 386 - 700 386 - 701 386 - 702 386 - 703 386 - 704 386 - 705 386 - 706 386 - 707 386 - 708 386 - 709 386 - 710 386 - 711 386 - 712 386 - 713 386 - 714 386 - 715 386 - 716 386 - 717 386 - 718 386 719 386 720 386 721 386 @@ -1505,34 +821,6 @@ ny= 1536 753 386 754 386 755 386 - 756 386 - 757 386 - 758 386 - 759 386 - 760 386 - 761 386 - 762 386 - 763 386 - 764 386 - 765 386 - 766 386 - 767 386 - 768 386 - 769 386 - 1366 386 - 1367 386 - 1368 386 - 1369 386 - 1370 386 - 1371 386 - 1372 386 - 1373 386 - 1374 386 - 1375 386 - 1376 386 - 1377 386 - 1378 386 - 1379 386 1380 386 1381 386 1382 386 @@ -1571,75 +859,6 @@ ny= 1536 1415 386 1416 386 1417 386 - 1418 386 - 1419 386 - 1420 386 - 1421 386 - 1422 386 - 1423 386 - 1424 386 - 1425 386 - 1426 386 - 1427 386 - 1428 386 - 1429 386 - 1430 386 - 1431 386 - 1432 386 - 1433 386 - 1434 386 - 1435 386 - 1436 386 - 1437 386 - 1438 386 - 1439 386 - 1440 386 - 1441 386 - 1442 386 - 1443 386 - 1444 386 - 1445 386 - 1446 386 - 1447 386 - 1448 386 - 1449 386 - 1450 386 - 1451 386 - 1452 386 - 1453 386 - 1454 386 - 1455 386 - 1456 386 - 1457 386 - 1458 386 - 1459 386 - 1460 386 - 1461 386 - 1462 386 - 1463 386 - 1464 386 - 1465 386 - 1466 386 - 1467 386 - 1468 386 - 1469 386 - 1470 386 - 1471 386 - 1472 386 - 1473 386 - 1474 386 - 1475 386 - 1476 386 - 1477 386 - 1478 386 - 1479 386 - 1480 386 - 1481 386 - 1482 386 - 1483 386 - 1484 386 - 1485 386 - 1486 386 1487 386 1488 386 1489 386 @@ -1677,34 +896,6 @@ ny= 1536 1521 386 1522 386 1523 386 - 1524 386 - 1525 386 - 1526 386 - 1527 386 - 1528 386 - 1529 386 - 1530 386 - 1531 386 - 1532 386 - 1533 386 - 1534 386 - 1535 386 - 1536 386 - 1537 386 - 2134 386 - 2135 386 - 2136 386 - 2137 386 - 2138 386 - 2139 386 - 2140 386 - 2141 386 - 2142 386 - 2143 386 - 2144 386 - 2145 386 - 2146 386 - 2147 386 2148 386 2149 386 2150 386 @@ -1743,75 +934,6 @@ ny= 1536 2183 386 2184 386 2185 386 - 2186 386 - 2187 386 - 2188 386 - 2189 386 - 2190 386 - 2191 386 - 2192 386 - 2193 386 - 2194 386 - 2195 386 - 2196 386 - 2197 386 - 2198 386 - 2199 386 - 2200 386 - 2201 386 - 2202 386 - 2203 386 - 2204 386 - 2205 386 - 2206 386 - 2207 386 - 2208 386 - 2209 386 - 2210 386 - 2211 386 - 2212 386 - 2213 386 - 2214 386 - 2215 386 - 2216 386 - 2217 386 - 2218 386 - 2219 386 - 2220 386 - 2221 386 - 2222 386 - 2223 386 - 2224 386 - 2225 386 - 2226 386 - 2227 386 - 2228 386 - 2229 386 - 2230 386 - 2231 386 - 2232 386 - 2233 386 - 2234 386 - 2235 386 - 2236 386 - 2237 386 - 2238 386 - 2239 386 - 2240 386 - 2241 386 - 2242 386 - 2243 386 - 2244 386 - 2245 386 - 2246 386 - 2247 386 - 2248 386 - 2249 386 - 2250 386 - 2251 386 - 2252 386 - 2253 386 - 2254 386 2255 386 2256 386 2257 386 @@ -1849,34 +971,6 @@ ny= 1536 2289 386 2290 386 2291 386 - 2292 386 - 2293 386 - 2294 386 - 2295 386 - 2296 386 - 2297 386 - 2298 386 - 2299 386 - 2300 386 - 2301 386 - 2302 386 - 2303 386 - 2304 386 - 2305 386 - 2902 386 - 2903 386 - 2904 386 - 2905 386 - 2906 386 - 2907 386 - 2908 386 - 2909 386 - 2910 386 - 2911 386 - 2912 386 - 2913 386 - 2914 386 - 2915 386 2916 386 2917 386 2918 386 @@ -1915,75 +1009,6 @@ ny= 1536 2951 386 2952 386 2953 386 - 2954 386 - 2955 386 - 2956 386 - 2957 386 - 2958 386 - 2959 386 - 2960 386 - 2961 386 - 2962 386 - 2963 386 - 2964 386 - 2965 386 - 2966 386 - 2967 386 - 2968 386 - 2969 386 - 2970 386 - 2971 386 - 2972 386 - 2973 386 - 2974 386 - 2975 386 - 2976 386 - 2977 386 - 2978 386 - 2979 386 - 2980 386 - 2981 386 - 2982 386 - 2983 386 - 2984 386 - 2985 386 - 2986 386 - 2987 386 - 2988 386 - 2989 386 - 2990 386 - 2991 386 - 2992 386 - 2993 386 - 2994 386 - 2995 386 - 2996 386 - 2997 386 - 2998 386 - 2999 386 - 3000 386 - 3001 386 - 3002 386 - 3003 386 - 3004 386 - 3005 386 - 3006 386 - 3007 386 - 3008 386 - 3009 386 - 3010 386 - 3011 386 - 3012 386 - 3013 386 - 3014 386 - 3015 386 - 3016 386 - 3017 386 - 3018 386 - 3019 386 - 3020 386 - 3021 386 - 3022 386 3023 386 3024 386 3025 386 @@ -2021,43 +1046,6 @@ ny= 1536 3057 386 3058 386 3059 386 - 3060 386 - 3061 386 - 3062 386 - 3063 386 - 3064 386 - 3065 386 - 3066 386 - 3067 386 - 3068 386 - 3069 386 - 3070 386 - 3071 386 - 3072 386 - 1 387 - 2 387 - 3 387 - 4 387 - 5 387 - 6 387 - 7 387 - 8 387 - 9 387 - 10 387 - 11 387 - 12 387 - 587 387 - 588 387 - 589 387 - 590 387 - 591 387 - 592 387 - 593 387 - 594 387 - 595 387 - 596 387 - 597 387 - 598 387 599 387 600 387 601 387 @@ -2088,50 +1076,6 @@ ny= 1536 626 387 627 387 628 387 - 629 387 - 630 387 - 631 387 - 632 387 - 633 387 - 634 387 - 635 387 - 636 387 - 637 387 - 638 387 - 639 387 - 640 387 - 641 387 - 642 387 - 643 387 - 644 387 - 645 387 - 646 387 - 647 387 - 648 387 - 649 387 - 650 387 - 718 387 - 719 387 - 720 387 - 721 387 - 722 387 - 723 387 - 724 387 - 725 387 - 726 387 - 727 387 - 728 387 - 729 387 - 730 387 - 731 387 - 732 387 - 733 387 - 734 387 - 735 387 - 736 387 - 737 387 - 738 387 - 739 387 740 387 741 387 742 387 @@ -2161,30 +1105,6 @@ ny= 1536 766 387 767 387 768 387 - 769 387 - 770 387 - 771 387 - 772 387 - 773 387 - 774 387 - 775 387 - 776 387 - 777 387 - 778 387 - 779 387 - 780 387 - 1355 387 - 1356 387 - 1357 387 - 1358 387 - 1359 387 - 1360 387 - 1361 387 - 1362 387 - 1363 387 - 1364 387 - 1365 387 - 1366 387 1367 387 1368 387 1369 387 @@ -2215,50 +1135,6 @@ ny= 1536 1394 387 1395 387 1396 387 - 1397 387 - 1398 387 - 1399 387 - 1400 387 - 1401 387 - 1402 387 - 1403 387 - 1404 387 - 1405 387 - 1406 387 - 1407 387 - 1408 387 - 1409 387 - 1410 387 - 1411 387 - 1412 387 - 1413 387 - 1414 387 - 1415 387 - 1416 387 - 1417 387 - 1418 387 - 1486 387 - 1487 387 - 1488 387 - 1489 387 - 1490 387 - 1491 387 - 1492 387 - 1493 387 - 1494 387 - 1495 387 - 1496 387 - 1497 387 - 1498 387 - 1499 387 - 1500 387 - 1501 387 - 1502 387 - 1503 387 - 1504 387 - 1505 387 - 1506 387 - 1507 387 1508 387 1509 387 1510 387 @@ -2288,30 +1164,6 @@ ny= 1536 1534 387 1535 387 1536 387 - 1537 387 - 1538 387 - 1539 387 - 1540 387 - 1541 387 - 1542 387 - 1543 387 - 1544 387 - 1545 387 - 1546 387 - 1547 387 - 1548 387 - 2123 387 - 2124 387 - 2125 387 - 2126 387 - 2127 387 - 2128 387 - 2129 387 - 2130 387 - 2131 387 - 2132 387 - 2133 387 - 2134 387 2135 387 2136 387 2137 387 @@ -2342,50 +1194,6 @@ ny= 1536 2162 387 2163 387 2164 387 - 2165 387 - 2166 387 - 2167 387 - 2168 387 - 2169 387 - 2170 387 - 2171 387 - 2172 387 - 2173 387 - 2174 387 - 2175 387 - 2176 387 - 2177 387 - 2178 387 - 2179 387 - 2180 387 - 2181 387 - 2182 387 - 2183 387 - 2184 387 - 2185 387 - 2186 387 - 2254 387 - 2255 387 - 2256 387 - 2257 387 - 2258 387 - 2259 387 - 2260 387 - 2261 387 - 2262 387 - 2263 387 - 2264 387 - 2265 387 - 2266 387 - 2267 387 - 2268 387 - 2269 387 - 2270 387 - 2271 387 - 2272 387 - 2273 387 - 2274 387 - 2275 387 2276 387 2277 387 2278 387 @@ -2415,30 +1223,6 @@ ny= 1536 2302 387 2303 387 2304 387 - 2305 387 - 2306 387 - 2307 387 - 2308 387 - 2309 387 - 2310 387 - 2311 387 - 2312 387 - 2313 387 - 2314 387 - 2315 387 - 2316 387 - 2891 387 - 2892 387 - 2893 387 - 2894 387 - 2895 387 - 2896 387 - 2897 387 - 2898 387 - 2899 387 - 2900 387 - 2901 387 - 2902 387 2903 387 2904 387 2905 387 @@ -2469,50 +1253,6 @@ ny= 1536 2930 387 2931 387 2932 387 - 2933 387 - 2934 387 - 2935 387 - 2936 387 - 2937 387 - 2938 387 - 2939 387 - 2940 387 - 2941 387 - 2942 387 - 2943 387 - 2944 387 - 2945 387 - 2946 387 - 2947 387 - 2948 387 - 2949 387 - 2950 387 - 2951 387 - 2952 387 - 2953 387 - 2954 387 - 3022 387 - 3023 387 - 3024 387 - 3025 387 - 3026 387 - 3027 387 - 3028 387 - 3029 387 - 3030 387 - 3031 387 - 3032 387 - 3033 387 - 3034 387 - 3035 387 - 3036 387 - 3037 387 - 3038 387 - 3039 387 - 3040 387 - 3041 387 - 3042 387 - 3043 387 3044 387 3045 387 3046 387 @@ -2553,26 +1293,6 @@ ny= 1536 9 388 10 388 11 388 - 12 388 - 13 388 - 14 388 - 15 388 - 16 388 - 17 388 - 18 388 - 19 388 - 20 388 - 21 388 - 578 388 - 579 388 - 580 388 - 581 388 - 582 388 - 583 388 - 584 388 - 585 388 - 586 388 - 587 388 588 388 589 388 590 388 @@ -2598,39 +1318,6 @@ ny= 1536 610 388 611 388 612 388 - 613 388 - 614 388 - 615 388 - 616 388 - 617 388 - 618 388 - 619 388 - 620 388 - 621 388 - 622 388 - 623 388 - 624 388 - 625 388 - 626 388 - 627 388 - 628 388 - 629 388 - 739 388 - 740 388 - 741 388 - 742 388 - 743 388 - 744 388 - 745 388 - 746 388 - 747 388 - 748 388 - 749 388 - 750 388 - 751 388 - 752 388 - 753 388 - 754 388 755 388 756 388 757 388 @@ -2656,26 +1343,6 @@ ny= 1536 777 388 778 388 779 388 - 780 388 - 781 388 - 782 388 - 783 388 - 784 388 - 785 388 - 786 388 - 787 388 - 788 388 - 789 388 - 1346 388 - 1347 388 - 1348 388 - 1349 388 - 1350 388 - 1351 388 - 1352 388 - 1353 388 - 1354 388 - 1355 388 1356 388 1357 388 1358 388 @@ -2701,39 +1368,6 @@ ny= 1536 1378 388 1379 388 1380 388 - 1381 388 - 1382 388 - 1383 388 - 1384 388 - 1385 388 - 1386 388 - 1387 388 - 1388 388 - 1389 388 - 1390 388 - 1391 388 - 1392 388 - 1393 388 - 1394 388 - 1395 388 - 1396 388 - 1397 388 - 1507 388 - 1508 388 - 1509 388 - 1510 388 - 1511 388 - 1512 388 - 1513 388 - 1514 388 - 1515 388 - 1516 388 - 1517 388 - 1518 388 - 1519 388 - 1520 388 - 1521 388 - 1522 388 1523 388 1524 388 1525 388 @@ -2759,26 +1393,6 @@ ny= 1536 1545 388 1546 388 1547 388 - 1548 388 - 1549 388 - 1550 388 - 1551 388 - 1552 388 - 1553 388 - 1554 388 - 1555 388 - 1556 388 - 1557 388 - 2114 388 - 2115 388 - 2116 388 - 2117 388 - 2118 388 - 2119 388 - 2120 388 - 2121 388 - 2122 388 - 2123 388 2124 388 2125 388 2126 388 @@ -2804,39 +1418,6 @@ ny= 1536 2146 388 2147 388 2148 388 - 2149 388 - 2150 388 - 2151 388 - 2152 388 - 2153 388 - 2154 388 - 2155 388 - 2156 388 - 2157 388 - 2158 388 - 2159 388 - 2160 388 - 2161 388 - 2162 388 - 2163 388 - 2164 388 - 2165 388 - 2275 388 - 2276 388 - 2277 388 - 2278 388 - 2279 388 - 2280 388 - 2281 388 - 2282 388 - 2283 388 - 2284 388 - 2285 388 - 2286 388 - 2287 388 - 2288 388 - 2289 388 - 2290 388 2291 388 2292 388 2293 388 @@ -2862,26 +1443,6 @@ ny= 1536 2313 388 2314 388 2315 388 - 2316 388 - 2317 388 - 2318 388 - 2319 388 - 2320 388 - 2321 388 - 2322 388 - 2323 388 - 2324 388 - 2325 388 - 2882 388 - 2883 388 - 2884 388 - 2885 388 - 2886 388 - 2887 388 - 2888 388 - 2889 388 - 2890 388 - 2891 388 2892 388 2893 388 2894 388 @@ -2907,39 +1468,6 @@ ny= 1536 2914 388 2915 388 2916 388 - 2917 388 - 2918 388 - 2919 388 - 2920 388 - 2921 388 - 2922 388 - 2923 388 - 2924 388 - 2925 388 - 2926 388 - 2927 388 - 2928 388 - 2929 388 - 2930 388 - 2931 388 - 2932 388 - 2933 388 - 3043 388 - 3044 388 - 3045 388 - 3046 388 - 3047 388 - 3048 388 - 3049 388 - 3050 388 - 3051 388 - 3052 388 - 3053 388 - 3054 388 - 3055 388 - 3056 388 - 3057 388 - 3058 388 3059 388 3060 388 3061 388 @@ -2974,26 +1502,6 @@ ny= 1536 18 389 19 389 20 389 - 21 389 - 22 389 - 23 389 - 24 389 - 25 389 - 26 389 - 27 389 - 28 389 - 29 389 - 30 389 - 569 389 - 570 389 - 571 389 - 572 389 - 573 389 - 574 389 - 575 389 - 576 389 - 577 389 - 578 389 579 389 580 389 581 389 @@ -3016,33 +1524,6 @@ ny= 1536 598 389 599 389 600 389 - 601 389 - 602 389 - 603 389 - 604 389 - 605 389 - 606 389 - 607 389 - 608 389 - 609 389 - 610 389 - 611 389 - 612 389 - 613 389 - 754 389 - 755 389 - 756 389 - 757 389 - 758 389 - 759 389 - 760 389 - 761 389 - 762 389 - 763 389 - 764 389 - 765 389 - 766 389 - 767 389 768 389 769 389 770 389 @@ -3064,26 +1545,6 @@ ny= 1536 786 389 787 389 788 389 - 789 389 - 790 389 - 791 389 - 792 389 - 793 389 - 794 389 - 795 389 - 796 389 - 797 389 - 798 389 - 1337 389 - 1338 389 - 1339 389 - 1340 389 - 1341 389 - 1342 389 - 1343 389 - 1344 389 - 1345 389 - 1346 389 1347 389 1348 389 1349 389 @@ -3106,33 +1567,6 @@ ny= 1536 1366 389 1367 389 1368 389 - 1369 389 - 1370 389 - 1371 389 - 1372 389 - 1373 389 - 1374 389 - 1375 389 - 1376 389 - 1377 389 - 1378 389 - 1379 389 - 1380 389 - 1381 389 - 1522 389 - 1523 389 - 1524 389 - 1525 389 - 1526 389 - 1527 389 - 1528 389 - 1529 389 - 1530 389 - 1531 389 - 1532 389 - 1533 389 - 1534 389 - 1535 389 1536 389 1537 389 1538 389 @@ -3154,26 +1588,6 @@ ny= 1536 1554 389 1555 389 1556 389 - 1557 389 - 1558 389 - 1559 389 - 1560 389 - 1561 389 - 1562 389 - 1563 389 - 1564 389 - 1565 389 - 1566 389 - 2105 389 - 2106 389 - 2107 389 - 2108 389 - 2109 389 - 2110 389 - 2111 389 - 2112 389 - 2113 389 - 2114 389 2115 389 2116 389 2117 389 @@ -3196,33 +1610,6 @@ ny= 1536 2134 389 2135 389 2136 389 - 2137 389 - 2138 389 - 2139 389 - 2140 389 - 2141 389 - 2142 389 - 2143 389 - 2144 389 - 2145 389 - 2146 389 - 2147 389 - 2148 389 - 2149 389 - 2290 389 - 2291 389 - 2292 389 - 2293 389 - 2294 389 - 2295 389 - 2296 389 - 2297 389 - 2298 389 - 2299 389 - 2300 389 - 2301 389 - 2302 389 - 2303 389 2304 389 2305 389 2306 389 @@ -3244,26 +1631,6 @@ ny= 1536 2322 389 2323 389 2324 389 - 2325 389 - 2326 389 - 2327 389 - 2328 389 - 2329 389 - 2330 389 - 2331 389 - 2332 389 - 2333 389 - 2334 389 - 2873 389 - 2874 389 - 2875 389 - 2876 389 - 2877 389 - 2878 389 - 2879 389 - 2880 389 - 2881 389 - 2882 389 2883 389 2884 389 2885 389 @@ -3286,43 +1653,7 @@ ny= 1536 2902 389 2903 389 2904 389 - 2905 389 - 2906 389 - 2907 389 - 2908 389 - 2909 389 - 2910 389 - 2911 389 - 2912 389 - 2913 389 - 2914 389 - 2915 389 - 2916 389 - 2917 389 - 3058 389 - 3059 389 - 3060 389 - 3061 389 - 3062 389 - 3063 389 - 3064 389 - 3065 389 - 3066 389 - 3067 389 - 3068 389 - 3069 389 - 3070 389 - 3071 389 3072 389 - 1 390 - 2 390 - 3 390 - 4 390 - 5 390 - 6 390 - 7 390 - 8 390 - 9 390 10 390 11 390 12 390 @@ -3343,24 +1674,6 @@ ny= 1536 27 390 28 390 29 390 - 30 390 - 31 390 - 32 390 - 33 390 - 34 390 - 35 390 - 36 390 - 37 390 - 38 390 - 561 390 - 562 390 - 563 390 - 564 390 - 565 390 - 566 390 - 567 390 - 568 390 - 569 390 570 390 571 390 572 390 @@ -3381,29 +1694,6 @@ ny= 1536 587 390 588 390 589 390 - 590 390 - 591 390 - 592 390 - 593 390 - 594 390 - 595 390 - 596 390 - 597 390 - 598 390 - 599 390 - 600 390 - 601 390 - 767 390 - 768 390 - 769 390 - 770 390 - 771 390 - 772 390 - 773 390 - 774 390 - 775 390 - 776 390 - 777 390 778 390 779 390 780 390 @@ -3424,24 +1714,6 @@ ny= 1536 795 390 796 390 797 390 - 798 390 - 799 390 - 800 390 - 801 390 - 802 390 - 803 390 - 804 390 - 805 390 - 806 390 - 1329 390 - 1330 390 - 1331 390 - 1332 390 - 1333 390 - 1334 390 - 1335 390 - 1336 390 - 1337 390 1338 390 1339 390 1340 390 @@ -3462,29 +1734,6 @@ ny= 1536 1355 390 1356 390 1357 390 - 1358 390 - 1359 390 - 1360 390 - 1361 390 - 1362 390 - 1363 390 - 1364 390 - 1365 390 - 1366 390 - 1367 390 - 1368 390 - 1369 390 - 1535 390 - 1536 390 - 1537 390 - 1538 390 - 1539 390 - 1540 390 - 1541 390 - 1542 390 - 1543 390 - 1544 390 - 1545 390 1546 390 1547 390 1548 390 @@ -3505,24 +1754,6 @@ ny= 1536 1563 390 1564 390 1565 390 - 1566 390 - 1567 390 - 1568 390 - 1569 390 - 1570 390 - 1571 390 - 1572 390 - 1573 390 - 1574 390 - 2097 390 - 2098 390 - 2099 390 - 2100 390 - 2101 390 - 2102 390 - 2103 390 - 2104 390 - 2105 390 2106 390 2107 390 2108 390 @@ -3543,29 +1774,6 @@ ny= 1536 2123 390 2124 390 2125 390 - 2126 390 - 2127 390 - 2128 390 - 2129 390 - 2130 390 - 2131 390 - 2132 390 - 2133 390 - 2134 390 - 2135 390 - 2136 390 - 2137 390 - 2303 390 - 2304 390 - 2305 390 - 2306 390 - 2307 390 - 2308 390 - 2309 390 - 2310 390 - 2311 390 - 2312 390 - 2313 390 2314 390 2315 390 2316 390 @@ -3586,24 +1794,6 @@ ny= 1536 2331 390 2332 390 2333 390 - 2334 390 - 2335 390 - 2336 390 - 2337 390 - 2338 390 - 2339 390 - 2340 390 - 2341 390 - 2342 390 - 2865 390 - 2866 390 - 2867 390 - 2868 390 - 2869 390 - 2870 390 - 2871 390 - 2872 390 - 2873 390 2874 390 2875 390 2876 390 @@ -3624,31 +1814,6 @@ ny= 1536 2891 390 2892 390 2893 390 - 2894 390 - 2895 390 - 2896 390 - 2897 390 - 2898 390 - 2899 390 - 2900 390 - 2901 390 - 2902 390 - 2903 390 - 2904 390 - 2905 390 - 3071 390 - 3072 390 - 9 391 - 10 391 - 11 391 - 12 391 - 13 391 - 14 391 - 15 391 - 16 391 - 17 391 - 18 391 - 19 391 20 391 21 391 22 391 @@ -3667,24 +1832,6 @@ ny= 1536 35 391 36 391 37 391 - 38 391 - 39 391 - 40 391 - 41 391 - 42 391 - 43 391 - 44 391 - 45 391 - 46 391 - 553 391 - 554 391 - 555 391 - 556 391 - 557 391 - 558 391 - 559 391 - 560 391 - 561 391 562 391 563 391 564 391 @@ -3704,27 +1851,6 @@ ny= 1536 578 391 579 391 580 391 - 581 391 - 582 391 - 583 391 - 584 391 - 585 391 - 586 391 - 587 391 - 588 391 - 589 391 - 590 391 - 777 391 - 778 391 - 779 391 - 780 391 - 781 391 - 782 391 - 783 391 - 784 391 - 785 391 - 786 391 - 787 391 788 391 789 391 790 391 @@ -3743,24 +1869,6 @@ ny= 1536 803 391 804 391 805 391 - 806 391 - 807 391 - 808 391 - 809 391 - 810 391 - 811 391 - 812 391 - 813 391 - 814 391 - 1321 391 - 1322 391 - 1323 391 - 1324 391 - 1325 391 - 1326 391 - 1327 391 - 1328 391 - 1329 391 1330 391 1331 391 1332 391 @@ -3780,27 +1888,6 @@ ny= 1536 1346 391 1347 391 1348 391 - 1349 391 - 1350 391 - 1351 391 - 1352 391 - 1353 391 - 1354 391 - 1355 391 - 1356 391 - 1357 391 - 1358 391 - 1545 391 - 1546 391 - 1547 391 - 1548 391 - 1549 391 - 1550 391 - 1551 391 - 1552 391 - 1553 391 - 1554 391 - 1555 391 1556 391 1557 391 1558 391 @@ -3819,24 +1906,6 @@ ny= 1536 1571 391 1572 391 1573 391 - 1574 391 - 1575 391 - 1576 391 - 1577 391 - 1578 391 - 1579 391 - 1580 391 - 1581 391 - 1582 391 - 2089 391 - 2090 391 - 2091 391 - 2092 391 - 2093 391 - 2094 391 - 2095 391 - 2096 391 - 2097 391 2098 391 2099 391 2100 391 @@ -3856,27 +1925,6 @@ ny= 1536 2114 391 2115 391 2116 391 - 2117 391 - 2118 391 - 2119 391 - 2120 391 - 2121 391 - 2122 391 - 2123 391 - 2124 391 - 2125 391 - 2126 391 - 2313 391 - 2314 391 - 2315 391 - 2316 391 - 2317 391 - 2318 391 - 2319 391 - 2320 391 - 2321 391 - 2322 391 - 2323 391 2324 391 2325 391 2326 391 @@ -3895,24 +1943,6 @@ ny= 1536 2339 391 2340 391 2341 391 - 2342 391 - 2343 391 - 2344 391 - 2345 391 - 2346 391 - 2347 391 - 2348 391 - 2349 391 - 2350 391 - 2857 391 - 2858 391 - 2859 391 - 2860 391 - 2861 391 - 2862 391 - 2863 391 - 2864 391 - 2865 391 2866 391 2867 391 2868 391 @@ -3932,26 +1962,6 @@ ny= 1536 2882 391 2883 391 2884 391 - 2885 391 - 2886 391 - 2887 391 - 2888 391 - 2889 391 - 2890 391 - 2891 391 - 2892 391 - 2893 391 - 2894 391 - 19 392 - 20 392 - 21 392 - 22 392 - 23 392 - 24 392 - 25 392 - 26 392 - 27 392 - 28 392 29 392 30 392 31 392 @@ -3969,22 +1979,6 @@ ny= 1536 43 392 44 392 45 392 - 46 392 - 47 392 - 48 392 - 49 392 - 50 392 - 51 392 - 52 392 - 53 392 - 546 392 - 547 392 - 548 392 - 549 392 - 550 392 - 551 392 - 552 392 - 553 392 554 392 555 392 556 392 @@ -4002,27 +1996,6 @@ ny= 1536 568 392 569 392 570 392 - 571 392 - 572 392 - 573 392 - 574 392 - 575 392 - 576 392 - 577 392 - 578 392 - 579 392 - 580 392 - 581 392 - 787 392 - 788 392 - 789 392 - 790 392 - 791 392 - 792 392 - 793 392 - 794 392 - 795 392 - 796 392 797 392 798 392 799 392 @@ -4040,22 +2013,6 @@ ny= 1536 811 392 812 392 813 392 - 814 392 - 815 392 - 816 392 - 817 392 - 818 392 - 819 392 - 820 392 - 821 392 - 1314 392 - 1315 392 - 1316 392 - 1317 392 - 1318 392 - 1319 392 - 1320 392 - 1321 392 1322 392 1323 392 1324 392 @@ -4073,27 +2030,6 @@ ny= 1536 1336 392 1337 392 1338 392 - 1339 392 - 1340 392 - 1341 392 - 1342 392 - 1343 392 - 1344 392 - 1345 392 - 1346 392 - 1347 392 - 1348 392 - 1349 392 - 1555 392 - 1556 392 - 1557 392 - 1558 392 - 1559 392 - 1560 392 - 1561 392 - 1562 392 - 1563 392 - 1564 392 1565 392 1566 392 1567 392 @@ -4111,22 +2047,6 @@ ny= 1536 1579 392 1580 392 1581 392 - 1582 392 - 1583 392 - 1584 392 - 1585 392 - 1586 392 - 1587 392 - 1588 392 - 1589 392 - 2082 392 - 2083 392 - 2084 392 - 2085 392 - 2086 392 - 2087 392 - 2088 392 - 2089 392 2090 392 2091 392 2092 392 @@ -4144,27 +2064,6 @@ ny= 1536 2104 392 2105 392 2106 392 - 2107 392 - 2108 392 - 2109 392 - 2110 392 - 2111 392 - 2112 392 - 2113 392 - 2114 392 - 2115 392 - 2116 392 - 2117 392 - 2323 392 - 2324 392 - 2325 392 - 2326 392 - 2327 392 - 2328 392 - 2329 392 - 2330 392 - 2331 392 - 2332 392 2333 392 2334 392 2335 392 @@ -4182,22 +2081,6 @@ ny= 1536 2347 392 2348 392 2349 392 - 2350 392 - 2351 392 - 2352 392 - 2353 392 - 2354 392 - 2355 392 - 2356 392 - 2357 392 - 2850 392 - 2851 392 - 2852 392 - 2853 392 - 2854 392 - 2855 392 - 2856 392 - 2857 392 2858 392 2859 392 2860 392 @@ -4215,26 +2098,6 @@ ny= 1536 2872 392 2873 392 2874 392 - 2875 392 - 2876 392 - 2877 392 - 2878 392 - 2879 392 - 2880 392 - 2881 392 - 2882 392 - 2883 392 - 2884 392 - 2885 392 - 28 393 - 29 393 - 30 393 - 31 393 - 32 393 - 33 393 - 34 393 - 35 393 - 36 393 37 393 38 393 39 393 @@ -4251,21 +2114,6 @@ ny= 1536 50 393 51 393 52 393 - 53 393 - 54 393 - 55 393 - 56 393 - 57 393 - 58 393 - 59 393 - 60 393 - 540 393 - 541 393 - 542 393 - 543 393 - 544 393 - 545 393 - 546 393 547 393 548 393 549 393 @@ -4282,24 +2130,6 @@ ny= 1536 560 393 561 393 562 393 - 563 393 - 564 393 - 565 393 - 566 393 - 567 393 - 568 393 - 569 393 - 570 393 - 571 393 - 796 393 - 797 393 - 798 393 - 799 393 - 800 393 - 801 393 - 802 393 - 803 393 - 804 393 805 393 806 393 807 393 @@ -4316,21 +2146,6 @@ ny= 1536 818 393 819 393 820 393 - 821 393 - 822 393 - 823 393 - 824 393 - 825 393 - 826 393 - 827 393 - 828 393 - 1308 393 - 1309 393 - 1310 393 - 1311 393 - 1312 393 - 1313 393 - 1314 393 1315 393 1316 393 1317 393 @@ -4347,24 +2162,6 @@ ny= 1536 1328 393 1329 393 1330 393 - 1331 393 - 1332 393 - 1333 393 - 1334 393 - 1335 393 - 1336 393 - 1337 393 - 1338 393 - 1339 393 - 1564 393 - 1565 393 - 1566 393 - 1567 393 - 1568 393 - 1569 393 - 1570 393 - 1571 393 - 1572 393 1573 393 1574 393 1575 393 @@ -4381,21 +2178,6 @@ ny= 1536 1586 393 1587 393 1588 393 - 1589 393 - 1590 393 - 1591 393 - 1592 393 - 1593 393 - 1594 393 - 1595 393 - 1596 393 - 2076 393 - 2077 393 - 2078 393 - 2079 393 - 2080 393 - 2081 393 - 2082 393 2083 393 2084 393 2085 393 @@ -4412,24 +2194,6 @@ ny= 1536 2096 393 2097 393 2098 393 - 2099 393 - 2100 393 - 2101 393 - 2102 393 - 2103 393 - 2104 393 - 2105 393 - 2106 393 - 2107 393 - 2332 393 - 2333 393 - 2334 393 - 2335 393 - 2336 393 - 2337 393 - 2338 393 - 2339 393 - 2340 393 2341 393 2342 393 2343 393 @@ -4446,21 +2210,6 @@ ny= 1536 2354 393 2355 393 2356 393 - 2357 393 - 2358 393 - 2359 393 - 2360 393 - 2361 393 - 2362 393 - 2363 393 - 2364 393 - 2844 393 - 2845 393 - 2846 393 - 2847 393 - 2848 393 - 2849 393 - 2850 393 2851 393 2852 393 2853 393 @@ -4477,23 +2226,6 @@ ny= 1536 2864 393 2865 393 2866 393 - 2867 393 - 2868 393 - 2869 393 - 2870 393 - 2871 393 - 2872 393 - 2873 393 - 2874 393 - 2875 393 - 36 394 - 37 394 - 38 394 - 39 394 - 40 394 - 41 394 - 42 394 - 43 394 44 394 45 394 46 394 @@ -4510,22 +2242,6 @@ ny= 1536 57 394 58 394 59 394 - 60 394 - 61 394 - 62 394 - 63 394 - 64 394 - 65 394 - 66 394 - 67 394 - 533 394 - 534 394 - 535 394 - 536 394 - 537 394 - 538 394 - 539 394 - 540 394 541 394 542 394 543 394 @@ -4541,22 +2257,6 @@ ny= 1536 553 394 554 394 555 394 - 556 394 - 557 394 - 558 394 - 559 394 - 560 394 - 561 394 - 562 394 - 563 394 - 804 394 - 805 394 - 806 394 - 807 394 - 808 394 - 809 394 - 810 394 - 811 394 812 394 813 394 814 394 @@ -4573,22 +2273,6 @@ ny= 1536 825 394 826 394 827 394 - 828 394 - 829 394 - 830 394 - 831 394 - 832 394 - 833 394 - 834 394 - 835 394 - 1301 394 - 1302 394 - 1303 394 - 1304 394 - 1305 394 - 1306 394 - 1307 394 - 1308 394 1309 394 1310 394 1311 394 @@ -4604,22 +2288,6 @@ ny= 1536 1321 394 1322 394 1323 394 - 1324 394 - 1325 394 - 1326 394 - 1327 394 - 1328 394 - 1329 394 - 1330 394 - 1331 394 - 1572 394 - 1573 394 - 1574 394 - 1575 394 - 1576 394 - 1577 394 - 1578 394 - 1579 394 1580 394 1581 394 1582 394 @@ -4636,22 +2304,6 @@ ny= 1536 1593 394 1594 394 1595 394 - 1596 394 - 1597 394 - 1598 394 - 1599 394 - 1600 394 - 1601 394 - 1602 394 - 1603 394 - 2069 394 - 2070 394 - 2071 394 - 2072 394 - 2073 394 - 2074 394 - 2075 394 - 2076 394 2077 394 2078 394 2079 394 @@ -4667,22 +2319,6 @@ ny= 1536 2089 394 2090 394 2091 394 - 2092 394 - 2093 394 - 2094 394 - 2095 394 - 2096 394 - 2097 394 - 2098 394 - 2099 394 - 2340 394 - 2341 394 - 2342 394 - 2343 394 - 2344 394 - 2345 394 - 2346 394 - 2347 394 2348 394 2349 394 2350 394 @@ -4699,22 +2335,6 @@ ny= 1536 2361 394 2362 394 2363 394 - 2364 394 - 2365 394 - 2366 394 - 2367 394 - 2368 394 - 2369 394 - 2370 394 - 2371 394 - 2837 394 - 2838 394 - 2839 394 - 2840 394 - 2841 394 - 2842 394 - 2843 394 - 2844 394 2845 394 2846 394 2847 394 @@ -4730,23 +2350,6 @@ ny= 1536 2857 394 2858 394 2859 394 - 2860 394 - 2861 394 - 2862 394 - 2863 394 - 2864 394 - 2865 394 - 2866 394 - 2867 394 - 43 395 - 44 395 - 45 395 - 46 395 - 47 395 - 48 395 - 49 395 - 50 395 - 51 395 52 395 53 395 54 395 @@ -4762,19 +2365,6 @@ ny= 1536 64 395 65 395 66 395 - 67 395 - 68 395 - 69 395 - 70 395 - 71 395 - 72 395 - 527 395 - 528 395 - 529 395 - 530 395 - 531 395 - 532 395 - 533 395 534 395 535 395 536 395 @@ -4789,24 +2379,6 @@ ny= 1536 545 395 546 395 547 395 - 548 395 - 549 395 - 550 395 - 551 395 - 552 395 - 553 395 - 554 395 - 555 395 - 556 395 - 811 395 - 812 395 - 813 395 - 814 395 - 815 395 - 816 395 - 817 395 - 818 395 - 819 395 820 395 821 395 822 395 @@ -4822,19 +2394,6 @@ ny= 1536 832 395 833 395 834 395 - 835 395 - 836 395 - 837 395 - 838 395 - 839 395 - 840 395 - 1295 395 - 1296 395 - 1297 395 - 1298 395 - 1299 395 - 1300 395 - 1301 395 1302 395 1303 395 1304 395 @@ -4849,24 +2408,6 @@ ny= 1536 1313 395 1314 395 1315 395 - 1316 395 - 1317 395 - 1318 395 - 1319 395 - 1320 395 - 1321 395 - 1322 395 - 1323 395 - 1324 395 - 1579 395 - 1580 395 - 1581 395 - 1582 395 - 1583 395 - 1584 395 - 1585 395 - 1586 395 - 1587 395 1588 395 1589 395 1590 395 @@ -4882,19 +2423,6 @@ ny= 1536 1600 395 1601 395 1602 395 - 1603 395 - 1604 395 - 1605 395 - 1606 395 - 1607 395 - 1608 395 - 2063 395 - 2064 395 - 2065 395 - 2066 395 - 2067 395 - 2068 395 - 2069 395 2070 395 2071 395 2072 395 @@ -4909,24 +2437,6 @@ ny= 1536 2081 395 2082 395 2083 395 - 2084 395 - 2085 395 - 2086 395 - 2087 395 - 2088 395 - 2089 395 - 2090 395 - 2091 395 - 2092 395 - 2347 395 - 2348 395 - 2349 395 - 2350 395 - 2351 395 - 2352 395 - 2353 395 - 2354 395 - 2355 395 2356 395 2357 395 2358 395 @@ -4942,19 +2452,6 @@ ny= 1536 2368 395 2369 395 2370 395 - 2371 395 - 2372 395 - 2373 395 - 2374 395 - 2375 395 - 2376 395 - 2831 395 - 2832 395 - 2833 395 - 2834 395 - 2835 395 - 2836 395 - 2837 395 2838 395 2839 395 2840 395 @@ -4969,22 +2466,6 @@ ny= 1536 2849 395 2850 395 2851 395 - 2852 395 - 2853 395 - 2854 395 - 2855 395 - 2856 395 - 2857 395 - 2858 395 - 2859 395 - 2860 395 - 51 396 - 52 396 - 53 396 - 54 396 - 55 396 - 56 396 - 57 396 58 396 59 396 60 396 @@ -4999,21 +2480,6 @@ ny= 1536 69 396 70 396 71 396 - 72 396 - 73 396 - 74 396 - 75 396 - 76 396 - 77 396 - 78 396 - 79 396 - 521 396 - 522 396 - 523 396 - 524 396 - 525 396 - 526 396 - 527 396 528 396 529 396 530 396 @@ -5028,20 +2494,6 @@ ny= 1536 539 396 540 396 541 396 - 542 396 - 543 396 - 544 396 - 545 396 - 546 396 - 547 396 - 548 396 - 819 396 - 820 396 - 821 396 - 822 396 - 823 396 - 824 396 - 825 396 826 396 827 396 828 396 @@ -5056,21 +2508,6 @@ ny= 1536 837 396 838 396 839 396 - 840 396 - 841 396 - 842 396 - 843 396 - 844 396 - 845 396 - 846 396 - 847 396 - 1289 396 - 1290 396 - 1291 396 - 1292 396 - 1293 396 - 1294 396 - 1295 396 1296 396 1297 396 1298 396 @@ -5085,20 +2522,6 @@ ny= 1536 1307 396 1308 396 1309 396 - 1310 396 - 1311 396 - 1312 396 - 1313 396 - 1314 396 - 1315 396 - 1316 396 - 1587 396 - 1588 396 - 1589 396 - 1590 396 - 1591 396 - 1592 396 - 1593 396 1594 396 1595 396 1596 396 @@ -5113,21 +2536,6 @@ ny= 1536 1605 396 1606 396 1607 396 - 1608 396 - 1609 396 - 1610 396 - 1611 396 - 1612 396 - 1613 396 - 1614 396 - 1615 396 - 2057 396 - 2058 396 - 2059 396 - 2060 396 - 2061 396 - 2062 396 - 2063 396 2064 396 2065 396 2066 396 @@ -5142,20 +2550,6 @@ ny= 1536 2075 396 2076 396 2077 396 - 2078 396 - 2079 396 - 2080 396 - 2081 396 - 2082 396 - 2083 396 - 2084 396 - 2355 396 - 2356 396 - 2357 396 - 2358 396 - 2359 396 - 2360 396 - 2361 396 2362 396 2363 396 2364 396 @@ -5170,21 +2564,6 @@ ny= 1536 2373 396 2374 396 2375 396 - 2376 396 - 2377 396 - 2378 396 - 2379 396 - 2380 396 - 2381 396 - 2382 396 - 2383 396 - 2825 396 - 2826 396 - 2827 396 - 2828 396 - 2829 396 - 2830 396 - 2831 396 2832 396 2833 396 2834 396 @@ -5199,21 +2578,6 @@ ny= 1536 2843 396 2844 396 2845 396 - 2846 396 - 2847 396 - 2848 396 - 2849 396 - 2850 396 - 2851 396 - 2852 396 - 57 397 - 58 397 - 59 397 - 60 397 - 61 397 - 62 397 - 63 397 - 64 397 65 397 66 397 67 397 @@ -5228,20 +2592,6 @@ ny= 1536 76 397 77 397 78 397 - 79 397 - 80 397 - 81 397 - 82 397 - 83 397 - 84 397 - 85 397 - 515 397 - 516 397 - 517 397 - 518 397 - 519 397 - 520 397 - 521 397 522 397 523 397 524 397 @@ -5255,22 +2605,6 @@ ny= 1536 532 397 533 397 534 397 - 535 397 - 536 397 - 537 397 - 538 397 - 539 397 - 540 397 - 541 397 - 542 397 - 825 397 - 826 397 - 827 397 - 828 397 - 829 397 - 830 397 - 831 397 - 832 397 833 397 834 397 835 397 @@ -5285,20 +2619,6 @@ ny= 1536 844 397 845 397 846 397 - 847 397 - 848 397 - 849 397 - 850 397 - 851 397 - 852 397 - 853 397 - 1283 397 - 1284 397 - 1285 397 - 1286 397 - 1287 397 - 1288 397 - 1289 397 1290 397 1291 397 1292 397 @@ -5312,22 +2632,6 @@ ny= 1536 1300 397 1301 397 1302 397 - 1303 397 - 1304 397 - 1305 397 - 1306 397 - 1307 397 - 1308 397 - 1309 397 - 1310 397 - 1593 397 - 1594 397 - 1595 397 - 1596 397 - 1597 397 - 1598 397 - 1599 397 - 1600 397 1601 397 1602 397 1603 397 @@ -5342,20 +2646,6 @@ ny= 1536 1612 397 1613 397 1614 397 - 1615 397 - 1616 397 - 1617 397 - 1618 397 - 1619 397 - 1620 397 - 1621 397 - 2051 397 - 2052 397 - 2053 397 - 2054 397 - 2055 397 - 2056 397 - 2057 397 2058 397 2059 397 2060 397 @@ -5369,22 +2659,6 @@ ny= 1536 2068 397 2069 397 2070 397 - 2071 397 - 2072 397 - 2073 397 - 2074 397 - 2075 397 - 2076 397 - 2077 397 - 2078 397 - 2361 397 - 2362 397 - 2363 397 - 2364 397 - 2365 397 - 2366 397 - 2367 397 - 2368 397 2369 397 2370 397 2371 397 @@ -5399,20 +2673,6 @@ ny= 1536 2380 397 2381 397 2382 397 - 2383 397 - 2384 397 - 2385 397 - 2386 397 - 2387 397 - 2388 397 - 2389 397 - 2819 397 - 2820 397 - 2821 397 - 2822 397 - 2823 397 - 2824 397 - 2825 397 2826 397 2827 397 2828 397 @@ -5426,21 +2686,6 @@ ny= 1536 2836 397 2837 397 2838 397 - 2839 397 - 2840 397 - 2841 397 - 2842 397 - 2843 397 - 2844 397 - 2845 397 - 2846 397 - 64 398 - 65 398 - 66 398 - 67 398 - 68 398 - 69 398 - 70 398 71 398 72 398 73 398 @@ -5455,18 +2700,6 @@ ny= 1536 82 398 83 398 84 398 - 85 398 - 86 398 - 87 398 - 88 398 - 89 398 - 90 398 - 510 398 - 511 398 - 512 398 - 513 398 - 514 398 - 515 398 516 398 517 398 518 398 @@ -5480,20 +2713,6 @@ ny= 1536 526 398 527 398 528 398 - 529 398 - 530 398 - 531 398 - 532 398 - 533 398 - 534 398 - 535 398 - 832 398 - 833 398 - 834 398 - 835 398 - 836 398 - 837 398 - 838 398 839 398 840 398 841 398 @@ -5508,18 +2727,6 @@ ny= 1536 850 398 851 398 852 398 - 853 398 - 854 398 - 855 398 - 856 398 - 857 398 - 858 398 - 1278 398 - 1279 398 - 1280 398 - 1281 398 - 1282 398 - 1283 398 1284 398 1285 398 1286 398 @@ -5533,20 +2740,6 @@ ny= 1536 1294 398 1295 398 1296 398 - 1297 398 - 1298 398 - 1299 398 - 1300 398 - 1301 398 - 1302 398 - 1303 398 - 1600 398 - 1601 398 - 1602 398 - 1603 398 - 1604 398 - 1605 398 - 1606 398 1607 398 1608 398 1609 398 @@ -5561,18 +2754,6 @@ ny= 1536 1618 398 1619 398 1620 398 - 1621 398 - 1622 398 - 1623 398 - 1624 398 - 1625 398 - 1626 398 - 2046 398 - 2047 398 - 2048 398 - 2049 398 - 2050 398 - 2051 398 2052 398 2053 398 2054 398 @@ -5586,20 +2767,6 @@ ny= 1536 2062 398 2063 398 2064 398 - 2065 398 - 2066 398 - 2067 398 - 2068 398 - 2069 398 - 2070 398 - 2071 398 - 2368 398 - 2369 398 - 2370 398 - 2371 398 - 2372 398 - 2373 398 - 2374 398 2375 398 2376 398 2377 398 @@ -5614,18 +2781,6 @@ ny= 1536 2386 398 2387 398 2388 398 - 2389 398 - 2390 398 - 2391 398 - 2392 398 - 2393 398 - 2394 398 - 2814 398 - 2815 398 - 2816 398 - 2817 398 - 2818 398 - 2819 398 2820 398 2821 398 2822 398 @@ -5639,20 +2794,6 @@ ny= 1536 2830 398 2831 398 2832 398 - 2833 398 - 2834 398 - 2835 398 - 2836 398 - 2837 398 - 2838 398 - 2839 398 - 70 399 - 71 399 - 72 399 - 73 399 - 74 399 - 75 399 - 76 399 77 399 78 399 79 399 @@ -5666,19 +2807,6 @@ ny= 1536 87 399 88 399 89 399 - 90 399 - 91 399 - 92 399 - 93 399 - 94 399 - 95 399 - 504 399 - 505 399 - 506 399 - 507 399 - 508 399 - 509 399 - 510 399 511 399 512 399 513 399 @@ -5691,20 +2819,6 @@ ny= 1536 520 399 521 399 522 399 - 523 399 - 524 399 - 525 399 - 526 399 - 527 399 - 528 399 - 529 399 - 838 399 - 839 399 - 840 399 - 841 399 - 842 399 - 843 399 - 844 399 845 399 846 399 847 399 @@ -5718,19 +2832,6 @@ ny= 1536 855 399 856 399 857 399 - 858 399 - 859 399 - 860 399 - 861 399 - 862 399 - 863 399 - 1272 399 - 1273 399 - 1274 399 - 1275 399 - 1276 399 - 1277 399 - 1278 399 1279 399 1280 399 1281 399 @@ -5743,20 +2844,6 @@ ny= 1536 1288 399 1289 399 1290 399 - 1291 399 - 1292 399 - 1293 399 - 1294 399 - 1295 399 - 1296 399 - 1297 399 - 1606 399 - 1607 399 - 1608 399 - 1609 399 - 1610 399 - 1611 399 - 1612 399 1613 399 1614 399 1615 399 @@ -5770,19 +2857,6 @@ ny= 1536 1623 399 1624 399 1625 399 - 1626 399 - 1627 399 - 1628 399 - 1629 399 - 1630 399 - 1631 399 - 2040 399 - 2041 399 - 2042 399 - 2043 399 - 2044 399 - 2045 399 - 2046 399 2047 399 2048 399 2049 399 @@ -5795,20 +2869,6 @@ ny= 1536 2056 399 2057 399 2058 399 - 2059 399 - 2060 399 - 2061 399 - 2062 399 - 2063 399 - 2064 399 - 2065 399 - 2374 399 - 2375 399 - 2376 399 - 2377 399 - 2378 399 - 2379 399 - 2380 399 2381 399 2382 399 2383 399 @@ -5822,19 +2882,6 @@ ny= 1536 2391 399 2392 399 2393 399 - 2394 399 - 2395 399 - 2396 399 - 2397 399 - 2398 399 - 2399 399 - 2808 399 - 2809 399 - 2810 399 - 2811 399 - 2812 399 - 2813 399 - 2814 399 2815 399 2816 399 2817 399 @@ -5847,20 +2894,6 @@ ny= 1536 2824 399 2825 399 2826 399 - 2827 399 - 2828 399 - 2829 399 - 2830 399 - 2831 399 - 2832 399 - 2833 399 - 76 400 - 77 400 - 78 400 - 79 400 - 80 400 - 81 400 - 82 400 83 400 84 400 85 400 @@ -5873,19 +2906,6 @@ ny= 1536 92 400 93 400 94 400 - 95 400 - 96 400 - 97 400 - 98 400 - 99 400 - 100 400 - 101 400 - 499 400 - 500 400 - 501 400 - 502 400 - 503 400 - 504 400 505 400 506 400 507 400 @@ -5898,20 +2918,6 @@ ny= 1536 514 400 515 400 516 400 - 517 400 - 518 400 - 519 400 - 520 400 - 521 400 - 522 400 - 523 400 - 844 400 - 845 400 - 846 400 - 847 400 - 848 400 - 849 400 - 850 400 851 400 852 400 853 400 @@ -5924,19 +2930,6 @@ ny= 1536 860 400 861 400 862 400 - 863 400 - 864 400 - 865 400 - 866 400 - 867 400 - 868 400 - 869 400 - 1267 400 - 1268 400 - 1269 400 - 1270 400 - 1271 400 - 1272 400 1273 400 1274 400 1275 400 @@ -5949,20 +2942,6 @@ ny= 1536 1282 400 1283 400 1284 400 - 1285 400 - 1286 400 - 1287 400 - 1288 400 - 1289 400 - 1290 400 - 1291 400 - 1612 400 - 1613 400 - 1614 400 - 1615 400 - 1616 400 - 1617 400 - 1618 400 1619 400 1620 400 1621 400 @@ -5975,19 +2954,6 @@ ny= 1536 1628 400 1629 400 1630 400 - 1631 400 - 1632 400 - 1633 400 - 1634 400 - 1635 400 - 1636 400 - 1637 400 - 2035 400 - 2036 400 - 2037 400 - 2038 400 - 2039 400 - 2040 400 2041 400 2042 400 2043 400 @@ -6000,20 +2966,6 @@ ny= 1536 2050 400 2051 400 2052 400 - 2053 400 - 2054 400 - 2055 400 - 2056 400 - 2057 400 - 2058 400 - 2059 400 - 2380 400 - 2381 400 - 2382 400 - 2383 400 - 2384 400 - 2385 400 - 2386 400 2387 400 2388 400 2389 400 @@ -6026,19 +2978,6 @@ ny= 1536 2396 400 2397 400 2398 400 - 2399 400 - 2400 400 - 2401 400 - 2402 400 - 2403 400 - 2404 400 - 2405 400 - 2803 400 - 2804 400 - 2805 400 - 2806 400 - 2807 400 - 2808 400 2809 400 2810 400 2811 400 @@ -6051,19 +2990,6 @@ ny= 1536 2818 400 2819 400 2820 400 - 2821 400 - 2822 400 - 2823 400 - 2824 400 - 2825 400 - 2826 400 - 2827 400 - 82 401 - 83 401 - 84 401 - 85 401 - 86 401 - 87 401 88 401 89 401 90 401 @@ -6077,17 +3003,6 @@ ny= 1536 98 401 99 401 100 401 - 101 401 - 102 401 - 103 401 - 104 401 - 105 401 - 494 401 - 495 401 - 496 401 - 497 401 - 498 401 - 499 401 500 401 501 401 502 401 @@ -6100,18 +3015,6 @@ ny= 1536 509 401 510 401 511 401 - 512 401 - 513 401 - 514 401 - 515 401 - 516 401 - 517 401 - 850 401 - 851 401 - 852 401 - 853 401 - 854 401 - 855 401 856 401 857 401 858 401 @@ -6125,17 +3028,6 @@ ny= 1536 866 401 867 401 868 401 - 869 401 - 870 401 - 871 401 - 872 401 - 873 401 - 1262 401 - 1263 401 - 1264 401 - 1265 401 - 1266 401 - 1267 401 1268 401 1269 401 1270 401 @@ -6148,18 +3040,6 @@ ny= 1536 1277 401 1278 401 1279 401 - 1280 401 - 1281 401 - 1282 401 - 1283 401 - 1284 401 - 1285 401 - 1618 401 - 1619 401 - 1620 401 - 1621 401 - 1622 401 - 1623 401 1624 401 1625 401 1626 401 @@ -6173,17 +3053,6 @@ ny= 1536 1634 401 1635 401 1636 401 - 1637 401 - 1638 401 - 1639 401 - 1640 401 - 1641 401 - 2030 401 - 2031 401 - 2032 401 - 2033 401 - 2034 401 - 2035 401 2036 401 2037 401 2038 401 @@ -6196,18 +3065,6 @@ ny= 1536 2045 401 2046 401 2047 401 - 2048 401 - 2049 401 - 2050 401 - 2051 401 - 2052 401 - 2053 401 - 2386 401 - 2387 401 - 2388 401 - 2389 401 - 2390 401 - 2391 401 2392 401 2393 401 2394 401 @@ -6221,17 +3078,6 @@ ny= 1536 2402 401 2403 401 2404 401 - 2405 401 - 2406 401 - 2407 401 - 2408 401 - 2409 401 - 2798 401 - 2799 401 - 2800 401 - 2801 401 - 2802 401 - 2803 401 2804 401 2805 401 2806 401 @@ -6244,19 +3090,6 @@ ny= 1536 2813 401 2814 401 2815 401 - 2816 401 - 2817 401 - 2818 401 - 2819 401 - 2820 401 - 2821 401 - 87 402 - 88 402 - 89 402 - 90 402 - 91 402 - 92 402 - 93 402 94 402 95 402 96 402 @@ -6268,18 +3101,6 @@ ny= 1536 102 402 103 402 104 402 - 105 402 - 106 402 - 107 402 - 108 402 - 109 402 - 110 402 - 489 402 - 490 402 - 491 402 - 492 402 - 493 402 - 494 402 495 402 496 402 497 402 @@ -6291,20 +3112,6 @@ ny= 1536 503 402 504 402 505 402 - 506 402 - 507 402 - 508 402 - 509 402 - 510 402 - 511 402 - 512 402 - 855 402 - 856 402 - 857 402 - 858 402 - 859 402 - 860 402 - 861 402 862 402 863 402 864 402 @@ -6316,18 +3123,6 @@ ny= 1536 870 402 871 402 872 402 - 873 402 - 874 402 - 875 402 - 876 402 - 877 402 - 878 402 - 1257 402 - 1258 402 - 1259 402 - 1260 402 - 1261 402 - 1262 402 1263 402 1264 402 1265 402 @@ -6339,20 +3134,6 @@ ny= 1536 1271 402 1272 402 1273 402 - 1274 402 - 1275 402 - 1276 402 - 1277 402 - 1278 402 - 1279 402 - 1280 402 - 1623 402 - 1624 402 - 1625 402 - 1626 402 - 1627 402 - 1628 402 - 1629 402 1630 402 1631 402 1632 402 @@ -6364,18 +3145,6 @@ ny= 1536 1638 402 1639 402 1640 402 - 1641 402 - 1642 402 - 1643 402 - 1644 402 - 1645 402 - 1646 402 - 2025 402 - 2026 402 - 2027 402 - 2028 402 - 2029 402 - 2030 402 2031 402 2032 402 2033 402 @@ -6387,20 +3156,6 @@ ny= 1536 2039 402 2040 402 2041 402 - 2042 402 - 2043 402 - 2044 402 - 2045 402 - 2046 402 - 2047 402 - 2048 402 - 2391 402 - 2392 402 - 2393 402 - 2394 402 - 2395 402 - 2396 402 - 2397 402 2398 402 2399 402 2400 402 @@ -6412,18 +3167,6 @@ ny= 1536 2406 402 2407 402 2408 402 - 2409 402 - 2410 402 - 2411 402 - 2412 402 - 2413 402 - 2414 402 - 2793 402 - 2794 402 - 2795 402 - 2796 402 - 2797 402 - 2798 402 2799 402 2800 402 2801 402 @@ -6435,19 +3178,6 @@ ny= 1536 2807 402 2808 402 2809 402 - 2810 402 - 2811 402 - 2812 402 - 2813 402 - 2814 402 - 2815 402 - 2816 402 - 93 403 - 94 403 - 95 403 - 96 403 - 97 403 - 98 403 99 403 100 403 101 403 @@ -6459,18 +3189,6 @@ ny= 1536 107 403 108 403 109 403 - 110 403 - 111 403 - 112 403 - 113 403 - 114 403 - 115 403 - 484 403 - 485 403 - 486 403 - 487 403 - 488 403 - 489 403 490 403 491 403 492 403 @@ -6482,18 +3200,6 @@ ny= 1536 498 403 499 403 500 403 - 501 403 - 502 403 - 503 403 - 504 403 - 505 403 - 506 403 - 861 403 - 862 403 - 863 403 - 864 403 - 865 403 - 866 403 867 403 868 403 869 403 @@ -6505,18 +3211,6 @@ ny= 1536 875 403 876 403 877 403 - 878 403 - 879 403 - 880 403 - 881 403 - 882 403 - 883 403 - 1252 403 - 1253 403 - 1254 403 - 1255 403 - 1256 403 - 1257 403 1258 403 1259 403 1260 403 @@ -6528,18 +3222,6 @@ ny= 1536 1266 403 1267 403 1268 403 - 1269 403 - 1270 403 - 1271 403 - 1272 403 - 1273 403 - 1274 403 - 1629 403 - 1630 403 - 1631 403 - 1632 403 - 1633 403 - 1634 403 1635 403 1636 403 1637 403 @@ -6551,18 +3233,6 @@ ny= 1536 1643 403 1644 403 1645 403 - 1646 403 - 1647 403 - 1648 403 - 1649 403 - 1650 403 - 1651 403 - 2020 403 - 2021 403 - 2022 403 - 2023 403 - 2024 403 - 2025 403 2026 403 2027 403 2028 403 @@ -6574,18 +3244,6 @@ ny= 1536 2034 403 2035 403 2036 403 - 2037 403 - 2038 403 - 2039 403 - 2040 403 - 2041 403 - 2042 403 - 2397 403 - 2398 403 - 2399 403 - 2400 403 - 2401 403 - 2402 403 2403 403 2404 403 2405 403 @@ -6597,18 +3255,6 @@ ny= 1536 2411 403 2412 403 2413 403 - 2414 403 - 2415 403 - 2416 403 - 2417 403 - 2418 403 - 2419 403 - 2788 403 - 2789 403 - 2790 403 - 2791 403 - 2792 403 - 2793 403 2794 403 2795 403 2796 403 @@ -6620,18 +3266,6 @@ ny= 1536 2802 403 2803 403 2804 403 - 2805 403 - 2806 403 - 2807 403 - 2808 403 - 2809 403 - 2810 403 - 98 404 - 99 404 - 100 404 - 101 404 - 102 404 - 103 404 104 404 105 404 106 404 @@ -6643,17 +3277,6 @@ ny= 1536 112 404 113 404 114 404 - 115 404 - 116 404 - 117 404 - 118 404 - 119 404 - 120 404 - 480 404 - 481 404 - 482 404 - 483 404 - 484 404 485 404 486 404 487 404 @@ -6666,17 +3289,6 @@ ny= 1536 494 404 495 404 496 404 - 497 404 - 498 404 - 499 404 - 500 404 - 501 404 - 866 404 - 867 404 - 868 404 - 869 404 - 870 404 - 871 404 872 404 873 404 874 404 @@ -6688,17 +3300,6 @@ ny= 1536 880 404 881 404 882 404 - 883 404 - 884 404 - 885 404 - 886 404 - 887 404 - 888 404 - 1248 404 - 1249 404 - 1250 404 - 1251 404 - 1252 404 1253 404 1254 404 1255 404 @@ -6711,17 +3312,6 @@ ny= 1536 1262 404 1263 404 1264 404 - 1265 404 - 1266 404 - 1267 404 - 1268 404 - 1269 404 - 1634 404 - 1635 404 - 1636 404 - 1637 404 - 1638 404 - 1639 404 1640 404 1641 404 1642 404 @@ -6733,17 +3323,6 @@ ny= 1536 1648 404 1649 404 1650 404 - 1651 404 - 1652 404 - 1653 404 - 1654 404 - 1655 404 - 1656 404 - 2016 404 - 2017 404 - 2018 404 - 2019 404 - 2020 404 2021 404 2022 404 2023 404 @@ -6756,17 +3335,6 @@ ny= 1536 2030 404 2031 404 2032 404 - 2033 404 - 2034 404 - 2035 404 - 2036 404 - 2037 404 - 2402 404 - 2403 404 - 2404 404 - 2405 404 - 2406 404 - 2407 404 2408 404 2409 404 2410 404 @@ -6778,17 +3346,6 @@ ny= 1536 2416 404 2417 404 2418 404 - 2419 404 - 2420 404 - 2421 404 - 2422 404 - 2423 404 - 2424 404 - 2784 404 - 2785 404 - 2786 404 - 2787 404 - 2788 404 2789 404 2790 404 2791 404 @@ -6801,17 +3358,6 @@ ny= 1536 2798 404 2799 404 2800 404 - 2801 404 - 2802 404 - 2803 404 - 2804 404 - 2805 404 - 103 405 - 104 405 - 105 405 - 106 405 - 107 405 - 108 405 109 405 110 405 111 405 @@ -6823,17 +3369,6 @@ ny= 1536 117 405 118 405 119 405 - 120 405 - 121 405 - 122 405 - 123 405 - 124 405 - 475 405 - 476 405 - 477 405 - 478 405 - 479 405 - 480 405 481 405 482 405 483 405 @@ -6844,19 +3379,6 @@ ny= 1536 488 405 489 405 490 405 - 491 405 - 492 405 - 493 405 - 494 405 - 495 405 - 496 405 - 497 405 - 871 405 - 872 405 - 873 405 - 874 405 - 875 405 - 876 405 877 405 878 405 879 405 @@ -6868,17 +3390,6 @@ ny= 1536 885 405 886 405 887 405 - 888 405 - 889 405 - 890 405 - 891 405 - 892 405 - 1243 405 - 1244 405 - 1245 405 - 1246 405 - 1247 405 - 1248 405 1249 405 1250 405 1251 405 @@ -6889,19 +3400,6 @@ ny= 1536 1256 405 1257 405 1258 405 - 1259 405 - 1260 405 - 1261 405 - 1262 405 - 1263 405 - 1264 405 - 1265 405 - 1639 405 - 1640 405 - 1641 405 - 1642 405 - 1643 405 - 1644 405 1645 405 1646 405 1647 405 @@ -6913,17 +3411,6 @@ ny= 1536 1653 405 1654 405 1655 405 - 1656 405 - 1657 405 - 1658 405 - 1659 405 - 1660 405 - 2011 405 - 2012 405 - 2013 405 - 2014 405 - 2015 405 - 2016 405 2017 405 2018 405 2019 405 @@ -6934,19 +3421,6 @@ ny= 1536 2024 405 2025 405 2026 405 - 2027 405 - 2028 405 - 2029 405 - 2030 405 - 2031 405 - 2032 405 - 2033 405 - 2407 405 - 2408 405 - 2409 405 - 2410 405 - 2411 405 - 2412 405 2413 405 2414 405 2415 405 @@ -6958,17 +3432,6 @@ ny= 1536 2421 405 2422 405 2423 405 - 2424 405 - 2425 405 - 2426 405 - 2427 405 - 2428 405 - 2779 405 - 2780 405 - 2781 405 - 2782 405 - 2783 405 - 2784 405 2785 405 2786 405 2787 405 @@ -6979,19 +3442,6 @@ ny= 1536 2792 405 2793 405 2794 405 - 2795 405 - 2796 405 - 2797 405 - 2798 405 - 2799 405 - 2800 405 - 2801 405 - 108 406 - 109 406 - 110 406 - 111 406 - 112 406 - 113 406 114 406 115 406 116 406 @@ -7002,17 +3452,6 @@ ny= 1536 121 406 122 406 123 406 - 124 406 - 125 406 - 126 406 - 127 406 - 128 406 - 129 406 - 471 406 - 472 406 - 473 406 - 474 406 - 475 406 476 406 477 406 478 406 @@ -7024,17 +3463,6 @@ ny= 1536 484 406 485 406 486 406 - 487 406 - 488 406 - 489 406 - 490 406 - 491 406 - 876 406 - 877 406 - 878 406 - 879 406 - 880 406 - 881 406 882 406 883 406 884 406 @@ -7045,17 +3473,6 @@ ny= 1536 889 406 890 406 891 406 - 892 406 - 893 406 - 894 406 - 895 406 - 896 406 - 897 406 - 1239 406 - 1240 406 - 1241 406 - 1242 406 - 1243 406 1244 406 1245 406 1246 406 @@ -7067,17 +3484,6 @@ ny= 1536 1252 406 1253 406 1254 406 - 1255 406 - 1256 406 - 1257 406 - 1258 406 - 1259 406 - 1644 406 - 1645 406 - 1646 406 - 1647 406 - 1648 406 - 1649 406 1650 406 1651 406 1652 406 @@ -7088,17 +3494,6 @@ ny= 1536 1657 406 1658 406 1659 406 - 1660 406 - 1661 406 - 1662 406 - 1663 406 - 1664 406 - 1665 406 - 2007 406 - 2008 406 - 2009 406 - 2010 406 - 2011 406 2012 406 2013 406 2014 406 @@ -7110,17 +3505,6 @@ ny= 1536 2020 406 2021 406 2022 406 - 2023 406 - 2024 406 - 2025 406 - 2026 406 - 2027 406 - 2412 406 - 2413 406 - 2414 406 - 2415 406 - 2416 406 - 2417 406 2418 406 2419 406 2420 406 @@ -7131,17 +3515,6 @@ ny= 1536 2425 406 2426 406 2427 406 - 2428 406 - 2429 406 - 2430 406 - 2431 406 - 2432 406 - 2433 406 - 2775 406 - 2776 406 - 2777 406 - 2778 406 - 2779 406 2780 406 2781 406 2782 406 @@ -7153,16 +3526,6 @@ ny= 1536 2788 406 2789 406 2790 406 - 2791 406 - 2792 406 - 2793 406 - 2794 406 - 2795 406 - 113 407 - 114 407 - 115 407 - 116 407 - 117 407 118 407 119 407 120 407 @@ -7174,16 +3537,6 @@ ny= 1536 126 407 127 407 128 407 - 129 407 - 130 407 - 131 407 - 132 407 - 133 407 - 467 407 - 468 407 - 469 407 - 470 407 - 471 407 472 407 473 407 474 407 @@ -7194,17 +3547,6 @@ ny= 1536 479 407 480 407 481 407 - 482 407 - 483 407 - 484 407 - 485 407 - 486 407 - 487 407 - 881 407 - 882 407 - 883 407 - 884 407 - 885 407 886 407 887 407 888 407 @@ -7216,16 +3558,6 @@ ny= 1536 894 407 895 407 896 407 - 897 407 - 898 407 - 899 407 - 900 407 - 901 407 - 1235 407 - 1236 407 - 1237 407 - 1238 407 - 1239 407 1240 407 1241 407 1242 407 @@ -7236,17 +3568,6 @@ ny= 1536 1247 407 1248 407 1249 407 - 1250 407 - 1251 407 - 1252 407 - 1253 407 - 1254 407 - 1255 407 - 1649 407 - 1650 407 - 1651 407 - 1652 407 - 1653 407 1654 407 1655 407 1656 407 @@ -7258,16 +3579,6 @@ ny= 1536 1662 407 1663 407 1664 407 - 1665 407 - 1666 407 - 1667 407 - 1668 407 - 1669 407 - 2003 407 - 2004 407 - 2005 407 - 2006 407 - 2007 407 2008 407 2009 407 2010 407 @@ -7278,17 +3589,6 @@ ny= 1536 2015 407 2016 407 2017 407 - 2018 407 - 2019 407 - 2020 407 - 2021 407 - 2022 407 - 2023 407 - 2417 407 - 2418 407 - 2419 407 - 2420 407 - 2421 407 2422 407 2423 407 2424 407 @@ -7300,16 +3600,6 @@ ny= 1536 2430 407 2431 407 2432 407 - 2433 407 - 2434 407 - 2435 407 - 2436 407 - 2437 407 - 2771 407 - 2772 407 - 2773 407 - 2774 407 - 2775 407 2776 407 2777 407 2778 407 @@ -7320,18 +3610,6 @@ ny= 1536 2783 407 2784 407 2785 407 - 2786 407 - 2787 407 - 2788 407 - 2789 407 - 2790 407 - 2791 407 - 117 408 - 118 408 - 119 408 - 120 408 - 121 408 - 122 408 123 408 124 408 125 408 @@ -7342,16 +3620,6 @@ ny= 1536 130 408 131 408 132 408 - 133 408 - 134 408 - 135 408 - 136 408 - 137 408 - 463 408 - 464 408 - 465 408 - 466 408 - 467 408 468 408 469 408 470 408 @@ -7362,17 +3630,6 @@ ny= 1536 475 408 476 408 477 408 - 478 408 - 479 408 - 480 408 - 481 408 - 482 408 - 885 408 - 886 408 - 887 408 - 888 408 - 889 408 - 890 408 891 408 892 408 893 408 @@ -7383,16 +3640,6 @@ ny= 1536 898 408 899 408 900 408 - 901 408 - 902 408 - 903 408 - 904 408 - 905 408 - 1231 408 - 1232 408 - 1233 408 - 1234 408 - 1235 408 1236 408 1237 408 1238 408 @@ -7403,17 +3650,6 @@ ny= 1536 1243 408 1244 408 1245 408 - 1246 408 - 1247 408 - 1248 408 - 1249 408 - 1250 408 - 1653 408 - 1654 408 - 1655 408 - 1656 408 - 1657 408 - 1658 408 1659 408 1660 408 1661 408 @@ -7424,16 +3660,6 @@ ny= 1536 1666 408 1667 408 1668 408 - 1669 408 - 1670 408 - 1671 408 - 1672 408 - 1673 408 - 1999 408 - 2000 408 - 2001 408 - 2002 408 - 2003 408 2004 408 2005 408 2006 408 @@ -7444,17 +3670,6 @@ ny= 1536 2011 408 2012 408 2013 408 - 2014 408 - 2015 408 - 2016 408 - 2017 408 - 2018 408 - 2421 408 - 2422 408 - 2423 408 - 2424 408 - 2425 408 - 2426 408 2427 408 2428 408 2429 408 @@ -7465,16 +3680,6 @@ ny= 1536 2434 408 2435 408 2436 408 - 2437 408 - 2438 408 - 2439 408 - 2440 408 - 2441 408 - 2767 408 - 2768 408 - 2769 408 - 2770 408 - 2771 408 2772 408 2773 408 2774 408 @@ -7485,16 +3690,6 @@ ny= 1536 2779 408 2780 408 2781 408 - 2782 408 - 2783 408 - 2784 408 - 2785 408 - 2786 408 - 122 409 - 123 409 - 124 409 - 125 409 - 126 409 127 409 128 409 129 409 @@ -7505,17 +3700,6 @@ ny= 1536 134 409 135 409 136 409 - 137 409 - 138 409 - 139 409 - 140 409 - 141 409 - 458 409 - 459 409 - 460 409 - 461 409 - 462 409 - 463 409 464 409 465 409 466 409 @@ -7525,17 +3709,6 @@ ny= 1536 470 409 471 409 472 409 - 473 409 - 474 409 - 475 409 - 476 409 - 477 409 - 478 409 - 890 409 - 891 409 - 892 409 - 893 409 - 894 409 895 409 896 409 897 409 @@ -7546,17 +3719,6 @@ ny= 1536 902 409 903 409 904 409 - 905 409 - 906 409 - 907 409 - 908 409 - 909 409 - 1226 409 - 1227 409 - 1228 409 - 1229 409 - 1230 409 - 1231 409 1232 409 1233 409 1234 409 @@ -7566,17 +3728,6 @@ ny= 1536 1238 409 1239 409 1240 409 - 1241 409 - 1242 409 - 1243 409 - 1244 409 - 1245 409 - 1246 409 - 1658 409 - 1659 409 - 1660 409 - 1661 409 - 1662 409 1663 409 1664 409 1665 409 @@ -7587,17 +3738,6 @@ ny= 1536 1670 409 1671 409 1672 409 - 1673 409 - 1674 409 - 1675 409 - 1676 409 - 1677 409 - 1994 409 - 1995 409 - 1996 409 - 1997 409 - 1998 409 - 1999 409 2000 409 2001 409 2002 409 @@ -7607,17 +3747,6 @@ ny= 1536 2006 409 2007 409 2008 409 - 2009 409 - 2010 409 - 2011 409 - 2012 409 - 2013 409 - 2014 409 - 2426 409 - 2427 409 - 2428 409 - 2429 409 - 2430 409 2431 409 2432 409 2433 409 @@ -7628,17 +3757,6 @@ ny= 1536 2438 409 2439 409 2440 409 - 2441 409 - 2442 409 - 2443 409 - 2444 409 - 2445 409 - 2762 409 - 2763 409 - 2764 409 - 2765 409 - 2766 409 - 2767 409 2768 409 2769 409 2770 409 @@ -7648,17 +3766,6 @@ ny= 1536 2774 409 2775 409 2776 409 - 2777 409 - 2778 409 - 2779 409 - 2780 409 - 2781 409 - 2782 409 - 126 410 - 127 410 - 128 410 - 129 410 - 130 410 131 410 132 410 133 410 @@ -7669,16 +3776,6 @@ ny= 1536 138 410 139 410 140 410 - 141 410 - 142 410 - 143 410 - 144 410 - 145 410 - 454 410 - 455 410 - 456 410 - 457 410 - 458 410 459 410 460 410 461 410 @@ -7689,16 +3786,6 @@ ny= 1536 466 410 467 410 468 410 - 469 410 - 470 410 - 471 410 - 472 410 - 473 410 - 894 410 - 895 410 - 896 410 - 897 410 - 898 410 899 410 900 410 901 410 @@ -7709,16 +3796,6 @@ ny= 1536 906 410 907 410 908 410 - 909 410 - 910 410 - 911 410 - 912 410 - 913 410 - 1222 410 - 1223 410 - 1224 410 - 1225 410 - 1226 410 1227 410 1228 410 1229 410 @@ -7729,16 +3806,6 @@ ny= 1536 1234 410 1235 410 1236 410 - 1237 410 - 1238 410 - 1239 410 - 1240 410 - 1241 410 - 1662 410 - 1663 410 - 1664 410 - 1665 410 - 1666 410 1667 410 1668 410 1669 410 @@ -7749,16 +3816,6 @@ ny= 1536 1674 410 1675 410 1676 410 - 1677 410 - 1678 410 - 1679 410 - 1680 410 - 1681 410 - 1990 410 - 1991 410 - 1992 410 - 1993 410 - 1994 410 1995 410 1996 410 1997 410 @@ -7769,16 +3826,6 @@ ny= 1536 2002 410 2003 410 2004 410 - 2005 410 - 2006 410 - 2007 410 - 2008 410 - 2009 410 - 2430 410 - 2431 410 - 2432 410 - 2433 410 - 2434 410 2435 410 2436 410 2437 410 @@ -7789,16 +3836,6 @@ ny= 1536 2442 410 2443 410 2444 410 - 2445 410 - 2446 410 - 2447 410 - 2448 410 - 2449 410 - 2758 410 - 2759 410 - 2760 410 - 2761 410 - 2762 410 2763 410 2764 410 2765 410 @@ -7809,16 +3846,6 @@ ny= 1536 2770 410 2771 410 2772 410 - 2773 410 - 2774 410 - 2775 410 - 2776 410 - 2777 410 - 130 411 - 131 411 - 132 411 - 133 411 - 134 411 135 411 136 411 137 411 @@ -7829,16 +3856,6 @@ ny= 1536 142 411 143 411 144 411 - 145 411 - 146 411 - 147 411 - 148 411 - 149 411 - 450 411 - 451 411 - 452 411 - 453 411 - 454 411 455 411 456 411 457 411 @@ -7849,16 +3866,6 @@ ny= 1536 462 411 463 411 464 411 - 465 411 - 466 411 - 467 411 - 468 411 - 469 411 - 898 411 - 899 411 - 900 411 - 901 411 - 902 411 903 411 904 411 905 411 @@ -7869,16 +3876,6 @@ ny= 1536 910 411 911 411 912 411 - 913 411 - 914 411 - 915 411 - 916 411 - 917 411 - 1218 411 - 1219 411 - 1220 411 - 1221 411 - 1222 411 1223 411 1224 411 1225 411 @@ -7889,16 +3886,6 @@ ny= 1536 1230 411 1231 411 1232 411 - 1233 411 - 1234 411 - 1235 411 - 1236 411 - 1237 411 - 1666 411 - 1667 411 - 1668 411 - 1669 411 - 1670 411 1671 411 1672 411 1673 411 @@ -7909,16 +3896,6 @@ ny= 1536 1678 411 1679 411 1680 411 - 1681 411 - 1682 411 - 1683 411 - 1684 411 - 1685 411 - 1986 411 - 1987 411 - 1988 411 - 1989 411 - 1990 411 1991 411 1992 411 1993 411 @@ -7929,16 +3906,6 @@ ny= 1536 1998 411 1999 411 2000 411 - 2001 411 - 2002 411 - 2003 411 - 2004 411 - 2005 411 - 2434 411 - 2435 411 - 2436 411 - 2437 411 - 2438 411 2439 411 2440 411 2441 411 @@ -7949,16 +3916,6 @@ ny= 1536 2446 411 2447 411 2448 411 - 2449 411 - 2450 411 - 2451 411 - 2452 411 - 2453 411 - 2754 411 - 2755 411 - 2756 411 - 2757 411 - 2758 411 2759 411 2760 411 2761 411 @@ -7969,17 +3926,6 @@ ny= 1536 2766 411 2767 411 2768 411 - 2769 411 - 2770 411 - 2771 411 - 2772 411 - 2773 411 - 134 412 - 135 412 - 136 412 - 137 412 - 138 412 - 139 412 140 412 141 412 142 412 @@ -7989,16 +3935,6 @@ ny= 1536 146 412 147 412 148 412 - 149 412 - 150 412 - 151 412 - 152 412 - 153 412 - 446 412 - 447 412 - 448 412 - 449 412 - 450 412 451 412 452 412 453 412 @@ -8009,17 +3945,6 @@ ny= 1536 458 412 459 412 460 412 - 461 412 - 462 412 - 463 412 - 464 412 - 465 412 - 902 412 - 903 412 - 904 412 - 905 412 - 906 412 - 907 412 908 412 909 412 910 412 @@ -8029,16 +3954,6 @@ ny= 1536 914 412 915 412 916 412 - 917 412 - 918 412 - 919 412 - 920 412 - 921 412 - 1214 412 - 1215 412 - 1216 412 - 1217 412 - 1218 412 1219 412 1220 412 1221 412 @@ -8049,17 +3964,6 @@ ny= 1536 1226 412 1227 412 1228 412 - 1229 412 - 1230 412 - 1231 412 - 1232 412 - 1233 412 - 1670 412 - 1671 412 - 1672 412 - 1673 412 - 1674 412 - 1675 412 1676 412 1677 412 1678 412 @@ -8069,16 +3973,6 @@ ny= 1536 1682 412 1683 412 1684 412 - 1685 412 - 1686 412 - 1687 412 - 1688 412 - 1689 412 - 1982 412 - 1983 412 - 1984 412 - 1985 412 - 1986 412 1987 412 1988 412 1989 412 @@ -8089,17 +3983,6 @@ ny= 1536 1994 412 1995 412 1996 412 - 1997 412 - 1998 412 - 1999 412 - 2000 412 - 2001 412 - 2438 412 - 2439 412 - 2440 412 - 2441 412 - 2442 412 - 2443 412 2444 412 2445 412 2446 412 @@ -8109,16 +3992,6 @@ ny= 1536 2450 412 2451 412 2452 412 - 2453 412 - 2454 412 - 2455 412 - 2456 412 - 2457 412 - 2750 412 - 2751 412 - 2752 412 - 2753 412 - 2754 412 2755 412 2756 412 2757 412 @@ -8129,16 +4002,6 @@ ny= 1536 2762 412 2763 412 2764 412 - 2765 412 - 2766 412 - 2767 412 - 2768 412 - 2769 412 - 139 413 - 140 413 - 141 413 - 142 413 - 143 413 144 413 145 413 146 413 @@ -8148,15 +4011,6 @@ ny= 1536 150 413 151 413 152 413 - 153 413 - 154 413 - 155 413 - 156 413 - 157 413 - 443 413 - 444 413 - 445 413 - 446 413 447 413 448 413 449 413 @@ -8167,16 +4021,6 @@ ny= 1536 454 413 455 413 456 413 - 457 413 - 458 413 - 459 413 - 460 413 - 461 413 - 907 413 - 908 413 - 909 413 - 910 413 - 911 413 912 413 913 413 914 413 @@ -8186,15 +4030,6 @@ ny= 1536 918 413 919 413 920 413 - 921 413 - 922 413 - 923 413 - 924 413 - 925 413 - 1211 413 - 1212 413 - 1213 413 - 1214 413 1215 413 1216 413 1217 413 @@ -8205,16 +4040,6 @@ ny= 1536 1222 413 1223 413 1224 413 - 1225 413 - 1226 413 - 1227 413 - 1228 413 - 1229 413 - 1675 413 - 1676 413 - 1677 413 - 1678 413 - 1679 413 1680 413 1681 413 1682 413 @@ -8224,15 +4049,6 @@ ny= 1536 1686 413 1687 413 1688 413 - 1689 413 - 1690 413 - 1691 413 - 1692 413 - 1693 413 - 1979 413 - 1980 413 - 1981 413 - 1982 413 1983 413 1984 413 1985 413 @@ -8243,16 +4059,6 @@ ny= 1536 1990 413 1991 413 1992 413 - 1993 413 - 1994 413 - 1995 413 - 1996 413 - 1997 413 - 2443 413 - 2444 413 - 2445 413 - 2446 413 - 2447 413 2448 413 2449 413 2450 413 @@ -8262,15 +4068,6 @@ ny= 1536 2454 413 2455 413 2456 413 - 2457 413 - 2458 413 - 2459 413 - 2460 413 - 2461 413 - 2747 413 - 2748 413 - 2749 413 - 2750 413 2751 413 2752 413 2753 413 @@ -8281,16 +4078,6 @@ ny= 1536 2758 413 2759 413 2760 413 - 2761 413 - 2762 413 - 2763 413 - 2764 413 - 2765 413 - 143 414 - 144 414 - 145 414 - 146 414 - 147 414 148 414 149 414 150 414 @@ -8300,16 +4087,6 @@ ny= 1536 154 414 155 414 156 414 - 157 414 - 158 414 - 159 414 - 160 414 - 161 414 - 439 414 - 440 414 - 441 414 - 442 414 - 443 414 444 414 445 414 446 414 @@ -8319,16 +4096,6 @@ ny= 1536 450 414 451 414 452 414 - 453 414 - 454 414 - 455 414 - 456 414 - 457 414 - 911 414 - 912 414 - 913 414 - 914 414 - 915 414 916 414 917 414 918 414 @@ -8338,16 +4105,6 @@ ny= 1536 922 414 923 414 924 414 - 925 414 - 926 414 - 927 414 - 928 414 - 929 414 - 1207 414 - 1208 414 - 1209 414 - 1210 414 - 1211 414 1212 414 1213 414 1214 414 @@ -8357,16 +4114,6 @@ ny= 1536 1218 414 1219 414 1220 414 - 1221 414 - 1222 414 - 1223 414 - 1224 414 - 1225 414 - 1679 414 - 1680 414 - 1681 414 - 1682 414 - 1683 414 1684 414 1685 414 1686 414 @@ -8376,16 +4123,6 @@ ny= 1536 1690 414 1691 414 1692 414 - 1693 414 - 1694 414 - 1695 414 - 1696 414 - 1697 414 - 1975 414 - 1976 414 - 1977 414 - 1978 414 - 1979 414 1980 414 1981 414 1982 414 @@ -8395,16 +4132,6 @@ ny= 1536 1986 414 1987 414 1988 414 - 1989 414 - 1990 414 - 1991 414 - 1992 414 - 1993 414 - 2447 414 - 2448 414 - 2449 414 - 2450 414 - 2451 414 2452 414 2453 414 2454 414 @@ -8414,16 +4141,6 @@ ny= 1536 2458 414 2459 414 2460 414 - 2461 414 - 2462 414 - 2463 414 - 2464 414 - 2465 414 - 2743 414 - 2744 414 - 2745 414 - 2746 414 - 2747 414 2748 414 2749 414 2750 414 @@ -8433,16 +4150,6 @@ ny= 1536 2754 414 2755 414 2756 414 - 2757 414 - 2758 414 - 2759 414 - 2760 414 - 2761 414 - 147 415 - 148 415 - 149 415 - 150 415 - 151 415 152 415 153 415 154 415 @@ -8452,15 +4159,6 @@ ny= 1536 158 415 159 415 160 415 - 161 415 - 162 415 - 163 415 - 164 415 - 435 415 - 436 415 - 437 415 - 438 415 - 439 415 440 415 441 415 442 415 @@ -8470,16 +4168,6 @@ ny= 1536 446 415 447 415 448 415 - 449 415 - 450 415 - 451 415 - 452 415 - 453 415 - 915 415 - 916 415 - 917 415 - 918 415 - 919 415 920 415 921 415 922 415 @@ -8489,15 +4177,6 @@ ny= 1536 926 415 927 415 928 415 - 929 415 - 930 415 - 931 415 - 932 415 - 1203 415 - 1204 415 - 1205 415 - 1206 415 - 1207 415 1208 415 1209 415 1210 415 @@ -8507,16 +4186,6 @@ ny= 1536 1214 415 1215 415 1216 415 - 1217 415 - 1218 415 - 1219 415 - 1220 415 - 1221 415 - 1683 415 - 1684 415 - 1685 415 - 1686 415 - 1687 415 1688 415 1689 415 1690 415 @@ -8526,15 +4195,6 @@ ny= 1536 1694 415 1695 415 1696 415 - 1697 415 - 1698 415 - 1699 415 - 1700 415 - 1971 415 - 1972 415 - 1973 415 - 1974 415 - 1975 415 1976 415 1977 415 1978 415 @@ -8544,16 +4204,6 @@ ny= 1536 1982 415 1983 415 1984 415 - 1985 415 - 1986 415 - 1987 415 - 1988 415 - 1989 415 - 2451 415 - 2452 415 - 2453 415 - 2454 415 - 2455 415 2456 415 2457 415 2458 415 @@ -8563,15 +4213,6 @@ ny= 1536 2462 415 2463 415 2464 415 - 2465 415 - 2466 415 - 2467 415 - 2468 415 - 2739 415 - 2740 415 - 2741 415 - 2742 415 - 2743 415 2744 415 2745 415 2746 415 @@ -8581,15 +4222,6 @@ ny= 1536 2750 415 2751 415 2752 415 - 2753 415 - 2754 415 - 2755 415 - 2756 415 - 2757 415 - 151 416 - 152 416 - 153 416 - 154 416 155 416 156 416 157 416 @@ -8599,16 +4231,6 @@ ny= 1536 161 416 162 416 163 416 - 164 416 - 165 416 - 166 416 - 167 416 - 168 416 - 431 416 - 432 416 - 433 416 - 434 416 - 435 416 436 416 437 416 438 416 @@ -8618,15 +4240,6 @@ ny= 1536 442 416 443 416 444 416 - 445 416 - 446 416 - 447 416 - 448 416 - 449 416 - 919 416 - 920 416 - 921 416 - 922 416 923 416 924 416 925 416 @@ -8636,16 +4249,6 @@ ny= 1536 929 416 930 416 931 416 - 932 416 - 933 416 - 934 416 - 935 416 - 936 416 - 1199 416 - 1200 416 - 1201 416 - 1202 416 - 1203 416 1204 416 1205 416 1206 416 @@ -8655,15 +4258,6 @@ ny= 1536 1210 416 1211 416 1212 416 - 1213 416 - 1214 416 - 1215 416 - 1216 416 - 1217 416 - 1687 416 - 1688 416 - 1689 416 - 1690 416 1691 416 1692 416 1693 416 @@ -8673,16 +4267,6 @@ ny= 1536 1697 416 1698 416 1699 416 - 1700 416 - 1701 416 - 1702 416 - 1703 416 - 1704 416 - 1967 416 - 1968 416 - 1969 416 - 1970 416 - 1971 416 1972 416 1973 416 1974 416 @@ -8692,15 +4276,6 @@ ny= 1536 1978 416 1979 416 1980 416 - 1981 416 - 1982 416 - 1983 416 - 1984 416 - 1985 416 - 2455 416 - 2456 416 - 2457 416 - 2458 416 2459 416 2460 416 2461 416 @@ -8710,16 +4285,6 @@ ny= 1536 2465 416 2466 416 2467 416 - 2468 416 - 2469 416 - 2470 416 - 2471 416 - 2472 416 - 2735 416 - 2736 416 - 2737 416 - 2738 416 - 2739 416 2740 416 2741 416 2742 416 @@ -8729,16 +4294,6 @@ ny= 1536 2746 416 2747 416 2748 416 - 2749 416 - 2750 416 - 2751 416 - 2752 416 - 2753 416 - 154 417 - 155 417 - 156 417 - 157 417 - 158 417 159 417 160 417 161 417 @@ -8748,14 +4303,6 @@ ny= 1536 165 417 166 417 167 417 - 168 417 - 169 417 - 170 417 - 171 417 - 428 417 - 429 417 - 430 417 - 431 417 432 417 433 417 434 417 @@ -8765,16 +4312,6 @@ ny= 1536 438 417 439 417 440 417 - 441 417 - 442 417 - 443 417 - 444 417 - 445 417 - 922 417 - 923 417 - 924 417 - 925 417 - 926 417 927 417 928 417 929 417 @@ -8784,14 +4321,6 @@ ny= 1536 933 417 934 417 935 417 - 936 417 - 937 417 - 938 417 - 939 417 - 1196 417 - 1197 417 - 1198 417 - 1199 417 1200 417 1201 417 1202 417 @@ -8801,16 +4330,6 @@ ny= 1536 1206 417 1207 417 1208 417 - 1209 417 - 1210 417 - 1211 417 - 1212 417 - 1213 417 - 1690 417 - 1691 417 - 1692 417 - 1693 417 - 1694 417 1695 417 1696 417 1697 417 @@ -8820,14 +4339,6 @@ ny= 1536 1701 417 1702 417 1703 417 - 1704 417 - 1705 417 - 1706 417 - 1707 417 - 1964 417 - 1965 417 - 1966 417 - 1967 417 1968 417 1969 417 1970 417 @@ -8837,16 +4348,6 @@ ny= 1536 1974 417 1975 417 1976 417 - 1977 417 - 1978 417 - 1979 417 - 1980 417 - 1981 417 - 2458 417 - 2459 417 - 2460 417 - 2461 417 - 2462 417 2463 417 2464 417 2465 417 @@ -8856,14 +4357,6 @@ ny= 1536 2469 417 2470 417 2471 417 - 2472 417 - 2473 417 - 2474 417 - 2475 417 - 2732 417 - 2733 417 - 2734 417 - 2735 417 2736 417 2737 417 2738 417 @@ -8873,16 +4366,6 @@ ny= 1536 2742 417 2743 417 2744 417 - 2745 417 - 2746 417 - 2747 417 - 2748 417 - 2749 417 - 158 418 - 159 418 - 160 418 - 161 418 - 162 418 163 418 164 418 165 418 @@ -8891,15 +4374,6 @@ ny= 1536 168 418 169 418 170 418 - 171 418 - 172 418 - 173 418 - 174 418 - 175 418 - 425 418 - 426 418 - 427 418 - 428 418 429 418 430 418 431 418 @@ -8909,15 +4383,6 @@ ny= 1536 435 418 436 418 437 418 - 438 418 - 439 418 - 440 418 - 441 418 - 926 418 - 927 418 - 928 418 - 929 418 - 930 418 931 418 932 418 933 418 @@ -8926,15 +4391,6 @@ ny= 1536 936 418 937 418 938 418 - 939 418 - 940 418 - 941 418 - 942 418 - 943 418 - 1193 418 - 1194 418 - 1195 418 - 1196 418 1197 418 1198 418 1199 418 @@ -8944,15 +4400,6 @@ ny= 1536 1203 418 1204 418 1205 418 - 1206 418 - 1207 418 - 1208 418 - 1209 418 - 1694 418 - 1695 418 - 1696 418 - 1697 418 - 1698 418 1699 418 1700 418 1701 418 @@ -8961,15 +4408,6 @@ ny= 1536 1704 418 1705 418 1706 418 - 1707 418 - 1708 418 - 1709 418 - 1710 418 - 1711 418 - 1961 418 - 1962 418 - 1963 418 - 1964 418 1965 418 1966 418 1967 418 @@ -8979,15 +4417,6 @@ ny= 1536 1971 418 1972 418 1973 418 - 1974 418 - 1975 418 - 1976 418 - 1977 418 - 2462 418 - 2463 418 - 2464 418 - 2465 418 - 2466 418 2467 418 2468 418 2469 418 @@ -8996,15 +4425,6 @@ ny= 1536 2472 418 2473 418 2474 418 - 2475 418 - 2476 418 - 2477 418 - 2478 418 - 2479 418 - 2729 418 - 2730 418 - 2731 418 - 2732 418 2733 418 2734 418 2735 418 @@ -9014,14 +4434,6 @@ ny= 1536 2739 418 2740 418 2741 418 - 2742 418 - 2743 418 - 2744 418 - 2745 418 - 162 419 - 163 419 - 164 419 - 165 419 166 419 167 419 168 419 @@ -9031,15 +4443,6 @@ ny= 1536 172 419 173 419 174 419 - 175 419 - 176 419 - 177 419 - 178 419 - 421 419 - 422 419 - 423 419 - 424 419 - 425 419 426 419 427 419 428 419 @@ -9048,15 +4451,6 @@ ny= 1536 431 419 432 419 433 419 - 434 419 - 435 419 - 436 419 - 437 419 - 438 419 - 930 419 - 931 419 - 932 419 - 933 419 934 419 935 419 936 419 @@ -9066,15 +4460,6 @@ ny= 1536 940 419 941 419 942 419 - 943 419 - 944 419 - 945 419 - 946 419 - 1189 419 - 1190 419 - 1191 419 - 1192 419 - 1193 419 1194 419 1195 419 1196 419 @@ -9083,15 +4468,6 @@ ny= 1536 1199 419 1200 419 1201 419 - 1202 419 - 1203 419 - 1204 419 - 1205 419 - 1206 419 - 1698 419 - 1699 419 - 1700 419 - 1701 419 1702 419 1703 419 1704 419 @@ -9101,15 +4477,6 @@ ny= 1536 1708 419 1709 419 1710 419 - 1711 419 - 1712 419 - 1713 419 - 1714 419 - 1957 419 - 1958 419 - 1959 419 - 1960 419 - 1961 419 1962 419 1963 419 1964 419 @@ -9118,15 +4485,6 @@ ny= 1536 1967 419 1968 419 1969 419 - 1970 419 - 1971 419 - 1972 419 - 1973 419 - 1974 419 - 2466 419 - 2467 419 - 2468 419 - 2469 419 2470 419 2471 419 2472 419 @@ -9136,15 +4494,6 @@ ny= 1536 2476 419 2477 419 2478 419 - 2479 419 - 2480 419 - 2481 419 - 2482 419 - 2725 419 - 2726 419 - 2727 419 - 2728 419 - 2729 419 2730 419 2731 419 2732 419 @@ -9153,16 +4502,6 @@ ny= 1536 2735 419 2736 419 2737 419 - 2738 419 - 2739 419 - 2740 419 - 2741 419 - 2742 419 - 165 420 - 166 420 - 167 420 - 168 420 - 169 420 170 420 171 420 172 420 @@ -9171,15 +4510,6 @@ ny= 1536 175 420 176 420 177 420 - 178 420 - 179 420 - 180 420 - 181 420 - 182 420 - 418 420 - 419 420 - 420 420 - 421 420 422 420 423 420 424 420 @@ -9188,16 +4518,6 @@ ny= 1536 427 420 428 420 429 420 - 430 420 - 431 420 - 432 420 - 433 420 - 434 420 - 933 420 - 934 420 - 935 420 - 936 420 - 937 420 938 420 939 420 940 420 @@ -9206,15 +4526,6 @@ ny= 1536 943 420 944 420 945 420 - 946 420 - 947 420 - 948 420 - 949 420 - 950 420 - 1186 420 - 1187 420 - 1188 420 - 1189 420 1190 420 1191 420 1192 420 @@ -9223,16 +4534,6 @@ ny= 1536 1195 420 1196 420 1197 420 - 1198 420 - 1199 420 - 1200 420 - 1201 420 - 1202 420 - 1701 420 - 1702 420 - 1703 420 - 1704 420 - 1705 420 1706 420 1707 420 1708 420 @@ -9241,15 +4542,6 @@ ny= 1536 1711 420 1712 420 1713 420 - 1714 420 - 1715 420 - 1716 420 - 1717 420 - 1718 420 - 1954 420 - 1955 420 - 1956 420 - 1957 420 1958 420 1959 420 1960 420 @@ -9258,16 +4550,6 @@ ny= 1536 1963 420 1964 420 1965 420 - 1966 420 - 1967 420 - 1968 420 - 1969 420 - 1970 420 - 2469 420 - 2470 420 - 2471 420 - 2472 420 - 2473 420 2474 420 2475 420 2476 420 @@ -9276,15 +4558,6 @@ ny= 1536 2479 420 2480 420 2481 420 - 2482 420 - 2483 420 - 2484 420 - 2485 420 - 2486 420 - 2722 420 - 2723 420 - 2724 420 - 2725 420 2726 420 2727 420 2728 420 @@ -9293,15 +4566,6 @@ ny= 1536 2731 420 2732 420 2733 420 - 2734 420 - 2735 420 - 2736 420 - 2737 420 - 2738 420 - 169 421 - 170 421 - 171 421 - 172 421 173 421 174 421 175 421 @@ -9311,15 +4575,6 @@ ny= 1536 179 421 180 421 181 421 - 182 421 - 183 421 - 184 421 - 185 421 - 414 421 - 415 421 - 416 421 - 417 421 - 418 421 419 421 420 421 421 421 @@ -9328,14 +4583,6 @@ ny= 1536 424 421 425 421 426 421 - 427 421 - 428 421 - 429 421 - 430 421 - 937 421 - 938 421 - 939 421 - 940 421 941 421 942 421 943 421 @@ -9345,15 +4592,6 @@ ny= 1536 947 421 948 421 949 421 - 950 421 - 951 421 - 952 421 - 953 421 - 1182 421 - 1183 421 - 1184 421 - 1185 421 - 1186 421 1187 421 1188 421 1189 421 @@ -9362,14 +4600,6 @@ ny= 1536 1192 421 1193 421 1194 421 - 1195 421 - 1196 421 - 1197 421 - 1198 421 - 1705 421 - 1706 421 - 1707 421 - 1708 421 1709 421 1710 421 1711 421 @@ -9379,15 +4609,6 @@ ny= 1536 1715 421 1716 421 1717 421 - 1718 421 - 1719 421 - 1720 421 - 1721 421 - 1950 421 - 1951 421 - 1952 421 - 1953 421 - 1954 421 1955 421 1956 421 1957 421 @@ -9396,14 +4617,6 @@ ny= 1536 1960 421 1961 421 1962 421 - 1963 421 - 1964 421 - 1965 421 - 1966 421 - 2473 421 - 2474 421 - 2475 421 - 2476 421 2477 421 2478 421 2479 421 @@ -9413,15 +4626,6 @@ ny= 1536 2483 421 2484 421 2485 421 - 2486 421 - 2487 421 - 2488 421 - 2489 421 - 2718 421 - 2719 421 - 2720 421 - 2721 421 - 2722 421 2723 421 2724 421 2725 421 @@ -9430,15 +4634,6 @@ ny= 1536 2728 421 2729 421 2730 421 - 2731 421 - 2732 421 - 2733 421 - 2734 421 - 172 422 - 173 422 - 174 422 - 175 422 - 176 422 177 422 178 422 179 422 @@ -9447,14 +4642,6 @@ ny= 1536 182 422 183 422 184 422 - 185 422 - 186 422 - 187 422 - 188 422 - 411 422 - 412 422 - 413 422 - 414 422 415 422 416 422 417 422 @@ -9464,15 +4651,6 @@ ny= 1536 421 422 422 422 423 422 - 424 422 - 425 422 - 426 422 - 427 422 - 940 422 - 941 422 - 942 422 - 943 422 - 944 422 945 422 946 422 947 422 @@ -9481,14 +4659,6 @@ ny= 1536 950 422 951 422 952 422 - 953 422 - 954 422 - 955 422 - 956 422 - 1179 422 - 1180 422 - 1181 422 - 1182 422 1183 422 1184 422 1185 422 @@ -9498,15 +4668,6 @@ ny= 1536 1189 422 1190 422 1191 422 - 1192 422 - 1193 422 - 1194 422 - 1195 422 - 1708 422 - 1709 422 - 1710 422 - 1711 422 - 1712 422 1713 422 1714 422 1715 422 @@ -9515,14 +4676,6 @@ ny= 1536 1718 422 1719 422 1720 422 - 1721 422 - 1722 422 - 1723 422 - 1724 422 - 1947 422 - 1948 422 - 1949 422 - 1950 422 1951 422 1952 422 1953 422 @@ -9532,15 +4685,6 @@ ny= 1536 1957 422 1958 422 1959 422 - 1960 422 - 1961 422 - 1962 422 - 1963 422 - 2476 422 - 2477 422 - 2478 422 - 2479 422 - 2480 422 2481 422 2482 422 2483 422 @@ -9549,14 +4693,6 @@ ny= 1536 2486 422 2487 422 2488 422 - 2489 422 - 2490 422 - 2491 422 - 2492 422 - 2715 422 - 2716 422 - 2717 422 - 2718 422 2719 422 2720 422 2721 422 @@ -9566,14 +4702,6 @@ ny= 1536 2725 422 2726 422 2727 422 - 2728 422 - 2729 422 - 2730 422 - 2731 422 - 176 423 - 177 423 - 178 423 - 179 423 180 423 181 423 182 423 @@ -9582,15 +4710,6 @@ ny= 1536 185 423 186 423 187 423 - 188 423 - 189 423 - 190 423 - 191 423 - 192 423 - 408 423 - 409 423 - 410 423 - 411 423 412 423 413 423 414 423 @@ -9599,15 +4718,6 @@ ny= 1536 417 423 418 423 419 423 - 420 423 - 421 423 - 422 423 - 423 423 - 424 423 - 944 423 - 945 423 - 946 423 - 947 423 948 423 949 423 950 423 @@ -9616,15 +4726,6 @@ ny= 1536 953 423 954 423 955 423 - 956 423 - 957 423 - 958 423 - 959 423 - 960 423 - 1176 423 - 1177 423 - 1178 423 - 1179 423 1180 423 1181 423 1182 423 @@ -9633,15 +4734,6 @@ ny= 1536 1185 423 1186 423 1187 423 - 1188 423 - 1189 423 - 1190 423 - 1191 423 - 1192 423 - 1712 423 - 1713 423 - 1714 423 - 1715 423 1716 423 1717 423 1718 423 @@ -9650,15 +4742,6 @@ ny= 1536 1721 423 1722 423 1723 423 - 1724 423 - 1725 423 - 1726 423 - 1727 423 - 1728 423 - 1944 423 - 1945 423 - 1946 423 - 1947 423 1948 423 1949 423 1950 423 @@ -9667,15 +4750,6 @@ ny= 1536 1953 423 1954 423 1955 423 - 1956 423 - 1957 423 - 1958 423 - 1959 423 - 1960 423 - 2480 423 - 2481 423 - 2482 423 - 2483 423 2484 423 2485 423 2486 423 @@ -9684,15 +4758,6 @@ ny= 1536 2489 423 2490 423 2491 423 - 2492 423 - 2493 423 - 2494 423 - 2495 423 - 2496 423 - 2712 423 - 2713 423 - 2714 423 - 2715 423 2716 423 2717 423 2718 423 @@ -9701,15 +4766,6 @@ ny= 1536 2721 423 2722 423 2723 423 - 2724 423 - 2725 423 - 2726 423 - 2727 423 - 2728 423 - 179 424 - 180 424 - 181 424 - 182 424 183 424 184 424 185 424 @@ -9719,15 +4775,6 @@ ny= 1536 189 424 190 424 191 424 - 192 424 - 193 424 - 194 424 - 195 424 - 404 424 - 405 424 - 406 424 - 407 424 - 408 424 409 424 410 424 411 424 @@ -9736,14 +4783,6 @@ ny= 1536 414 424 415 424 416 424 - 417 424 - 418 424 - 419 424 - 420 424 - 947 424 - 948 424 - 949 424 - 950 424 951 424 952 424 953 424 @@ -9753,15 +4792,6 @@ ny= 1536 957 424 958 424 959 424 - 960 424 - 961 424 - 962 424 - 963 424 - 1172 424 - 1173 424 - 1174 424 - 1175 424 - 1176 424 1177 424 1178 424 1179 424 @@ -9770,14 +4800,6 @@ ny= 1536 1182 424 1183 424 1184 424 - 1185 424 - 1186 424 - 1187 424 - 1188 424 - 1715 424 - 1716 424 - 1717 424 - 1718 424 1719 424 1720 424 1721 424 @@ -9787,15 +4809,6 @@ ny= 1536 1725 424 1726 424 1727 424 - 1728 424 - 1729 424 - 1730 424 - 1731 424 - 1940 424 - 1941 424 - 1942 424 - 1943 424 - 1944 424 1945 424 1946 424 1947 424 @@ -9804,14 +4817,6 @@ ny= 1536 1950 424 1951 424 1952 424 - 1953 424 - 1954 424 - 1955 424 - 1956 424 - 2483 424 - 2484 424 - 2485 424 - 2486 424 2487 424 2488 424 2489 424 @@ -9821,15 +4826,6 @@ ny= 1536 2493 424 2494 424 2495 424 - 2496 424 - 2497 424 - 2498 424 - 2499 424 - 2708 424 - 2709 424 - 2710 424 - 2711 424 - 2712 424 2713 424 2714 424 2715 424 @@ -9838,15 +4834,6 @@ ny= 1536 2718 424 2719 424 2720 424 - 2721 424 - 2722 424 - 2723 424 - 2724 424 - 182 425 - 183 425 - 184 425 - 185 425 - 186 425 187 425 188 425 189 425 @@ -9855,13 +4842,6 @@ ny= 1536 192 425 193 425 194 425 - 195 425 - 196 425 - 197 425 - 198 425 - 402 425 - 403 425 - 404 425 405 425 406 425 407 425 @@ -9871,15 +4851,6 @@ ny= 1536 411 425 412 425 413 425 - 414 425 - 415 425 - 416 425 - 417 425 - 950 425 - 951 425 - 952 425 - 953 425 - 954 425 955 425 956 425 957 425 @@ -9888,13 +4859,6 @@ ny= 1536 960 425 961 425 962 425 - 963 425 - 964 425 - 965 425 - 966 425 - 1170 425 - 1171 425 - 1172 425 1173 425 1174 425 1175 425 @@ -9904,15 +4868,6 @@ ny= 1536 1179 425 1180 425 1181 425 - 1182 425 - 1183 425 - 1184 425 - 1185 425 - 1718 425 - 1719 425 - 1720 425 - 1721 425 - 1722 425 1723 425 1724 425 1725 425 @@ -9921,13 +4876,6 @@ ny= 1536 1728 425 1729 425 1730 425 - 1731 425 - 1732 425 - 1733 425 - 1734 425 - 1938 425 - 1939 425 - 1940 425 1941 425 1942 425 1943 425 @@ -9937,15 +4885,6 @@ ny= 1536 1947 425 1948 425 1949 425 - 1950 425 - 1951 425 - 1952 425 - 1953 425 - 2486 425 - 2487 425 - 2488 425 - 2489 425 - 2490 425 2491 425 2492 425 2493 425 @@ -9954,13 +4893,6 @@ ny= 1536 2496 425 2497 425 2498 425 - 2499 425 - 2500 425 - 2501 425 - 2502 425 - 2706 425 - 2707 425 - 2708 425 2709 425 2710 425 2711 425 @@ -9970,14 +4902,6 @@ ny= 1536 2715 425 2716 425 2717 425 - 2718 425 - 2719 425 - 2720 425 - 2721 425 - 186 426 - 187 426 - 188 426 - 189 426 190 426 191 426 192 426 @@ -9986,15 +4910,6 @@ ny= 1536 195 426 196 426 197 426 - 198 426 - 199 426 - 200 426 - 201 426 - 398 426 - 399 426 - 400 426 - 401 426 - 402 426 403 426 404 426 405 426 @@ -10002,15 +4917,6 @@ ny= 1536 407 426 408 426 409 426 - 410 426 - 411 426 - 412 426 - 413 426 - 414 426 - 954 426 - 955 426 - 956 426 - 957 426 958 426 959 426 960 426 @@ -10019,15 +4925,6 @@ ny= 1536 963 426 964 426 965 426 - 966 426 - 967 426 - 968 426 - 969 426 - 1166 426 - 1167 426 - 1168 426 - 1169 426 - 1170 426 1171 426 1172 426 1173 426 @@ -10035,15 +4932,6 @@ ny= 1536 1175 426 1176 426 1177 426 - 1178 426 - 1179 426 - 1180 426 - 1181 426 - 1182 426 - 1722 426 - 1723 426 - 1724 426 - 1725 426 1726 426 1727 426 1728 426 @@ -10052,15 +4940,6 @@ ny= 1536 1731 426 1732 426 1733 426 - 1734 426 - 1735 426 - 1736 426 - 1737 426 - 1934 426 - 1935 426 - 1936 426 - 1937 426 - 1938 426 1939 426 1940 426 1941 426 @@ -10068,15 +4947,6 @@ ny= 1536 1943 426 1944 426 1945 426 - 1946 426 - 1947 426 - 1948 426 - 1949 426 - 1950 426 - 2490 426 - 2491 426 - 2492 426 - 2493 426 2494 426 2495 426 2496 426 @@ -10085,15 +4955,6 @@ ny= 1536 2499 426 2500 426 2501 426 - 2502 426 - 2503 426 - 2504 426 - 2505 426 - 2702 426 - 2703 426 - 2704 426 - 2705 426 - 2706 426 2707 426 2708 426 2709 426 @@ -10101,15 +4962,6 @@ ny= 1536 2711 426 2712 426 2713 426 - 2714 426 - 2715 426 - 2716 426 - 2717 426 - 2718 426 - 189 427 - 190 427 - 191 427 - 192 427 193 427 194 427 195 427 @@ -10118,14 +4970,6 @@ ny= 1536 198 427 199 427 200 427 - 201 427 - 202 427 - 203 427 - 204 427 - 395 427 - 396 427 - 397 427 - 398 427 399 427 400 427 401 427 @@ -10134,14 +4978,6 @@ ny= 1536 404 427 405 427 406 427 - 407 427 - 408 427 - 409 427 - 410 427 - 957 427 - 958 427 - 959 427 - 960 427 961 427 962 427 963 427 @@ -10150,14 +4986,6 @@ ny= 1536 966 427 967 427 968 427 - 969 427 - 970 427 - 971 427 - 972 427 - 1163 427 - 1164 427 - 1165 427 - 1166 427 1167 427 1168 427 1169 427 @@ -10166,14 +4994,6 @@ ny= 1536 1172 427 1173 427 1174 427 - 1175 427 - 1176 427 - 1177 427 - 1178 427 - 1725 427 - 1726 427 - 1727 427 - 1728 427 1729 427 1730 427 1731 427 @@ -10182,14 +5002,6 @@ ny= 1536 1734 427 1735 427 1736 427 - 1737 427 - 1738 427 - 1739 427 - 1740 427 - 1931 427 - 1932 427 - 1933 427 - 1934 427 1935 427 1936 427 1937 427 @@ -10198,14 +5010,6 @@ ny= 1536 1940 427 1941 427 1942 427 - 1943 427 - 1944 427 - 1945 427 - 1946 427 - 2493 427 - 2494 427 - 2495 427 - 2496 427 2497 427 2498 427 2499 427 @@ -10214,14 +5018,6 @@ ny= 1536 2502 427 2503 427 2504 427 - 2505 427 - 2506 427 - 2507 427 - 2508 427 - 2699 427 - 2700 427 - 2701 427 - 2702 427 2703 427 2704 427 2705 427 @@ -10230,14 +5026,6 @@ ny= 1536 2708 427 2709 427 2710 427 - 2711 427 - 2712 427 - 2713 427 - 2714 427 - 192 428 - 193 428 - 194 428 - 195 428 196 428 197 428 198 428 @@ -10246,14 +5034,6 @@ ny= 1536 201 428 202 428 203 428 - 204 428 - 205 428 - 206 428 - 207 428 - 392 428 - 393 428 - 394 428 - 395 428 396 428 397 428 398 428 @@ -10262,14 +5042,6 @@ ny= 1536 401 428 402 428 403 428 - 404 428 - 405 428 - 406 428 - 407 428 - 960 428 - 961 428 - 962 428 - 963 428 964 428 965 428 966 428 @@ -10278,14 +5050,6 @@ ny= 1536 969 428 970 428 971 428 - 972 428 - 973 428 - 974 428 - 975 428 - 1160 428 - 1161 428 - 1162 428 - 1163 428 1164 428 1165 428 1166 428 @@ -10294,14 +5058,6 @@ ny= 1536 1169 428 1170 428 1171 428 - 1172 428 - 1173 428 - 1174 428 - 1175 428 - 1728 428 - 1729 428 - 1730 428 - 1731 428 1732 428 1733 428 1734 428 @@ -10310,14 +5066,6 @@ ny= 1536 1737 428 1738 428 1739 428 - 1740 428 - 1741 428 - 1742 428 - 1743 428 - 1928 428 - 1929 428 - 1930 428 - 1931 428 1932 428 1933 428 1934 428 @@ -10326,14 +5074,6 @@ ny= 1536 1937 428 1938 428 1939 428 - 1940 428 - 1941 428 - 1942 428 - 1943 428 - 2496 428 - 2497 428 - 2498 428 - 2499 428 2500 428 2501 428 2502 428 @@ -10342,14 +5082,6 @@ ny= 1536 2505 428 2506 428 2507 428 - 2508 428 - 2509 428 - 2510 428 - 2511 428 - 2696 428 - 2697 428 - 2698 428 - 2699 428 2700 428 2701 428 2702 428 @@ -10358,15 +5090,6 @@ ny= 1536 2705 428 2706 428 2707 428 - 2708 428 - 2709 428 - 2710 428 - 2711 428 - 195 429 - 196 429 - 197 429 - 198 429 - 199 429 200 429 201 429 202 429 @@ -10374,14 +5097,6 @@ ny= 1536 204 429 205 429 206 429 - 207 429 - 208 429 - 209 429 - 210 429 - 389 429 - 390 429 - 391 429 - 392 429 393 429 394 429 395 429 @@ -10390,15 +5105,6 @@ ny= 1536 398 429 399 429 400 429 - 401 429 - 402 429 - 403 429 - 404 429 - 963 429 - 964 429 - 965 429 - 966 429 - 967 429 968 429 969 429 970 429 @@ -10406,14 +5112,6 @@ ny= 1536 972 429 973 429 974 429 - 975 429 - 976 429 - 977 429 - 978 429 - 1157 429 - 1158 429 - 1159 429 - 1160 429 1161 429 1162 429 1163 429 @@ -10422,15 +5120,6 @@ ny= 1536 1166 429 1167 429 1168 429 - 1169 429 - 1170 429 - 1171 429 - 1172 429 - 1731 429 - 1732 429 - 1733 429 - 1734 429 - 1735 429 1736 429 1737 429 1738 429 @@ -10438,14 +5127,6 @@ ny= 1536 1740 429 1741 429 1742 429 - 1743 429 - 1744 429 - 1745 429 - 1746 429 - 1925 429 - 1926 429 - 1927 429 - 1928 429 1929 429 1930 429 1931 429 @@ -10454,15 +5135,6 @@ ny= 1536 1934 429 1935 429 1936 429 - 1937 429 - 1938 429 - 1939 429 - 1940 429 - 2499 429 - 2500 429 - 2501 429 - 2502 429 - 2503 429 2504 429 2505 429 2506 429 @@ -10470,14 +5142,6 @@ ny= 1536 2508 429 2509 429 2510 429 - 2511 429 - 2512 429 - 2513 429 - 2514 429 - 2693 429 - 2694 429 - 2695 429 - 2696 429 2697 429 2698 429 2699 429 @@ -10486,14 +5150,6 @@ ny= 1536 2702 429 2703 429 2704 429 - 2705 429 - 2706 429 - 2707 429 - 2708 429 - 199 430 - 200 430 - 201 430 - 202 430 203 430 204 430 205 430 @@ -10501,14 +5157,6 @@ ny= 1536 207 430 208 430 209 430 - 210 430 - 211 430 - 212 430 - 213 430 - 386 430 - 387 430 - 388 430 - 389 430 390 430 391 430 392 430 @@ -10517,14 +5165,6 @@ ny= 1536 395 430 396 430 397 430 - 398 430 - 399 430 - 400 430 - 401 430 - 967 430 - 968 430 - 969 430 - 970 430 971 430 972 430 973 430 @@ -10532,14 +5172,6 @@ ny= 1536 975 430 976 430 977 430 - 978 430 - 979 430 - 980 430 - 981 430 - 1154 430 - 1155 430 - 1156 430 - 1157 430 1158 430 1159 430 1160 430 @@ -10548,14 +5180,6 @@ ny= 1536 1163 430 1164 430 1165 430 - 1166 430 - 1167 430 - 1168 430 - 1169 430 - 1735 430 - 1736 430 - 1737 430 - 1738 430 1739 430 1740 430 1741 430 @@ -10563,14 +5187,6 @@ ny= 1536 1743 430 1744 430 1745 430 - 1746 430 - 1747 430 - 1748 430 - 1749 430 - 1922 430 - 1923 430 - 1924 430 - 1925 430 1926 430 1927 430 1928 430 @@ -10579,14 +5195,6 @@ ny= 1536 1931 430 1932 430 1933 430 - 1934 430 - 1935 430 - 1936 430 - 1937 430 - 2503 430 - 2504 430 - 2505 430 - 2506 430 2507 430 2508 430 2509 430 @@ -10594,14 +5202,6 @@ ny= 1536 2511 430 2512 430 2513 430 - 2514 430 - 2515 430 - 2516 430 - 2517 430 - 2690 430 - 2691 430 - 2692 430 - 2693 430 2694 430 2695 430 2696 430 @@ -10610,14 +5210,6 @@ ny= 1536 2699 430 2700 430 2701 430 - 2702 430 - 2703 430 - 2704 430 - 2705 430 - 202 431 - 203 431 - 204 431 - 205 431 206 431 207 431 208 431 @@ -10625,14 +5217,6 @@ ny= 1536 210 431 211 431 212 431 - 213 431 - 214 431 - 215 431 - 216 431 - 383 431 - 384 431 - 385 431 - 386 431 387 431 388 431 389 431 @@ -10641,14 +5225,6 @@ ny= 1536 392 431 393 431 394 431 - 395 431 - 396 431 - 397 431 - 398 431 - 970 431 - 971 431 - 972 431 - 973 431 974 431 975 431 976 431 @@ -10656,14 +5232,6 @@ ny= 1536 978 431 979 431 980 431 - 981 431 - 982 431 - 983 431 - 984 431 - 1151 431 - 1152 431 - 1153 431 - 1154 431 1155 431 1156 431 1157 431 @@ -10672,14 +5240,6 @@ ny= 1536 1160 431 1161 431 1162 431 - 1163 431 - 1164 431 - 1165 431 - 1166 431 - 1738 431 - 1739 431 - 1740 431 - 1741 431 1742 431 1743 431 1744 431 @@ -10687,14 +5247,6 @@ ny= 1536 1746 431 1747 431 1748 431 - 1749 431 - 1750 431 - 1751 431 - 1752 431 - 1919 431 - 1920 431 - 1921 431 - 1922 431 1923 431 1924 431 1925 431 @@ -10703,14 +5255,6 @@ ny= 1536 1928 431 1929 431 1930 431 - 1931 431 - 1932 431 - 1933 431 - 1934 431 - 2506 431 - 2507 431 - 2508 431 - 2509 431 2510 431 2511 431 2512 431 @@ -10718,14 +5262,6 @@ ny= 1536 2514 431 2515 431 2516 431 - 2517 431 - 2518 431 - 2519 431 - 2520 431 - 2687 431 - 2688 431 - 2689 431 - 2690 431 2691 431 2692 431 2693 431 @@ -10734,14 +5270,6 @@ ny= 1536 2696 431 2697 431 2698 431 - 2699 431 - 2700 431 - 2701 431 - 2702 431 - 205 432 - 206 432 - 207 432 - 208 432 209 432 210 432 211 432 @@ -10749,13 +5277,6 @@ ny= 1536 213 432 214 432 215 432 - 216 432 - 217 432 - 218 432 - 219 432 - 381 432 - 382 432 - 383 432 384 432 385 432 386 432 @@ -10763,15 +5284,6 @@ ny= 1536 388 432 389 432 390 432 - 391 432 - 392 432 - 393 432 - 394 432 - 395 432 - 973 432 - 974 432 - 975 432 - 976 432 977 432 978 432 979 432 @@ -10779,13 +5291,6 @@ ny= 1536 981 432 982 432 983 432 - 984 432 - 985 432 - 986 432 - 987 432 - 1149 432 - 1150 432 - 1151 432 1152 432 1153 432 1154 432 @@ -10793,15 +5298,6 @@ ny= 1536 1156 432 1157 432 1158 432 - 1159 432 - 1160 432 - 1161 432 - 1162 432 - 1163 432 - 1741 432 - 1742 432 - 1743 432 - 1744 432 1745 432 1746 432 1747 432 @@ -10809,13 +5305,6 @@ ny= 1536 1749 432 1750 432 1751 432 - 1752 432 - 1753 432 - 1754 432 - 1755 432 - 1917 432 - 1918 432 - 1919 432 1920 432 1921 432 1922 432 @@ -10823,15 +5312,6 @@ ny= 1536 1924 432 1925 432 1926 432 - 1927 432 - 1928 432 - 1929 432 - 1930 432 - 1931 432 - 2509 432 - 2510 432 - 2511 432 - 2512 432 2513 432 2514 432 2515 432 @@ -10839,13 +5319,6 @@ ny= 1536 2517 432 2518 432 2519 432 - 2520 432 - 2521 432 - 2522 432 - 2523 432 - 2685 432 - 2686 432 - 2687 432 2688 432 2689 432 2690 432 @@ -10853,15 +5326,6 @@ ny= 1536 2692 432 2693 432 2694 432 - 2695 432 - 2696 432 - 2697 432 - 2698 432 - 2699 432 - 208 433 - 209 433 - 210 433 - 211 433 212 433 213 433 214 433 @@ -10869,15 +5333,6 @@ ny= 1536 216 433 217 433 218 433 - 219 433 - 220 433 - 221 433 - 222 433 - 377 433 - 378 433 - 379 433 - 380 433 - 381 433 382 433 383 433 384 433 @@ -10885,13 +5340,6 @@ ny= 1536 386 433 387 433 388 433 - 389 433 - 390 433 - 391 433 - 976 433 - 977 433 - 978 433 - 979 433 980 433 981 433 982 433 @@ -10899,15 +5347,6 @@ ny= 1536 984 433 985 433 986 433 - 987 433 - 988 433 - 989 433 - 990 433 - 1145 433 - 1146 433 - 1147 433 - 1148 433 - 1149 433 1150 433 1151 433 1152 433 @@ -10915,13 +5354,6 @@ ny= 1536 1154 433 1155 433 1156 433 - 1157 433 - 1158 433 - 1159 433 - 1744 433 - 1745 433 - 1746 433 - 1747 433 1748 433 1749 433 1750 433 @@ -10929,15 +5361,6 @@ ny= 1536 1752 433 1753 433 1754 433 - 1755 433 - 1756 433 - 1757 433 - 1758 433 - 1913 433 - 1914 433 - 1915 433 - 1916 433 - 1917 433 1918 433 1919 433 1920 433 @@ -10945,13 +5368,6 @@ ny= 1536 1922 433 1923 433 1924 433 - 1925 433 - 1926 433 - 1927 433 - 2512 433 - 2513 433 - 2514 433 - 2515 433 2516 433 2517 433 2518 433 @@ -10959,15 +5375,6 @@ ny= 1536 2520 433 2521 433 2522 433 - 2523 433 - 2524 433 - 2525 433 - 2526 433 - 2681 433 - 2682 433 - 2683 433 - 2684 433 - 2685 433 2686 433 2687 433 2688 433 @@ -10975,12 +5382,6 @@ ny= 1536 2690 433 2691 433 2692 433 - 2693 433 - 2694 433 - 2695 433 - 211 434 - 212 434 - 213 434 214 434 215 434 216 434 @@ -10989,13 +5390,6 @@ ny= 1536 219 434 220 434 221 434 - 222 434 - 223 434 - 224 434 - 225 434 - 375 434 - 376 434 - 377 434 378 434 379 434 380 434 @@ -11004,13 +5398,6 @@ ny= 1536 383 434 384 434 385 434 - 386 434 - 387 434 - 388 434 - 389 434 - 979 434 - 980 434 - 981 434 982 434 983 434 984 434 @@ -11019,13 +5406,6 @@ ny= 1536 987 434 988 434 989 434 - 990 434 - 991 434 - 992 434 - 993 434 - 1143 434 - 1144 434 - 1145 434 1146 434 1147 434 1148 434 @@ -11034,13 +5414,6 @@ ny= 1536 1151 434 1152 434 1153 434 - 1154 434 - 1155 434 - 1156 434 - 1157 434 - 1747 434 - 1748 434 - 1749 434 1750 434 1751 434 1752 434 @@ -11049,13 +5422,6 @@ ny= 1536 1755 434 1756 434 1757 434 - 1758 434 - 1759 434 - 1760 434 - 1761 434 - 1911 434 - 1912 434 - 1913 434 1914 434 1915 434 1916 434 @@ -11064,13 +5430,6 @@ ny= 1536 1919 434 1920 434 1921 434 - 1922 434 - 1923 434 - 1924 434 - 1925 434 - 2515 434 - 2516 434 - 2517 434 2518 434 2519 434 2520 434 @@ -11079,13 +5438,6 @@ ny= 1536 2523 434 2524 434 2525 434 - 2526 434 - 2527 434 - 2528 434 - 2529 434 - 2679 434 - 2680 434 - 2681 434 2682 434 2683 434 2684 434 @@ -11094,14 +5446,6 @@ ny= 1536 2687 434 2688 434 2689 434 - 2690 434 - 2691 434 - 2692 434 - 2693 434 - 213 435 - 214 435 - 215 435 - 216 435 217 435 218 435 219 435 @@ -11110,13 +5454,6 @@ ny= 1536 222 435 223 435 224 435 - 225 435 - 226 435 - 227 435 - 372 435 - 373 435 - 374 435 - 375 435 376 435 377 435 378 435 @@ -11124,14 +5461,6 @@ ny= 1536 380 435 381 435 382 435 - 383 435 - 384 435 - 385 435 - 386 435 - 981 435 - 982 435 - 983 435 - 984 435 985 435 986 435 987 435 @@ -11140,13 +5469,6 @@ ny= 1536 990 435 991 435 992 435 - 993 435 - 994 435 - 995 435 - 1140 435 - 1141 435 - 1142 435 - 1143 435 1144 435 1145 435 1146 435 @@ -11154,14 +5476,6 @@ ny= 1536 1148 435 1149 435 1150 435 - 1151 435 - 1152 435 - 1153 435 - 1154 435 - 1749 435 - 1750 435 - 1751 435 - 1752 435 1753 435 1754 435 1755 435 @@ -11170,13 +5484,6 @@ ny= 1536 1758 435 1759 435 1760 435 - 1761 435 - 1762 435 - 1763 435 - 1908 435 - 1909 435 - 1910 435 - 1911 435 1912 435 1913 435 1914 435 @@ -11184,14 +5491,6 @@ ny= 1536 1916 435 1917 435 1918 435 - 1919 435 - 1920 435 - 1921 435 - 1922 435 - 2517 435 - 2518 435 - 2519 435 - 2520 435 2521 435 2522 435 2523 435 @@ -11200,13 +5499,6 @@ ny= 1536 2526 435 2527 435 2528 435 - 2529 435 - 2530 435 - 2531 435 - 2676 435 - 2677 435 - 2678 435 - 2679 435 2680 435 2681 435 2682 435 @@ -11214,14 +5506,6 @@ ny= 1536 2684 435 2685 435 2686 435 - 2687 435 - 2688 435 - 2689 435 - 2690 435 - 216 436 - 217 436 - 218 436 - 219 436 220 436 221 436 222 436 @@ -11229,14 +5513,6 @@ ny= 1536 224 436 225 436 226 436 - 227 436 - 228 436 - 229 436 - 230 436 - 369 436 - 370 436 - 371 436 - 372 436 373 436 374 436 375 436 @@ -11244,14 +5520,6 @@ ny= 1536 377 436 378 436 379 436 - 380 436 - 381 436 - 382 436 - 383 436 - 984 436 - 985 436 - 986 436 - 987 436 988 436 989 436 990 436 @@ -11259,14 +5527,6 @@ ny= 1536 992 436 993 436 994 436 - 995 436 - 996 436 - 997 436 - 998 436 - 1137 436 - 1138 436 - 1139 436 - 1140 436 1141 436 1142 436 1143 436 @@ -11274,14 +5534,6 @@ ny= 1536 1145 436 1146 436 1147 436 - 1148 436 - 1149 436 - 1150 436 - 1151 436 - 1752 436 - 1753 436 - 1754 436 - 1755 436 1756 436 1757 436 1758 436 @@ -11289,14 +5541,6 @@ ny= 1536 1760 436 1761 436 1762 436 - 1763 436 - 1764 436 - 1765 436 - 1766 436 - 1905 436 - 1906 436 - 1907 436 - 1908 436 1909 436 1910 436 1911 436 @@ -11304,14 +5548,6 @@ ny= 1536 1913 436 1914 436 1915 436 - 1916 436 - 1917 436 - 1918 436 - 1919 436 - 2520 436 - 2521 436 - 2522 436 - 2523 436 2524 436 2525 436 2526 436 @@ -11319,14 +5555,6 @@ ny= 1536 2528 436 2529 436 2530 436 - 2531 436 - 2532 436 - 2533 436 - 2534 436 - 2673 436 - 2674 436 - 2675 436 - 2676 436 2677 436 2678 436 2679 436 @@ -11334,14 +5562,6 @@ ny= 1536 2681 436 2682 436 2683 436 - 2684 436 - 2685 436 - 2686 436 - 2687 436 - 219 437 - 220 437 - 221 437 - 222 437 223 437 224 437 225 437 @@ -11349,14 +5569,6 @@ ny= 1536 227 437 228 437 229 437 - 230 437 - 231 437 - 232 437 - 233 437 - 366 437 - 367 437 - 368 437 - 369 437 370 437 371 437 372 437 @@ -11364,14 +5576,6 @@ ny= 1536 374 437 375 437 376 437 - 377 437 - 378 437 - 379 437 - 380 437 - 987 437 - 988 437 - 989 437 - 990 437 991 437 992 437 993 437 @@ -11379,14 +5583,6 @@ ny= 1536 995 437 996 437 997 437 - 998 437 - 999 437 - 1000 437 - 1001 437 - 1134 437 - 1135 437 - 1136 437 - 1137 437 1138 437 1139 437 1140 437 @@ -11394,14 +5590,6 @@ ny= 1536 1142 437 1143 437 1144 437 - 1145 437 - 1146 437 - 1147 437 - 1148 437 - 1755 437 - 1756 437 - 1757 437 - 1758 437 1759 437 1760 437 1761 437 @@ -11409,14 +5597,6 @@ ny= 1536 1763 437 1764 437 1765 437 - 1766 437 - 1767 437 - 1768 437 - 1769 437 - 1902 437 - 1903 437 - 1904 437 - 1905 437 1906 437 1907 437 1908 437 @@ -11424,14 +5604,6 @@ ny= 1536 1910 437 1911 437 1912 437 - 1913 437 - 1914 437 - 1915 437 - 1916 437 - 2523 437 - 2524 437 - 2525 437 - 2526 437 2527 437 2528 437 2529 437 @@ -11439,14 +5611,6 @@ ny= 1536 2531 437 2532 437 2533 437 - 2534 437 - 2535 437 - 2536 437 - 2537 437 - 2670 437 - 2671 437 - 2672 437 - 2673 437 2674 437 2675 437 2676 437 @@ -11454,14 +5618,6 @@ ny= 1536 2678 437 2679 437 2680 437 - 2681 437 - 2682 437 - 2683 437 - 2684 437 - 222 438 - 223 438 - 224 438 - 225 438 226 438 227 438 228 438 @@ -11469,13 +5625,6 @@ ny= 1536 230 438 231 438 232 438 - 233 438 - 234 438 - 235 438 - 236 438 - 364 438 - 365 438 - 366 438 367 438 368 438 369 438 @@ -11483,14 +5632,6 @@ ny= 1536 371 438 372 438 373 438 - 374 438 - 375 438 - 376 438 - 377 438 - 990 438 - 991 438 - 992 438 - 993 438 994 438 995 438 996 438 @@ -11498,13 +5639,6 @@ ny= 1536 998 438 999 438 1000 438 - 1001 438 - 1002 438 - 1003 438 - 1004 438 - 1132 438 - 1133 438 - 1134 438 1135 438 1136 438 1137 438 @@ -11512,14 +5646,6 @@ ny= 1536 1139 438 1140 438 1141 438 - 1142 438 - 1143 438 - 1144 438 - 1145 438 - 1758 438 - 1759 438 - 1760 438 - 1761 438 1762 438 1763 438 1764 438 @@ -11527,13 +5653,6 @@ ny= 1536 1766 438 1767 438 1768 438 - 1769 438 - 1770 438 - 1771 438 - 1772 438 - 1900 438 - 1901 438 - 1902 438 1903 438 1904 438 1905 438 @@ -11541,14 +5660,6 @@ ny= 1536 1907 438 1908 438 1909 438 - 1910 438 - 1911 438 - 1912 438 - 1913 438 - 2526 438 - 2527 438 - 2528 438 - 2529 438 2530 438 2531 438 2532 438 @@ -11556,13 +5667,6 @@ ny= 1536 2534 438 2535 438 2536 438 - 2537 438 - 2538 438 - 2539 438 - 2540 438 - 2668 438 - 2669 438 - 2670 438 2671 438 2672 438 2673 438 @@ -11570,14 +5674,6 @@ ny= 1536 2675 438 2676 438 2677 438 - 2678 438 - 2679 438 - 2680 438 - 2681 438 - 225 439 - 226 439 - 227 439 - 228 439 229 439 230 439 231 439 @@ -11585,13 +5681,6 @@ ny= 1536 233 439 234 439 235 439 - 236 439 - 237 439 - 238 439 - 361 439 - 362 439 - 363 439 - 364 439 365 439 366 439 367 439 @@ -11599,13 +5688,6 @@ ny= 1536 369 439 370 439 371 439 - 372 439 - 373 439 - 374 439 - 993 439 - 994 439 - 995 439 - 996 439 997 439 998 439 999 439 @@ -11613,13 +5695,6 @@ ny= 1536 1001 439 1002 439 1003 439 - 1004 439 - 1005 439 - 1006 439 - 1129 439 - 1130 439 - 1131 439 - 1132 439 1133 439 1134 439 1135 439 @@ -11627,13 +5702,6 @@ ny= 1536 1137 439 1138 439 1139 439 - 1140 439 - 1141 439 - 1142 439 - 1761 439 - 1762 439 - 1763 439 - 1764 439 1765 439 1766 439 1767 439 @@ -11641,13 +5709,6 @@ ny= 1536 1769 439 1770 439 1771 439 - 1772 439 - 1773 439 - 1774 439 - 1897 439 - 1898 439 - 1899 439 - 1900 439 1901 439 1902 439 1903 439 @@ -11655,13 +5716,6 @@ ny= 1536 1905 439 1906 439 1907 439 - 1908 439 - 1909 439 - 1910 439 - 2529 439 - 2530 439 - 2531 439 - 2532 439 2533 439 2534 439 2535 439 @@ -11669,13 +5723,6 @@ ny= 1536 2537 439 2538 439 2539 439 - 2540 439 - 2541 439 - 2542 439 - 2665 439 - 2666 439 - 2667 439 - 2668 439 2669 439 2670 439 2671 439 @@ -11683,12 +5730,6 @@ ny= 1536 2673 439 2674 439 2675 439 - 2676 439 - 2677 439 - 2678 439 - 228 440 - 229 440 - 230 440 231 440 232 440 233 440 @@ -11696,14 +5737,6 @@ ny= 1536 235 440 236 440 237 440 - 238 440 - 239 440 - 240 440 - 241 440 - 358 440 - 359 440 - 360 440 - 361 440 362 440 363 440 364 440 @@ -11711,13 +5744,6 @@ ny= 1536 366 440 367 440 368 440 - 369 440 - 370 440 - 371 440 - 372 440 - 996 440 - 997 440 - 998 440 999 440 1000 440 1001 440 @@ -11725,14 +5751,6 @@ ny= 1536 1003 440 1004 440 1005 440 - 1006 440 - 1007 440 - 1008 440 - 1009 440 - 1126 440 - 1127 440 - 1128 440 - 1129 440 1130 440 1131 440 1132 440 @@ -11740,13 +5758,6 @@ ny= 1536 1134 440 1135 440 1136 440 - 1137 440 - 1138 440 - 1139 440 - 1140 440 - 1764 440 - 1765 440 - 1766 440 1767 440 1768 440 1769 440 @@ -11754,14 +5765,6 @@ ny= 1536 1771 440 1772 440 1773 440 - 1774 440 - 1775 440 - 1776 440 - 1777 440 - 1894 440 - 1895 440 - 1896 440 - 1897 440 1898 440 1899 440 1900 440 @@ -11769,13 +5772,6 @@ ny= 1536 1902 440 1903 440 1904 440 - 1905 440 - 1906 440 - 1907 440 - 1908 440 - 2532 440 - 2533 440 - 2534 440 2535 440 2536 440 2537 440 @@ -11783,14 +5779,6 @@ ny= 1536 2539 440 2540 440 2541 440 - 2542 440 - 2543 440 - 2544 440 - 2545 440 - 2662 440 - 2663 440 - 2664 440 - 2665 440 2666 440 2667 440 2668 440 @@ -11798,14 +5786,6 @@ ny= 1536 2670 440 2671 440 2672 440 - 2673 440 - 2674 440 - 2675 440 - 2676 440 - 230 441 - 231 441 - 232 441 - 233 441 234 441 235 441 236 441 @@ -11813,13 +5793,6 @@ ny= 1536 238 441 239 441 240 441 - 241 441 - 242 441 - 243 441 - 244 441 - 356 441 - 357 441 - 358 441 359 441 360 441 361 441 @@ -11827,14 +5800,6 @@ ny= 1536 363 441 364 441 365 441 - 366 441 - 367 441 - 368 441 - 369 441 - 998 441 - 999 441 - 1000 441 - 1001 441 1002 441 1003 441 1004 441 @@ -11842,13 +5807,6 @@ ny= 1536 1006 441 1007 441 1008 441 - 1009 441 - 1010 441 - 1011 441 - 1012 441 - 1124 441 - 1125 441 - 1126 441 1127 441 1128 441 1129 441 @@ -11856,14 +5814,6 @@ ny= 1536 1131 441 1132 441 1133 441 - 1134 441 - 1135 441 - 1136 441 - 1137 441 - 1766 441 - 1767 441 - 1768 441 - 1769 441 1770 441 1771 441 1772 441 @@ -11871,13 +5821,6 @@ ny= 1536 1774 441 1775 441 1776 441 - 1777 441 - 1778 441 - 1779 441 - 1780 441 - 1892 441 - 1893 441 - 1894 441 1895 441 1896 441 1897 441 @@ -11885,14 +5828,6 @@ ny= 1536 1899 441 1900 441 1901 441 - 1902 441 - 1903 441 - 1904 441 - 1905 441 - 2534 441 - 2535 441 - 2536 441 - 2537 441 2538 441 2539 441 2540 441 @@ -11900,13 +5835,6 @@ ny= 1536 2542 441 2543 441 2544 441 - 2545 441 - 2546 441 - 2547 441 - 2548 441 - 2660 441 - 2661 441 - 2662 441 2663 441 2664 441 2665 441 @@ -11914,14 +5842,6 @@ ny= 1536 2667 441 2668 441 2669 441 - 2670 441 - 2671 441 - 2672 441 - 2673 441 - 233 442 - 234 442 - 235 442 - 236 442 237 442 238 442 239 442 @@ -11929,13 +5849,6 @@ ny= 1536 241 442 242 442 243 442 - 244 442 - 245 442 - 246 442 - 353 442 - 354 442 - 355 442 - 356 442 357 442 358 442 359 442 @@ -11943,13 +5856,6 @@ ny= 1536 361 442 362 442 363 442 - 364 442 - 365 442 - 366 442 - 1001 442 - 1002 442 - 1003 442 - 1004 442 1005 442 1006 442 1007 442 @@ -11957,13 +5863,6 @@ ny= 1536 1009 442 1010 442 1011 442 - 1012 442 - 1013 442 - 1014 442 - 1121 442 - 1122 442 - 1123 442 - 1124 442 1125 442 1126 442 1127 442 @@ -11971,13 +5870,6 @@ ny= 1536 1129 442 1130 442 1131 442 - 1132 442 - 1133 442 - 1134 442 - 1769 442 - 1770 442 - 1771 442 - 1772 442 1773 442 1774 442 1775 442 @@ -11985,13 +5877,6 @@ ny= 1536 1777 442 1778 442 1779 442 - 1780 442 - 1781 442 - 1782 442 - 1889 442 - 1890 442 - 1891 442 - 1892 442 1893 442 1894 442 1895 442 @@ -11999,13 +5884,6 @@ ny= 1536 1897 442 1898 442 1899 442 - 1900 442 - 1901 442 - 1902 442 - 2537 442 - 2538 442 - 2539 442 - 2540 442 2541 442 2542 442 2543 442 @@ -12013,13 +5891,6 @@ ny= 1536 2545 442 2546 442 2547 442 - 2548 442 - 2549 442 - 2550 442 - 2657 442 - 2658 442 - 2659 442 - 2660 442 2661 442 2662 442 2663 442 @@ -12027,26 +5898,12 @@ ny= 1536 2665 442 2666 442 2667 442 - 2668 442 - 2669 442 - 2670 442 - 236 443 - 237 443 - 238 443 - 239 443 240 443 241 443 242 443 243 443 244 443 245 443 - 246 443 - 247 443 - 248 443 - 249 443 - 351 443 - 352 443 - 353 443 354 443 355 443 356 443 @@ -12054,27 +5911,12 @@ ny= 1536 358 443 359 443 360 443 - 361 443 - 362 443 - 363 443 - 364 443 - 1004 443 - 1005 443 - 1006 443 - 1007 443 1008 443 1009 443 1010 443 1011 443 1012 443 1013 443 - 1014 443 - 1015 443 - 1016 443 - 1017 443 - 1119 443 - 1120 443 - 1121 443 1122 443 1123 443 1124 443 @@ -12082,27 +5924,12 @@ ny= 1536 1126 443 1127 443 1128 443 - 1129 443 - 1130 443 - 1131 443 - 1132 443 - 1772 443 - 1773 443 - 1774 443 - 1775 443 1776 443 1777 443 1778 443 1779 443 1780 443 1781 443 - 1782 443 - 1783 443 - 1784 443 - 1785 443 - 1887 443 - 1888 443 - 1889 443 1890 443 1891 443 1892 443 @@ -12110,27 +5937,12 @@ ny= 1536 1894 443 1895 443 1896 443 - 1897 443 - 1898 443 - 1899 443 - 1900 443 - 2540 443 - 2541 443 - 2542 443 - 2543 443 2544 443 2545 443 2546 443 2547 443 2548 443 2549 443 - 2550 443 - 2551 443 - 2552 443 - 2553 443 - 2655 443 - 2656 443 - 2657 443 2658 443 2659 443 2660 443 @@ -12138,13 +5950,6 @@ ny= 1536 2662 443 2663 443 2664 443 - 2665 443 - 2666 443 - 2667 443 - 2668 443 - 239 444 - 240 444 - 241 444 242 444 243 444 244 444 @@ -12152,26 +5957,12 @@ ny= 1536 246 444 247 444 248 444 - 249 444 - 250 444 - 251 444 - 348 444 - 349 444 - 350 444 - 351 444 352 444 353 444 354 444 355 444 356 444 357 444 - 358 444 - 359 444 - 360 444 - 361 444 - 1007 444 - 1008 444 - 1009 444 1010 444 1011 444 1012 444 @@ -12179,26 +5970,12 @@ ny= 1536 1014 444 1015 444 1016 444 - 1017 444 - 1018 444 - 1019 444 - 1116 444 - 1117 444 - 1118 444 - 1119 444 1120 444 1121 444 1122 444 1123 444 1124 444 1125 444 - 1126 444 - 1127 444 - 1128 444 - 1129 444 - 1775 444 - 1776 444 - 1777 444 1778 444 1779 444 1780 444 @@ -12206,26 +5983,12 @@ ny= 1536 1782 444 1783 444 1784 444 - 1785 444 - 1786 444 - 1787 444 - 1884 444 - 1885 444 - 1886 444 - 1887 444 1888 444 1889 444 1890 444 1891 444 1892 444 1893 444 - 1894 444 - 1895 444 - 1896 444 - 1897 444 - 2543 444 - 2544 444 - 2545 444 2546 444 2547 444 2548 444 @@ -12233,26 +5996,12 @@ ny= 1536 2550 444 2551 444 2552 444 - 2553 444 - 2554 444 - 2555 444 - 2652 444 - 2653 444 - 2654 444 - 2655 444 2656 444 2657 444 2658 444 2659 444 2660 444 2661 444 - 2662 444 - 2663 444 - 2664 444 - 2665 444 - 241 445 - 242 445 - 243 445 244 445 245 445 246 445 @@ -12260,14 +6009,6 @@ ny= 1536 248 445 249 445 250 445 - 251 445 - 252 445 - 253 445 - 254 445 - 345 445 - 346 445 - 347 445 - 348 445 349 445 350 445 351 445 @@ -12275,12 +6016,6 @@ ny= 1536 353 445 354 445 355 445 - 356 445 - 357 445 - 358 445 - 1009 445 - 1010 445 - 1011 445 1012 445 1013 445 1014 445 @@ -12288,14 +6023,6 @@ ny= 1536 1016 445 1017 445 1018 445 - 1019 445 - 1020 445 - 1021 445 - 1022 445 - 1113 445 - 1114 445 - 1115 445 - 1116 445 1117 445 1118 445 1119 445 @@ -12303,12 +6030,6 @@ ny= 1536 1121 445 1122 445 1123 445 - 1124 445 - 1125 445 - 1126 445 - 1777 445 - 1778 445 - 1779 445 1780 445 1781 445 1782 445 @@ -12316,14 +6037,6 @@ ny= 1536 1784 445 1785 445 1786 445 - 1787 445 - 1788 445 - 1789 445 - 1790 445 - 1881 445 - 1882 445 - 1883 445 - 1884 445 1885 445 1886 445 1887 445 @@ -12331,12 +6044,6 @@ ny= 1536 1889 445 1890 445 1891 445 - 1892 445 - 1893 445 - 1894 445 - 2545 445 - 2546 445 - 2547 445 2548 445 2549 445 2550 445 @@ -12344,14 +6051,6 @@ ny= 1536 2552 445 2553 445 2554 445 - 2555 445 - 2556 445 - 2557 445 - 2558 445 - 2649 445 - 2650 445 - 2651 445 - 2652 445 2653 445 2654 445 2655 445 @@ -12359,13 +6058,6 @@ ny= 1536 2657 445 2658 445 2659 445 - 2660 445 - 2661 445 - 2662 445 - 243 446 - 244 446 - 245 446 - 246 446 247 446 248 446 249 446 @@ -12373,12 +6065,6 @@ ny= 1536 251 446 252 446 253 446 - 254 446 - 255 446 - 256 446 - 343 446 - 344 446 - 345 446 346 446 347 446 348 446 @@ -12386,14 +6072,6 @@ ny= 1536 350 446 351 446 352 446 - 353 446 - 354 446 - 355 446 - 356 446 - 1011 446 - 1012 446 - 1013 446 - 1014 446 1015 446 1016 446 1017 446 @@ -12401,12 +6079,6 @@ ny= 1536 1019 446 1020 446 1021 446 - 1022 446 - 1023 446 - 1024 446 - 1111 446 - 1112 446 - 1113 446 1114 446 1115 446 1116 446 @@ -12414,14 +6086,6 @@ ny= 1536 1118 446 1119 446 1120 446 - 1121 446 - 1122 446 - 1123 446 - 1124 446 - 1779 446 - 1780 446 - 1781 446 - 1782 446 1783 446 1784 446 1785 446 @@ -12429,12 +6093,6 @@ ny= 1536 1787 446 1788 446 1789 446 - 1790 446 - 1791 446 - 1792 446 - 1879 446 - 1880 446 - 1881 446 1882 446 1883 446 1884 446 @@ -12442,14 +6100,6 @@ ny= 1536 1886 446 1887 446 1888 446 - 1889 446 - 1890 446 - 1891 446 - 1892 446 - 2547 446 - 2548 446 - 2549 446 - 2550 446 2551 446 2552 446 2553 446 @@ -12457,12 +6107,6 @@ ny= 1536 2555 446 2556 446 2557 446 - 2558 446 - 2559 446 - 2560 446 - 2647 446 - 2648 446 - 2649 446 2650 446 2651 446 2652 446 @@ -12470,28 +6114,12 @@ ny= 1536 2654 446 2655 446 2656 446 - 2657 446 - 2658 446 - 2659 446 - 2660 446 - 246 447 - 247 447 - 248 447 - 249 447 250 447 251 447 252 447 253 447 254 447 255 447 - 256 447 - 257 447 - 258 447 - 259 447 - 340 447 - 341 447 - 342 447 - 343 447 344 447 345 447 346 447 @@ -12499,27 +6127,12 @@ ny= 1536 348 447 349 447 350 447 - 351 447 - 352 447 - 353 447 - 1014 447 - 1015 447 - 1016 447 - 1017 447 1018 447 1019 447 1020 447 1021 447 1022 447 1023 447 - 1024 447 - 1025 447 - 1026 447 - 1027 447 - 1108 447 - 1109 447 - 1110 447 - 1111 447 1112 447 1113 447 1114 447 @@ -12527,27 +6140,12 @@ ny= 1536 1116 447 1117 447 1118 447 - 1119 447 - 1120 447 - 1121 447 - 1782 447 - 1783 447 - 1784 447 - 1785 447 1786 447 1787 447 1788 447 1789 447 1790 447 1791 447 - 1792 447 - 1793 447 - 1794 447 - 1795 447 - 1876 447 - 1877 447 - 1878 447 - 1879 447 1880 447 1881 447 1882 447 @@ -12555,27 +6153,12 @@ ny= 1536 1884 447 1885 447 1886 447 - 1887 447 - 1888 447 - 1889 447 - 2550 447 - 2551 447 - 2552 447 - 2553 447 2554 447 2555 447 2556 447 2557 447 2558 447 2559 447 - 2560 447 - 2561 447 - 2562 447 - 2563 447 - 2644 447 - 2645 447 - 2646 447 - 2647 447 2648 447 2649 447 2650 447 @@ -12583,12 +6166,6 @@ ny= 1536 2652 447 2653 447 2654 447 - 2655 447 - 2656 447 - 2657 447 - 249 448 - 250 448 - 251 448 252 448 253 448 254 448 @@ -12596,12 +6173,6 @@ ny= 1536 256 448 257 448 258 448 - 259 448 - 260 448 - 261 448 - 338 448 - 339 448 - 340 448 341 448 342 448 343 448 @@ -12609,13 +6180,6 @@ ny= 1536 345 448 346 448 347 448 - 348 448 - 349 448 - 350 448 - 351 448 - 1017 448 - 1018 448 - 1019 448 1020 448 1021 448 1022 448 @@ -12623,12 +6187,6 @@ ny= 1536 1024 448 1025 448 1026 448 - 1027 448 - 1028 448 - 1029 448 - 1106 448 - 1107 448 - 1108 448 1109 448 1110 448 1111 448 @@ -12636,13 +6194,6 @@ ny= 1536 1113 448 1114 448 1115 448 - 1116 448 - 1117 448 - 1118 448 - 1119 448 - 1785 448 - 1786 448 - 1787 448 1788 448 1789 448 1790 448 @@ -12650,12 +6201,6 @@ ny= 1536 1792 448 1793 448 1794 448 - 1795 448 - 1796 448 - 1797 448 - 1874 448 - 1875 448 - 1876 448 1877 448 1878 448 1879 448 @@ -12663,13 +6208,6 @@ ny= 1536 1881 448 1882 448 1883 448 - 1884 448 - 1885 448 - 1886 448 - 1887 448 - 2553 448 - 2554 448 - 2555 448 2556 448 2557 448 2558 448 @@ -12677,12 +6215,6 @@ ny= 1536 2560 448 2561 448 2562 448 - 2563 448 - 2564 448 - 2565 448 - 2642 448 - 2643 448 - 2644 448 2645 448 2646 448 2647 448 @@ -12690,27 +6222,12 @@ ny= 1536 2649 448 2650 448 2651 448 - 2652 448 - 2653 448 - 2654 448 - 2655 448 - 251 449 - 252 449 - 253 449 - 254 449 255 449 256 449 257 449 258 449 259 449 260 449 - 261 449 - 262 449 - 263 449 - 264 449 - 336 449 - 337 449 - 338 449 339 449 340 449 341 449 @@ -12718,26 +6235,12 @@ ny= 1536 343 449 344 449 345 449 - 346 449 - 347 449 - 348 449 - 1019 449 - 1020 449 - 1021 449 - 1022 449 1023 449 1024 449 1025 449 1026 449 1027 449 1028 449 - 1029 449 - 1030 449 - 1031 449 - 1032 449 - 1104 449 - 1105 449 - 1106 449 1107 449 1108 449 1109 449 @@ -12745,26 +6248,12 @@ ny= 1536 1111 449 1112 449 1113 449 - 1114 449 - 1115 449 - 1116 449 - 1787 449 - 1788 449 - 1789 449 - 1790 449 1791 449 1792 449 1793 449 1794 449 1795 449 1796 449 - 1797 449 - 1798 449 - 1799 449 - 1800 449 - 1872 449 - 1873 449 - 1874 449 1875 449 1876 449 1877 449 @@ -12772,26 +6261,12 @@ ny= 1536 1879 449 1880 449 1881 449 - 1882 449 - 1883 449 - 1884 449 - 2555 449 - 2556 449 - 2557 449 - 2558 449 2559 449 2560 449 2561 449 2562 449 2563 449 2564 449 - 2565 449 - 2566 449 - 2567 449 - 2568 449 - 2640 449 - 2641 449 - 2642 449 2643 449 2644 449 2645 449 @@ -12799,12 +6274,6 @@ ny= 1536 2647 449 2648 449 2649 449 - 2650 449 - 2651 449 - 2652 449 - 254 450 - 255 450 - 256 450 257 450 258 450 259 450 @@ -12812,26 +6281,12 @@ ny= 1536 261 450 262 450 263 450 - 264 450 - 265 450 - 266 450 - 333 450 - 334 450 - 335 450 - 336 450 337 450 338 450 339 450 340 450 341 450 342 450 - 343 450 - 344 450 - 345 450 - 346 450 - 1022 450 - 1023 450 - 1024 450 1025 450 1026 450 1027 450 @@ -12839,26 +6294,12 @@ ny= 1536 1029 450 1030 450 1031 450 - 1032 450 - 1033 450 - 1034 450 - 1101 450 - 1102 450 - 1103 450 - 1104 450 1105 450 1106 450 1107 450 1108 450 1109 450 1110 450 - 1111 450 - 1112 450 - 1113 450 - 1114 450 - 1790 450 - 1791 450 - 1792 450 1793 450 1794 450 1795 450 @@ -12866,26 +6307,12 @@ ny= 1536 1797 450 1798 450 1799 450 - 1800 450 - 1801 450 - 1802 450 - 1869 450 - 1870 450 - 1871 450 - 1872 450 1873 450 1874 450 1875 450 1876 450 1877 450 1878 450 - 1879 450 - 1880 450 - 1881 450 - 1882 450 - 2558 450 - 2559 450 - 2560 450 2561 450 2562 450 2563 450 @@ -12893,26 +6320,12 @@ ny= 1536 2565 450 2566 450 2567 450 - 2568 450 - 2569 450 - 2570 450 - 2637 450 - 2638 450 - 2639 450 - 2640 450 2641 450 2642 450 2643 450 2644 450 2645 450 2646 450 - 2647 450 - 2648 450 - 2649 450 - 2650 450 - 256 451 - 257 451 - 258 451 259 451 260 451 261 451 @@ -12920,12 +6333,6 @@ ny= 1536 263 451 264 451 265 451 - 266 451 - 267 451 - 268 451 - 331 451 - 332 451 - 333 451 334 451 335 451 336 451 @@ -12933,12 +6340,6 @@ ny= 1536 338 451 339 451 340 451 - 341 451 - 342 451 - 343 451 - 1024 451 - 1025 451 - 1026 451 1027 451 1028 451 1029 451 @@ -12946,12 +6347,6 @@ ny= 1536 1031 451 1032 451 1033 451 - 1034 451 - 1035 451 - 1036 451 - 1099 451 - 1100 451 - 1101 451 1102 451 1103 451 1104 451 @@ -12959,12 +6354,6 @@ ny= 1536 1106 451 1107 451 1108 451 - 1109 451 - 1110 451 - 1111 451 - 1792 451 - 1793 451 - 1794 451 1795 451 1796 451 1797 451 @@ -12972,12 +6361,6 @@ ny= 1536 1799 451 1800 451 1801 451 - 1802 451 - 1803 451 - 1804 451 - 1867 451 - 1868 451 - 1869 451 1870 451 1871 451 1872 451 @@ -12985,12 +6368,6 @@ ny= 1536 1874 451 1875 451 1876 451 - 1877 451 - 1878 451 - 1879 451 - 2560 451 - 2561 451 - 2562 451 2563 451 2564 451 2565 451 @@ -12998,12 +6375,6 @@ ny= 1536 2567 451 2568 451 2569 451 - 2570 451 - 2571 451 - 2572 451 - 2635 451 - 2636 451 - 2637 451 2638 451 2639 451 2640 451 @@ -13011,137 +6382,60 @@ ny= 1536 2642 451 2643 451 2644 451 - 2645 451 - 2646 451 - 2647 451 - 258 452 - 259 452 - 260 452 - 261 452 262 452 263 452 264 452 265 452 266 452 267 452 - 268 452 - 269 452 - 270 452 - 271 452 - 328 452 - 329 452 - 330 452 - 331 452 332 452 333 452 334 452 335 452 336 452 337 452 - 338 452 - 339 452 - 340 452 - 341 452 - 1026 452 - 1027 452 - 1028 452 - 1029 452 1030 452 1031 452 1032 452 1033 452 1034 452 1035 452 - 1036 452 - 1037 452 - 1038 452 - 1039 452 - 1096 452 - 1097 452 - 1098 452 - 1099 452 1100 452 1101 452 1102 452 1103 452 1104 452 1105 452 - 1106 452 - 1107 452 - 1108 452 - 1109 452 - 1794 452 - 1795 452 - 1796 452 - 1797 452 1798 452 1799 452 1800 452 1801 452 1802 452 1803 452 - 1804 452 - 1805 452 - 1806 452 - 1807 452 - 1864 452 - 1865 452 - 1866 452 - 1867 452 1868 452 1869 452 1870 452 1871 452 1872 452 1873 452 - 1874 452 - 1875 452 - 1876 452 - 1877 452 - 2562 452 - 2563 452 - 2564 452 - 2565 452 2566 452 2567 452 2568 452 2569 452 2570 452 2571 452 - 2572 452 - 2573 452 - 2574 452 - 2575 452 - 2632 452 - 2633 452 - 2634 452 - 2635 452 2636 452 2637 452 2638 452 2639 452 2640 452 2641 452 - 2642 452 - 2643 452 - 2644 452 - 2645 452 - 261 453 - 262 453 - 263 453 - 264 453 265 453 266 453 267 453 268 453 269 453 270 453 - 271 453 - 272 453 - 273 453 - 326 453 - 327 453 - 328 453 329 453 330 453 331 453 @@ -13149,25 +6443,12 @@ ny= 1536 333 453 334 453 335 453 - 336 453 - 337 453 - 338 453 - 1029 453 - 1030 453 - 1031 453 - 1032 453 1033 453 1034 453 1035 453 1036 453 1037 453 1038 453 - 1039 453 - 1040 453 - 1041 453 - 1094 453 - 1095 453 - 1096 453 1097 453 1098 453 1099 453 @@ -13175,25 +6456,12 @@ ny= 1536 1101 453 1102 453 1103 453 - 1104 453 - 1105 453 - 1106 453 - 1797 453 - 1798 453 - 1799 453 - 1800 453 1801 453 1802 453 1803 453 1804 453 1805 453 1806 453 - 1807 453 - 1808 453 - 1809 453 - 1862 453 - 1863 453 - 1864 453 1865 453 1866 453 1867 453 @@ -13201,25 +6469,12 @@ ny= 1536 1869 453 1870 453 1871 453 - 1872 453 - 1873 453 - 1874 453 - 2565 453 - 2566 453 - 2567 453 - 2568 453 2569 453 2570 453 2571 453 2572 453 2573 453 2574 453 - 2575 453 - 2576 453 - 2577 453 - 2630 453 - 2631 453 - 2632 453 2633 453 2634 453 2635 453 @@ -13227,229 +6482,108 @@ ny= 1536 2637 453 2638 453 2639 453 - 2640 453 - 2641 453 - 2642 453 - 264 454 - 265 454 - 266 454 267 454 268 454 269 454 270 454 271 454 272 454 - 273 454 - 274 454 - 275 454 - 324 454 - 325 454 - 326 454 327 454 328 454 329 454 330 454 331 454 332 454 - 333 454 - 334 454 - 335 454 - 336 454 - 1032 454 - 1033 454 - 1034 454 1035 454 1036 454 1037 454 1038 454 1039 454 1040 454 - 1041 454 - 1042 454 - 1043 454 - 1092 454 - 1093 454 - 1094 454 1095 454 1096 454 1097 454 1098 454 1099 454 1100 454 - 1101 454 - 1102 454 - 1103 454 - 1104 454 - 1800 454 - 1801 454 - 1802 454 1803 454 1804 454 1805 454 1806 454 1807 454 1808 454 - 1809 454 - 1810 454 - 1811 454 - 1860 454 - 1861 454 - 1862 454 1863 454 1864 454 1865 454 1866 454 1867 454 1868 454 - 1869 454 - 1870 454 - 1871 454 - 1872 454 - 2568 454 - 2569 454 - 2570 454 2571 454 2572 454 2573 454 2574 454 2575 454 2576 454 - 2577 454 - 2578 454 - 2579 454 - 2628 454 - 2629 454 - 2630 454 2631 454 2632 454 2633 454 2634 454 2635 454 2636 454 - 2637 454 - 2638 454 - 2639 454 - 2640 454 - 266 455 - 267 455 - 268 455 269 455 270 455 271 455 272 455 273 455 274 455 - 275 455 - 276 455 - 277 455 - 278 455 - 321 455 - 322 455 - 323 455 - 324 455 325 455 326 455 327 455 328 455 329 455 330 455 - 331 455 - 332 455 - 333 455 - 1034 455 - 1035 455 - 1036 455 1037 455 1038 455 1039 455 1040 455 1041 455 1042 455 - 1043 455 - 1044 455 - 1045 455 - 1046 455 - 1089 455 - 1090 455 - 1091 455 - 1092 455 1093 455 1094 455 1095 455 1096 455 1097 455 1098 455 - 1099 455 - 1100 455 - 1101 455 - 1802 455 - 1803 455 - 1804 455 1805 455 1806 455 1807 455 1808 455 1809 455 1810 455 - 1811 455 - 1812 455 - 1813 455 - 1814 455 - 1857 455 - 1858 455 - 1859 455 - 1860 455 1861 455 1862 455 1863 455 1864 455 1865 455 1866 455 - 1867 455 - 1868 455 - 1869 455 - 2570 455 - 2571 455 - 2572 455 2573 455 2574 455 2575 455 2576 455 2577 455 2578 455 - 2579 455 - 2580 455 - 2581 455 - 2582 455 - 2625 455 - 2626 455 - 2627 455 - 2628 455 2629 455 2630 455 2631 455 2632 455 2633 455 2634 455 - 2635 455 - 2636 455 - 2637 455 - 268 456 - 269 456 - 270 456 - 271 456 272 456 273 456 274 456 275 456 276 456 277 456 - 278 456 - 279 456 - 280 456 - 319 456 - 320 456 - 321 456 322 456 323 456 324 456 @@ -13457,25 +6591,12 @@ ny= 1536 326 456 327 456 328 456 - 329 456 - 330 456 - 331 456 - 1036 456 - 1037 456 - 1038 456 - 1039 456 1040 456 1041 456 1042 456 1043 456 1044 456 1045 456 - 1046 456 - 1047 456 - 1048 456 - 1087 456 - 1088 456 - 1089 456 1090 456 1091 456 1092 456 @@ -13483,25 +6604,12 @@ ny= 1536 1094 456 1095 456 1096 456 - 1097 456 - 1098 456 - 1099 456 - 1804 456 - 1805 456 - 1806 456 - 1807 456 1808 456 1809 456 1810 456 1811 456 1812 456 1813 456 - 1814 456 - 1815 456 - 1816 456 - 1855 456 - 1856 456 - 1857 456 1858 456 1859 456 1860 456 @@ -13509,25 +6617,12 @@ ny= 1536 1862 456 1863 456 1864 456 - 1865 456 - 1866 456 - 1867 456 - 2572 456 - 2573 456 - 2574 456 - 2575 456 2576 456 2577 456 2578 456 2579 456 2580 456 2581 456 - 2582 456 - 2583 456 - 2584 456 - 2623 456 - 2624 456 - 2625 456 2626 456 2627 456 2628 456 @@ -13535,24 +6630,12 @@ ny= 1536 2630 456 2631 456 2632 456 - 2633 456 - 2634 456 - 2635 456 - 271 457 - 272 457 - 273 457 274 457 275 457 276 457 277 457 278 457 279 457 - 280 457 - 281 457 - 282 457 - 317 457 - 318 457 - 319 457 320 457 321 457 322 457 @@ -13560,24 +6643,12 @@ ny= 1536 324 457 325 457 326 457 - 327 457 - 328 457 - 329 457 - 1039 457 - 1040 457 - 1041 457 1042 457 1043 457 1044 457 1045 457 1046 457 1047 457 - 1048 457 - 1049 457 - 1050 457 - 1085 457 - 1086 457 - 1087 457 1088 457 1089 457 1090 457 @@ -13585,24 +6656,12 @@ ny= 1536 1092 457 1093 457 1094 457 - 1095 457 - 1096 457 - 1097 457 - 1807 457 - 1808 457 - 1809 457 1810 457 1811 457 1812 457 1813 457 1814 457 1815 457 - 1816 457 - 1817 457 - 1818 457 - 1853 457 - 1854 457 - 1855 457 1856 457 1857 457 1858 457 @@ -13610,24 +6669,12 @@ ny= 1536 1860 457 1861 457 1862 457 - 1863 457 - 1864 457 - 1865 457 - 2575 457 - 2576 457 - 2577 457 2578 457 2579 457 2580 457 2581 457 2582 457 2583 457 - 2584 457 - 2585 457 - 2586 457 - 2621 457 - 2622 457 - 2623 457 2624 457 2625 457 2626 457 @@ -13635,232 +6682,108 @@ ny= 1536 2628 457 2629 457 2630 457 - 2631 457 - 2632 457 - 2633 457 - 273 458 - 274 458 - 275 458 276 458 277 458 278 458 279 458 280 458 281 458 - 282 458 - 283 458 - 284 458 - 285 458 - 315 458 - 316 458 - 317 458 318 458 319 458 320 458 321 458 322 458 323 458 - 324 458 - 325 458 - 326 458 - 327 458 - 1041 458 - 1042 458 - 1043 458 1044 458 1045 458 1046 458 1047 458 1048 458 1049 458 - 1050 458 - 1051 458 - 1052 458 - 1053 458 - 1083 458 - 1084 458 - 1085 458 1086 458 1087 458 1088 458 1089 458 1090 458 1091 458 - 1092 458 - 1093 458 - 1094 458 - 1095 458 - 1809 458 - 1810 458 - 1811 458 1812 458 1813 458 1814 458 1815 458 1816 458 1817 458 - 1818 458 - 1819 458 - 1820 458 - 1821 458 - 1851 458 - 1852 458 - 1853 458 1854 458 1855 458 1856 458 1857 458 1858 458 1859 458 - 1860 458 - 1861 458 - 1862 458 - 1863 458 - 2577 458 - 2578 458 - 2579 458 2580 458 2581 458 2582 458 2583 458 2584 458 2585 458 - 2586 458 - 2587 458 - 2588 458 - 2589 458 - 2619 458 - 2620 458 - 2621 458 2622 458 2623 458 2624 458 2625 458 2626 458 2627 458 - 2628 458 - 2629 458 - 2630 458 - 2631 458 - 275 459 - 276 459 - 277 459 - 278 459 279 459 280 459 281 459 282 459 283 459 284 459 - 285 459 - 286 459 - 287 459 - 312 459 - 313 459 - 314 459 - 315 459 316 459 317 459 318 459 319 459 320 459 321 459 - 322 459 - 323 459 - 324 459 - 1043 459 - 1044 459 - 1045 459 - 1046 459 1047 459 1048 459 1049 459 1050 459 1051 459 1052 459 - 1053 459 - 1054 459 - 1055 459 - 1080 459 - 1081 459 - 1082 459 - 1083 459 1084 459 1085 459 1086 459 1087 459 1088 459 1089 459 - 1090 459 - 1091 459 - 1092 459 - 1811 459 - 1812 459 - 1813 459 - 1814 459 1815 459 1816 459 1817 459 1818 459 1819 459 1820 459 - 1821 459 - 1822 459 - 1823 459 - 1848 459 - 1849 459 - 1850 459 - 1851 459 1852 459 1853 459 1854 459 1855 459 1856 459 1857 459 - 1858 459 - 1859 459 - 1860 459 - 2579 459 - 2580 459 - 2581 459 - 2582 459 2583 459 2584 459 2585 459 2586 459 2587 459 2588 459 - 2589 459 - 2590 459 - 2591 459 - 2616 459 - 2617 459 - 2618 459 - 2619 459 2620 459 2621 459 2622 459 2623 459 2624 459 2625 459 - 2626 459 - 2627 459 - 2628 459 - 278 460 - 279 460 - 280 460 281 460 282 460 283 460 284 460 285 460 286 460 - 287 460 - 288 460 - 289 460 - 310 460 - 311 460 - 312 460 313 460 314 460 315 460 @@ -13868,24 +6791,12 @@ ny= 1536 317 460 318 460 319 460 - 320 460 - 321 460 - 322 460 - 1046 460 - 1047 460 - 1048 460 1049 460 1050 460 1051 460 1052 460 1053 460 1054 460 - 1055 460 - 1056 460 - 1057 460 - 1078 460 - 1079 460 - 1080 460 1081 460 1082 460 1083 460 @@ -13893,24 +6804,12 @@ ny= 1536 1085 460 1086 460 1087 460 - 1088 460 - 1089 460 - 1090 460 - 1814 460 - 1815 460 - 1816 460 1817 460 1818 460 1819 460 1820 460 1821 460 1822 460 - 1823 460 - 1824 460 - 1825 460 - 1846 460 - 1847 460 - 1848 460 1849 460 1850 460 1851 460 @@ -13918,24 +6817,12 @@ ny= 1536 1853 460 1854 460 1855 460 - 1856 460 - 1857 460 - 1858 460 - 2582 460 - 2583 460 - 2584 460 2585 460 2586 460 2587 460 2588 460 2589 460 2590 460 - 2591 460 - 2592 460 - 2593 460 - 2614 460 - 2615 460 - 2616 460 2617 460 2618 460 2619 460 @@ -13943,212 +6830,102 @@ ny= 1536 2621 460 2622 460 2623 460 - 2624 460 - 2625 460 - 2626 460 - 280 461 - 281 461 - 282 461 283 461 284 461 285 461 286 461 287 461 288 461 - 289 461 - 290 461 - 291 461 - 308 461 - 309 461 - 310 461 311 461 312 461 313 461 314 461 315 461 316 461 - 317 461 - 318 461 - 319 461 - 320 461 - 1048 461 - 1049 461 - 1050 461 1051 461 1052 461 1053 461 1054 461 1055 461 1056 461 - 1057 461 - 1058 461 - 1059 461 - 1076 461 - 1077 461 - 1078 461 1079 461 1080 461 1081 461 1082 461 1083 461 1084 461 - 1085 461 - 1086 461 - 1087 461 - 1088 461 - 1816 461 - 1817 461 - 1818 461 1819 461 1820 461 1821 461 1822 461 1823 461 1824 461 - 1825 461 - 1826 461 - 1827 461 - 1844 461 - 1845 461 - 1846 461 1847 461 1848 461 1849 461 1850 461 1851 461 1852 461 - 1853 461 - 1854 461 - 1855 461 - 1856 461 - 2584 461 - 2585 461 - 2586 461 2587 461 2588 461 2589 461 2590 461 2591 461 2592 461 - 2593 461 - 2594 461 - 2595 461 - 2612 461 - 2613 461 - 2614 461 2615 461 2616 461 2617 461 2618 461 2619 461 2620 461 - 2621 461 - 2622 461 - 2623 461 - 2624 461 - 282 462 - 283 462 - 284 462 285 462 286 462 287 462 288 462 289 462 290 462 - 291 462 - 292 462 - 293 462 - 294 462 - 306 462 - 307 462 - 308 462 309 462 310 462 311 462 312 462 313 462 314 462 - 315 462 - 316 462 - 317 462 - 1050 462 - 1051 462 - 1052 462 1053 462 1054 462 1055 462 1056 462 1057 462 1058 462 - 1059 462 - 1060 462 - 1061 462 - 1062 462 - 1074 462 - 1075 462 - 1076 462 1077 462 1078 462 1079 462 1080 462 1081 462 1082 462 - 1083 462 - 1084 462 - 1085 462 - 1818 462 - 1819 462 - 1820 462 1821 462 1822 462 1823 462 1824 462 1825 462 1826 462 - 1827 462 - 1828 462 - 1829 462 - 1830 462 - 1842 462 - 1843 462 - 1844 462 1845 462 1846 462 1847 462 1848 462 1849 462 1850 462 - 1851 462 - 1852 462 - 1853 462 - 2586 462 - 2587 462 - 2588 462 2589 462 2590 462 2591 462 2592 462 2593 462 2594 462 - 2595 462 - 2596 462 - 2597 462 - 2598 462 - 2610 462 - 2611 462 - 2612 462 2613 462 2614 462 2615 462 2616 462 2617 462 2618 462 - 2619 462 - 2620 462 - 2621 462 - 284 463 - 285 463 - 286 463 287 463 288 463 289 463 @@ -14156,24 +6933,12 @@ ny= 1536 291 463 292 463 293 463 - 294 463 - 295 463 - 296 463 - 304 463 - 305 463 - 306 463 307 463 308 463 309 463 310 463 311 463 312 463 - 313 463 - 314 463 - 315 463 - 1052 463 - 1053 463 - 1054 463 1055 463 1056 463 1057 463 @@ -14181,24 +6946,12 @@ ny= 1536 1059 463 1060 463 1061 463 - 1062 463 - 1063 463 - 1064 463 - 1072 463 - 1073 463 - 1074 463 1075 463 1076 463 1077 463 1078 463 1079 463 1080 463 - 1081 463 - 1082 463 - 1083 463 - 1820 463 - 1821 463 - 1822 463 1823 463 1824 463 1825 463 @@ -14206,24 +6959,12 @@ ny= 1536 1827 463 1828 463 1829 463 - 1830 463 - 1831 463 - 1832 463 - 1840 463 - 1841 463 - 1842 463 1843 463 1844 463 1845 463 1846 463 1847 463 1848 463 - 1849 463 - 1850 463 - 1851 463 - 2588 463 - 2589 463 - 2590 463 2591 463 2592 463 2593 463 @@ -14231,216 +6972,104 @@ ny= 1536 2595 463 2596 463 2597 463 - 2598 463 - 2599 463 - 2600 463 - 2608 463 - 2609 463 - 2610 463 2611 463 2612 463 2613 463 2614 463 2615 463 2616 463 - 2617 463 - 2618 463 - 2619 463 - 286 464 - 287 464 - 288 464 - 289 464 290 464 291 464 292 464 293 464 294 464 295 464 - 296 464 - 297 464 - 298 464 - 302 464 - 303 464 - 304 464 305 464 306 464 307 464 308 464 309 464 310 464 - 311 464 - 312 464 - 313 464 - 1054 464 - 1055 464 - 1056 464 - 1057 464 1058 464 1059 464 1060 464 1061 464 1062 464 1063 464 - 1064 464 - 1065 464 - 1066 464 - 1070 464 - 1071 464 - 1072 464 1073 464 1074 464 1075 464 1076 464 1077 464 1078 464 - 1079 464 - 1080 464 - 1081 464 - 1822 464 - 1823 464 - 1824 464 - 1825 464 1826 464 1827 464 1828 464 1829 464 1830 464 1831 464 - 1832 464 - 1833 464 - 1834 464 - 1838 464 - 1839 464 - 1840 464 1841 464 1842 464 1843 464 1844 464 1845 464 1846 464 - 1847 464 - 1848 464 - 1849 464 - 2590 464 - 2591 464 - 2592 464 - 2593 464 2594 464 2595 464 2596 464 2597 464 2598 464 2599 464 - 2600 464 - 2601 464 - 2602 464 - 2606 464 - 2607 464 - 2608 464 2609 464 2610 464 2611 464 2612 464 2613 464 2614 464 - 2615 464 - 2616 464 - 2617 464 - 289 465 - 290 465 - 291 465 292 465 293 465 294 465 295 465 296 465 297 465 - 298 465 - 299 465 - 300 465 - 301 465 - 302 465 303 465 304 465 305 465 306 465 307 465 - 308 465 - 309 465 - 310 465 - 311 465 - 1057 465 - 1058 465 - 1059 465 1060 465 1061 465 1062 465 1063 465 1064 465 1065 465 - 1066 465 - 1067 465 - 1068 465 - 1069 465 - 1070 465 1071 465 1072 465 1073 465 1074 465 1075 465 - 1076 465 - 1077 465 - 1078 465 - 1079 465 - 1825 465 - 1826 465 - 1827 465 1828 465 1829 465 1830 465 1831 465 1832 465 1833 465 - 1834 465 - 1835 465 - 1836 465 - 1837 465 - 1838 465 1839 465 1840 465 1841 465 1842 465 1843 465 - 1844 465 - 1845 465 - 1846 465 - 1847 465 - 2593 465 - 2594 465 - 2595 465 2596 465 2597 465 2598 465 2599 465 2600 465 2601 465 - 2602 465 - 2603 465 - 2604 465 - 2605 465 - 2606 465 2607 465 2608 465 2609 465 2610 465 2611 465 - 2612 465 - 2613 465 - 2614 465 - 2615 465 - 291 466 - 292 466 - 293 466 294 466 295 466 296 466 @@ -14453,12 +7082,6 @@ ny= 1536 303 466 304 466 305 466 - 306 466 - 307 466 - 308 466 - 1059 466 - 1060 466 - 1061 466 1062 466 1063 466 1064 466 @@ -14471,12 +7094,6 @@ ny= 1536 1071 466 1072 466 1073 466 - 1074 466 - 1075 466 - 1076 466 - 1827 466 - 1828 466 - 1829 466 1830 466 1831 466 1832 466 @@ -14489,12 +7106,6 @@ ny= 1536 1839 466 1840 466 1841 466 - 1842 466 - 1843 466 - 1844 466 - 2595 466 - 2596 466 - 2597 466 2598 466 2599 466 2600 466 @@ -14507,12 +7118,6 @@ ny= 1536 2607 466 2608 466 2609 466 - 2610 466 - 2611 466 - 2612 466 - 293 467 - 294 467 - 295 467 296 467 297 467 298 467 @@ -14521,12 +7126,6 @@ ny= 1536 301 467 302 467 303 467 - 304 467 - 305 467 - 306 467 - 1061 467 - 1062 467 - 1063 467 1064 467 1065 467 1066 467 @@ -14535,12 +7134,6 @@ ny= 1536 1069 467 1070 467 1071 467 - 1072 467 - 1073 467 - 1074 467 - 1829 467 - 1830 467 - 1831 467 1832 467 1833 467 1834 467 @@ -14549,12 +7142,6 @@ ny= 1536 1837 467 1838 467 1839 467 - 1840 467 - 1841 467 - 1842 467 - 2597 467 - 2598 467 - 2599 467 2600 467 2601 467 2602 467 @@ -14563,793 +7150,390 @@ ny= 1536 2605 467 2606 467 2607 467 - 2608 467 - 2609 467 - 2610 467 - 295 468 - 296 468 - 297 468 298 468 299 468 300 468 301 468 - 302 468 - 303 468 - 304 468 - 1063 468 - 1064 468 - 1065 468 1066 468 1067 468 1068 468 1069 468 - 1070 468 - 1071 468 - 1072 468 - 1831 468 - 1832 468 - 1833 468 1834 468 1835 468 1836 468 1837 468 - 1838 468 - 1839 468 - 1840 468 - 2599 468 - 2600 468 - 2601 468 2602 468 2603 468 2604 468 2605 468 - 2606 468 - 2607 468 - 2608 468 - 297 469 - 298 469 299 469 300 469 - 301 469 - 302 469 - 1065 469 - 1066 469 1067 469 1068 469 - 1069 469 - 1070 469 - 1833 469 - 1834 469 1835 469 1836 469 - 1837 469 - 1838 469 - 2601 469 - 2602 469 2603 469 2604 469 - 2605 469 - 2606 469 - 298 470 299 470 300 470 - 301 470 - 1066 470 1067 470 1068 470 - 1069 470 - 1834 470 1835 470 1836 470 - 1837 470 - 2602 470 2603 470 2604 470 - 2605 470 - 298 471 299 471 300 471 - 301 471 - 1066 471 1067 471 1068 471 - 1069 471 - 1834 471 1835 471 1836 471 - 1837 471 - 2602 471 2603 471 2604 471 - 2605 471 - 298 472 299 472 300 472 - 301 472 - 1066 472 1067 472 1068 472 - 1069 472 - 1834 472 1835 472 1836 472 - 1837 472 - 2602 472 2603 472 2604 472 - 2605 472 - 298 473 299 473 300 473 - 301 473 - 1066 473 1067 473 1068 473 - 1069 473 - 1834 473 1835 473 1836 473 - 1837 473 - 2602 473 2603 473 2604 473 - 2605 473 - 298 474 299 474 300 474 - 301 474 - 1066 474 1067 474 1068 474 - 1069 474 - 1834 474 1835 474 1836 474 - 1837 474 - 2602 474 2603 474 2604 474 - 2605 474 - 298 475 299 475 300 475 - 301 475 - 1066 475 1067 475 1068 475 - 1069 475 - 1834 475 1835 475 1836 475 - 1837 475 - 2602 475 2603 475 2604 475 - 2605 475 - 298 476 299 476 300 476 - 301 476 - 1066 476 1067 476 1068 476 - 1069 476 - 1834 476 1835 476 1836 476 - 1837 476 - 2602 476 2603 476 2604 476 - 2605 476 - 298 477 299 477 300 477 - 301 477 - 1066 477 1067 477 1068 477 - 1069 477 - 1834 477 1835 477 1836 477 - 1837 477 - 2602 477 2603 477 2604 477 - 2605 477 - 298 478 299 478 300 478 - 301 478 - 1066 478 1067 478 1068 478 - 1069 478 - 1834 478 1835 478 1836 478 - 1837 478 - 2602 478 2603 478 2604 478 - 2605 478 - 298 479 299 479 300 479 - 301 479 - 1066 479 1067 479 1068 479 - 1069 479 - 1834 479 1835 479 1836 479 - 1837 479 - 2602 479 2603 479 2604 479 - 2605 479 - 298 480 299 480 300 480 - 301 480 - 1066 480 1067 480 1068 480 - 1069 480 - 1834 480 1835 480 1836 480 - 1837 480 - 2602 480 2603 480 2604 480 - 2605 480 - 298 481 299 481 300 481 - 301 481 - 1066 481 1067 481 1068 481 - 1069 481 - 1834 481 1835 481 1836 481 - 1837 481 - 2602 481 2603 481 2604 481 - 2605 481 - 298 482 299 482 300 482 - 301 482 - 1066 482 1067 482 1068 482 - 1069 482 - 1834 482 1835 482 1836 482 - 1837 482 - 2602 482 2603 482 2604 482 - 2605 482 - 298 483 299 483 300 483 - 301 483 - 1066 483 1067 483 1068 483 - 1069 483 - 1834 483 1835 483 1836 483 - 1837 483 - 2602 483 2603 483 2604 483 - 2605 483 - 298 484 299 484 300 484 - 301 484 - 1066 484 1067 484 1068 484 - 1069 484 - 1834 484 1835 484 1836 484 - 1837 484 - 2602 484 2603 484 2604 484 - 2605 484 - 298 485 299 485 300 485 - 301 485 - 1066 485 1067 485 1068 485 - 1069 485 - 1834 485 1835 485 1836 485 - 1837 485 - 2602 485 2603 485 2604 485 - 2605 485 - 298 486 299 486 300 486 - 301 486 - 1066 486 1067 486 1068 486 - 1069 486 - 1834 486 1835 486 1836 486 - 1837 486 - 2602 486 2603 486 2604 486 - 2605 486 - 298 487 299 487 300 487 - 301 487 - 1066 487 1067 487 1068 487 - 1069 487 - 1834 487 1835 487 1836 487 - 1837 487 - 2602 487 2603 487 2604 487 - 2605 487 - 298 488 299 488 300 488 - 301 488 - 1066 488 1067 488 1068 488 - 1069 488 - 1834 488 1835 488 1836 488 - 1837 488 - 2602 488 2603 488 2604 488 - 2605 488 - 298 489 299 489 300 489 - 301 489 - 1066 489 1067 489 1068 489 - 1069 489 - 1834 489 1835 489 1836 489 - 1837 489 - 2602 489 2603 489 2604 489 - 2605 489 - 298 490 299 490 300 490 - 301 490 - 1066 490 1067 490 1068 490 - 1069 490 - 1834 490 1835 490 1836 490 - 1837 490 - 2602 490 2603 490 2604 490 - 2605 490 - 298 491 299 491 300 491 - 301 491 - 1066 491 1067 491 1068 491 - 1069 491 - 1834 491 1835 491 1836 491 - 1837 491 - 2602 491 2603 491 2604 491 - 2605 491 - 298 492 299 492 300 492 - 301 492 - 1066 492 1067 492 1068 492 - 1069 492 - 1834 492 1835 492 1836 492 - 1837 492 - 2602 492 2603 492 2604 492 - 2605 492 - 298 493 299 493 300 493 - 301 493 - 1066 493 1067 493 1068 493 - 1069 493 - 1834 493 1835 493 1836 493 - 1837 493 - 2602 493 2603 493 2604 493 - 2605 493 - 298 494 299 494 300 494 - 301 494 - 1066 494 1067 494 1068 494 - 1069 494 - 1834 494 1835 494 1836 494 - 1837 494 - 2602 494 2603 494 2604 494 - 2605 494 - 298 495 299 495 300 495 - 301 495 - 1066 495 1067 495 1068 495 - 1069 495 - 1834 495 1835 495 1836 495 - 1837 495 - 2602 495 2603 495 2604 495 - 2605 495 - 298 496 299 496 300 496 - 301 496 - 1066 496 1067 496 1068 496 - 1069 496 - 1834 496 1835 496 1836 496 - 1837 496 - 2602 496 2603 496 2604 496 - 2605 496 - 298 497 299 497 300 497 - 301 497 - 1066 497 1067 497 1068 497 - 1069 497 - 1834 497 1835 497 1836 497 - 1837 497 - 2602 497 2603 497 2604 497 - 2605 497 - 298 498 299 498 300 498 - 301 498 - 1066 498 1067 498 1068 498 - 1069 498 - 1834 498 1835 498 1836 498 - 1837 498 - 2602 498 2603 498 2604 498 - 2605 498 - 298 499 299 499 300 499 - 301 499 - 1066 499 1067 499 1068 499 - 1069 499 - 1834 499 1835 499 1836 499 - 1837 499 - 2602 499 2603 499 2604 499 - 2605 499 - 298 500 299 500 300 500 - 301 500 - 1066 500 1067 500 1068 500 - 1069 500 - 1834 500 1835 500 1836 500 - 1837 500 - 2602 500 2603 500 2604 500 - 2605 500 - 298 501 299 501 300 501 - 301 501 - 1066 501 1067 501 1068 501 - 1069 501 - 1834 501 1835 501 1836 501 - 1837 501 - 2602 501 2603 501 2604 501 - 2605 501 - 298 502 299 502 300 502 - 301 502 - 1066 502 1067 502 1068 502 - 1069 502 - 1834 502 1835 502 1836 502 - 1837 502 - 2602 502 2603 502 2604 502 - 2605 502 - 298 503 299 503 300 503 - 301 503 - 1066 503 1067 503 1068 503 - 1069 503 - 1834 503 1835 503 1836 503 - 1837 503 - 2602 503 2603 503 2604 503 - 2605 503 - 298 504 299 504 300 504 - 301 504 - 1066 504 1067 504 1068 504 - 1069 504 - 1834 504 1835 504 1836 504 - 1837 504 - 2602 504 2603 504 2604 504 - 2605 504 - 298 505 299 505 300 505 - 301 505 - 1066 505 1067 505 1068 505 - 1069 505 - 1834 505 1835 505 1836 505 - 1837 505 - 2602 505 2603 505 2604 505 - 2605 505 - 298 506 299 506 300 506 - 301 506 - 1066 506 1067 506 1068 506 - 1069 506 - 1834 506 1835 506 1836 506 - 1837 506 - 2602 506 2603 506 2604 506 - 2605 506 - 298 507 299 507 300 507 - 301 507 - 1066 507 1067 507 1068 507 - 1069 507 - 1834 507 1835 507 1836 507 - 1837 507 - 2602 507 2603 507 2604 507 - 2605 507 - 298 508 299 508 300 508 - 301 508 - 1066 508 1067 508 1068 508 - 1069 508 - 1834 508 1835 508 1836 508 - 1837 508 - 2602 508 2603 508 2604 508 - 2605 508 - 298 509 299 509 300 509 - 301 509 - 1066 509 1067 509 1068 509 - 1069 509 - 1834 509 1835 509 1836 509 - 1837 509 - 2602 509 2603 509 2604 509 - 2605 509 - 298 510 299 510 300 510 - 301 510 - 1066 510 1067 510 1068 510 - 1069 510 - 1834 510 1835 510 1836 510 - 1837 510 - 2602 510 2603 510 2604 510 - 2605 510 - 298 511 299 511 300 511 - 301 511 - 1066 511 1067 511 1068 511 - 1069 511 - 1834 511 1835 511 1836 511 - 1837 511 - 2602 511 2603 511 2604 511 - 2605 511 - 298 512 299 512 300 512 - 301 512 - 1066 512 1067 512 1068 512 - 1069 512 - 1834 512 1835 512 1836 512 - 1837 512 - 2602 512 2603 512 2604 512 - 2605 512 - 298 513 299 513 300 513 - 301 513 - 1066 513 1067 513 1068 513 - 1069 513 - 1834 513 1835 513 1836 513 - 1837 513 - 2602 513 2603 513 2604 513 - 2605 513 - 298 514 299 514 300 514 - 301 514 - 1066 514 1067 514 1068 514 - 1069 514 - 1834 514 1835 514 1836 514 - 1837 514 - 2602 514 2603 514 2604 514 - 2605 514 299 515 300 515 1067 515 @@ -19414,793 +11598,390 @@ ny= 1536 1836 1022 2603 1022 2604 1022 - 298 1023 299 1023 300 1023 - 301 1023 - 1066 1023 1067 1023 1068 1023 - 1069 1023 - 1834 1023 1835 1023 1836 1023 - 1837 1023 - 2602 1023 2603 1023 2604 1023 - 2605 1023 - 298 1024 299 1024 300 1024 - 301 1024 - 1066 1024 1067 1024 1068 1024 - 1069 1024 - 1834 1024 1835 1024 1836 1024 - 1837 1024 - 2602 1024 2603 1024 2604 1024 - 2605 1024 - 298 1025 299 1025 300 1025 - 301 1025 - 1066 1025 1067 1025 1068 1025 - 1069 1025 - 1834 1025 1835 1025 1836 1025 - 1837 1025 - 2602 1025 2603 1025 2604 1025 - 2605 1025 - 298 1026 299 1026 300 1026 - 301 1026 - 1066 1026 1067 1026 1068 1026 - 1069 1026 - 1834 1026 1835 1026 1836 1026 - 1837 1026 - 2602 1026 2603 1026 2604 1026 - 2605 1026 - 298 1027 299 1027 300 1027 - 301 1027 - 1066 1027 1067 1027 1068 1027 - 1069 1027 - 1834 1027 1835 1027 1836 1027 - 1837 1027 - 2602 1027 2603 1027 2604 1027 - 2605 1027 - 298 1028 299 1028 300 1028 - 301 1028 - 1066 1028 1067 1028 1068 1028 - 1069 1028 - 1834 1028 1835 1028 1836 1028 - 1837 1028 - 2602 1028 2603 1028 2604 1028 - 2605 1028 - 298 1029 299 1029 300 1029 - 301 1029 - 1066 1029 1067 1029 1068 1029 - 1069 1029 - 1834 1029 1835 1029 1836 1029 - 1837 1029 - 2602 1029 2603 1029 2604 1029 - 2605 1029 - 298 1030 299 1030 300 1030 - 301 1030 - 1066 1030 1067 1030 1068 1030 - 1069 1030 - 1834 1030 1835 1030 1836 1030 - 1837 1030 - 2602 1030 2603 1030 2604 1030 - 2605 1030 - 298 1031 299 1031 300 1031 - 301 1031 - 1066 1031 1067 1031 1068 1031 - 1069 1031 - 1834 1031 1835 1031 1836 1031 - 1837 1031 - 2602 1031 2603 1031 2604 1031 - 2605 1031 - 298 1032 299 1032 300 1032 - 301 1032 - 1066 1032 1067 1032 1068 1032 - 1069 1032 - 1834 1032 1835 1032 1836 1032 - 1837 1032 - 2602 1032 2603 1032 2604 1032 - 2605 1032 - 298 1033 299 1033 300 1033 - 301 1033 - 1066 1033 1067 1033 1068 1033 - 1069 1033 - 1834 1033 1835 1033 1836 1033 - 1837 1033 - 2602 1033 2603 1033 2604 1033 - 2605 1033 - 298 1034 299 1034 300 1034 - 301 1034 - 1066 1034 1067 1034 1068 1034 - 1069 1034 - 1834 1034 1835 1034 1836 1034 - 1837 1034 - 2602 1034 2603 1034 2604 1034 - 2605 1034 - 298 1035 299 1035 300 1035 - 301 1035 - 1066 1035 1067 1035 1068 1035 - 1069 1035 - 1834 1035 1835 1035 1836 1035 - 1837 1035 - 2602 1035 2603 1035 2604 1035 - 2605 1035 - 298 1036 299 1036 300 1036 - 301 1036 - 1066 1036 1067 1036 1068 1036 - 1069 1036 - 1834 1036 1835 1036 1836 1036 - 1837 1036 - 2602 1036 2603 1036 2604 1036 - 2605 1036 - 298 1037 299 1037 300 1037 - 301 1037 - 1066 1037 1067 1037 1068 1037 - 1069 1037 - 1834 1037 1835 1037 1836 1037 - 1837 1037 - 2602 1037 2603 1037 2604 1037 - 2605 1037 - 298 1038 299 1038 300 1038 - 301 1038 - 1066 1038 1067 1038 1068 1038 - 1069 1038 - 1834 1038 1835 1038 1836 1038 - 1837 1038 - 2602 1038 2603 1038 2604 1038 - 2605 1038 - 298 1039 299 1039 300 1039 - 301 1039 - 1066 1039 1067 1039 1068 1039 - 1069 1039 - 1834 1039 1835 1039 1836 1039 - 1837 1039 - 2602 1039 2603 1039 2604 1039 - 2605 1039 - 298 1040 299 1040 300 1040 - 301 1040 - 1066 1040 1067 1040 1068 1040 - 1069 1040 - 1834 1040 1835 1040 1836 1040 - 1837 1040 - 2602 1040 2603 1040 2604 1040 - 2605 1040 - 298 1041 299 1041 300 1041 - 301 1041 - 1066 1041 1067 1041 1068 1041 - 1069 1041 - 1834 1041 1835 1041 1836 1041 - 1837 1041 - 2602 1041 2603 1041 2604 1041 - 2605 1041 - 298 1042 299 1042 300 1042 - 301 1042 - 1066 1042 1067 1042 1068 1042 - 1069 1042 - 1834 1042 1835 1042 1836 1042 - 1837 1042 - 2602 1042 2603 1042 2604 1042 - 2605 1042 - 298 1043 299 1043 300 1043 - 301 1043 - 1066 1043 1067 1043 1068 1043 - 1069 1043 - 1834 1043 1835 1043 1836 1043 - 1837 1043 - 2602 1043 2603 1043 2604 1043 - 2605 1043 - 298 1044 299 1044 300 1044 - 301 1044 - 1066 1044 1067 1044 1068 1044 - 1069 1044 - 1834 1044 1835 1044 1836 1044 - 1837 1044 - 2602 1044 2603 1044 2604 1044 - 2605 1044 - 298 1045 299 1045 300 1045 - 301 1045 - 1066 1045 1067 1045 1068 1045 - 1069 1045 - 1834 1045 1835 1045 1836 1045 - 1837 1045 - 2602 1045 2603 1045 2604 1045 - 2605 1045 - 298 1046 299 1046 300 1046 - 301 1046 - 1066 1046 1067 1046 1068 1046 - 1069 1046 - 1834 1046 1835 1046 1836 1046 - 1837 1046 - 2602 1046 2603 1046 2604 1046 - 2605 1046 - 298 1047 299 1047 300 1047 - 301 1047 - 1066 1047 1067 1047 1068 1047 - 1069 1047 - 1834 1047 1835 1047 1836 1047 - 1837 1047 - 2602 1047 2603 1047 2604 1047 - 2605 1047 - 298 1048 299 1048 300 1048 - 301 1048 - 1066 1048 1067 1048 1068 1048 - 1069 1048 - 1834 1048 1835 1048 1836 1048 - 1837 1048 - 2602 1048 2603 1048 2604 1048 - 2605 1048 - 298 1049 299 1049 300 1049 - 301 1049 - 1066 1049 1067 1049 1068 1049 - 1069 1049 - 1834 1049 1835 1049 1836 1049 - 1837 1049 - 2602 1049 2603 1049 2604 1049 - 2605 1049 - 298 1050 299 1050 300 1050 - 301 1050 - 1066 1050 1067 1050 1068 1050 - 1069 1050 - 1834 1050 1835 1050 1836 1050 - 1837 1050 - 2602 1050 2603 1050 2604 1050 - 2605 1050 - 298 1051 299 1051 300 1051 - 301 1051 - 1066 1051 1067 1051 1068 1051 - 1069 1051 - 1834 1051 1835 1051 1836 1051 - 1837 1051 - 2602 1051 2603 1051 2604 1051 - 2605 1051 - 298 1052 299 1052 300 1052 - 301 1052 - 1066 1052 1067 1052 1068 1052 - 1069 1052 - 1834 1052 1835 1052 1836 1052 - 1837 1052 - 2602 1052 2603 1052 2604 1052 - 2605 1052 - 298 1053 299 1053 300 1053 - 301 1053 - 1066 1053 1067 1053 1068 1053 - 1069 1053 - 1834 1053 1835 1053 1836 1053 - 1837 1053 - 2602 1053 2603 1053 2604 1053 - 2605 1053 - 298 1054 299 1054 300 1054 - 301 1054 - 1066 1054 1067 1054 1068 1054 - 1069 1054 - 1834 1054 1835 1054 1836 1054 - 1837 1054 - 2602 1054 2603 1054 2604 1054 - 2605 1054 - 298 1055 299 1055 300 1055 - 301 1055 - 1066 1055 1067 1055 1068 1055 - 1069 1055 - 1834 1055 1835 1055 1836 1055 - 1837 1055 - 2602 1055 2603 1055 2604 1055 - 2605 1055 - 298 1056 299 1056 300 1056 - 301 1056 - 1066 1056 1067 1056 1068 1056 - 1069 1056 - 1834 1056 1835 1056 1836 1056 - 1837 1056 - 2602 1056 2603 1056 2604 1056 - 2605 1056 - 298 1057 299 1057 300 1057 - 301 1057 - 1066 1057 1067 1057 1068 1057 - 1069 1057 - 1834 1057 1835 1057 1836 1057 - 1837 1057 - 2602 1057 2603 1057 2604 1057 - 2605 1057 - 298 1058 299 1058 300 1058 - 301 1058 - 1066 1058 1067 1058 1068 1058 - 1069 1058 - 1834 1058 1835 1058 1836 1058 - 1837 1058 - 2602 1058 2603 1058 2604 1058 - 2605 1058 - 298 1059 299 1059 300 1059 - 301 1059 - 1066 1059 1067 1059 1068 1059 - 1069 1059 - 1834 1059 1835 1059 1836 1059 - 1837 1059 - 2602 1059 2603 1059 2604 1059 - 2605 1059 - 298 1060 299 1060 300 1060 - 301 1060 - 1066 1060 1067 1060 1068 1060 - 1069 1060 - 1834 1060 1835 1060 1836 1060 - 1837 1060 - 2602 1060 2603 1060 2604 1060 - 2605 1060 - 298 1061 299 1061 300 1061 - 301 1061 - 1066 1061 1067 1061 1068 1061 - 1069 1061 - 1834 1061 1835 1061 1836 1061 - 1837 1061 - 2602 1061 2603 1061 2604 1061 - 2605 1061 - 298 1062 299 1062 300 1062 - 301 1062 - 1066 1062 1067 1062 1068 1062 - 1069 1062 - 1834 1062 1835 1062 1836 1062 - 1837 1062 - 2602 1062 2603 1062 2604 1062 - 2605 1062 - 298 1063 299 1063 300 1063 - 301 1063 - 1066 1063 1067 1063 1068 1063 - 1069 1063 - 1834 1063 1835 1063 1836 1063 - 1837 1063 - 2602 1063 2603 1063 2604 1063 - 2605 1063 - 298 1064 299 1064 300 1064 - 301 1064 - 1066 1064 1067 1064 1068 1064 - 1069 1064 - 1834 1064 1835 1064 1836 1064 - 1837 1064 - 2602 1064 2603 1064 2604 1064 - 2605 1064 - 298 1065 299 1065 300 1065 - 301 1065 - 1066 1065 1067 1065 1068 1065 - 1069 1065 - 1834 1065 1835 1065 1836 1065 - 1837 1065 - 2602 1065 2603 1065 2604 1065 - 2605 1065 - 298 1066 299 1066 300 1066 - 301 1066 - 1066 1066 1067 1066 1068 1066 - 1069 1066 - 1834 1066 1835 1066 1836 1066 - 1837 1066 - 2602 1066 2603 1066 2604 1066 - 2605 1066 - 298 1067 299 1067 300 1067 - 301 1067 - 1066 1067 1067 1067 1068 1067 - 1069 1067 - 1834 1067 1835 1067 1836 1067 - 1837 1067 - 2602 1067 2603 1067 2604 1067 - 2605 1067 - 297 1068 - 298 1068 299 1068 300 1068 - 301 1068 - 302 1068 - 1065 1068 - 1066 1068 1067 1068 1068 1068 - 1069 1068 - 1070 1068 - 1833 1068 - 1834 1068 1835 1068 1836 1068 - 1837 1068 - 1838 1068 - 2601 1068 - 2602 1068 2603 1068 2604 1068 - 2605 1068 - 2606 1068 - 295 1069 - 296 1069 - 297 1069 298 1069 299 1069 300 1069 301 1069 - 302 1069 - 303 1069 - 304 1069 - 1063 1069 - 1064 1069 - 1065 1069 1066 1069 1067 1069 1068 1069 1069 1069 - 1070 1069 - 1071 1069 - 1072 1069 - 1831 1069 - 1832 1069 - 1833 1069 1834 1069 1835 1069 1836 1069 1837 1069 - 1838 1069 - 1839 1069 - 1840 1069 - 2599 1069 - 2600 1069 - 2601 1069 2602 1069 2603 1069 2604 1069 2605 1069 - 2606 1069 - 2607 1069 - 2608 1069 - 293 1070 - 294 1070 - 295 1070 296 1070 297 1070 298 1070 @@ -20209,12 +11990,6 @@ ny= 1536 301 1070 302 1070 303 1070 - 304 1070 - 305 1070 - 306 1070 - 1061 1070 - 1062 1070 - 1063 1070 1064 1070 1065 1070 1066 1070 @@ -20223,12 +11998,6 @@ ny= 1536 1069 1070 1070 1070 1071 1070 - 1072 1070 - 1073 1070 - 1074 1070 - 1829 1070 - 1830 1070 - 1831 1070 1832 1070 1833 1070 1834 1070 @@ -20237,12 +12006,6 @@ ny= 1536 1837 1070 1838 1070 1839 1070 - 1840 1070 - 1841 1070 - 1842 1070 - 2597 1070 - 2598 1070 - 2599 1070 2600 1070 2601 1070 2602 1070 @@ -20251,12 +12014,6 @@ ny= 1536 2605 1070 2606 1070 2607 1070 - 2608 1070 - 2609 1070 - 2610 1070 - 291 1071 - 292 1071 - 293 1071 294 1071 295 1071 296 1071 @@ -20269,12 +12026,6 @@ ny= 1536 303 1071 304 1071 305 1071 - 306 1071 - 307 1071 - 308 1071 - 1059 1071 - 1060 1071 - 1061 1071 1062 1071 1063 1071 1064 1071 @@ -20287,12 +12038,6 @@ ny= 1536 1071 1071 1072 1071 1073 1071 - 1074 1071 - 1075 1071 - 1076 1071 - 1827 1071 - 1828 1071 - 1829 1071 1830 1071 1831 1071 1832 1071 @@ -20305,12 +12050,6 @@ ny= 1536 1839 1071 1840 1071 1841 1071 - 1842 1071 - 1843 1071 - 1844 1071 - 2595 1071 - 2596 1071 - 2597 1071 2598 1071 2599 1071 2600 1071 @@ -20323,204 +12062,98 @@ ny= 1536 2607 1071 2608 1071 2609 1071 - 2610 1071 - 2611 1071 - 2612 1071 - 289 1072 - 290 1072 - 291 1072 292 1072 293 1072 294 1072 295 1072 296 1072 297 1072 - 298 1072 - 299 1072 - 300 1072 - 301 1072 - 302 1072 303 1072 304 1072 305 1072 306 1072 307 1072 - 308 1072 - 309 1072 - 310 1072 - 311 1072 - 1057 1072 - 1058 1072 - 1059 1072 1060 1072 1061 1072 1062 1072 1063 1072 1064 1072 1065 1072 - 1066 1072 - 1067 1072 - 1068 1072 - 1069 1072 - 1070 1072 1071 1072 1072 1072 1073 1072 1074 1072 1075 1072 - 1076 1072 - 1077 1072 - 1078 1072 - 1079 1072 - 1825 1072 - 1826 1072 - 1827 1072 1828 1072 1829 1072 1830 1072 1831 1072 1832 1072 1833 1072 - 1834 1072 - 1835 1072 - 1836 1072 - 1837 1072 - 1838 1072 1839 1072 1840 1072 1841 1072 1842 1072 1843 1072 - 1844 1072 - 1845 1072 - 1846 1072 - 1847 1072 - 2593 1072 - 2594 1072 - 2595 1072 2596 1072 2597 1072 2598 1072 2599 1072 2600 1072 2601 1072 - 2602 1072 - 2603 1072 - 2604 1072 - 2605 1072 - 2606 1072 2607 1072 2608 1072 2609 1072 2610 1072 2611 1072 - 2612 1072 - 2613 1072 - 2614 1072 - 2615 1072 - 286 1073 - 287 1073 - 288 1073 - 289 1073 290 1073 291 1073 292 1073 293 1073 294 1073 295 1073 - 296 1073 - 297 1073 - 298 1073 - 302 1073 - 303 1073 - 304 1073 305 1073 306 1073 307 1073 308 1073 309 1073 310 1073 - 311 1073 - 312 1073 - 313 1073 - 1054 1073 - 1055 1073 - 1056 1073 - 1057 1073 1058 1073 1059 1073 1060 1073 1061 1073 1062 1073 1063 1073 - 1064 1073 - 1065 1073 - 1066 1073 - 1070 1073 - 1071 1073 - 1072 1073 1073 1073 1074 1073 1075 1073 1076 1073 1077 1073 1078 1073 - 1079 1073 - 1080 1073 - 1081 1073 - 1822 1073 - 1823 1073 - 1824 1073 - 1825 1073 1826 1073 1827 1073 1828 1073 1829 1073 1830 1073 1831 1073 - 1832 1073 - 1833 1073 - 1834 1073 - 1838 1073 - 1839 1073 - 1840 1073 1841 1073 1842 1073 1843 1073 1844 1073 1845 1073 1846 1073 - 1847 1073 - 1848 1073 - 1849 1073 - 2590 1073 - 2591 1073 - 2592 1073 - 2593 1073 2594 1073 2595 1073 2596 1073 2597 1073 2598 1073 2599 1073 - 2600 1073 - 2601 1073 - 2602 1073 - 2606 1073 - 2607 1073 - 2608 1073 2609 1073 2610 1073 2611 1073 2612 1073 2613 1073 2614 1073 - 2615 1073 - 2616 1073 - 2617 1073 - 284 1074 - 285 1074 - 286 1074 287 1074 288 1074 289 1074 @@ -20528,24 +12161,12 @@ ny= 1536 291 1074 292 1074 293 1074 - 294 1074 - 295 1074 - 296 1074 - 304 1074 - 305 1074 - 306 1074 307 1074 308 1074 309 1074 310 1074 311 1074 312 1074 - 313 1074 - 314 1074 - 315 1074 - 1052 1074 - 1053 1074 - 1054 1074 1055 1074 1056 1074 1057 1074 @@ -20553,24 +12174,12 @@ ny= 1536 1059 1074 1060 1074 1061 1074 - 1062 1074 - 1063 1074 - 1064 1074 - 1072 1074 - 1073 1074 - 1074 1074 1075 1074 1076 1074 1077 1074 1078 1074 1079 1074 1080 1074 - 1081 1074 - 1082 1074 - 1083 1074 - 1820 1074 - 1821 1074 - 1822 1074 1823 1074 1824 1074 1825 1074 @@ -20578,24 +12187,12 @@ ny= 1536 1827 1074 1828 1074 1829 1074 - 1830 1074 - 1831 1074 - 1832 1074 - 1840 1074 - 1841 1074 - 1842 1074 1843 1074 1844 1074 1845 1074 1846 1074 1847 1074 1848 1074 - 1849 1074 - 1850 1074 - 1851 1074 - 2588 1074 - 2589 1074 - 2590 1074 2591 1074 2592 1074 2593 1074 @@ -20603,236 +12200,114 @@ ny= 1536 2595 1074 2596 1074 2597 1074 - 2598 1074 - 2599 1074 - 2600 1074 - 2608 1074 - 2609 1074 - 2610 1074 2611 1074 2612 1074 2613 1074 2614 1074 2615 1074 2616 1074 - 2617 1074 - 2618 1074 - 2619 1074 - 282 1075 - 283 1075 - 284 1075 285 1075 286 1075 287 1075 288 1075 289 1075 290 1075 - 291 1075 - 292 1075 - 293 1075 - 294 1075 - 306 1075 - 307 1075 - 308 1075 309 1075 310 1075 311 1075 312 1075 313 1075 314 1075 - 315 1075 - 316 1075 - 317 1075 - 1050 1075 - 1051 1075 - 1052 1075 1053 1075 1054 1075 1055 1075 1056 1075 1057 1075 1058 1075 - 1059 1075 - 1060 1075 - 1061 1075 - 1062 1075 - 1074 1075 - 1075 1075 - 1076 1075 1077 1075 1078 1075 1079 1075 1080 1075 1081 1075 1082 1075 - 1083 1075 - 1084 1075 - 1085 1075 - 1818 1075 - 1819 1075 - 1820 1075 1821 1075 1822 1075 1823 1075 1824 1075 1825 1075 1826 1075 - 1827 1075 - 1828 1075 - 1829 1075 - 1830 1075 - 1842 1075 - 1843 1075 - 1844 1075 1845 1075 1846 1075 1847 1075 1848 1075 1849 1075 1850 1075 - 1851 1075 - 1852 1075 - 1853 1075 - 2586 1075 - 2587 1075 - 2588 1075 2589 1075 2590 1075 2591 1075 2592 1075 2593 1075 2594 1075 - 2595 1075 - 2596 1075 - 2597 1075 - 2598 1075 - 2610 1075 - 2611 1075 - 2612 1075 2613 1075 2614 1075 2615 1075 2616 1075 2617 1075 2618 1075 - 2619 1075 - 2620 1075 - 2621 1075 - 280 1076 - 281 1076 - 282 1076 283 1076 284 1076 285 1076 286 1076 287 1076 288 1076 - 289 1076 - 290 1076 - 291 1076 - 308 1076 - 309 1076 - 310 1076 311 1076 312 1076 313 1076 314 1076 315 1076 316 1076 - 317 1076 - 318 1076 - 319 1076 - 320 1076 - 1048 1076 - 1049 1076 - 1050 1076 1051 1076 1052 1076 1053 1076 1054 1076 1055 1076 1056 1076 - 1057 1076 - 1058 1076 - 1059 1076 - 1076 1076 - 1077 1076 - 1078 1076 1079 1076 1080 1076 1081 1076 1082 1076 1083 1076 1084 1076 - 1085 1076 - 1086 1076 - 1087 1076 - 1088 1076 - 1816 1076 - 1817 1076 - 1818 1076 1819 1076 1820 1076 1821 1076 1822 1076 1823 1076 1824 1076 - 1825 1076 - 1826 1076 - 1827 1076 - 1844 1076 - 1845 1076 - 1846 1076 1847 1076 1848 1076 1849 1076 1850 1076 1851 1076 1852 1076 - 1853 1076 - 1854 1076 - 1855 1076 - 1856 1076 - 2584 1076 - 2585 1076 - 2586 1076 2587 1076 2588 1076 2589 1076 2590 1076 2591 1076 2592 1076 - 2593 1076 - 2594 1076 - 2595 1076 - 2612 1076 - 2613 1076 - 2614 1076 2615 1076 2616 1076 2617 1076 2618 1076 2619 1076 2620 1076 - 2621 1076 - 2622 1076 - 2623 1076 - 2624 1076 - 278 1077 - 279 1077 - 280 1077 281 1077 282 1077 283 1077 284 1077 285 1077 286 1077 - 287 1077 - 288 1077 - 289 1077 - 310 1077 - 311 1077 - 312 1077 313 1077 314 1077 315 1077 @@ -20840,24 +12315,12 @@ ny= 1536 317 1077 318 1077 319 1077 - 320 1077 - 321 1077 - 322 1077 - 1046 1077 - 1047 1077 - 1048 1077 1049 1077 1050 1077 1051 1077 1052 1077 1053 1077 1054 1077 - 1055 1077 - 1056 1077 - 1057 1077 - 1078 1077 - 1079 1077 - 1080 1077 1081 1077 1082 1077 1083 1077 @@ -20865,24 +12328,12 @@ ny= 1536 1085 1077 1086 1077 1087 1077 - 1088 1077 - 1089 1077 - 1090 1077 - 1814 1077 - 1815 1077 - 1816 1077 1817 1077 1818 1077 1819 1077 1820 1077 1821 1077 1822 1077 - 1823 1077 - 1824 1077 - 1825 1077 - 1846 1077 - 1847 1077 - 1848 1077 1849 1077 1850 1077 1851 1077 @@ -20890,24 +12341,12 @@ ny= 1536 1853 1077 1854 1077 1855 1077 - 1856 1077 - 1857 1077 - 1858 1077 - 2582 1077 - 2583 1077 - 2584 1077 2585 1077 2586 1077 2587 1077 2588 1077 2589 1077 2590 1077 - 2591 1077 - 2592 1077 - 2593 1077 - 2614 1077 - 2615 1077 - 2616 1077 2617 1077 2618 1077 2619 1077 @@ -20915,232 +12354,108 @@ ny= 1536 2621 1077 2622 1077 2623 1077 - 2624 1077 - 2625 1077 - 2626 1077 - 275 1078 - 276 1078 - 277 1078 - 278 1078 279 1078 280 1078 281 1078 282 1078 283 1078 284 1078 - 285 1078 - 286 1078 - 287 1078 - 312 1078 - 313 1078 - 314 1078 - 315 1078 316 1078 317 1078 318 1078 319 1078 320 1078 321 1078 - 322 1078 - 323 1078 - 324 1078 - 1043 1078 - 1044 1078 - 1045 1078 - 1046 1078 1047 1078 1048 1078 1049 1078 1050 1078 1051 1078 1052 1078 - 1053 1078 - 1054 1078 - 1055 1078 - 1080 1078 - 1081 1078 - 1082 1078 - 1083 1078 1084 1078 1085 1078 1086 1078 1087 1078 1088 1078 1089 1078 - 1090 1078 - 1091 1078 - 1092 1078 - 1811 1078 - 1812 1078 - 1813 1078 - 1814 1078 1815 1078 1816 1078 1817 1078 1818 1078 1819 1078 1820 1078 - 1821 1078 - 1822 1078 - 1823 1078 - 1848 1078 - 1849 1078 - 1850 1078 - 1851 1078 1852 1078 1853 1078 1854 1078 1855 1078 1856 1078 1857 1078 - 1858 1078 - 1859 1078 - 1860 1078 - 2579 1078 - 2580 1078 - 2581 1078 - 2582 1078 2583 1078 2584 1078 2585 1078 2586 1078 2587 1078 2588 1078 - 2589 1078 - 2590 1078 - 2591 1078 - 2616 1078 - 2617 1078 - 2618 1078 - 2619 1078 2620 1078 2621 1078 2622 1078 2623 1078 2624 1078 2625 1078 - 2626 1078 - 2627 1078 - 2628 1078 - 273 1079 - 274 1079 - 275 1079 276 1079 277 1079 278 1079 279 1079 280 1079 281 1079 - 282 1079 - 283 1079 - 284 1079 - 285 1079 - 315 1079 - 316 1079 - 317 1079 318 1079 319 1079 320 1079 321 1079 322 1079 323 1079 - 324 1079 - 325 1079 - 326 1079 - 327 1079 - 1041 1079 - 1042 1079 - 1043 1079 1044 1079 1045 1079 1046 1079 1047 1079 1048 1079 1049 1079 - 1050 1079 - 1051 1079 - 1052 1079 - 1053 1079 - 1083 1079 - 1084 1079 - 1085 1079 1086 1079 1087 1079 1088 1079 1089 1079 1090 1079 1091 1079 - 1092 1079 - 1093 1079 - 1094 1079 - 1095 1079 - 1809 1079 - 1810 1079 - 1811 1079 1812 1079 1813 1079 1814 1079 1815 1079 1816 1079 1817 1079 - 1818 1079 - 1819 1079 - 1820 1079 - 1821 1079 - 1851 1079 - 1852 1079 - 1853 1079 1854 1079 1855 1079 1856 1079 1857 1079 1858 1079 1859 1079 - 1860 1079 - 1861 1079 - 1862 1079 - 1863 1079 - 2577 1079 - 2578 1079 - 2579 1079 2580 1079 2581 1079 2582 1079 2583 1079 2584 1079 2585 1079 - 2586 1079 - 2587 1079 - 2588 1079 - 2589 1079 - 2619 1079 - 2620 1079 - 2621 1079 2622 1079 2623 1079 2624 1079 2625 1079 2626 1079 2627 1079 - 2628 1079 - 2629 1079 - 2630 1079 - 2631 1079 - 271 1080 - 272 1080 - 273 1080 274 1080 275 1080 276 1080 277 1080 278 1080 279 1080 - 280 1080 - 281 1080 - 282 1080 - 317 1080 - 318 1080 - 319 1080 320 1080 321 1080 322 1080 @@ -21148,24 +12463,12 @@ ny= 1536 324 1080 325 1080 326 1080 - 327 1080 - 328 1080 - 329 1080 - 1039 1080 - 1040 1080 - 1041 1080 1042 1080 1043 1080 1044 1080 1045 1080 1046 1080 1047 1080 - 1048 1080 - 1049 1080 - 1050 1080 - 1085 1080 - 1086 1080 - 1087 1080 1088 1080 1089 1080 1090 1080 @@ -21173,24 +12476,12 @@ ny= 1536 1092 1080 1093 1080 1094 1080 - 1095 1080 - 1096 1080 - 1097 1080 - 1807 1080 - 1808 1080 - 1809 1080 1810 1080 1811 1080 1812 1080 1813 1080 1814 1080 1815 1080 - 1816 1080 - 1817 1080 - 1818 1080 - 1853 1080 - 1854 1080 - 1855 1080 1856 1080 1857 1080 1858 1080 @@ -21198,24 +12489,12 @@ ny= 1536 1860 1080 1861 1080 1862 1080 - 1863 1080 - 1864 1080 - 1865 1080 - 2575 1080 - 2576 1080 - 2577 1080 2578 1080 2579 1080 2580 1080 2581 1080 2582 1080 2583 1080 - 2584 1080 - 2585 1080 - 2586 1080 - 2621 1080 - 2622 1080 - 2623 1080 2624 1080 2625 1080 2626 1080 @@ -21223,25 +12502,12 @@ ny= 1536 2628 1080 2629 1080 2630 1080 - 2631 1080 - 2632 1080 - 2633 1080 - 268 1081 - 269 1081 - 270 1081 - 271 1081 272 1081 273 1081 274 1081 275 1081 276 1081 277 1081 - 278 1081 - 279 1081 - 280 1081 - 319 1081 - 320 1081 - 321 1081 322 1081 323 1081 324 1081 @@ -21249,25 +12515,12 @@ ny= 1536 326 1081 327 1081 328 1081 - 329 1081 - 330 1081 - 331 1081 - 1036 1081 - 1037 1081 - 1038 1081 - 1039 1081 1040 1081 1041 1081 1042 1081 1043 1081 1044 1081 1045 1081 - 1046 1081 - 1047 1081 - 1048 1081 - 1087 1081 - 1088 1081 - 1089 1081 1090 1081 1091 1081 1092 1081 @@ -21275,25 +12528,12 @@ ny= 1536 1094 1081 1095 1081 1096 1081 - 1097 1081 - 1098 1081 - 1099 1081 - 1804 1081 - 1805 1081 - 1806 1081 - 1807 1081 1808 1081 1809 1081 1810 1081 1811 1081 1812 1081 1813 1081 - 1814 1081 - 1815 1081 - 1816 1081 - 1855 1081 - 1856 1081 - 1857 1081 1858 1081 1859 1081 1860 1081 @@ -21301,25 +12541,12 @@ ny= 1536 1862 1081 1863 1081 1864 1081 - 1865 1081 - 1866 1081 - 1867 1081 - 2572 1081 - 2573 1081 - 2574 1081 - 2575 1081 2576 1081 2577 1081 2578 1081 2579 1081 2580 1081 2581 1081 - 2582 1081 - 2583 1081 - 2584 1081 - 2623 1081 - 2624 1081 - 2625 1081 2626 1081 2627 1081 2628 1081 @@ -21327,229 +12554,108 @@ ny= 1536 2630 1081 2631 1081 2632 1081 - 2633 1081 - 2634 1081 - 2635 1081 - 266 1082 - 267 1082 - 268 1082 269 1082 270 1082 271 1082 272 1082 273 1082 274 1082 - 275 1082 - 276 1082 - 277 1082 - 278 1082 - 321 1082 - 322 1082 - 323 1082 - 324 1082 325 1082 326 1082 327 1082 328 1082 329 1082 330 1082 - 331 1082 - 332 1082 - 333 1082 - 1034 1082 - 1035 1082 - 1036 1082 1037 1082 1038 1082 1039 1082 1040 1082 1041 1082 1042 1082 - 1043 1082 - 1044 1082 - 1045 1082 - 1046 1082 - 1089 1082 - 1090 1082 - 1091 1082 - 1092 1082 1093 1082 1094 1082 1095 1082 1096 1082 1097 1082 1098 1082 - 1099 1082 - 1100 1082 - 1101 1082 - 1802 1082 - 1803 1082 - 1804 1082 1805 1082 1806 1082 1807 1082 1808 1082 1809 1082 1810 1082 - 1811 1082 - 1812 1082 - 1813 1082 - 1814 1082 - 1857 1082 - 1858 1082 - 1859 1082 - 1860 1082 1861 1082 1862 1082 1863 1082 1864 1082 1865 1082 1866 1082 - 1867 1082 - 1868 1082 - 1869 1082 - 2570 1082 - 2571 1082 - 2572 1082 2573 1082 2574 1082 2575 1082 2576 1082 2577 1082 2578 1082 - 2579 1082 - 2580 1082 - 2581 1082 - 2582 1082 - 2625 1082 - 2626 1082 - 2627 1082 - 2628 1082 2629 1082 2630 1082 2631 1082 2632 1082 2633 1082 2634 1082 - 2635 1082 - 2636 1082 - 2637 1082 - 264 1083 - 265 1083 - 266 1083 267 1083 268 1083 269 1083 270 1083 271 1083 272 1083 - 273 1083 - 274 1083 - 275 1083 - 324 1083 - 325 1083 - 326 1083 327 1083 328 1083 329 1083 330 1083 331 1083 332 1083 - 333 1083 - 334 1083 - 335 1083 - 336 1083 - 1032 1083 - 1033 1083 - 1034 1083 1035 1083 1036 1083 1037 1083 1038 1083 1039 1083 1040 1083 - 1041 1083 - 1042 1083 - 1043 1083 - 1092 1083 - 1093 1083 - 1094 1083 1095 1083 1096 1083 1097 1083 1098 1083 1099 1083 1100 1083 - 1101 1083 - 1102 1083 - 1103 1083 - 1104 1083 - 1800 1083 - 1801 1083 - 1802 1083 1803 1083 1804 1083 1805 1083 1806 1083 1807 1083 1808 1083 - 1809 1083 - 1810 1083 - 1811 1083 - 1860 1083 - 1861 1083 - 1862 1083 1863 1083 1864 1083 1865 1083 1866 1083 1867 1083 1868 1083 - 1869 1083 - 1870 1083 - 1871 1083 - 1872 1083 - 2568 1083 - 2569 1083 - 2570 1083 2571 1083 2572 1083 2573 1083 2574 1083 2575 1083 2576 1083 - 2577 1083 - 2578 1083 - 2579 1083 - 2628 1083 - 2629 1083 - 2630 1083 2631 1083 2632 1083 2633 1083 2634 1083 2635 1083 2636 1083 - 2637 1083 - 2638 1083 - 2639 1083 - 2640 1083 - 261 1084 - 262 1084 - 263 1084 - 264 1084 265 1084 266 1084 267 1084 268 1084 269 1084 270 1084 - 271 1084 - 272 1084 - 273 1084 - 326 1084 - 327 1084 - 328 1084 329 1084 330 1084 331 1084 @@ -21557,25 +12663,12 @@ ny= 1536 333 1084 334 1084 335 1084 - 336 1084 - 337 1084 - 338 1084 - 1029 1084 - 1030 1084 - 1031 1084 - 1032 1084 1033 1084 1034 1084 1035 1084 1036 1084 1037 1084 1038 1084 - 1039 1084 - 1040 1084 - 1041 1084 - 1094 1084 - 1095 1084 - 1096 1084 1097 1084 1098 1084 1099 1084 @@ -21583,25 +12676,12 @@ ny= 1536 1101 1084 1102 1084 1103 1084 - 1104 1084 - 1105 1084 - 1106 1084 - 1797 1084 - 1798 1084 - 1799 1084 - 1800 1084 1801 1084 1802 1084 1803 1084 1804 1084 1805 1084 1806 1084 - 1807 1084 - 1808 1084 - 1809 1084 - 1862 1084 - 1863 1084 - 1864 1084 1865 1084 1866 1084 1867 1084 @@ -21609,25 +12689,12 @@ ny= 1536 1869 1084 1870 1084 1871 1084 - 1872 1084 - 1873 1084 - 1874 1084 - 2565 1084 - 2566 1084 - 2567 1084 - 2568 1084 2569 1084 2570 1084 2571 1084 2572 1084 2573 1084 2574 1084 - 2575 1084 - 2576 1084 - 2577 1084 - 2630 1084 - 2631 1084 - 2632 1084 2633 1084 2634 1084 2635 1084 @@ -21635,124 +12702,54 @@ ny= 1536 2637 1084 2638 1084 2639 1084 - 2640 1084 - 2641 1084 - 2642 1084 - 258 1085 - 259 1085 - 260 1085 - 261 1085 262 1085 263 1085 264 1085 265 1085 266 1085 267 1085 - 268 1085 - 269 1085 - 270 1085 - 271 1085 - 328 1085 - 329 1085 - 330 1085 - 331 1085 332 1085 333 1085 334 1085 335 1085 336 1085 337 1085 - 338 1085 - 339 1085 - 340 1085 - 341 1085 - 1026 1085 - 1027 1085 - 1028 1085 - 1029 1085 1030 1085 1031 1085 1032 1085 1033 1085 1034 1085 1035 1085 - 1036 1085 - 1037 1085 - 1038 1085 - 1039 1085 - 1096 1085 - 1097 1085 - 1098 1085 - 1099 1085 1100 1085 1101 1085 1102 1085 1103 1085 1104 1085 1105 1085 - 1106 1085 - 1107 1085 - 1108 1085 - 1109 1085 - 1794 1085 - 1795 1085 - 1796 1085 - 1797 1085 1798 1085 1799 1085 1800 1085 1801 1085 1802 1085 1803 1085 - 1804 1085 - 1805 1085 - 1806 1085 - 1807 1085 - 1864 1085 - 1865 1085 - 1866 1085 - 1867 1085 1868 1085 1869 1085 1870 1085 1871 1085 1872 1085 1873 1085 - 1874 1085 - 1875 1085 - 1876 1085 - 1877 1085 - 2562 1085 - 2563 1085 - 2564 1085 - 2565 1085 2566 1085 2567 1085 2568 1085 2569 1085 2570 1085 2571 1085 - 2572 1085 - 2573 1085 - 2574 1085 - 2575 1085 - 2632 1085 - 2633 1085 - 2634 1085 - 2635 1085 2636 1085 2637 1085 2638 1085 2639 1085 2640 1085 2641 1085 - 2642 1085 - 2643 1085 - 2644 1085 - 2645 1085 - 256 1086 - 257 1086 - 258 1086 259 1086 260 1086 261 1086 @@ -21760,12 +12757,6 @@ ny= 1536 263 1086 264 1086 265 1086 - 266 1086 - 267 1086 - 268 1086 - 331 1086 - 332 1086 - 333 1086 334 1086 335 1086 336 1086 @@ -21773,12 +12764,6 @@ ny= 1536 338 1086 339 1086 340 1086 - 341 1086 - 342 1086 - 343 1086 - 1024 1086 - 1025 1086 - 1026 1086 1027 1086 1028 1086 1029 1086 @@ -21786,12 +12771,6 @@ ny= 1536 1031 1086 1032 1086 1033 1086 - 1034 1086 - 1035 1086 - 1036 1086 - 1099 1086 - 1100 1086 - 1101 1086 1102 1086 1103 1086 1104 1086 @@ -21799,12 +12778,6 @@ ny= 1536 1106 1086 1107 1086 1108 1086 - 1109 1086 - 1110 1086 - 1111 1086 - 1792 1086 - 1793 1086 - 1794 1086 1795 1086 1796 1086 1797 1086 @@ -21812,12 +12785,6 @@ ny= 1536 1799 1086 1800 1086 1801 1086 - 1802 1086 - 1803 1086 - 1804 1086 - 1867 1086 - 1868 1086 - 1869 1086 1870 1086 1871 1086 1872 1086 @@ -21825,12 +12792,6 @@ ny= 1536 1874 1086 1875 1086 1876 1086 - 1877 1086 - 1878 1086 - 1879 1086 - 2560 1086 - 2561 1086 - 2562 1086 2563 1086 2564 1086 2565 1086 @@ -21838,12 +12799,6 @@ ny= 1536 2567 1086 2568 1086 2569 1086 - 2570 1086 - 2571 1086 - 2572 1086 - 2635 1086 - 2636 1086 - 2637 1086 2638 1086 2639 1086 2640 1086 @@ -21851,12 +12806,6 @@ ny= 1536 2642 1086 2643 1086 2644 1086 - 2645 1086 - 2646 1086 - 2647 1086 - 254 1087 - 255 1087 - 256 1087 257 1087 258 1087 259 1087 @@ -21864,26 +12813,12 @@ ny= 1536 261 1087 262 1087 263 1087 - 264 1087 - 265 1087 - 266 1087 - 333 1087 - 334 1087 - 335 1087 - 336 1087 337 1087 338 1087 339 1087 340 1087 341 1087 342 1087 - 343 1087 - 344 1087 - 345 1087 - 346 1087 - 1022 1087 - 1023 1087 - 1024 1087 1025 1087 1026 1087 1027 1087 @@ -21891,26 +12826,12 @@ ny= 1536 1029 1087 1030 1087 1031 1087 - 1032 1087 - 1033 1087 - 1034 1087 - 1101 1087 - 1102 1087 - 1103 1087 - 1104 1087 1105 1087 1106 1087 1107 1087 1108 1087 1109 1087 1110 1087 - 1111 1087 - 1112 1087 - 1113 1087 - 1114 1087 - 1790 1087 - 1791 1087 - 1792 1087 1793 1087 1794 1087 1795 1087 @@ -21918,26 +12839,12 @@ ny= 1536 1797 1087 1798 1087 1799 1087 - 1800 1087 - 1801 1087 - 1802 1087 - 1869 1087 - 1870 1087 - 1871 1087 - 1872 1087 1873 1087 1874 1087 1875 1087 1876 1087 1877 1087 1878 1087 - 1879 1087 - 1880 1087 - 1881 1087 - 1882 1087 - 2558 1087 - 2559 1087 - 2560 1087 2561 1087 2562 1087 2563 1087 @@ -21945,40 +12852,18 @@ ny= 1536 2565 1087 2566 1087 2567 1087 - 2568 1087 - 2569 1087 - 2570 1087 - 2637 1087 - 2638 1087 - 2639 1087 - 2640 1087 2641 1087 2642 1087 2643 1087 2644 1087 2645 1087 2646 1087 - 2647 1087 - 2648 1087 - 2649 1087 - 2650 1087 - 251 1088 - 252 1088 - 253 1088 - 254 1088 255 1088 256 1088 257 1088 258 1088 259 1088 260 1088 - 261 1088 - 262 1088 - 263 1088 - 264 1088 - 336 1088 - 337 1088 - 338 1088 339 1088 340 1088 341 1088 @@ -21986,26 +12871,12 @@ ny= 1536 343 1088 344 1088 345 1088 - 346 1088 - 347 1088 - 348 1088 - 1019 1088 - 1020 1088 - 1021 1088 - 1022 1088 1023 1088 1024 1088 1025 1088 1026 1088 1027 1088 1028 1088 - 1029 1088 - 1030 1088 - 1031 1088 - 1032 1088 - 1104 1088 - 1105 1088 - 1106 1088 1107 1088 1108 1088 1109 1088 @@ -22013,26 +12884,12 @@ ny= 1536 1111 1088 1112 1088 1113 1088 - 1114 1088 - 1115 1088 - 1116 1088 - 1787 1088 - 1788 1088 - 1789 1088 - 1790 1088 1791 1088 1792 1088 1793 1088 1794 1088 1795 1088 1796 1088 - 1797 1088 - 1798 1088 - 1799 1088 - 1800 1088 - 1872 1088 - 1873 1088 - 1874 1088 1875 1088 1876 1088 1877 1088 @@ -22040,26 +12897,12 @@ ny= 1536 1879 1088 1880 1088 1881 1088 - 1882 1088 - 1883 1088 - 1884 1088 - 2555 1088 - 2556 1088 - 2557 1088 - 2558 1088 2559 1088 2560 1088 2561 1088 2562 1088 2563 1088 2564 1088 - 2565 1088 - 2566 1088 - 2567 1088 - 2568 1088 - 2640 1088 - 2641 1088 - 2642 1088 2643 1088 2644 1088 2645 1088 @@ -22067,12 +12910,6 @@ ny= 1536 2647 1088 2648 1088 2649 1088 - 2650 1088 - 2651 1088 - 2652 1088 - 249 1089 - 250 1089 - 251 1089 252 1089 253 1089 254 1089 @@ -22080,12 +12917,6 @@ ny= 1536 256 1089 257 1089 258 1089 - 259 1089 - 260 1089 - 261 1089 - 338 1089 - 339 1089 - 340 1089 341 1089 342 1089 343 1089 @@ -22093,13 +12924,6 @@ ny= 1536 345 1089 346 1089 347 1089 - 348 1089 - 349 1089 - 350 1089 - 351 1089 - 1017 1089 - 1018 1089 - 1019 1089 1020 1089 1021 1089 1022 1089 @@ -22107,12 +12931,6 @@ ny= 1536 1024 1089 1025 1089 1026 1089 - 1027 1089 - 1028 1089 - 1029 1089 - 1106 1089 - 1107 1089 - 1108 1089 1109 1089 1110 1089 1111 1089 @@ -22120,13 +12938,6 @@ ny= 1536 1113 1089 1114 1089 1115 1089 - 1116 1089 - 1117 1089 - 1118 1089 - 1119 1089 - 1785 1089 - 1786 1089 - 1787 1089 1788 1089 1789 1089 1790 1089 @@ -22134,12 +12945,6 @@ ny= 1536 1792 1089 1793 1089 1794 1089 - 1795 1089 - 1796 1089 - 1797 1089 - 1874 1089 - 1875 1089 - 1876 1089 1877 1089 1878 1089 1879 1089 @@ -22147,13 +12952,6 @@ ny= 1536 1881 1089 1882 1089 1883 1089 - 1884 1089 - 1885 1089 - 1886 1089 - 1887 1089 - 2553 1089 - 2554 1089 - 2555 1089 2556 1089 2557 1089 2558 1089 @@ -22161,12 +12959,6 @@ ny= 1536 2560 1089 2561 1089 2562 1089 - 2563 1089 - 2564 1089 - 2565 1089 - 2642 1089 - 2643 1089 - 2644 1089 2645 1089 2646 1089 2647 1089 @@ -22174,28 +12966,12 @@ ny= 1536 2649 1089 2650 1089 2651 1089 - 2652 1089 - 2653 1089 - 2654 1089 - 2655 1089 - 246 1090 - 247 1090 - 248 1090 - 249 1090 250 1090 251 1090 252 1090 253 1090 254 1090 255 1090 - 256 1090 - 257 1090 - 258 1090 - 259 1090 - 340 1090 - 341 1090 - 342 1090 - 343 1090 344 1090 345 1090 346 1090 @@ -22203,27 +12979,12 @@ ny= 1536 348 1090 349 1090 350 1090 - 351 1090 - 352 1090 - 353 1090 - 1014 1090 - 1015 1090 - 1016 1090 - 1017 1090 1018 1090 1019 1090 1020 1090 1021 1090 1022 1090 1023 1090 - 1024 1090 - 1025 1090 - 1026 1090 - 1027 1090 - 1108 1090 - 1109 1090 - 1110 1090 - 1111 1090 1112 1090 1113 1090 1114 1090 @@ -22231,27 +12992,12 @@ ny= 1536 1116 1090 1117 1090 1118 1090 - 1119 1090 - 1120 1090 - 1121 1090 - 1782 1090 - 1783 1090 - 1784 1090 - 1785 1090 1786 1090 1787 1090 1788 1090 1789 1090 1790 1090 1791 1090 - 1792 1090 - 1793 1090 - 1794 1090 - 1795 1090 - 1876 1090 - 1877 1090 - 1878 1090 - 1879 1090 1880 1090 1881 1090 1882 1090 @@ -22259,27 +13005,12 @@ ny= 1536 1884 1090 1885 1090 1886 1090 - 1887 1090 - 1888 1090 - 1889 1090 - 2550 1090 - 2551 1090 - 2552 1090 - 2553 1090 2554 1090 2555 1090 2556 1090 2557 1090 2558 1090 2559 1090 - 2560 1090 - 2561 1090 - 2562 1090 - 2563 1090 - 2644 1090 - 2645 1090 - 2646 1090 - 2647 1090 2648 1090 2649 1090 2650 1090 @@ -22287,13 +13018,6 @@ ny= 1536 2652 1090 2653 1090 2654 1090 - 2655 1090 - 2656 1090 - 2657 1090 - 243 1091 - 244 1091 - 245 1091 - 246 1091 247 1091 248 1091 249 1091 @@ -22301,12 +13025,6 @@ ny= 1536 251 1091 252 1091 253 1091 - 254 1091 - 255 1091 - 256 1091 - 343 1091 - 344 1091 - 345 1091 346 1091 347 1091 348 1091 @@ -22314,14 +13032,6 @@ ny= 1536 350 1091 351 1091 352 1091 - 353 1091 - 354 1091 - 355 1091 - 356 1091 - 1011 1091 - 1012 1091 - 1013 1091 - 1014 1091 1015 1091 1016 1091 1017 1091 @@ -22329,12 +13039,6 @@ ny= 1536 1019 1091 1020 1091 1021 1091 - 1022 1091 - 1023 1091 - 1024 1091 - 1111 1091 - 1112 1091 - 1113 1091 1114 1091 1115 1091 1116 1091 @@ -22342,14 +13046,6 @@ ny= 1536 1118 1091 1119 1091 1120 1091 - 1121 1091 - 1122 1091 - 1123 1091 - 1124 1091 - 1779 1091 - 1780 1091 - 1781 1091 - 1782 1091 1783 1091 1784 1091 1785 1091 @@ -22357,12 +13053,6 @@ ny= 1536 1787 1091 1788 1091 1789 1091 - 1790 1091 - 1791 1091 - 1792 1091 - 1879 1091 - 1880 1091 - 1881 1091 1882 1091 1883 1091 1884 1091 @@ -22370,14 +13060,6 @@ ny= 1536 1886 1091 1887 1091 1888 1091 - 1889 1091 - 1890 1091 - 1891 1091 - 1892 1091 - 2547 1091 - 2548 1091 - 2549 1091 - 2550 1091 2551 1091 2552 1091 2553 1091 @@ -22385,12 +13067,6 @@ ny= 1536 2555 1091 2556 1091 2557 1091 - 2558 1091 - 2559 1091 - 2560 1091 - 2647 1091 - 2648 1091 - 2649 1091 2650 1091 2651 1091 2652 1091 @@ -22398,13 +13074,6 @@ ny= 1536 2654 1091 2655 1091 2656 1091 - 2657 1091 - 2658 1091 - 2659 1091 - 2660 1091 - 241 1092 - 242 1092 - 243 1092 244 1092 245 1092 246 1092 @@ -22412,14 +13081,6 @@ ny= 1536 248 1092 249 1092 250 1092 - 251 1092 - 252 1092 - 253 1092 - 254 1092 - 345 1092 - 346 1092 - 347 1092 - 348 1092 349 1092 350 1092 351 1092 @@ -22427,12 +13088,6 @@ ny= 1536 353 1092 354 1092 355 1092 - 356 1092 - 357 1092 - 358 1092 - 1009 1092 - 1010 1092 - 1011 1092 1012 1092 1013 1092 1014 1092 @@ -22440,14 +13095,6 @@ ny= 1536 1016 1092 1017 1092 1018 1092 - 1019 1092 - 1020 1092 - 1021 1092 - 1022 1092 - 1113 1092 - 1114 1092 - 1115 1092 - 1116 1092 1117 1092 1118 1092 1119 1092 @@ -22455,12 +13102,6 @@ ny= 1536 1121 1092 1122 1092 1123 1092 - 1124 1092 - 1125 1092 - 1126 1092 - 1777 1092 - 1778 1092 - 1779 1092 1780 1092 1781 1092 1782 1092 @@ -22468,14 +13109,6 @@ ny= 1536 1784 1092 1785 1092 1786 1092 - 1787 1092 - 1788 1092 - 1789 1092 - 1790 1092 - 1881 1092 - 1882 1092 - 1883 1092 - 1884 1092 1885 1092 1886 1092 1887 1092 @@ -22483,12 +13116,6 @@ ny= 1536 1889 1092 1890 1092 1891 1092 - 1892 1092 - 1893 1092 - 1894 1092 - 2545 1092 - 2546 1092 - 2547 1092 2548 1092 2549 1092 2550 1092 @@ -22496,14 +13123,6 @@ ny= 1536 2552 1092 2553 1092 2554 1092 - 2555 1092 - 2556 1092 - 2557 1092 - 2558 1092 - 2649 1092 - 2650 1092 - 2651 1092 - 2652 1092 2653 1092 2654 1092 2655 1092 @@ -22511,12 +13130,6 @@ ny= 1536 2657 1092 2658 1092 2659 1092 - 2660 1092 - 2661 1092 - 2662 1092 - 239 1093 - 240 1093 - 241 1093 242 1093 243 1093 244 1093 @@ -22524,26 +13137,12 @@ ny= 1536 246 1093 247 1093 248 1093 - 249 1093 - 250 1093 - 251 1093 - 348 1093 - 349 1093 - 350 1093 - 351 1093 352 1093 353 1093 354 1093 355 1093 356 1093 357 1093 - 358 1093 - 359 1093 - 360 1093 - 361 1093 - 1007 1093 - 1008 1093 - 1009 1093 1010 1093 1011 1093 1012 1093 @@ -22551,26 +13150,12 @@ ny= 1536 1014 1093 1015 1093 1016 1093 - 1017 1093 - 1018 1093 - 1019 1093 - 1116 1093 - 1117 1093 - 1118 1093 - 1119 1093 1120 1093 1121 1093 1122 1093 1123 1093 1124 1093 1125 1093 - 1126 1093 - 1127 1093 - 1128 1093 - 1129 1093 - 1775 1093 - 1776 1093 - 1777 1093 1778 1093 1779 1093 1780 1093 @@ -22578,26 +13163,12 @@ ny= 1536 1782 1093 1783 1093 1784 1093 - 1785 1093 - 1786 1093 - 1787 1093 - 1884 1093 - 1885 1093 - 1886 1093 - 1887 1093 1888 1093 1889 1093 1890 1093 1891 1093 1892 1093 1893 1093 - 1894 1093 - 1895 1093 - 1896 1093 - 1897 1093 - 2543 1093 - 2544 1093 - 2545 1093 2546 1093 2547 1093 2548 1093 @@ -22605,40 +13176,18 @@ ny= 1536 2550 1093 2551 1093 2552 1093 - 2553 1093 - 2554 1093 - 2555 1093 - 2652 1093 - 2653 1093 - 2654 1093 - 2655 1093 2656 1093 2657 1093 2658 1093 2659 1093 2660 1093 2661 1093 - 2662 1093 - 2663 1093 - 2664 1093 - 2665 1093 - 236 1094 - 237 1094 - 238 1094 - 239 1094 240 1094 241 1094 242 1094 243 1094 244 1094 245 1094 - 246 1094 - 247 1094 - 248 1094 - 249 1094 - 351 1094 - 352 1094 - 353 1094 354 1094 355 1094 356 1094 @@ -22646,27 +13195,12 @@ ny= 1536 358 1094 359 1094 360 1094 - 361 1094 - 362 1094 - 363 1094 - 364 1094 - 1004 1094 - 1005 1094 - 1006 1094 - 1007 1094 1008 1094 1009 1094 1010 1094 1011 1094 1012 1094 1013 1094 - 1014 1094 - 1015 1094 - 1016 1094 - 1017 1094 - 1119 1094 - 1120 1094 - 1121 1094 1122 1094 1123 1094 1124 1094 @@ -22674,27 +13208,12 @@ ny= 1536 1126 1094 1127 1094 1128 1094 - 1129 1094 - 1130 1094 - 1131 1094 - 1132 1094 - 1772 1094 - 1773 1094 - 1774 1094 - 1775 1094 1776 1094 1777 1094 1778 1094 1779 1094 1780 1094 1781 1094 - 1782 1094 - 1783 1094 - 1784 1094 - 1785 1094 - 1887 1094 - 1888 1094 - 1889 1094 1890 1094 1891 1094 1892 1094 @@ -22702,27 +13221,12 @@ ny= 1536 1894 1094 1895 1094 1896 1094 - 1897 1094 - 1898 1094 - 1899 1094 - 1900 1094 - 2540 1094 - 2541 1094 - 2542 1094 - 2543 1094 2544 1094 2545 1094 2546 1094 2547 1094 2548 1094 2549 1094 - 2550 1094 - 2551 1094 - 2552 1094 - 2553 1094 - 2655 1094 - 2656 1094 - 2657 1094 2658 1094 2659 1094 2660 1094 @@ -22730,14 +13234,6 @@ ny= 1536 2662 1094 2663 1094 2664 1094 - 2665 1094 - 2666 1094 - 2667 1094 - 2668 1094 - 233 1095 - 234 1095 - 235 1095 - 236 1095 237 1095 238 1095 239 1095 @@ -22745,13 +13241,6 @@ ny= 1536 241 1095 242 1095 243 1095 - 244 1095 - 245 1095 - 246 1095 - 353 1095 - 354 1095 - 355 1095 - 356 1095 357 1095 358 1095 359 1095 @@ -22759,13 +13248,6 @@ ny= 1536 361 1095 362 1095 363 1095 - 364 1095 - 365 1095 - 366 1095 - 1001 1095 - 1002 1095 - 1003 1095 - 1004 1095 1005 1095 1006 1095 1007 1095 @@ -22773,13 +13255,6 @@ ny= 1536 1009 1095 1010 1095 1011 1095 - 1012 1095 - 1013 1095 - 1014 1095 - 1121 1095 - 1122 1095 - 1123 1095 - 1124 1095 1125 1095 1126 1095 1127 1095 @@ -22787,13 +13262,6 @@ ny= 1536 1129 1095 1130 1095 1131 1095 - 1132 1095 - 1133 1095 - 1134 1095 - 1769 1095 - 1770 1095 - 1771 1095 - 1772 1095 1773 1095 1774 1095 1775 1095 @@ -22801,13 +13269,6 @@ ny= 1536 1777 1095 1778 1095 1779 1095 - 1780 1095 - 1781 1095 - 1782 1095 - 1889 1095 - 1890 1095 - 1891 1095 - 1892 1095 1893 1095 1894 1095 1895 1095 @@ -22815,13 +13276,6 @@ ny= 1536 1897 1095 1898 1095 1899 1095 - 1900 1095 - 1901 1095 - 1902 1095 - 2537 1095 - 2538 1095 - 2539 1095 - 2540 1095 2541 1095 2542 1095 2543 1095 @@ -22829,13 +13283,6 @@ ny= 1536 2545 1095 2546 1095 2547 1095 - 2548 1095 - 2549 1095 - 2550 1095 - 2657 1095 - 2658 1095 - 2659 1095 - 2660 1095 2661 1095 2662 1095 2663 1095 @@ -22843,13 +13290,6 @@ ny= 1536 2665 1095 2666 1095 2667 1095 - 2668 1095 - 2669 1095 - 2670 1095 - 230 1096 - 231 1096 - 232 1096 - 233 1096 234 1096 235 1096 236 1096 @@ -22857,13 +13297,6 @@ ny= 1536 238 1096 239 1096 240 1096 - 241 1096 - 242 1096 - 243 1096 - 244 1096 - 356 1096 - 357 1096 - 358 1096 359 1096 360 1096 361 1096 @@ -22871,14 +13304,6 @@ ny= 1536 363 1096 364 1096 365 1096 - 366 1096 - 367 1096 - 368 1096 - 369 1096 - 998 1096 - 999 1096 - 1000 1096 - 1001 1096 1002 1096 1003 1096 1004 1096 @@ -22886,13 +13311,6 @@ ny= 1536 1006 1096 1007 1096 1008 1096 - 1009 1096 - 1010 1096 - 1011 1096 - 1012 1096 - 1124 1096 - 1125 1096 - 1126 1096 1127 1096 1128 1096 1129 1096 @@ -22900,14 +13318,6 @@ ny= 1536 1131 1096 1132 1096 1133 1096 - 1134 1096 - 1135 1096 - 1136 1096 - 1137 1096 - 1766 1096 - 1767 1096 - 1768 1096 - 1769 1096 1770 1096 1771 1096 1772 1096 @@ -22915,13 +13325,6 @@ ny= 1536 1774 1096 1775 1096 1776 1096 - 1777 1096 - 1778 1096 - 1779 1096 - 1780 1096 - 1892 1096 - 1893 1096 - 1894 1096 1895 1096 1896 1096 1897 1096 @@ -22929,14 +13332,6 @@ ny= 1536 1899 1096 1900 1096 1901 1096 - 1902 1096 - 1903 1096 - 1904 1096 - 1905 1096 - 2534 1096 - 2535 1096 - 2536 1096 - 2537 1096 2538 1096 2539 1096 2540 1096 @@ -22944,13 +13339,6 @@ ny= 1536 2542 1096 2543 1096 2544 1096 - 2545 1096 - 2546 1096 - 2547 1096 - 2548 1096 - 2660 1096 - 2661 1096 - 2662 1096 2663 1096 2664 1096 2665 1096 @@ -22958,13 +13346,6 @@ ny= 1536 2667 1096 2668 1096 2669 1096 - 2670 1096 - 2671 1096 - 2672 1096 - 2673 1096 - 228 1097 - 229 1097 - 230 1097 231 1097 232 1097 233 1097 @@ -22972,14 +13353,6 @@ ny= 1536 235 1097 236 1097 237 1097 - 238 1097 - 239 1097 - 240 1097 - 241 1097 - 358 1097 - 359 1097 - 360 1097 - 361 1097 362 1097 363 1097 364 1097 @@ -22987,13 +13360,6 @@ ny= 1536 366 1097 367 1097 368 1097 - 369 1097 - 370 1097 - 371 1097 - 372 1097 - 996 1097 - 997 1097 - 998 1097 999 1097 1000 1097 1001 1097 @@ -23001,14 +13367,6 @@ ny= 1536 1003 1097 1004 1097 1005 1097 - 1006 1097 - 1007 1097 - 1008 1097 - 1009 1097 - 1126 1097 - 1127 1097 - 1128 1097 - 1129 1097 1130 1097 1131 1097 1132 1097 @@ -23016,13 +13374,6 @@ ny= 1536 1134 1097 1135 1097 1136 1097 - 1137 1097 - 1138 1097 - 1139 1097 - 1140 1097 - 1764 1097 - 1765 1097 - 1766 1097 1767 1097 1768 1097 1769 1097 @@ -23030,14 +13381,6 @@ ny= 1536 1771 1097 1772 1097 1773 1097 - 1774 1097 - 1775 1097 - 1776 1097 - 1777 1097 - 1894 1097 - 1895 1097 - 1896 1097 - 1897 1097 1898 1097 1899 1097 1900 1097 @@ -23045,13 +13388,6 @@ ny= 1536 1902 1097 1903 1097 1904 1097 - 1905 1097 - 1906 1097 - 1907 1097 - 1908 1097 - 2532 1097 - 2533 1097 - 2534 1097 2535 1097 2536 1097 2537 1097 @@ -23059,14 +13395,6 @@ ny= 1536 2539 1097 2540 1097 2541 1097 - 2542 1097 - 2543 1097 - 2544 1097 - 2545 1097 - 2662 1097 - 2663 1097 - 2664 1097 - 2665 1097 2666 1097 2667 1097 2668 1097 @@ -23074,14 +13402,6 @@ ny= 1536 2670 1097 2671 1097 2672 1097 - 2673 1097 - 2674 1097 - 2675 1097 - 2676 1097 - 225 1098 - 226 1098 - 227 1098 - 228 1098 229 1098 230 1098 231 1098 @@ -23089,13 +13409,6 @@ ny= 1536 233 1098 234 1098 235 1098 - 236 1098 - 237 1098 - 238 1098 - 361 1098 - 362 1098 - 363 1098 - 364 1098 365 1098 366 1098 367 1098 @@ -23103,13 +13416,6 @@ ny= 1536 369 1098 370 1098 371 1098 - 372 1098 - 373 1098 - 374 1098 - 993 1098 - 994 1098 - 995 1098 - 996 1098 997 1098 998 1098 999 1098 @@ -23117,13 +13423,6 @@ ny= 1536 1001 1098 1002 1098 1003 1098 - 1004 1098 - 1005 1098 - 1006 1098 - 1129 1098 - 1130 1098 - 1131 1098 - 1132 1098 1133 1098 1134 1098 1135 1098 @@ -23131,13 +13430,6 @@ ny= 1536 1137 1098 1138 1098 1139 1098 - 1140 1098 - 1141 1098 - 1142 1098 - 1761 1098 - 1762 1098 - 1763 1098 - 1764 1098 1765 1098 1766 1098 1767 1098 @@ -23145,13 +13437,6 @@ ny= 1536 1769 1098 1770 1098 1771 1098 - 1772 1098 - 1773 1098 - 1774 1098 - 1897 1098 - 1898 1098 - 1899 1098 - 1900 1098 1901 1098 1902 1098 1903 1098 @@ -23159,13 +13444,6 @@ ny= 1536 1905 1098 1906 1098 1907 1098 - 1908 1098 - 1909 1098 - 1910 1098 - 2529 1098 - 2530 1098 - 2531 1098 - 2532 1098 2533 1098 2534 1098 2535 1098 @@ -23173,13 +13451,6 @@ ny= 1536 2537 1098 2538 1098 2539 1098 - 2540 1098 - 2541 1098 - 2542 1098 - 2665 1098 - 2666 1098 - 2667 1098 - 2668 1098 2669 1098 2670 1098 2671 1098 @@ -23187,13 +13458,6 @@ ny= 1536 2673 1098 2674 1098 2675 1098 - 2676 1098 - 2677 1098 - 2678 1098 - 222 1099 - 223 1099 - 224 1099 - 225 1099 226 1099 227 1099 228 1099 @@ -23201,13 +13465,6 @@ ny= 1536 230 1099 231 1099 232 1099 - 233 1099 - 234 1099 - 235 1099 - 236 1099 - 364 1099 - 365 1099 - 366 1099 367 1099 368 1099 369 1099 @@ -23215,14 +13472,6 @@ ny= 1536 371 1099 372 1099 373 1099 - 374 1099 - 375 1099 - 376 1099 - 377 1099 - 990 1099 - 991 1099 - 992 1099 - 993 1099 994 1099 995 1099 996 1099 @@ -23230,13 +13479,6 @@ ny= 1536 998 1099 999 1099 1000 1099 - 1001 1099 - 1002 1099 - 1003 1099 - 1004 1099 - 1132 1099 - 1133 1099 - 1134 1099 1135 1099 1136 1099 1137 1099 @@ -23244,14 +13486,6 @@ ny= 1536 1139 1099 1140 1099 1141 1099 - 1142 1099 - 1143 1099 - 1144 1099 - 1145 1099 - 1758 1099 - 1759 1099 - 1760 1099 - 1761 1099 1762 1099 1763 1099 1764 1099 @@ -23259,13 +13493,6 @@ ny= 1536 1766 1099 1767 1099 1768 1099 - 1769 1099 - 1770 1099 - 1771 1099 - 1772 1099 - 1900 1099 - 1901 1099 - 1902 1099 1903 1099 1904 1099 1905 1099 @@ -23273,14 +13500,6 @@ ny= 1536 1907 1099 1908 1099 1909 1099 - 1910 1099 - 1911 1099 - 1912 1099 - 1913 1099 - 2526 1099 - 2527 1099 - 2528 1099 - 2529 1099 2530 1099 2531 1099 2532 1099 @@ -23288,13 +13507,6 @@ ny= 1536 2534 1099 2535 1099 2536 1099 - 2537 1099 - 2538 1099 - 2539 1099 - 2540 1099 - 2668 1099 - 2669 1099 - 2670 1099 2671 1099 2672 1099 2673 1099 @@ -23302,14 +13514,6 @@ ny= 1536 2675 1099 2676 1099 2677 1099 - 2678 1099 - 2679 1099 - 2680 1099 - 2681 1099 - 219 1100 - 220 1100 - 221 1100 - 222 1100 223 1100 224 1100 225 1100 @@ -23317,14 +13521,6 @@ ny= 1536 227 1100 228 1100 229 1100 - 230 1100 - 231 1100 - 232 1100 - 233 1100 - 366 1100 - 367 1100 - 368 1100 - 369 1100 370 1100 371 1100 372 1100 @@ -23332,14 +13528,6 @@ ny= 1536 374 1100 375 1100 376 1100 - 377 1100 - 378 1100 - 379 1100 - 380 1100 - 987 1100 - 988 1100 - 989 1100 - 990 1100 991 1100 992 1100 993 1100 @@ -23347,14 +13535,6 @@ ny= 1536 995 1100 996 1100 997 1100 - 998 1100 - 999 1100 - 1000 1100 - 1001 1100 - 1134 1100 - 1135 1100 - 1136 1100 - 1137 1100 1138 1100 1139 1100 1140 1100 @@ -23362,14 +13542,6 @@ ny= 1536 1142 1100 1143 1100 1144 1100 - 1145 1100 - 1146 1100 - 1147 1100 - 1148 1100 - 1755 1100 - 1756 1100 - 1757 1100 - 1758 1100 1759 1100 1760 1100 1761 1100 @@ -23377,14 +13549,6 @@ ny= 1536 1763 1100 1764 1100 1765 1100 - 1766 1100 - 1767 1100 - 1768 1100 - 1769 1100 - 1902 1100 - 1903 1100 - 1904 1100 - 1905 1100 1906 1100 1907 1100 1908 1100 @@ -23392,14 +13556,6 @@ ny= 1536 1910 1100 1911 1100 1912 1100 - 1913 1100 - 1914 1100 - 1915 1100 - 1916 1100 - 2523 1100 - 2524 1100 - 2525 1100 - 2526 1100 2527 1100 2528 1100 2529 1100 @@ -23407,14 +13563,6 @@ ny= 1536 2531 1100 2532 1100 2533 1100 - 2534 1100 - 2535 1100 - 2536 1100 - 2537 1100 - 2670 1100 - 2671 1100 - 2672 1100 - 2673 1100 2674 1100 2675 1100 2676 1100 @@ -23422,14 +13570,6 @@ ny= 1536 2678 1100 2679 1100 2680 1100 - 2681 1100 - 2682 1100 - 2683 1100 - 2684 1100 - 216 1101 - 217 1101 - 218 1101 - 219 1101 220 1101 221 1101 222 1101 @@ -23437,14 +13577,6 @@ ny= 1536 224 1101 225 1101 226 1101 - 227 1101 - 228 1101 - 229 1101 - 230 1101 - 369 1101 - 370 1101 - 371 1101 - 372 1101 373 1101 374 1101 375 1101 @@ -23452,14 +13584,6 @@ ny= 1536 377 1101 378 1101 379 1101 - 380 1101 - 381 1101 - 382 1101 - 383 1101 - 984 1101 - 985 1101 - 986 1101 - 987 1101 988 1101 989 1101 990 1101 @@ -23467,14 +13591,6 @@ ny= 1536 992 1101 993 1101 994 1101 - 995 1101 - 996 1101 - 997 1101 - 998 1101 - 1137 1101 - 1138 1101 - 1139 1101 - 1140 1101 1141 1101 1142 1101 1143 1101 @@ -23482,14 +13598,6 @@ ny= 1536 1145 1101 1146 1101 1147 1101 - 1148 1101 - 1149 1101 - 1150 1101 - 1151 1101 - 1752 1101 - 1753 1101 - 1754 1101 - 1755 1101 1756 1101 1757 1101 1758 1101 @@ -23497,14 +13605,6 @@ ny= 1536 1760 1101 1761 1101 1762 1101 - 1763 1101 - 1764 1101 - 1765 1101 - 1766 1101 - 1905 1101 - 1906 1101 - 1907 1101 - 1908 1101 1909 1101 1910 1101 1911 1101 @@ -23512,14 +13612,6 @@ ny= 1536 1913 1101 1914 1101 1915 1101 - 1916 1101 - 1917 1101 - 1918 1101 - 1919 1101 - 2520 1101 - 2521 1101 - 2522 1101 - 2523 1101 2524 1101 2525 1101 2526 1101 @@ -23527,14 +13619,6 @@ ny= 1536 2528 1101 2529 1101 2530 1101 - 2531 1101 - 2532 1101 - 2533 1101 - 2534 1101 - 2673 1101 - 2674 1101 - 2675 1101 - 2676 1101 2677 1101 2678 1101 2679 1101 @@ -23542,14 +13626,6 @@ ny= 1536 2681 1101 2682 1101 2683 1101 - 2684 1101 - 2685 1101 - 2686 1101 - 2687 1101 - 213 1102 - 214 1102 - 215 1102 - 216 1102 217 1102 218 1102 219 1102 @@ -23558,13 +13634,6 @@ ny= 1536 222 1102 223 1102 224 1102 - 225 1102 - 226 1102 - 227 1102 - 372 1102 - 373 1102 - 374 1102 - 375 1102 376 1102 377 1102 378 1102 @@ -23572,14 +13641,6 @@ ny= 1536 380 1102 381 1102 382 1102 - 383 1102 - 384 1102 - 385 1102 - 386 1102 - 981 1102 - 982 1102 - 983 1102 - 984 1102 985 1102 986 1102 987 1102 @@ -23588,13 +13649,6 @@ ny= 1536 990 1102 991 1102 992 1102 - 993 1102 - 994 1102 - 995 1102 - 1140 1102 - 1141 1102 - 1142 1102 - 1143 1102 1144 1102 1145 1102 1146 1102 @@ -23602,14 +13656,6 @@ ny= 1536 1148 1102 1149 1102 1150 1102 - 1151 1102 - 1152 1102 - 1153 1102 - 1154 1102 - 1749 1102 - 1750 1102 - 1751 1102 - 1752 1102 1753 1102 1754 1102 1755 1102 @@ -23618,13 +13664,6 @@ ny= 1536 1758 1102 1759 1102 1760 1102 - 1761 1102 - 1762 1102 - 1763 1102 - 1908 1102 - 1909 1102 - 1910 1102 - 1911 1102 1912 1102 1913 1102 1914 1102 @@ -23632,14 +13671,6 @@ ny= 1536 1916 1102 1917 1102 1918 1102 - 1919 1102 - 1920 1102 - 1921 1102 - 1922 1102 - 2517 1102 - 2518 1102 - 2519 1102 - 2520 1102 2521 1102 2522 1102 2523 1102 @@ -23648,13 +13679,6 @@ ny= 1536 2526 1102 2527 1102 2528 1102 - 2529 1102 - 2530 1102 - 2531 1102 - 2676 1102 - 2677 1102 - 2678 1102 - 2679 1102 2680 1102 2681 1102 2682 1102 @@ -23662,13 +13686,6 @@ ny= 1536 2684 1102 2685 1102 2686 1102 - 2687 1102 - 2688 1102 - 2689 1102 - 2690 1102 - 211 1103 - 212 1103 - 213 1103 214 1103 215 1103 216 1103 @@ -23677,13 +13694,6 @@ ny= 1536 219 1103 220 1103 221 1103 - 222 1103 - 223 1103 - 224 1103 - 225 1103 - 375 1103 - 376 1103 - 377 1103 378 1103 379 1103 380 1103 @@ -23692,13 +13702,6 @@ ny= 1536 383 1103 384 1103 385 1103 - 386 1103 - 387 1103 - 388 1103 - 389 1103 - 979 1103 - 980 1103 - 981 1103 982 1103 983 1103 984 1103 @@ -23707,13 +13710,6 @@ ny= 1536 987 1103 988 1103 989 1103 - 990 1103 - 991 1103 - 992 1103 - 993 1103 - 1143 1103 - 1144 1103 - 1145 1103 1146 1103 1147 1103 1148 1103 @@ -23722,13 +13718,6 @@ ny= 1536 1151 1103 1152 1103 1153 1103 - 1154 1103 - 1155 1103 - 1156 1103 - 1157 1103 - 1747 1103 - 1748 1103 - 1749 1103 1750 1103 1751 1103 1752 1103 @@ -23737,13 +13726,6 @@ ny= 1536 1755 1103 1756 1103 1757 1103 - 1758 1103 - 1759 1103 - 1760 1103 - 1761 1103 - 1911 1103 - 1912 1103 - 1913 1103 1914 1103 1915 1103 1916 1103 @@ -23752,13 +13734,6 @@ ny= 1536 1919 1103 1920 1103 1921 1103 - 1922 1103 - 1923 1103 - 1924 1103 - 1925 1103 - 2515 1103 - 2516 1103 - 2517 1103 2518 1103 2519 1103 2520 1103 @@ -23767,13 +13742,6 @@ ny= 1536 2523 1103 2524 1103 2525 1103 - 2526 1103 - 2527 1103 - 2528 1103 - 2529 1103 - 2679 1103 - 2680 1103 - 2681 1103 2682 1103 2683 1103 2684 1103 @@ -23782,14 +13750,6 @@ ny= 1536 2687 1103 2688 1103 2689 1103 - 2690 1103 - 2691 1103 - 2692 1103 - 2693 1103 - 208 1104 - 209 1104 - 210 1104 - 211 1104 212 1104 213 1104 214 1104 @@ -23797,15 +13757,6 @@ ny= 1536 216 1104 217 1104 218 1104 - 219 1104 - 220 1104 - 221 1104 - 222 1104 - 377 1104 - 378 1104 - 379 1104 - 380 1104 - 381 1104 382 1104 383 1104 384 1104 @@ -23813,13 +13764,6 @@ ny= 1536 386 1104 387 1104 388 1104 - 389 1104 - 390 1104 - 391 1104 - 976 1104 - 977 1104 - 978 1104 - 979 1104 980 1104 981 1104 982 1104 @@ -23827,15 +13771,6 @@ ny= 1536 984 1104 985 1104 986 1104 - 987 1104 - 988 1104 - 989 1104 - 990 1104 - 1145 1104 - 1146 1104 - 1147 1104 - 1148 1104 - 1149 1104 1150 1104 1151 1104 1152 1104 @@ -23843,13 +13778,6 @@ ny= 1536 1154 1104 1155 1104 1156 1104 - 1157 1104 - 1158 1104 - 1159 1104 - 1744 1104 - 1745 1104 - 1746 1104 - 1747 1104 1748 1104 1749 1104 1750 1104 @@ -23857,15 +13785,6 @@ ny= 1536 1752 1104 1753 1104 1754 1104 - 1755 1104 - 1756 1104 - 1757 1104 - 1758 1104 - 1913 1104 - 1914 1104 - 1915 1104 - 1916 1104 - 1917 1104 1918 1104 1919 1104 1920 1104 @@ -23873,13 +13792,6 @@ ny= 1536 1922 1104 1923 1104 1924 1104 - 1925 1104 - 1926 1104 - 1927 1104 - 2512 1104 - 2513 1104 - 2514 1104 - 2515 1104 2516 1104 2517 1104 2518 1104 @@ -23887,15 +13799,6 @@ ny= 1536 2520 1104 2521 1104 2522 1104 - 2523 1104 - 2524 1104 - 2525 1104 - 2526 1104 - 2681 1104 - 2682 1104 - 2683 1104 - 2684 1104 - 2685 1104 2686 1104 2687 1104 2688 1104 @@ -23903,13 +13806,6 @@ ny= 1536 2690 1104 2691 1104 2692 1104 - 2693 1104 - 2694 1104 - 2695 1104 - 205 1105 - 206 1105 - 207 1105 - 208 1105 209 1105 210 1105 211 1105 @@ -23917,13 +13813,6 @@ ny= 1536 213 1105 214 1105 215 1105 - 216 1105 - 217 1105 - 218 1105 - 219 1105 - 381 1105 - 382 1105 - 383 1105 384 1105 385 1105 386 1105 @@ -23931,15 +13820,6 @@ ny= 1536 388 1105 389 1105 390 1105 - 391 1105 - 392 1105 - 393 1105 - 394 1105 - 395 1105 - 973 1105 - 974 1105 - 975 1105 - 976 1105 977 1105 978 1105 979 1105 @@ -23947,13 +13827,6 @@ ny= 1536 981 1105 982 1105 983 1105 - 984 1105 - 985 1105 - 986 1105 - 987 1105 - 1149 1105 - 1150 1105 - 1151 1105 1152 1105 1153 1105 1154 1105 @@ -23961,15 +13834,6 @@ ny= 1536 1156 1105 1157 1105 1158 1105 - 1159 1105 - 1160 1105 - 1161 1105 - 1162 1105 - 1163 1105 - 1741 1105 - 1742 1105 - 1743 1105 - 1744 1105 1745 1105 1746 1105 1747 1105 @@ -23977,13 +13841,6 @@ ny= 1536 1749 1105 1750 1105 1751 1105 - 1752 1105 - 1753 1105 - 1754 1105 - 1755 1105 - 1917 1105 - 1918 1105 - 1919 1105 1920 1105 1921 1105 1922 1105 @@ -23991,15 +13848,6 @@ ny= 1536 1924 1105 1925 1105 1926 1105 - 1927 1105 - 1928 1105 - 1929 1105 - 1930 1105 - 1931 1105 - 2509 1105 - 2510 1105 - 2511 1105 - 2512 1105 2513 1105 2514 1105 2515 1105 @@ -24007,13 +13855,6 @@ ny= 1536 2517 1105 2518 1105 2519 1105 - 2520 1105 - 2521 1105 - 2522 1105 - 2523 1105 - 2685 1105 - 2686 1105 - 2687 1105 2688 1105 2689 1105 2690 1105 @@ -24021,15 +13862,6 @@ ny= 1536 2692 1105 2693 1105 2694 1105 - 2695 1105 - 2696 1105 - 2697 1105 - 2698 1105 - 2699 1105 - 202 1106 - 203 1106 - 204 1106 - 205 1106 206 1106 207 1106 208 1106 @@ -24037,14 +13869,6 @@ ny= 1536 210 1106 211 1106 212 1106 - 213 1106 - 214 1106 - 215 1106 - 216 1106 - 383 1106 - 384 1106 - 385 1106 - 386 1106 387 1106 388 1106 389 1106 @@ -24053,14 +13877,6 @@ ny= 1536 392 1106 393 1106 394 1106 - 395 1106 - 396 1106 - 397 1106 - 398 1106 - 970 1106 - 971 1106 - 972 1106 - 973 1106 974 1106 975 1106 976 1106 @@ -24068,14 +13884,6 @@ ny= 1536 978 1106 979 1106 980 1106 - 981 1106 - 982 1106 - 983 1106 - 984 1106 - 1151 1106 - 1152 1106 - 1153 1106 - 1154 1106 1155 1106 1156 1106 1157 1106 @@ -24084,14 +13892,6 @@ ny= 1536 1160 1106 1161 1106 1162 1106 - 1163 1106 - 1164 1106 - 1165 1106 - 1166 1106 - 1738 1106 - 1739 1106 - 1740 1106 - 1741 1106 1742 1106 1743 1106 1744 1106 @@ -24099,14 +13899,6 @@ ny= 1536 1746 1106 1747 1106 1748 1106 - 1749 1106 - 1750 1106 - 1751 1106 - 1752 1106 - 1919 1106 - 1920 1106 - 1921 1106 - 1922 1106 1923 1106 1924 1106 1925 1106 @@ -24115,14 +13907,6 @@ ny= 1536 1928 1106 1929 1106 1930 1106 - 1931 1106 - 1932 1106 - 1933 1106 - 1934 1106 - 2506 1106 - 2507 1106 - 2508 1106 - 2509 1106 2510 1106 2511 1106 2512 1106 @@ -24130,14 +13914,6 @@ ny= 1536 2514 1106 2515 1106 2516 1106 - 2517 1106 - 2518 1106 - 2519 1106 - 2520 1106 - 2687 1106 - 2688 1106 - 2689 1106 - 2690 1106 2691 1106 2692 1106 2693 1106 @@ -24146,14 +13922,6 @@ ny= 1536 2696 1106 2697 1106 2698 1106 - 2699 1106 - 2700 1106 - 2701 1106 - 2702 1106 - 199 1107 - 200 1107 - 201 1107 - 202 1107 203 1107 204 1107 205 1107 @@ -24161,14 +13929,6 @@ ny= 1536 207 1107 208 1107 209 1107 - 210 1107 - 211 1107 - 212 1107 - 213 1107 - 386 1107 - 387 1107 - 388 1107 - 389 1107 390 1107 391 1107 392 1107 @@ -24177,14 +13937,6 @@ ny= 1536 395 1107 396 1107 397 1107 - 398 1107 - 399 1107 - 400 1107 - 401 1107 - 967 1107 - 968 1107 - 969 1107 - 970 1107 971 1107 972 1107 973 1107 @@ -24192,14 +13944,6 @@ ny= 1536 975 1107 976 1107 977 1107 - 978 1107 - 979 1107 - 980 1107 - 981 1107 - 1154 1107 - 1155 1107 - 1156 1107 - 1157 1107 1158 1107 1159 1107 1160 1107 @@ -24208,14 +13952,6 @@ ny= 1536 1163 1107 1164 1107 1165 1107 - 1166 1107 - 1167 1107 - 1168 1107 - 1169 1107 - 1735 1107 - 1736 1107 - 1737 1107 - 1738 1107 1739 1107 1740 1107 1741 1107 @@ -24223,14 +13959,6 @@ ny= 1536 1743 1107 1744 1107 1745 1107 - 1746 1107 - 1747 1107 - 1748 1107 - 1749 1107 - 1922 1107 - 1923 1107 - 1924 1107 - 1925 1107 1926 1107 1927 1107 1928 1107 @@ -24239,14 +13967,6 @@ ny= 1536 1931 1107 1932 1107 1933 1107 - 1934 1107 - 1935 1107 - 1936 1107 - 1937 1107 - 2503 1107 - 2504 1107 - 2505 1107 - 2506 1107 2507 1107 2508 1107 2509 1107 @@ -24254,14 +13974,6 @@ ny= 1536 2511 1107 2512 1107 2513 1107 - 2514 1107 - 2515 1107 - 2516 1107 - 2517 1107 - 2690 1107 - 2691 1107 - 2692 1107 - 2693 1107 2694 1107 2695 1107 2696 1107 @@ -24270,15 +13982,6 @@ ny= 1536 2699 1107 2700 1107 2701 1107 - 2702 1107 - 2703 1107 - 2704 1107 - 2705 1107 - 195 1108 - 196 1108 - 197 1108 - 198 1108 - 199 1108 200 1108 201 1108 202 1108 @@ -24286,14 +13989,6 @@ ny= 1536 204 1108 205 1108 206 1108 - 207 1108 - 208 1108 - 209 1108 - 210 1108 - 389 1108 - 390 1108 - 391 1108 - 392 1108 393 1108 394 1108 395 1108 @@ -24302,15 +13997,6 @@ ny= 1536 398 1108 399 1108 400 1108 - 401 1108 - 402 1108 - 403 1108 - 404 1108 - 963 1108 - 964 1108 - 965 1108 - 966 1108 - 967 1108 968 1108 969 1108 970 1108 @@ -24318,14 +14004,6 @@ ny= 1536 972 1108 973 1108 974 1108 - 975 1108 - 976 1108 - 977 1108 - 978 1108 - 1157 1108 - 1158 1108 - 1159 1108 - 1160 1108 1161 1108 1162 1108 1163 1108 @@ -24334,15 +14012,6 @@ ny= 1536 1166 1108 1167 1108 1168 1108 - 1169 1108 - 1170 1108 - 1171 1108 - 1172 1108 - 1731 1108 - 1732 1108 - 1733 1108 - 1734 1108 - 1735 1108 1736 1108 1737 1108 1738 1108 @@ -24350,14 +14019,6 @@ ny= 1536 1740 1108 1741 1108 1742 1108 - 1743 1108 - 1744 1108 - 1745 1108 - 1746 1108 - 1925 1108 - 1926 1108 - 1927 1108 - 1928 1108 1929 1108 1930 1108 1931 1108 @@ -24366,15 +14027,6 @@ ny= 1536 1934 1108 1935 1108 1936 1108 - 1937 1108 - 1938 1108 - 1939 1108 - 1940 1108 - 2499 1108 - 2500 1108 - 2501 1108 - 2502 1108 - 2503 1108 2504 1108 2505 1108 2506 1108 @@ -24382,14 +14034,6 @@ ny= 1536 2508 1108 2509 1108 2510 1108 - 2511 1108 - 2512 1108 - 2513 1108 - 2514 1108 - 2693 1108 - 2694 1108 - 2695 1108 - 2696 1108 2697 1108 2698 1108 2699 1108 @@ -24398,14 +14042,6 @@ ny= 1536 2702 1108 2703 1108 2704 1108 - 2705 1108 - 2706 1108 - 2707 1108 - 2708 1108 - 192 1109 - 193 1109 - 194 1109 - 195 1109 196 1109 197 1109 198 1109 @@ -24414,14 +14050,6 @@ ny= 1536 201 1109 202 1109 203 1109 - 204 1109 - 205 1109 - 206 1109 - 207 1109 - 392 1109 - 393 1109 - 394 1109 - 395 1109 396 1109 397 1109 398 1109 @@ -24430,14 +14058,6 @@ ny= 1536 401 1109 402 1109 403 1109 - 404 1109 - 405 1109 - 406 1109 - 407 1109 - 960 1109 - 961 1109 - 962 1109 - 963 1109 964 1109 965 1109 966 1109 @@ -24446,14 +14066,6 @@ ny= 1536 969 1109 970 1109 971 1109 - 972 1109 - 973 1109 - 974 1109 - 975 1109 - 1160 1109 - 1161 1109 - 1162 1109 - 1163 1109 1164 1109 1165 1109 1166 1109 @@ -24462,14 +14074,6 @@ ny= 1536 1169 1109 1170 1109 1171 1109 - 1172 1109 - 1173 1109 - 1174 1109 - 1175 1109 - 1728 1109 - 1729 1109 - 1730 1109 - 1731 1109 1732 1109 1733 1109 1734 1109 @@ -24478,14 +14082,6 @@ ny= 1536 1737 1109 1738 1109 1739 1109 - 1740 1109 - 1741 1109 - 1742 1109 - 1743 1109 - 1928 1109 - 1929 1109 - 1930 1109 - 1931 1109 1932 1109 1933 1109 1934 1109 @@ -24494,14 +14090,6 @@ ny= 1536 1937 1109 1938 1109 1939 1109 - 1940 1109 - 1941 1109 - 1942 1109 - 1943 1109 - 2496 1109 - 2497 1109 - 2498 1109 - 2499 1109 2500 1109 2501 1109 2502 1109 @@ -24510,14 +14098,6 @@ ny= 1536 2505 1109 2506 1109 2507 1109 - 2508 1109 - 2509 1109 - 2510 1109 - 2511 1109 - 2696 1109 - 2697 1109 - 2698 1109 - 2699 1109 2700 1109 2701 1109 2702 1109 @@ -24526,14 +14106,6 @@ ny= 1536 2705 1109 2706 1109 2707 1109 - 2708 1109 - 2709 1109 - 2710 1109 - 2711 1109 - 189 1110 - 190 1110 - 191 1110 - 192 1110 193 1110 194 1110 195 1110 @@ -24542,14 +14114,6 @@ ny= 1536 198 1110 199 1110 200 1110 - 201 1110 - 202 1110 - 203 1110 - 204 1110 - 395 1110 - 396 1110 - 397 1110 - 398 1110 399 1110 400 1110 401 1110 @@ -24558,14 +14122,6 @@ ny= 1536 404 1110 405 1110 406 1110 - 407 1110 - 408 1110 - 409 1110 - 410 1110 - 957 1110 - 958 1110 - 959 1110 - 960 1110 961 1110 962 1110 963 1110 @@ -24574,14 +14130,6 @@ ny= 1536 966 1110 967 1110 968 1110 - 969 1110 - 970 1110 - 971 1110 - 972 1110 - 1163 1110 - 1164 1110 - 1165 1110 - 1166 1110 1167 1110 1168 1110 1169 1110 @@ -24590,14 +14138,6 @@ ny= 1536 1172 1110 1173 1110 1174 1110 - 1175 1110 - 1176 1110 - 1177 1110 - 1178 1110 - 1725 1110 - 1726 1110 - 1727 1110 - 1728 1110 1729 1110 1730 1110 1731 1110 @@ -24606,14 +14146,6 @@ ny= 1536 1734 1110 1735 1110 1736 1110 - 1737 1110 - 1738 1110 - 1739 1110 - 1740 1110 - 1931 1110 - 1932 1110 - 1933 1110 - 1934 1110 1935 1110 1936 1110 1937 1110 @@ -24622,14 +14154,6 @@ ny= 1536 1940 1110 1941 1110 1942 1110 - 1943 1110 - 1944 1110 - 1945 1110 - 1946 1110 - 2493 1110 - 2494 1110 - 2495 1110 - 2496 1110 2497 1110 2498 1110 2499 1110 @@ -24638,14 +14162,6 @@ ny= 1536 2502 1110 2503 1110 2504 1110 - 2505 1110 - 2506 1110 - 2507 1110 - 2508 1110 - 2699 1110 - 2700 1110 - 2701 1110 - 2702 1110 2703 1110 2704 1110 2705 1110 @@ -24654,14 +14170,6 @@ ny= 1536 2708 1110 2709 1110 2710 1110 - 2711 1110 - 2712 1110 - 2713 1110 - 2714 1110 - 186 1111 - 187 1111 - 188 1111 - 189 1111 190 1111 191 1111 192 1111 @@ -24670,15 +14178,6 @@ ny= 1536 195 1111 196 1111 197 1111 - 198 1111 - 199 1111 - 200 1111 - 201 1111 - 398 1111 - 399 1111 - 400 1111 - 401 1111 - 402 1111 403 1111 404 1111 405 1111 @@ -24686,15 +14185,6 @@ ny= 1536 407 1111 408 1111 409 1111 - 410 1111 - 411 1111 - 412 1111 - 413 1111 - 414 1111 - 954 1111 - 955 1111 - 956 1111 - 957 1111 958 1111 959 1111 960 1111 @@ -24703,15 +14193,6 @@ ny= 1536 963 1111 964 1111 965 1111 - 966 1111 - 967 1111 - 968 1111 - 969 1111 - 1166 1111 - 1167 1111 - 1168 1111 - 1169 1111 - 1170 1111 1171 1111 1172 1111 1173 1111 @@ -24719,15 +14200,6 @@ ny= 1536 1175 1111 1176 1111 1177 1111 - 1178 1111 - 1179 1111 - 1180 1111 - 1181 1111 - 1182 1111 - 1722 1111 - 1723 1111 - 1724 1111 - 1725 1111 1726 1111 1727 1111 1728 1111 @@ -24736,15 +14208,6 @@ ny= 1536 1731 1111 1732 1111 1733 1111 - 1734 1111 - 1735 1111 - 1736 1111 - 1737 1111 - 1934 1111 - 1935 1111 - 1936 1111 - 1937 1111 - 1938 1111 1939 1111 1940 1111 1941 1111 @@ -24752,15 +14215,6 @@ ny= 1536 1943 1111 1944 1111 1945 1111 - 1946 1111 - 1947 1111 - 1948 1111 - 1949 1111 - 1950 1111 - 2490 1111 - 2491 1111 - 2492 1111 - 2493 1111 2494 1111 2495 1111 2496 1111 @@ -24769,15 +14223,6 @@ ny= 1536 2499 1111 2500 1111 2501 1111 - 2502 1111 - 2503 1111 - 2504 1111 - 2505 1111 - 2702 1111 - 2703 1111 - 2704 1111 - 2705 1111 - 2706 1111 2707 1111 2708 1111 2709 1111 @@ -24785,16 +14230,6 @@ ny= 1536 2711 1111 2712 1111 2713 1111 - 2714 1111 - 2715 1111 - 2716 1111 - 2717 1111 - 2718 1111 - 182 1112 - 183 1112 - 184 1112 - 185 1112 - 186 1112 187 1112 188 1112 189 1112 @@ -24803,13 +14238,6 @@ ny= 1536 192 1112 193 1112 194 1112 - 195 1112 - 196 1112 - 197 1112 - 198 1112 - 402 1112 - 403 1112 - 404 1112 405 1112 406 1112 407 1112 @@ -24819,15 +14247,6 @@ ny= 1536 411 1112 412 1112 413 1112 - 414 1112 - 415 1112 - 416 1112 - 417 1112 - 950 1112 - 951 1112 - 952 1112 - 953 1112 - 954 1112 955 1112 956 1112 957 1112 @@ -24836,13 +14255,6 @@ ny= 1536 960 1112 961 1112 962 1112 - 963 1112 - 964 1112 - 965 1112 - 966 1112 - 1170 1112 - 1171 1112 - 1172 1112 1173 1112 1174 1112 1175 1112 @@ -24852,15 +14264,6 @@ ny= 1536 1179 1112 1180 1112 1181 1112 - 1182 1112 - 1183 1112 - 1184 1112 - 1185 1112 - 1718 1112 - 1719 1112 - 1720 1112 - 1721 1112 - 1722 1112 1723 1112 1724 1112 1725 1112 @@ -24869,13 +14272,6 @@ ny= 1536 1728 1112 1729 1112 1730 1112 - 1731 1112 - 1732 1112 - 1733 1112 - 1734 1112 - 1938 1112 - 1939 1112 - 1940 1112 1941 1112 1942 1112 1943 1112 @@ -24885,15 +14281,6 @@ ny= 1536 1947 1112 1948 1112 1949 1112 - 1950 1112 - 1951 1112 - 1952 1112 - 1953 1112 - 2486 1112 - 2487 1112 - 2488 1112 - 2489 1112 - 2490 1112 2491 1112 2492 1112 2493 1112 @@ -24902,13 +14289,6 @@ ny= 1536 2496 1112 2497 1112 2498 1112 - 2499 1112 - 2500 1112 - 2501 1112 - 2502 1112 - 2706 1112 - 2707 1112 - 2708 1112 2709 1112 2710 1112 2711 1112 @@ -24918,14 +14298,6 @@ ny= 1536 2715 1112 2716 1112 2717 1112 - 2718 1112 - 2719 1112 - 2720 1112 - 2721 1112 - 179 1113 - 180 1113 - 181 1113 - 182 1113 183 1113 184 1113 185 1113 @@ -24935,15 +14307,6 @@ ny= 1536 189 1113 190 1113 191 1113 - 192 1113 - 193 1113 - 194 1113 - 195 1113 - 404 1113 - 405 1113 - 406 1113 - 407 1113 - 408 1113 409 1113 410 1113 411 1113 @@ -24952,14 +14315,6 @@ ny= 1536 414 1113 415 1113 416 1113 - 417 1113 - 418 1113 - 419 1113 - 420 1113 - 947 1113 - 948 1113 - 949 1113 - 950 1113 951 1113 952 1113 953 1113 @@ -24969,15 +14324,6 @@ ny= 1536 957 1113 958 1113 959 1113 - 960 1113 - 961 1113 - 962 1113 - 963 1113 - 1172 1113 - 1173 1113 - 1174 1113 - 1175 1113 - 1176 1113 1177 1113 1178 1113 1179 1113 @@ -24986,14 +14332,6 @@ ny= 1536 1182 1113 1183 1113 1184 1113 - 1185 1113 - 1186 1113 - 1187 1113 - 1188 1113 - 1715 1113 - 1716 1113 - 1717 1113 - 1718 1113 1719 1113 1720 1113 1721 1113 @@ -25003,15 +14341,6 @@ ny= 1536 1725 1113 1726 1113 1727 1113 - 1728 1113 - 1729 1113 - 1730 1113 - 1731 1113 - 1940 1113 - 1941 1113 - 1942 1113 - 1943 1113 - 1944 1113 1945 1113 1946 1113 1947 1113 @@ -25020,14 +14349,6 @@ ny= 1536 1950 1113 1951 1113 1952 1113 - 1953 1113 - 1954 1113 - 1955 1113 - 1956 1113 - 2483 1113 - 2484 1113 - 2485 1113 - 2486 1113 2487 1113 2488 1113 2489 1113 @@ -25037,15 +14358,6 @@ ny= 1536 2493 1113 2494 1113 2495 1113 - 2496 1113 - 2497 1113 - 2498 1113 - 2499 1113 - 2708 1113 - 2709 1113 - 2710 1113 - 2711 1113 - 2712 1113 2713 1113 2714 1113 2715 1113 @@ -25054,14 +14366,6 @@ ny= 1536 2718 1113 2719 1113 2720 1113 - 2721 1113 - 2722 1113 - 2723 1113 - 2724 1113 - 176 1114 - 177 1114 - 178 1114 - 179 1114 180 1114 181 1114 182 1114 @@ -25070,15 +14374,6 @@ ny= 1536 185 1114 186 1114 187 1114 - 188 1114 - 189 1114 - 190 1114 - 191 1114 - 192 1114 - 408 1114 - 409 1114 - 410 1114 - 411 1114 412 1114 413 1114 414 1114 @@ -25087,15 +14382,6 @@ ny= 1536 417 1114 418 1114 419 1114 - 420 1114 - 421 1114 - 422 1114 - 423 1114 - 424 1114 - 944 1114 - 945 1114 - 946 1114 - 947 1114 948 1114 949 1114 950 1114 @@ -25104,15 +14390,6 @@ ny= 1536 953 1114 954 1114 955 1114 - 956 1114 - 957 1114 - 958 1114 - 959 1114 - 960 1114 - 1176 1114 - 1177 1114 - 1178 1114 - 1179 1114 1180 1114 1181 1114 1182 1114 @@ -25121,15 +14398,6 @@ ny= 1536 1185 1114 1186 1114 1187 1114 - 1188 1114 - 1189 1114 - 1190 1114 - 1191 1114 - 1192 1114 - 1712 1114 - 1713 1114 - 1714 1114 - 1715 1114 1716 1114 1717 1114 1718 1114 @@ -25138,15 +14406,6 @@ ny= 1536 1721 1114 1722 1114 1723 1114 - 1724 1114 - 1725 1114 - 1726 1114 - 1727 1114 - 1728 1114 - 1944 1114 - 1945 1114 - 1946 1114 - 1947 1114 1948 1114 1949 1114 1950 1114 @@ -25155,15 +14414,6 @@ ny= 1536 1953 1114 1954 1114 1955 1114 - 1956 1114 - 1957 1114 - 1958 1114 - 1959 1114 - 1960 1114 - 2480 1114 - 2481 1114 - 2482 1114 - 2483 1114 2484 1114 2485 1114 2486 1114 @@ -25172,15 +14422,6 @@ ny= 1536 2489 1114 2490 1114 2491 1114 - 2492 1114 - 2493 1114 - 2494 1114 - 2495 1114 - 2496 1114 - 2712 1114 - 2713 1114 - 2714 1114 - 2715 1114 2716 1114 2717 1114 2718 1114 @@ -25189,16 +14430,6 @@ ny= 1536 2721 1114 2722 1114 2723 1114 - 2724 1114 - 2725 1114 - 2726 1114 - 2727 1114 - 2728 1114 - 172 1115 - 173 1115 - 174 1115 - 175 1115 - 176 1115 177 1115 178 1115 179 1115 @@ -25207,14 +14438,6 @@ ny= 1536 182 1115 183 1115 184 1115 - 185 1115 - 186 1115 - 187 1115 - 188 1115 - 411 1115 - 412 1115 - 413 1115 - 414 1115 415 1115 416 1115 417 1115 @@ -25224,15 +14447,6 @@ ny= 1536 421 1115 422 1115 423 1115 - 424 1115 - 425 1115 - 426 1115 - 427 1115 - 940 1115 - 941 1115 - 942 1115 - 943 1115 - 944 1115 945 1115 946 1115 947 1115 @@ -25241,14 +14455,6 @@ ny= 1536 950 1115 951 1115 952 1115 - 953 1115 - 954 1115 - 955 1115 - 956 1115 - 1179 1115 - 1180 1115 - 1181 1115 - 1182 1115 1183 1115 1184 1115 1185 1115 @@ -25258,15 +14464,6 @@ ny= 1536 1189 1115 1190 1115 1191 1115 - 1192 1115 - 1193 1115 - 1194 1115 - 1195 1115 - 1708 1115 - 1709 1115 - 1710 1115 - 1711 1115 - 1712 1115 1713 1115 1714 1115 1715 1115 @@ -25275,14 +14472,6 @@ ny= 1536 1718 1115 1719 1115 1720 1115 - 1721 1115 - 1722 1115 - 1723 1115 - 1724 1115 - 1947 1115 - 1948 1115 - 1949 1115 - 1950 1115 1951 1115 1952 1115 1953 1115 @@ -25292,15 +14481,6 @@ ny= 1536 1957 1115 1958 1115 1959 1115 - 1960 1115 - 1961 1115 - 1962 1115 - 1963 1115 - 2476 1115 - 2477 1115 - 2478 1115 - 2479 1115 - 2480 1115 2481 1115 2482 1115 2483 1115 @@ -25309,14 +14489,6 @@ ny= 1536 2486 1115 2487 1115 2488 1115 - 2489 1115 - 2490 1115 - 2491 1115 - 2492 1115 - 2715 1115 - 2716 1115 - 2717 1115 - 2718 1115 2719 1115 2720 1115 2721 1115 @@ -25326,14 +14498,6 @@ ny= 1536 2725 1115 2726 1115 2727 1115 - 2728 1115 - 2729 1115 - 2730 1115 - 2731 1115 - 169 1116 - 170 1116 - 171 1116 - 172 1116 173 1116 174 1116 175 1116 @@ -25343,15 +14507,6 @@ ny= 1536 179 1116 180 1116 181 1116 - 182 1116 - 183 1116 - 184 1116 - 185 1116 - 414 1116 - 415 1116 - 416 1116 - 417 1116 - 418 1116 419 1116 420 1116 421 1116 @@ -25360,14 +14515,6 @@ ny= 1536 424 1116 425 1116 426 1116 - 427 1116 - 428 1116 - 429 1116 - 430 1116 - 937 1116 - 938 1116 - 939 1116 - 940 1116 941 1116 942 1116 943 1116 @@ -25377,15 +14524,6 @@ ny= 1536 947 1116 948 1116 949 1116 - 950 1116 - 951 1116 - 952 1116 - 953 1116 - 1182 1116 - 1183 1116 - 1184 1116 - 1185 1116 - 1186 1116 1187 1116 1188 1116 1189 1116 @@ -25394,14 +14532,6 @@ ny= 1536 1192 1116 1193 1116 1194 1116 - 1195 1116 - 1196 1116 - 1197 1116 - 1198 1116 - 1705 1116 - 1706 1116 - 1707 1116 - 1708 1116 1709 1116 1710 1116 1711 1116 @@ -25411,15 +14541,6 @@ ny= 1536 1715 1116 1716 1116 1717 1116 - 1718 1116 - 1719 1116 - 1720 1116 - 1721 1116 - 1950 1116 - 1951 1116 - 1952 1116 - 1953 1116 - 1954 1116 1955 1116 1956 1116 1957 1116 @@ -25428,14 +14549,6 @@ ny= 1536 1960 1116 1961 1116 1962 1116 - 1963 1116 - 1964 1116 - 1965 1116 - 1966 1116 - 2473 1116 - 2474 1116 - 2475 1116 - 2476 1116 2477 1116 2478 1116 2479 1116 @@ -25445,15 +14558,6 @@ ny= 1536 2483 1116 2484 1116 2485 1116 - 2486 1116 - 2487 1116 - 2488 1116 - 2489 1116 - 2718 1116 - 2719 1116 - 2720 1116 - 2721 1116 - 2722 1116 2723 1116 2724 1116 2725 1116 @@ -25462,15 +14566,6 @@ ny= 1536 2728 1116 2729 1116 2730 1116 - 2731 1116 - 2732 1116 - 2733 1116 - 2734 1116 - 165 1117 - 166 1117 - 167 1117 - 168 1117 - 169 1117 170 1117 171 1117 172 1117 @@ -25479,15 +14574,6 @@ ny= 1536 175 1117 176 1117 177 1117 - 178 1117 - 179 1117 - 180 1117 - 181 1117 - 182 1117 - 418 1117 - 419 1117 - 420 1117 - 421 1117 422 1117 423 1117 424 1117 @@ -25496,16 +14582,6 @@ ny= 1536 427 1117 428 1117 429 1117 - 430 1117 - 431 1117 - 432 1117 - 433 1117 - 434 1117 - 933 1117 - 934 1117 - 935 1117 - 936 1117 - 937 1117 938 1117 939 1117 940 1117 @@ -25514,15 +14590,6 @@ ny= 1536 943 1117 944 1117 945 1117 - 946 1117 - 947 1117 - 948 1117 - 949 1117 - 950 1117 - 1186 1117 - 1187 1117 - 1188 1117 - 1189 1117 1190 1117 1191 1117 1192 1117 @@ -25531,16 +14598,6 @@ ny= 1536 1195 1117 1196 1117 1197 1117 - 1198 1117 - 1199 1117 - 1200 1117 - 1201 1117 - 1202 1117 - 1701 1117 - 1702 1117 - 1703 1117 - 1704 1117 - 1705 1117 1706 1117 1707 1117 1708 1117 @@ -25549,15 +14606,6 @@ ny= 1536 1711 1117 1712 1117 1713 1117 - 1714 1117 - 1715 1117 - 1716 1117 - 1717 1117 - 1718 1117 - 1954 1117 - 1955 1117 - 1956 1117 - 1957 1117 1958 1117 1959 1117 1960 1117 @@ -25566,16 +14614,6 @@ ny= 1536 1963 1117 1964 1117 1965 1117 - 1966 1117 - 1967 1117 - 1968 1117 - 1969 1117 - 1970 1117 - 2469 1117 - 2470 1117 - 2471 1117 - 2472 1117 - 2473 1117 2474 1117 2475 1117 2476 1117 @@ -25584,15 +14622,6 @@ ny= 1536 2479 1117 2480 1117 2481 1117 - 2482 1117 - 2483 1117 - 2484 1117 - 2485 1117 - 2486 1117 - 2722 1117 - 2723 1117 - 2724 1117 - 2725 1117 2726 1117 2727 1117 2728 1117 @@ -25601,15 +14630,6 @@ ny= 1536 2731 1117 2732 1117 2733 1117 - 2734 1117 - 2735 1117 - 2736 1117 - 2737 1117 - 2738 1117 - 162 1118 - 163 1118 - 164 1118 - 165 1118 166 1118 167 1118 168 1118 @@ -25619,15 +14639,6 @@ ny= 1536 172 1118 173 1118 174 1118 - 175 1118 - 176 1118 - 177 1118 - 178 1118 - 421 1118 - 422 1118 - 423 1118 - 424 1118 - 425 1118 426 1118 427 1118 428 1118 @@ -25636,15 +14647,6 @@ ny= 1536 431 1118 432 1118 433 1118 - 434 1118 - 435 1118 - 436 1118 - 437 1118 - 438 1118 - 930 1118 - 931 1118 - 932 1118 - 933 1118 934 1118 935 1118 936 1118 @@ -25654,15 +14656,6 @@ ny= 1536 940 1118 941 1118 942 1118 - 943 1118 - 944 1118 - 945 1118 - 946 1118 - 1189 1118 - 1190 1118 - 1191 1118 - 1192 1118 - 1193 1118 1194 1118 1195 1118 1196 1118 @@ -25671,15 +14664,6 @@ ny= 1536 1199 1118 1200 1118 1201 1118 - 1202 1118 - 1203 1118 - 1204 1118 - 1205 1118 - 1206 1118 - 1698 1118 - 1699 1118 - 1700 1118 - 1701 1118 1702 1118 1703 1118 1704 1118 @@ -25689,15 +14673,6 @@ ny= 1536 1708 1118 1709 1118 1710 1118 - 1711 1118 - 1712 1118 - 1713 1118 - 1714 1118 - 1957 1118 - 1958 1118 - 1959 1118 - 1960 1118 - 1961 1118 1962 1118 1963 1118 1964 1118 @@ -25706,15 +14681,6 @@ ny= 1536 1967 1118 1968 1118 1969 1118 - 1970 1118 - 1971 1118 - 1972 1118 - 1973 1118 - 1974 1118 - 2466 1118 - 2467 1118 - 2468 1118 - 2469 1118 2470 1118 2471 1118 2472 1118 @@ -25724,15 +14690,6 @@ ny= 1536 2476 1118 2477 1118 2478 1118 - 2479 1118 - 2480 1118 - 2481 1118 - 2482 1118 - 2725 1118 - 2726 1118 - 2727 1118 - 2728 1118 - 2729 1118 2730 1118 2731 1118 2732 1118 @@ -25741,16 +14698,6 @@ ny= 1536 2735 1118 2736 1118 2737 1118 - 2738 1118 - 2739 1118 - 2740 1118 - 2741 1118 - 2742 1118 - 158 1119 - 159 1119 - 160 1119 - 161 1119 - 162 1119 163 1119 164 1119 165 1119 @@ -25759,15 +14706,6 @@ ny= 1536 168 1119 169 1119 170 1119 - 171 1119 - 172 1119 - 173 1119 - 174 1119 - 175 1119 - 425 1119 - 426 1119 - 427 1119 - 428 1119 429 1119 430 1119 431 1119 @@ -25777,15 +14715,6 @@ ny= 1536 435 1119 436 1119 437 1119 - 438 1119 - 439 1119 - 440 1119 - 441 1119 - 926 1119 - 927 1119 - 928 1119 - 929 1119 - 930 1119 931 1119 932 1119 933 1119 @@ -25794,15 +14723,6 @@ ny= 1536 936 1119 937 1119 938 1119 - 939 1119 - 940 1119 - 941 1119 - 942 1119 - 943 1119 - 1193 1119 - 1194 1119 - 1195 1119 - 1196 1119 1197 1119 1198 1119 1199 1119 @@ -25812,15 +14732,6 @@ ny= 1536 1203 1119 1204 1119 1205 1119 - 1206 1119 - 1207 1119 - 1208 1119 - 1209 1119 - 1694 1119 - 1695 1119 - 1696 1119 - 1697 1119 - 1698 1119 1699 1119 1700 1119 1701 1119 @@ -25829,15 +14740,6 @@ ny= 1536 1704 1119 1705 1119 1706 1119 - 1707 1119 - 1708 1119 - 1709 1119 - 1710 1119 - 1711 1119 - 1961 1119 - 1962 1119 - 1963 1119 - 1964 1119 1965 1119 1966 1119 1967 1119 @@ -25847,15 +14749,6 @@ ny= 1536 1971 1119 1972 1119 1973 1119 - 1974 1119 - 1975 1119 - 1976 1119 - 1977 1119 - 2462 1119 - 2463 1119 - 2464 1119 - 2465 1119 - 2466 1119 2467 1119 2468 1119 2469 1119 @@ -25864,15 +14757,6 @@ ny= 1536 2472 1119 2473 1119 2474 1119 - 2475 1119 - 2476 1119 - 2477 1119 - 2478 1119 - 2479 1119 - 2729 1119 - 2730 1119 - 2731 1119 - 2732 1119 2733 1119 2734 1119 2735 1119 @@ -25882,15 +14766,6 @@ ny= 1536 2739 1119 2740 1119 2741 1119 - 2742 1119 - 2743 1119 - 2744 1119 - 2745 1119 - 154 1120 - 155 1120 - 156 1120 - 157 1120 - 158 1120 159 1120 160 1120 161 1120 @@ -25900,14 +14775,6 @@ ny= 1536 165 1120 166 1120 167 1120 - 168 1120 - 169 1120 - 170 1120 - 171 1120 - 428 1120 - 429 1120 - 430 1120 - 431 1120 432 1120 433 1120 434 1120 @@ -25917,16 +14784,6 @@ ny= 1536 438 1120 439 1120 440 1120 - 441 1120 - 442 1120 - 443 1120 - 444 1120 - 445 1120 - 922 1120 - 923 1120 - 924 1120 - 925 1120 - 926 1120 927 1120 928 1120 929 1120 @@ -25936,14 +14793,6 @@ ny= 1536 933 1120 934 1120 935 1120 - 936 1120 - 937 1120 - 938 1120 - 939 1120 - 1196 1120 - 1197 1120 - 1198 1120 - 1199 1120 1200 1120 1201 1120 1202 1120 @@ -25953,16 +14802,6 @@ ny= 1536 1206 1120 1207 1120 1208 1120 - 1209 1120 - 1210 1120 - 1211 1120 - 1212 1120 - 1213 1120 - 1690 1120 - 1691 1120 - 1692 1120 - 1693 1120 - 1694 1120 1695 1120 1696 1120 1697 1120 @@ -25972,14 +14811,6 @@ ny= 1536 1701 1120 1702 1120 1703 1120 - 1704 1120 - 1705 1120 - 1706 1120 - 1707 1120 - 1964 1120 - 1965 1120 - 1966 1120 - 1967 1120 1968 1120 1969 1120 1970 1120 @@ -25989,16 +14820,6 @@ ny= 1536 1974 1120 1975 1120 1976 1120 - 1977 1120 - 1978 1120 - 1979 1120 - 1980 1120 - 1981 1120 - 2458 1120 - 2459 1120 - 2460 1120 - 2461 1120 - 2462 1120 2463 1120 2464 1120 2465 1120 @@ -26008,14 +14829,6 @@ ny= 1536 2469 1120 2470 1120 2471 1120 - 2472 1120 - 2473 1120 - 2474 1120 - 2475 1120 - 2732 1120 - 2733 1120 - 2734 1120 - 2735 1120 2736 1120 2737 1120 2738 1120 @@ -26025,15 +14838,6 @@ ny= 1536 2742 1120 2743 1120 2744 1120 - 2745 1120 - 2746 1120 - 2747 1120 - 2748 1120 - 2749 1120 - 151 1121 - 152 1121 - 153 1121 - 154 1121 155 1121 156 1121 157 1121 @@ -26043,16 +14847,6 @@ ny= 1536 161 1121 162 1121 163 1121 - 164 1121 - 165 1121 - 166 1121 - 167 1121 - 168 1121 - 431 1121 - 432 1121 - 433 1121 - 434 1121 - 435 1121 436 1121 437 1121 438 1121 @@ -26062,15 +14856,6 @@ ny= 1536 442 1121 443 1121 444 1121 - 445 1121 - 446 1121 - 447 1121 - 448 1121 - 449 1121 - 919 1121 - 920 1121 - 921 1121 - 922 1121 923 1121 924 1121 925 1121 @@ -26080,16 +14865,6 @@ ny= 1536 929 1121 930 1121 931 1121 - 932 1121 - 933 1121 - 934 1121 - 935 1121 - 936 1121 - 1199 1121 - 1200 1121 - 1201 1121 - 1202 1121 - 1203 1121 1204 1121 1205 1121 1206 1121 @@ -26099,15 +14874,6 @@ ny= 1536 1210 1121 1211 1121 1212 1121 - 1213 1121 - 1214 1121 - 1215 1121 - 1216 1121 - 1217 1121 - 1687 1121 - 1688 1121 - 1689 1121 - 1690 1121 1691 1121 1692 1121 1693 1121 @@ -26117,16 +14883,6 @@ ny= 1536 1697 1121 1698 1121 1699 1121 - 1700 1121 - 1701 1121 - 1702 1121 - 1703 1121 - 1704 1121 - 1967 1121 - 1968 1121 - 1969 1121 - 1970 1121 - 1971 1121 1972 1121 1973 1121 1974 1121 @@ -26136,15 +14892,6 @@ ny= 1536 1978 1121 1979 1121 1980 1121 - 1981 1121 - 1982 1121 - 1983 1121 - 1984 1121 - 1985 1121 - 2455 1121 - 2456 1121 - 2457 1121 - 2458 1121 2459 1121 2460 1121 2461 1121 @@ -26154,16 +14901,6 @@ ny= 1536 2465 1121 2466 1121 2467 1121 - 2468 1121 - 2469 1121 - 2470 1121 - 2471 1121 - 2472 1121 - 2735 1121 - 2736 1121 - 2737 1121 - 2738 1121 - 2739 1121 2740 1121 2741 1121 2742 1121 @@ -26173,16 +14910,6 @@ ny= 1536 2746 1121 2747 1121 2748 1121 - 2749 1121 - 2750 1121 - 2751 1121 - 2752 1121 - 2753 1121 - 147 1122 - 148 1122 - 149 1122 - 150 1122 - 151 1122 152 1122 153 1122 154 1122 @@ -26192,15 +14919,6 @@ ny= 1536 158 1122 159 1122 160 1122 - 161 1122 - 162 1122 - 163 1122 - 164 1122 - 435 1122 - 436 1122 - 437 1122 - 438 1122 - 439 1122 440 1122 441 1122 442 1122 @@ -26210,16 +14928,6 @@ ny= 1536 446 1122 447 1122 448 1122 - 449 1122 - 450 1122 - 451 1122 - 452 1122 - 453 1122 - 915 1122 - 916 1122 - 917 1122 - 918 1122 - 919 1122 920 1122 921 1122 922 1122 @@ -26229,15 +14937,6 @@ ny= 1536 926 1122 927 1122 928 1122 - 929 1122 - 930 1122 - 931 1122 - 932 1122 - 1203 1122 - 1204 1122 - 1205 1122 - 1206 1122 - 1207 1122 1208 1122 1209 1122 1210 1122 @@ -26247,16 +14946,6 @@ ny= 1536 1214 1122 1215 1122 1216 1122 - 1217 1122 - 1218 1122 - 1219 1122 - 1220 1122 - 1221 1122 - 1683 1122 - 1684 1122 - 1685 1122 - 1686 1122 - 1687 1122 1688 1122 1689 1122 1690 1122 @@ -26266,15 +14955,6 @@ ny= 1536 1694 1122 1695 1122 1696 1122 - 1697 1122 - 1698 1122 - 1699 1122 - 1700 1122 - 1971 1122 - 1972 1122 - 1973 1122 - 1974 1122 - 1975 1122 1976 1122 1977 1122 1978 1122 @@ -26284,16 +14964,6 @@ ny= 1536 1982 1122 1983 1122 1984 1122 - 1985 1122 - 1986 1122 - 1987 1122 - 1988 1122 - 1989 1122 - 2451 1122 - 2452 1122 - 2453 1122 - 2454 1122 - 2455 1122 2456 1122 2457 1122 2458 1122 @@ -26303,15 +14973,6 @@ ny= 1536 2462 1122 2463 1122 2464 1122 - 2465 1122 - 2466 1122 - 2467 1122 - 2468 1122 - 2739 1122 - 2740 1122 - 2741 1122 - 2742 1122 - 2743 1122 2744 1122 2745 1122 2746 1122 @@ -26321,16 +14982,6 @@ ny= 1536 2750 1122 2751 1122 2752 1122 - 2753 1122 - 2754 1122 - 2755 1122 - 2756 1122 - 2757 1122 - 143 1123 - 144 1123 - 145 1123 - 146 1123 - 147 1123 148 1123 149 1123 150 1123 @@ -26340,16 +14991,6 @@ ny= 1536 154 1123 155 1123 156 1123 - 157 1123 - 158 1123 - 159 1123 - 160 1123 - 161 1123 - 439 1123 - 440 1123 - 441 1123 - 442 1123 - 443 1123 444 1123 445 1123 446 1123 @@ -26359,16 +15000,6 @@ ny= 1536 450 1123 451 1123 452 1123 - 453 1123 - 454 1123 - 455 1123 - 456 1123 - 457 1123 - 911 1123 - 912 1123 - 913 1123 - 914 1123 - 915 1123 916 1123 917 1123 918 1123 @@ -26378,16 +15009,6 @@ ny= 1536 922 1123 923 1123 924 1123 - 925 1123 - 926 1123 - 927 1123 - 928 1123 - 929 1123 - 1207 1123 - 1208 1123 - 1209 1123 - 1210 1123 - 1211 1123 1212 1123 1213 1123 1214 1123 @@ -26397,16 +15018,6 @@ ny= 1536 1218 1123 1219 1123 1220 1123 - 1221 1123 - 1222 1123 - 1223 1123 - 1224 1123 - 1225 1123 - 1679 1123 - 1680 1123 - 1681 1123 - 1682 1123 - 1683 1123 1684 1123 1685 1123 1686 1123 @@ -26416,16 +15027,6 @@ ny= 1536 1690 1123 1691 1123 1692 1123 - 1693 1123 - 1694 1123 - 1695 1123 - 1696 1123 - 1697 1123 - 1975 1123 - 1976 1123 - 1977 1123 - 1978 1123 - 1979 1123 1980 1123 1981 1123 1982 1123 @@ -26435,16 +15036,6 @@ ny= 1536 1986 1123 1987 1123 1988 1123 - 1989 1123 - 1990 1123 - 1991 1123 - 1992 1123 - 1993 1123 - 2447 1123 - 2448 1123 - 2449 1123 - 2450 1123 - 2451 1123 2452 1123 2453 1123 2454 1123 @@ -26454,16 +15045,6 @@ ny= 1536 2458 1123 2459 1123 2460 1123 - 2461 1123 - 2462 1123 - 2463 1123 - 2464 1123 - 2465 1123 - 2743 1123 - 2744 1123 - 2745 1123 - 2746 1123 - 2747 1123 2748 1123 2749 1123 2750 1123 @@ -26473,16 +15054,6 @@ ny= 1536 2754 1123 2755 1123 2756 1123 - 2757 1123 - 2758 1123 - 2759 1123 - 2760 1123 - 2761 1123 - 139 1124 - 140 1124 - 141 1124 - 142 1124 - 143 1124 144 1124 145 1124 146 1124 @@ -26492,15 +15063,6 @@ ny= 1536 150 1124 151 1124 152 1124 - 153 1124 - 154 1124 - 155 1124 - 156 1124 - 157 1124 - 443 1124 - 444 1124 - 445 1124 - 446 1124 447 1124 448 1124 449 1124 @@ -26511,16 +15073,6 @@ ny= 1536 454 1124 455 1124 456 1124 - 457 1124 - 458 1124 - 459 1124 - 460 1124 - 461 1124 - 907 1124 - 908 1124 - 909 1124 - 910 1124 - 911 1124 912 1124 913 1124 914 1124 @@ -26530,15 +15082,6 @@ ny= 1536 918 1124 919 1124 920 1124 - 921 1124 - 922 1124 - 923 1124 - 924 1124 - 925 1124 - 1211 1124 - 1212 1124 - 1213 1124 - 1214 1124 1215 1124 1216 1124 1217 1124 @@ -26549,16 +15092,6 @@ ny= 1536 1222 1124 1223 1124 1224 1124 - 1225 1124 - 1226 1124 - 1227 1124 - 1228 1124 - 1229 1124 - 1675 1124 - 1676 1124 - 1677 1124 - 1678 1124 - 1679 1124 1680 1124 1681 1124 1682 1124 @@ -26568,15 +15101,6 @@ ny= 1536 1686 1124 1687 1124 1688 1124 - 1689 1124 - 1690 1124 - 1691 1124 - 1692 1124 - 1693 1124 - 1979 1124 - 1980 1124 - 1981 1124 - 1982 1124 1983 1124 1984 1124 1985 1124 @@ -26587,16 +15111,6 @@ ny= 1536 1990 1124 1991 1124 1992 1124 - 1993 1124 - 1994 1124 - 1995 1124 - 1996 1124 - 1997 1124 - 2443 1124 - 2444 1124 - 2445 1124 - 2446 1124 - 2447 1124 2448 1124 2449 1124 2450 1124 @@ -26606,15 +15120,6 @@ ny= 1536 2454 1124 2455 1124 2456 1124 - 2457 1124 - 2458 1124 - 2459 1124 - 2460 1124 - 2461 1124 - 2747 1124 - 2748 1124 - 2749 1124 - 2750 1124 2751 1124 2752 1124 2753 1124 @@ -26625,17 +15130,6 @@ ny= 1536 2758 1124 2759 1124 2760 1124 - 2761 1124 - 2762 1124 - 2763 1124 - 2764 1124 - 2765 1124 - 134 1125 - 135 1125 - 136 1125 - 137 1125 - 138 1125 - 139 1125 140 1125 141 1125 142 1125 @@ -26645,16 +15139,6 @@ ny= 1536 146 1125 147 1125 148 1125 - 149 1125 - 150 1125 - 151 1125 - 152 1125 - 153 1125 - 446 1125 - 447 1125 - 448 1125 - 449 1125 - 450 1125 451 1125 452 1125 453 1125 @@ -26665,17 +15149,6 @@ ny= 1536 458 1125 459 1125 460 1125 - 461 1125 - 462 1125 - 463 1125 - 464 1125 - 465 1125 - 902 1125 - 903 1125 - 904 1125 - 905 1125 - 906 1125 - 907 1125 908 1125 909 1125 910 1125 @@ -26685,16 +15158,6 @@ ny= 1536 914 1125 915 1125 916 1125 - 917 1125 - 918 1125 - 919 1125 - 920 1125 - 921 1125 - 1214 1125 - 1215 1125 - 1216 1125 - 1217 1125 - 1218 1125 1219 1125 1220 1125 1221 1125 @@ -26705,17 +15168,6 @@ ny= 1536 1226 1125 1227 1125 1228 1125 - 1229 1125 - 1230 1125 - 1231 1125 - 1232 1125 - 1233 1125 - 1670 1125 - 1671 1125 - 1672 1125 - 1673 1125 - 1674 1125 - 1675 1125 1676 1125 1677 1125 1678 1125 @@ -26725,16 +15177,6 @@ ny= 1536 1682 1125 1683 1125 1684 1125 - 1685 1125 - 1686 1125 - 1687 1125 - 1688 1125 - 1689 1125 - 1982 1125 - 1983 1125 - 1984 1125 - 1985 1125 - 1986 1125 1987 1125 1988 1125 1989 1125 @@ -26745,17 +15187,6 @@ ny= 1536 1994 1125 1995 1125 1996 1125 - 1997 1125 - 1998 1125 - 1999 1125 - 2000 1125 - 2001 1125 - 2438 1125 - 2439 1125 - 2440 1125 - 2441 1125 - 2442 1125 - 2443 1125 2444 1125 2445 1125 2446 1125 @@ -26765,16 +15196,6 @@ ny= 1536 2450 1125 2451 1125 2452 1125 - 2453 1125 - 2454 1125 - 2455 1125 - 2456 1125 - 2457 1125 - 2750 1125 - 2751 1125 - 2752 1125 - 2753 1125 - 2754 1125 2755 1125 2756 1125 2757 1125 @@ -26785,16 +15206,6 @@ ny= 1536 2762 1125 2763 1125 2764 1125 - 2765 1125 - 2766 1125 - 2767 1125 - 2768 1125 - 2769 1125 - 130 1126 - 131 1126 - 132 1126 - 133 1126 - 134 1126 135 1126 136 1126 137 1126 @@ -26805,16 +15216,6 @@ ny= 1536 142 1126 143 1126 144 1126 - 145 1126 - 146 1126 - 147 1126 - 148 1126 - 149 1126 - 450 1126 - 451 1126 - 452 1126 - 453 1126 - 454 1126 455 1126 456 1126 457 1126 @@ -26825,16 +15226,6 @@ ny= 1536 462 1126 463 1126 464 1126 - 465 1126 - 466 1126 - 467 1126 - 468 1126 - 469 1126 - 898 1126 - 899 1126 - 900 1126 - 901 1126 - 902 1126 903 1126 904 1126 905 1126 @@ -26845,16 +15236,6 @@ ny= 1536 910 1126 911 1126 912 1126 - 913 1126 - 914 1126 - 915 1126 - 916 1126 - 917 1126 - 1218 1126 - 1219 1126 - 1220 1126 - 1221 1126 - 1222 1126 1223 1126 1224 1126 1225 1126 @@ -26865,16 +15246,6 @@ ny= 1536 1230 1126 1231 1126 1232 1126 - 1233 1126 - 1234 1126 - 1235 1126 - 1236 1126 - 1237 1126 - 1666 1126 - 1667 1126 - 1668 1126 - 1669 1126 - 1670 1126 1671 1126 1672 1126 1673 1126 @@ -26885,16 +15256,6 @@ ny= 1536 1678 1126 1679 1126 1680 1126 - 1681 1126 - 1682 1126 - 1683 1126 - 1684 1126 - 1685 1126 - 1986 1126 - 1987 1126 - 1988 1126 - 1989 1126 - 1990 1126 1991 1126 1992 1126 1993 1126 @@ -26905,16 +15266,6 @@ ny= 1536 1998 1126 1999 1126 2000 1126 - 2001 1126 - 2002 1126 - 2003 1126 - 2004 1126 - 2005 1126 - 2434 1126 - 2435 1126 - 2436 1126 - 2437 1126 - 2438 1126 2439 1126 2440 1126 2441 1126 @@ -26925,16 +15276,6 @@ ny= 1536 2446 1126 2447 1126 2448 1126 - 2449 1126 - 2450 1126 - 2451 1126 - 2452 1126 - 2453 1126 - 2754 1126 - 2755 1126 - 2756 1126 - 2757 1126 - 2758 1126 2759 1126 2760 1126 2761 1126 @@ -26945,16 +15286,6 @@ ny= 1536 2766 1126 2767 1126 2768 1126 - 2769 1126 - 2770 1126 - 2771 1126 - 2772 1126 - 2773 1126 - 126 1127 - 127 1127 - 128 1127 - 129 1127 - 130 1127 131 1127 132 1127 133 1127 @@ -26965,16 +15296,6 @@ ny= 1536 138 1127 139 1127 140 1127 - 141 1127 - 142 1127 - 143 1127 - 144 1127 - 145 1127 - 454 1127 - 455 1127 - 456 1127 - 457 1127 - 458 1127 459 1127 460 1127 461 1127 @@ -26985,16 +15306,6 @@ ny= 1536 466 1127 467 1127 468 1127 - 469 1127 - 470 1127 - 471 1127 - 472 1127 - 473 1127 - 894 1127 - 895 1127 - 896 1127 - 897 1127 - 898 1127 899 1127 900 1127 901 1127 @@ -27005,16 +15316,6 @@ ny= 1536 906 1127 907 1127 908 1127 - 909 1127 - 910 1127 - 911 1127 - 912 1127 - 913 1127 - 1222 1127 - 1223 1127 - 1224 1127 - 1225 1127 - 1226 1127 1227 1127 1228 1127 1229 1127 @@ -27025,16 +15326,6 @@ ny= 1536 1234 1127 1235 1127 1236 1127 - 1237 1127 - 1238 1127 - 1239 1127 - 1240 1127 - 1241 1127 - 1662 1127 - 1663 1127 - 1664 1127 - 1665 1127 - 1666 1127 1667 1127 1668 1127 1669 1127 @@ -27045,16 +15336,6 @@ ny= 1536 1674 1127 1675 1127 1676 1127 - 1677 1127 - 1678 1127 - 1679 1127 - 1680 1127 - 1681 1127 - 1990 1127 - 1991 1127 - 1992 1127 - 1993 1127 - 1994 1127 1995 1127 1996 1127 1997 1127 @@ -27065,16 +15346,6 @@ ny= 1536 2002 1127 2003 1127 2004 1127 - 2005 1127 - 2006 1127 - 2007 1127 - 2008 1127 - 2009 1127 - 2430 1127 - 2431 1127 - 2432 1127 - 2433 1127 - 2434 1127 2435 1127 2436 1127 2437 1127 @@ -27085,16 +15356,6 @@ ny= 1536 2442 1127 2443 1127 2444 1127 - 2445 1127 - 2446 1127 - 2447 1127 - 2448 1127 - 2449 1127 - 2758 1127 - 2759 1127 - 2760 1127 - 2761 1127 - 2762 1127 2763 1127 2764 1127 2765 1127 @@ -27105,16 +15366,6 @@ ny= 1536 2770 1127 2771 1127 2772 1127 - 2773 1127 - 2774 1127 - 2775 1127 - 2776 1127 - 2777 1127 - 122 1128 - 123 1128 - 124 1128 - 125 1128 - 126 1128 127 1128 128 1128 129 1128 @@ -27125,17 +15376,6 @@ ny= 1536 134 1128 135 1128 136 1128 - 137 1128 - 138 1128 - 139 1128 - 140 1128 - 141 1128 - 458 1128 - 459 1128 - 460 1128 - 461 1128 - 462 1128 - 463 1128 464 1128 465 1128 466 1128 @@ -27145,17 +15385,6 @@ ny= 1536 470 1128 471 1128 472 1128 - 473 1128 - 474 1128 - 475 1128 - 476 1128 - 477 1128 - 478 1128 - 890 1128 - 891 1128 - 892 1128 - 893 1128 - 894 1128 895 1128 896 1128 897 1128 @@ -27166,17 +15395,6 @@ ny= 1536 902 1128 903 1128 904 1128 - 905 1128 - 906 1128 - 907 1128 - 908 1128 - 909 1128 - 1226 1128 - 1227 1128 - 1228 1128 - 1229 1128 - 1230 1128 - 1231 1128 1232 1128 1233 1128 1234 1128 @@ -27186,17 +15404,6 @@ ny= 1536 1238 1128 1239 1128 1240 1128 - 1241 1128 - 1242 1128 - 1243 1128 - 1244 1128 - 1245 1128 - 1246 1128 - 1658 1128 - 1659 1128 - 1660 1128 - 1661 1128 - 1662 1128 1663 1128 1664 1128 1665 1128 @@ -27207,17 +15414,6 @@ ny= 1536 1670 1128 1671 1128 1672 1128 - 1673 1128 - 1674 1128 - 1675 1128 - 1676 1128 - 1677 1128 - 1994 1128 - 1995 1128 - 1996 1128 - 1997 1128 - 1998 1128 - 1999 1128 2000 1128 2001 1128 2002 1128 @@ -27227,17 +15423,6 @@ ny= 1536 2006 1128 2007 1128 2008 1128 - 2009 1128 - 2010 1128 - 2011 1128 - 2012 1128 - 2013 1128 - 2014 1128 - 2426 1128 - 2427 1128 - 2428 1128 - 2429 1128 - 2430 1128 2431 1128 2432 1128 2433 1128 @@ -27248,17 +15433,6 @@ ny= 1536 2438 1128 2439 1128 2440 1128 - 2441 1128 - 2442 1128 - 2443 1128 - 2444 1128 - 2445 1128 - 2762 1128 - 2763 1128 - 2764 1128 - 2765 1128 - 2766 1128 - 2767 1128 2768 1128 2769 1128 2770 1128 @@ -27268,18 +15442,6 @@ ny= 1536 2774 1128 2775 1128 2776 1128 - 2777 1128 - 2778 1128 - 2779 1128 - 2780 1128 - 2781 1128 - 2782 1128 - 117 1129 - 118 1129 - 119 1129 - 120 1129 - 121 1129 - 122 1129 123 1129 124 1129 125 1129 @@ -27290,16 +15452,6 @@ ny= 1536 130 1129 131 1129 132 1129 - 133 1129 - 134 1129 - 135 1129 - 136 1129 - 137 1129 - 463 1129 - 464 1129 - 465 1129 - 466 1129 - 467 1129 468 1129 469 1129 470 1129 @@ -27310,17 +15462,6 @@ ny= 1536 475 1129 476 1129 477 1129 - 478 1129 - 479 1129 - 480 1129 - 481 1129 - 482 1129 - 885 1129 - 886 1129 - 887 1129 - 888 1129 - 889 1129 - 890 1129 891 1129 892 1129 893 1129 @@ -27331,16 +15472,6 @@ ny= 1536 898 1129 899 1129 900 1129 - 901 1129 - 902 1129 - 903 1129 - 904 1129 - 905 1129 - 1231 1129 - 1232 1129 - 1233 1129 - 1234 1129 - 1235 1129 1236 1129 1237 1129 1238 1129 @@ -27351,17 +15482,6 @@ ny= 1536 1243 1129 1244 1129 1245 1129 - 1246 1129 - 1247 1129 - 1248 1129 - 1249 1129 - 1250 1129 - 1653 1129 - 1654 1129 - 1655 1129 - 1656 1129 - 1657 1129 - 1658 1129 1659 1129 1660 1129 1661 1129 @@ -27372,16 +15492,6 @@ ny= 1536 1666 1129 1667 1129 1668 1129 - 1669 1129 - 1670 1129 - 1671 1129 - 1672 1129 - 1673 1129 - 1999 1129 - 2000 1129 - 2001 1129 - 2002 1129 - 2003 1129 2004 1129 2005 1129 2006 1129 @@ -27392,17 +15502,6 @@ ny= 1536 2011 1129 2012 1129 2013 1129 - 2014 1129 - 2015 1129 - 2016 1129 - 2017 1129 - 2018 1129 - 2421 1129 - 2422 1129 - 2423 1129 - 2424 1129 - 2425 1129 - 2426 1129 2427 1129 2428 1129 2429 1129 @@ -27413,16 +15512,6 @@ ny= 1536 2434 1129 2435 1129 2436 1129 - 2437 1129 - 2438 1129 - 2439 1129 - 2440 1129 - 2441 1129 - 2767 1129 - 2768 1129 - 2769 1129 - 2770 1129 - 2771 1129 2772 1129 2773 1129 2774 1129 @@ -27433,16 +15522,6 @@ ny= 1536 2779 1129 2780 1129 2781 1129 - 2782 1129 - 2783 1129 - 2784 1129 - 2785 1129 - 2786 1129 - 113 1130 - 114 1130 - 115 1130 - 116 1130 - 117 1130 118 1130 119 1130 120 1130 @@ -27454,16 +15533,6 @@ ny= 1536 126 1130 127 1130 128 1130 - 129 1130 - 130 1130 - 131 1130 - 132 1130 - 133 1130 - 467 1130 - 468 1130 - 469 1130 - 470 1130 - 471 1130 472 1130 473 1130 474 1130 @@ -27474,17 +15543,6 @@ ny= 1536 479 1130 480 1130 481 1130 - 482 1130 - 483 1130 - 484 1130 - 485 1130 - 486 1130 - 487 1130 - 881 1130 - 882 1130 - 883 1130 - 884 1130 - 885 1130 886 1130 887 1130 888 1130 @@ -27496,16 +15554,6 @@ ny= 1536 894 1130 895 1130 896 1130 - 897 1130 - 898 1130 - 899 1130 - 900 1130 - 901 1130 - 1235 1130 - 1236 1130 - 1237 1130 - 1238 1130 - 1239 1130 1240 1130 1241 1130 1242 1130 @@ -27516,17 +15564,6 @@ ny= 1536 1247 1130 1248 1130 1249 1130 - 1250 1130 - 1251 1130 - 1252 1130 - 1253 1130 - 1254 1130 - 1255 1130 - 1649 1130 - 1650 1130 - 1651 1130 - 1652 1130 - 1653 1130 1654 1130 1655 1130 1656 1130 @@ -27538,16 +15575,6 @@ ny= 1536 1662 1130 1663 1130 1664 1130 - 1665 1130 - 1666 1130 - 1667 1130 - 1668 1130 - 1669 1130 - 2003 1130 - 2004 1130 - 2005 1130 - 2006 1130 - 2007 1130 2008 1130 2009 1130 2010 1130 @@ -27558,17 +15585,6 @@ ny= 1536 2015 1130 2016 1130 2017 1130 - 2018 1130 - 2019 1130 - 2020 1130 - 2021 1130 - 2022 1130 - 2023 1130 - 2417 1130 - 2418 1130 - 2419 1130 - 2420 1130 - 2421 1130 2422 1130 2423 1130 2424 1130 @@ -27580,16 +15596,6 @@ ny= 1536 2430 1130 2431 1130 2432 1130 - 2433 1130 - 2434 1130 - 2435 1130 - 2436 1130 - 2437 1130 - 2771 1130 - 2772 1130 - 2773 1130 - 2774 1130 - 2775 1130 2776 1130 2777 1130 2778 1130 @@ -27600,18 +15606,6 @@ ny= 1536 2783 1130 2784 1130 2785 1130 - 2786 1130 - 2787 1130 - 2788 1130 - 2789 1130 - 2790 1130 - 2791 1130 - 108 1131 - 109 1131 - 110 1131 - 111 1131 - 112 1131 - 113 1131 114 1131 115 1131 116 1131 @@ -27622,17 +15616,6 @@ ny= 1536 121 1131 122 1131 123 1131 - 124 1131 - 125 1131 - 126 1131 - 127 1131 - 128 1131 - 129 1131 - 471 1131 - 472 1131 - 473 1131 - 474 1131 - 475 1131 476 1131 477 1131 478 1131 @@ -27644,17 +15627,6 @@ ny= 1536 484 1131 485 1131 486 1131 - 487 1131 - 488 1131 - 489 1131 - 490 1131 - 491 1131 - 876 1131 - 877 1131 - 878 1131 - 879 1131 - 880 1131 - 881 1131 882 1131 883 1131 884 1131 @@ -27665,17 +15637,6 @@ ny= 1536 889 1131 890 1131 891 1131 - 892 1131 - 893 1131 - 894 1131 - 895 1131 - 896 1131 - 897 1131 - 1239 1131 - 1240 1131 - 1241 1131 - 1242 1131 - 1243 1131 1244 1131 1245 1131 1246 1131 @@ -27687,17 +15648,6 @@ ny= 1536 1252 1131 1253 1131 1254 1131 - 1255 1131 - 1256 1131 - 1257 1131 - 1258 1131 - 1259 1131 - 1644 1131 - 1645 1131 - 1646 1131 - 1647 1131 - 1648 1131 - 1649 1131 1650 1131 1651 1131 1652 1131 @@ -27708,17 +15658,6 @@ ny= 1536 1657 1131 1658 1131 1659 1131 - 1660 1131 - 1661 1131 - 1662 1131 - 1663 1131 - 1664 1131 - 1665 1131 - 2007 1131 - 2008 1131 - 2009 1131 - 2010 1131 - 2011 1131 2012 1131 2013 1131 2014 1131 @@ -27730,17 +15669,6 @@ ny= 1536 2020 1131 2021 1131 2022 1131 - 2023 1131 - 2024 1131 - 2025 1131 - 2026 1131 - 2027 1131 - 2412 1131 - 2413 1131 - 2414 1131 - 2415 1131 - 2416 1131 - 2417 1131 2418 1131 2419 1131 2420 1131 @@ -27751,17 +15679,6 @@ ny= 1536 2425 1131 2426 1131 2427 1131 - 2428 1131 - 2429 1131 - 2430 1131 - 2431 1131 - 2432 1131 - 2433 1131 - 2775 1131 - 2776 1131 - 2777 1131 - 2778 1131 - 2779 1131 2780 1131 2781 1131 2782 1131 @@ -27773,17 +15690,6 @@ ny= 1536 2788 1131 2789 1131 2790 1131 - 2791 1131 - 2792 1131 - 2793 1131 - 2794 1131 - 2795 1131 - 103 1132 - 104 1132 - 105 1132 - 106 1132 - 107 1132 - 108 1132 109 1132 110 1132 111 1132 @@ -27795,17 +15701,6 @@ ny= 1536 117 1132 118 1132 119 1132 - 120 1132 - 121 1132 - 122 1132 - 123 1132 - 124 1132 - 475 1132 - 476 1132 - 477 1132 - 478 1132 - 479 1132 - 480 1132 481 1132 482 1132 483 1132 @@ -27816,19 +15711,6 @@ ny= 1536 488 1132 489 1132 490 1132 - 491 1132 - 492 1132 - 493 1132 - 494 1132 - 495 1132 - 496 1132 - 497 1132 - 871 1132 - 872 1132 - 873 1132 - 874 1132 - 875 1132 - 876 1132 877 1132 878 1132 879 1132 @@ -27840,17 +15722,6 @@ ny= 1536 885 1132 886 1132 887 1132 - 888 1132 - 889 1132 - 890 1132 - 891 1132 - 892 1132 - 1243 1132 - 1244 1132 - 1245 1132 - 1246 1132 - 1247 1132 - 1248 1132 1249 1132 1250 1132 1251 1132 @@ -27861,19 +15732,6 @@ ny= 1536 1256 1132 1257 1132 1258 1132 - 1259 1132 - 1260 1132 - 1261 1132 - 1262 1132 - 1263 1132 - 1264 1132 - 1265 1132 - 1639 1132 - 1640 1132 - 1641 1132 - 1642 1132 - 1643 1132 - 1644 1132 1645 1132 1646 1132 1647 1132 @@ -27885,17 +15743,6 @@ ny= 1536 1653 1132 1654 1132 1655 1132 - 1656 1132 - 1657 1132 - 1658 1132 - 1659 1132 - 1660 1132 - 2011 1132 - 2012 1132 - 2013 1132 - 2014 1132 - 2015 1132 - 2016 1132 2017 1132 2018 1132 2019 1132 @@ -27906,19 +15753,6 @@ ny= 1536 2024 1132 2025 1132 2026 1132 - 2027 1132 - 2028 1132 - 2029 1132 - 2030 1132 - 2031 1132 - 2032 1132 - 2033 1132 - 2407 1132 - 2408 1132 - 2409 1132 - 2410 1132 - 2411 1132 - 2412 1132 2413 1132 2414 1132 2415 1132 @@ -27930,17 +15764,6 @@ ny= 1536 2421 1132 2422 1132 2423 1132 - 2424 1132 - 2425 1132 - 2426 1132 - 2427 1132 - 2428 1132 - 2779 1132 - 2780 1132 - 2781 1132 - 2782 1132 - 2783 1132 - 2784 1132 2785 1132 2786 1132 2787 1132 @@ -27951,19 +15774,6 @@ ny= 1536 2792 1132 2793 1132 2794 1132 - 2795 1132 - 2796 1132 - 2797 1132 - 2798 1132 - 2799 1132 - 2800 1132 - 2801 1132 - 98 1133 - 99 1133 - 100 1133 - 101 1133 - 102 1133 - 103 1133 104 1133 105 1133 106 1133 @@ -27975,17 +15785,6 @@ ny= 1536 112 1133 113 1133 114 1133 - 115 1133 - 116 1133 - 117 1133 - 118 1133 - 119 1133 - 120 1133 - 480 1133 - 481 1133 - 482 1133 - 483 1133 - 484 1133 485 1133 486 1133 487 1133 @@ -27998,17 +15797,6 @@ ny= 1536 494 1133 495 1133 496 1133 - 497 1133 - 498 1133 - 499 1133 - 500 1133 - 501 1133 - 866 1133 - 867 1133 - 868 1133 - 869 1133 - 870 1133 - 871 1133 872 1133 873 1133 874 1133 @@ -28020,17 +15808,6 @@ ny= 1536 880 1133 881 1133 882 1133 - 883 1133 - 884 1133 - 885 1133 - 886 1133 - 887 1133 - 888 1133 - 1248 1133 - 1249 1133 - 1250 1133 - 1251 1133 - 1252 1133 1253 1133 1254 1133 1255 1133 @@ -28043,17 +15820,6 @@ ny= 1536 1262 1133 1263 1133 1264 1133 - 1265 1133 - 1266 1133 - 1267 1133 - 1268 1133 - 1269 1133 - 1634 1133 - 1635 1133 - 1636 1133 - 1637 1133 - 1638 1133 - 1639 1133 1640 1133 1641 1133 1642 1133 @@ -28065,17 +15831,6 @@ ny= 1536 1648 1133 1649 1133 1650 1133 - 1651 1133 - 1652 1133 - 1653 1133 - 1654 1133 - 1655 1133 - 1656 1133 - 2016 1133 - 2017 1133 - 2018 1133 - 2019 1133 - 2020 1133 2021 1133 2022 1133 2023 1133 @@ -28088,17 +15843,6 @@ ny= 1536 2030 1133 2031 1133 2032 1133 - 2033 1133 - 2034 1133 - 2035 1133 - 2036 1133 - 2037 1133 - 2402 1133 - 2403 1133 - 2404 1133 - 2405 1133 - 2406 1133 - 2407 1133 2408 1133 2409 1133 2410 1133 @@ -28110,17 +15854,6 @@ ny= 1536 2416 1133 2417 1133 2418 1133 - 2419 1133 - 2420 1133 - 2421 1133 - 2422 1133 - 2423 1133 - 2424 1133 - 2784 1133 - 2785 1133 - 2786 1133 - 2787 1133 - 2788 1133 2789 1133 2790 1133 2791 1133 @@ -28133,17 +15866,6 @@ ny= 1536 2798 1133 2799 1133 2800 1133 - 2801 1133 - 2802 1133 - 2803 1133 - 2804 1133 - 2805 1133 - 93 1134 - 94 1134 - 95 1134 - 96 1134 - 97 1134 - 98 1134 99 1134 100 1134 101 1134 @@ -28155,18 +15877,6 @@ ny= 1536 107 1134 108 1134 109 1134 - 110 1134 - 111 1134 - 112 1134 - 113 1134 - 114 1134 - 115 1134 - 484 1134 - 485 1134 - 486 1134 - 487 1134 - 488 1134 - 489 1134 490 1134 491 1134 492 1134 @@ -28178,18 +15888,6 @@ ny= 1536 498 1134 499 1134 500 1134 - 501 1134 - 502 1134 - 503 1134 - 504 1134 - 505 1134 - 506 1134 - 861 1134 - 862 1134 - 863 1134 - 864 1134 - 865 1134 - 866 1134 867 1134 868 1134 869 1134 @@ -28201,18 +15899,6 @@ ny= 1536 875 1134 876 1134 877 1134 - 878 1134 - 879 1134 - 880 1134 - 881 1134 - 882 1134 - 883 1134 - 1252 1134 - 1253 1134 - 1254 1134 - 1255 1134 - 1256 1134 - 1257 1134 1258 1134 1259 1134 1260 1134 @@ -28224,18 +15910,6 @@ ny= 1536 1266 1134 1267 1134 1268 1134 - 1269 1134 - 1270 1134 - 1271 1134 - 1272 1134 - 1273 1134 - 1274 1134 - 1629 1134 - 1630 1134 - 1631 1134 - 1632 1134 - 1633 1134 - 1634 1134 1635 1134 1636 1134 1637 1134 @@ -28247,18 +15921,6 @@ ny= 1536 1643 1134 1644 1134 1645 1134 - 1646 1134 - 1647 1134 - 1648 1134 - 1649 1134 - 1650 1134 - 1651 1134 - 2020 1134 - 2021 1134 - 2022 1134 - 2023 1134 - 2024 1134 - 2025 1134 2026 1134 2027 1134 2028 1134 @@ -28270,18 +15932,6 @@ ny= 1536 2034 1134 2035 1134 2036 1134 - 2037 1134 - 2038 1134 - 2039 1134 - 2040 1134 - 2041 1134 - 2042 1134 - 2397 1134 - 2398 1134 - 2399 1134 - 2400 1134 - 2401 1134 - 2402 1134 2403 1134 2404 1134 2405 1134 @@ -28293,18 +15943,6 @@ ny= 1536 2411 1134 2412 1134 2413 1134 - 2414 1134 - 2415 1134 - 2416 1134 - 2417 1134 - 2418 1134 - 2419 1134 - 2788 1134 - 2789 1134 - 2790 1134 - 2791 1134 - 2792 1134 - 2793 1134 2794 1134 2795 1134 2796 1134 @@ -28316,19 +15954,6 @@ ny= 1536 2802 1134 2803 1134 2804 1134 - 2805 1134 - 2806 1134 - 2807 1134 - 2808 1134 - 2809 1134 - 2810 1134 - 87 1135 - 88 1135 - 89 1135 - 90 1135 - 91 1135 - 92 1135 - 93 1135 94 1135 95 1135 96 1135 @@ -28340,18 +15965,6 @@ ny= 1536 102 1135 103 1135 104 1135 - 105 1135 - 106 1135 - 107 1135 - 108 1135 - 109 1135 - 110 1135 - 489 1135 - 490 1135 - 491 1135 - 492 1135 - 493 1135 - 494 1135 495 1135 496 1135 497 1135 @@ -28363,20 +15976,6 @@ ny= 1536 503 1135 504 1135 505 1135 - 506 1135 - 507 1135 - 508 1135 - 509 1135 - 510 1135 - 511 1135 - 512 1135 - 855 1135 - 856 1135 - 857 1135 - 858 1135 - 859 1135 - 860 1135 - 861 1135 862 1135 863 1135 864 1135 @@ -28388,18 +15987,6 @@ ny= 1536 870 1135 871 1135 872 1135 - 873 1135 - 874 1135 - 875 1135 - 876 1135 - 877 1135 - 878 1135 - 1257 1135 - 1258 1135 - 1259 1135 - 1260 1135 - 1261 1135 - 1262 1135 1263 1135 1264 1135 1265 1135 @@ -28411,20 +15998,6 @@ ny= 1536 1271 1135 1272 1135 1273 1135 - 1274 1135 - 1275 1135 - 1276 1135 - 1277 1135 - 1278 1135 - 1279 1135 - 1280 1135 - 1623 1135 - 1624 1135 - 1625 1135 - 1626 1135 - 1627 1135 - 1628 1135 - 1629 1135 1630 1135 1631 1135 1632 1135 @@ -28436,18 +16009,6 @@ ny= 1536 1638 1135 1639 1135 1640 1135 - 1641 1135 - 1642 1135 - 1643 1135 - 1644 1135 - 1645 1135 - 1646 1135 - 2025 1135 - 2026 1135 - 2027 1135 - 2028 1135 - 2029 1135 - 2030 1135 2031 1135 2032 1135 2033 1135 @@ -28459,20 +16020,6 @@ ny= 1536 2039 1135 2040 1135 2041 1135 - 2042 1135 - 2043 1135 - 2044 1135 - 2045 1135 - 2046 1135 - 2047 1135 - 2048 1135 - 2391 1135 - 2392 1135 - 2393 1135 - 2394 1135 - 2395 1135 - 2396 1135 - 2397 1135 2398 1135 2399 1135 2400 1135 @@ -28484,18 +16031,6 @@ ny= 1536 2406 1135 2407 1135 2408 1135 - 2409 1135 - 2410 1135 - 2411 1135 - 2412 1135 - 2413 1135 - 2414 1135 - 2793 1135 - 2794 1135 - 2795 1135 - 2796 1135 - 2797 1135 - 2798 1135 2799 1135 2800 1135 2801 1135 @@ -28507,19 +16042,6 @@ ny= 1536 2807 1135 2808 1135 2809 1135 - 2810 1135 - 2811 1135 - 2812 1135 - 2813 1135 - 2814 1135 - 2815 1135 - 2816 1135 - 82 1136 - 83 1136 - 84 1136 - 85 1136 - 86 1136 - 87 1136 88 1136 89 1136 90 1136 @@ -28533,17 +16055,6 @@ ny= 1536 98 1136 99 1136 100 1136 - 101 1136 - 102 1136 - 103 1136 - 104 1136 - 105 1136 - 494 1136 - 495 1136 - 496 1136 - 497 1136 - 498 1136 - 499 1136 500 1136 501 1136 502 1136 @@ -28556,18 +16067,6 @@ ny= 1536 509 1136 510 1136 511 1136 - 512 1136 - 513 1136 - 514 1136 - 515 1136 - 516 1136 - 517 1136 - 850 1136 - 851 1136 - 852 1136 - 853 1136 - 854 1136 - 855 1136 856 1136 857 1136 858 1136 @@ -28581,17 +16080,6 @@ ny= 1536 866 1136 867 1136 868 1136 - 869 1136 - 870 1136 - 871 1136 - 872 1136 - 873 1136 - 1262 1136 - 1263 1136 - 1264 1136 - 1265 1136 - 1266 1136 - 1267 1136 1268 1136 1269 1136 1270 1136 @@ -28604,18 +16092,6 @@ ny= 1536 1277 1136 1278 1136 1279 1136 - 1280 1136 - 1281 1136 - 1282 1136 - 1283 1136 - 1284 1136 - 1285 1136 - 1618 1136 - 1619 1136 - 1620 1136 - 1621 1136 - 1622 1136 - 1623 1136 1624 1136 1625 1136 1626 1136 @@ -28629,17 +16105,6 @@ ny= 1536 1634 1136 1635 1136 1636 1136 - 1637 1136 - 1638 1136 - 1639 1136 - 1640 1136 - 1641 1136 - 2030 1136 - 2031 1136 - 2032 1136 - 2033 1136 - 2034 1136 - 2035 1136 2036 1136 2037 1136 2038 1136 @@ -28652,18 +16117,6 @@ ny= 1536 2045 1136 2046 1136 2047 1136 - 2048 1136 - 2049 1136 - 2050 1136 - 2051 1136 - 2052 1136 - 2053 1136 - 2386 1136 - 2387 1136 - 2388 1136 - 2389 1136 - 2390 1136 - 2391 1136 2392 1136 2393 1136 2394 1136 @@ -28677,17 +16130,6 @@ ny= 1536 2402 1136 2403 1136 2404 1136 - 2405 1136 - 2406 1136 - 2407 1136 - 2408 1136 - 2409 1136 - 2798 1136 - 2799 1136 - 2800 1136 - 2801 1136 - 2802 1136 - 2803 1136 2804 1136 2805 1136 2806 1136 @@ -28700,19 +16142,6 @@ ny= 1536 2813 1136 2814 1136 2815 1136 - 2816 1136 - 2817 1136 - 2818 1136 - 2819 1136 - 2820 1136 - 2821 1136 - 76 1137 - 77 1137 - 78 1137 - 79 1137 - 80 1137 - 81 1137 - 82 1137 83 1137 84 1137 85 1137 @@ -28725,19 +16154,6 @@ ny= 1536 92 1137 93 1137 94 1137 - 95 1137 - 96 1137 - 97 1137 - 98 1137 - 99 1137 - 100 1137 - 101 1137 - 499 1137 - 500 1137 - 501 1137 - 502 1137 - 503 1137 - 504 1137 505 1137 506 1137 507 1137 @@ -28750,20 +16166,6 @@ ny= 1536 514 1137 515 1137 516 1137 - 517 1137 - 518 1137 - 519 1137 - 520 1137 - 521 1137 - 522 1137 - 523 1137 - 844 1137 - 845 1137 - 846 1137 - 847 1137 - 848 1137 - 849 1137 - 850 1137 851 1137 852 1137 853 1137 @@ -28776,19 +16178,6 @@ ny= 1536 860 1137 861 1137 862 1137 - 863 1137 - 864 1137 - 865 1137 - 866 1137 - 867 1137 - 868 1137 - 869 1137 - 1267 1137 - 1268 1137 - 1269 1137 - 1270 1137 - 1271 1137 - 1272 1137 1273 1137 1274 1137 1275 1137 @@ -28801,20 +16190,6 @@ ny= 1536 1282 1137 1283 1137 1284 1137 - 1285 1137 - 1286 1137 - 1287 1137 - 1288 1137 - 1289 1137 - 1290 1137 - 1291 1137 - 1612 1137 - 1613 1137 - 1614 1137 - 1615 1137 - 1616 1137 - 1617 1137 - 1618 1137 1619 1137 1620 1137 1621 1137 @@ -28827,19 +16202,6 @@ ny= 1536 1628 1137 1629 1137 1630 1137 - 1631 1137 - 1632 1137 - 1633 1137 - 1634 1137 - 1635 1137 - 1636 1137 - 1637 1137 - 2035 1137 - 2036 1137 - 2037 1137 - 2038 1137 - 2039 1137 - 2040 1137 2041 1137 2042 1137 2043 1137 @@ -28852,20 +16214,6 @@ ny= 1536 2050 1137 2051 1137 2052 1137 - 2053 1137 - 2054 1137 - 2055 1137 - 2056 1137 - 2057 1137 - 2058 1137 - 2059 1137 - 2380 1137 - 2381 1137 - 2382 1137 - 2383 1137 - 2384 1137 - 2385 1137 - 2386 1137 2387 1137 2388 1137 2389 1137 @@ -28878,19 +16226,6 @@ ny= 1536 2396 1137 2397 1137 2398 1137 - 2399 1137 - 2400 1137 - 2401 1137 - 2402 1137 - 2403 1137 - 2404 1137 - 2405 1137 - 2803 1137 - 2804 1137 - 2805 1137 - 2806 1137 - 2807 1137 - 2808 1137 2809 1137 2810 1137 2811 1137 @@ -28903,20 +16238,6 @@ ny= 1536 2818 1137 2819 1137 2820 1137 - 2821 1137 - 2822 1137 - 2823 1137 - 2824 1137 - 2825 1137 - 2826 1137 - 2827 1137 - 70 1138 - 71 1138 - 72 1138 - 73 1138 - 74 1138 - 75 1138 - 76 1138 77 1138 78 1138 79 1138 @@ -28930,19 +16251,6 @@ ny= 1536 87 1138 88 1138 89 1138 - 90 1138 - 91 1138 - 92 1138 - 93 1138 - 94 1138 - 95 1138 - 504 1138 - 505 1138 - 506 1138 - 507 1138 - 508 1138 - 509 1138 - 510 1138 511 1138 512 1138 513 1138 @@ -28955,20 +16263,6 @@ ny= 1536 520 1138 521 1138 522 1138 - 523 1138 - 524 1138 - 525 1138 - 526 1138 - 527 1138 - 528 1138 - 529 1138 - 838 1138 - 839 1138 - 840 1138 - 841 1138 - 842 1138 - 843 1138 - 844 1138 845 1138 846 1138 847 1138 @@ -28982,19 +16276,6 @@ ny= 1536 855 1138 856 1138 857 1138 - 858 1138 - 859 1138 - 860 1138 - 861 1138 - 862 1138 - 863 1138 - 1272 1138 - 1273 1138 - 1274 1138 - 1275 1138 - 1276 1138 - 1277 1138 - 1278 1138 1279 1138 1280 1138 1281 1138 @@ -29007,20 +16288,6 @@ ny= 1536 1288 1138 1289 1138 1290 1138 - 1291 1138 - 1292 1138 - 1293 1138 - 1294 1138 - 1295 1138 - 1296 1138 - 1297 1138 - 1606 1138 - 1607 1138 - 1608 1138 - 1609 1138 - 1610 1138 - 1611 1138 - 1612 1138 1613 1138 1614 1138 1615 1138 @@ -29034,19 +16301,6 @@ ny= 1536 1623 1138 1624 1138 1625 1138 - 1626 1138 - 1627 1138 - 1628 1138 - 1629 1138 - 1630 1138 - 1631 1138 - 2040 1138 - 2041 1138 - 2042 1138 - 2043 1138 - 2044 1138 - 2045 1138 - 2046 1138 2047 1138 2048 1138 2049 1138 @@ -29059,20 +16313,6 @@ ny= 1536 2056 1138 2057 1138 2058 1138 - 2059 1138 - 2060 1138 - 2061 1138 - 2062 1138 - 2063 1138 - 2064 1138 - 2065 1138 - 2374 1138 - 2375 1138 - 2376 1138 - 2377 1138 - 2378 1138 - 2379 1138 - 2380 1138 2381 1138 2382 1138 2383 1138 @@ -29086,19 +16326,6 @@ ny= 1536 2391 1138 2392 1138 2393 1138 - 2394 1138 - 2395 1138 - 2396 1138 - 2397 1138 - 2398 1138 - 2399 1138 - 2808 1138 - 2809 1138 - 2810 1138 - 2811 1138 - 2812 1138 - 2813 1138 - 2814 1138 2815 1138 2816 1138 2817 1138 @@ -29111,20 +16338,6 @@ ny= 1536 2824 1138 2825 1138 2826 1138 - 2827 1138 - 2828 1138 - 2829 1138 - 2830 1138 - 2831 1138 - 2832 1138 - 2833 1138 - 64 1139 - 65 1139 - 66 1139 - 67 1139 - 68 1139 - 69 1139 - 70 1139 71 1139 72 1139 73 1139 @@ -29139,18 +16352,6 @@ ny= 1536 82 1139 83 1139 84 1139 - 85 1139 - 86 1139 - 87 1139 - 88 1139 - 89 1139 - 90 1139 - 510 1139 - 511 1139 - 512 1139 - 513 1139 - 514 1139 - 515 1139 516 1139 517 1139 518 1139 @@ -29164,20 +16365,6 @@ ny= 1536 526 1139 527 1139 528 1139 - 529 1139 - 530 1139 - 531 1139 - 532 1139 - 533 1139 - 534 1139 - 535 1139 - 832 1139 - 833 1139 - 834 1139 - 835 1139 - 836 1139 - 837 1139 - 838 1139 839 1139 840 1139 841 1139 @@ -29192,18 +16379,6 @@ ny= 1536 850 1139 851 1139 852 1139 - 853 1139 - 854 1139 - 855 1139 - 856 1139 - 857 1139 - 858 1139 - 1278 1139 - 1279 1139 - 1280 1139 - 1281 1139 - 1282 1139 - 1283 1139 1284 1139 1285 1139 1286 1139 @@ -29217,20 +16392,6 @@ ny= 1536 1294 1139 1295 1139 1296 1139 - 1297 1139 - 1298 1139 - 1299 1139 - 1300 1139 - 1301 1139 - 1302 1139 - 1303 1139 - 1600 1139 - 1601 1139 - 1602 1139 - 1603 1139 - 1604 1139 - 1605 1139 - 1606 1139 1607 1139 1608 1139 1609 1139 @@ -29245,18 +16406,6 @@ ny= 1536 1618 1139 1619 1139 1620 1139 - 1621 1139 - 1622 1139 - 1623 1139 - 1624 1139 - 1625 1139 - 1626 1139 - 2046 1139 - 2047 1139 - 2048 1139 - 2049 1139 - 2050 1139 - 2051 1139 2052 1139 2053 1139 2054 1139 @@ -29270,20 +16419,6 @@ ny= 1536 2062 1139 2063 1139 2064 1139 - 2065 1139 - 2066 1139 - 2067 1139 - 2068 1139 - 2069 1139 - 2070 1139 - 2071 1139 - 2368 1139 - 2369 1139 - 2370 1139 - 2371 1139 - 2372 1139 - 2373 1139 - 2374 1139 2375 1139 2376 1139 2377 1139 @@ -29298,18 +16433,6 @@ ny= 1536 2386 1139 2387 1139 2388 1139 - 2389 1139 - 2390 1139 - 2391 1139 - 2392 1139 - 2393 1139 - 2394 1139 - 2814 1139 - 2815 1139 - 2816 1139 - 2817 1139 - 2818 1139 - 2819 1139 2820 1139 2821 1139 2822 1139 @@ -29323,21 +16446,6 @@ ny= 1536 2830 1139 2831 1139 2832 1139 - 2833 1139 - 2834 1139 - 2835 1139 - 2836 1139 - 2837 1139 - 2838 1139 - 2839 1139 - 57 1140 - 58 1140 - 59 1140 - 60 1140 - 61 1140 - 62 1140 - 63 1140 - 64 1140 65 1140 66 1140 67 1140 @@ -29352,20 +16460,6 @@ ny= 1536 76 1140 77 1140 78 1140 - 79 1140 - 80 1140 - 81 1140 - 82 1140 - 83 1140 - 84 1140 - 85 1140 - 515 1140 - 516 1140 - 517 1140 - 518 1140 - 519 1140 - 520 1140 - 521 1140 522 1140 523 1140 524 1140 @@ -29379,22 +16473,6 @@ ny= 1536 532 1140 533 1140 534 1140 - 535 1140 - 536 1140 - 537 1140 - 538 1140 - 539 1140 - 540 1140 - 541 1140 - 542 1140 - 825 1140 - 826 1140 - 827 1140 - 828 1140 - 829 1140 - 830 1140 - 831 1140 - 832 1140 833 1140 834 1140 835 1140 @@ -29409,20 +16487,6 @@ ny= 1536 844 1140 845 1140 846 1140 - 847 1140 - 848 1140 - 849 1140 - 850 1140 - 851 1140 - 852 1140 - 853 1140 - 1283 1140 - 1284 1140 - 1285 1140 - 1286 1140 - 1287 1140 - 1288 1140 - 1289 1140 1290 1140 1291 1140 1292 1140 @@ -29436,22 +16500,6 @@ ny= 1536 1300 1140 1301 1140 1302 1140 - 1303 1140 - 1304 1140 - 1305 1140 - 1306 1140 - 1307 1140 - 1308 1140 - 1309 1140 - 1310 1140 - 1593 1140 - 1594 1140 - 1595 1140 - 1596 1140 - 1597 1140 - 1598 1140 - 1599 1140 - 1600 1140 1601 1140 1602 1140 1603 1140 @@ -29466,20 +16514,6 @@ ny= 1536 1612 1140 1613 1140 1614 1140 - 1615 1140 - 1616 1140 - 1617 1140 - 1618 1140 - 1619 1140 - 1620 1140 - 1621 1140 - 2051 1140 - 2052 1140 - 2053 1140 - 2054 1140 - 2055 1140 - 2056 1140 - 2057 1140 2058 1140 2059 1140 2060 1140 @@ -29493,22 +16527,6 @@ ny= 1536 2068 1140 2069 1140 2070 1140 - 2071 1140 - 2072 1140 - 2073 1140 - 2074 1140 - 2075 1140 - 2076 1140 - 2077 1140 - 2078 1140 - 2361 1140 - 2362 1140 - 2363 1140 - 2364 1140 - 2365 1140 - 2366 1140 - 2367 1140 - 2368 1140 2369 1140 2370 1140 2371 1140 @@ -29523,20 +16541,6 @@ ny= 1536 2380 1140 2381 1140 2382 1140 - 2383 1140 - 2384 1140 - 2385 1140 - 2386 1140 - 2387 1140 - 2388 1140 - 2389 1140 - 2819 1140 - 2820 1140 - 2821 1140 - 2822 1140 - 2823 1140 - 2824 1140 - 2825 1140 2826 1140 2827 1140 2828 1140 @@ -29550,21 +16554,6 @@ ny= 1536 2836 1140 2837 1140 2838 1140 - 2839 1140 - 2840 1140 - 2841 1140 - 2842 1140 - 2843 1140 - 2844 1140 - 2845 1140 - 2846 1140 - 51 1141 - 52 1141 - 53 1141 - 54 1141 - 55 1141 - 56 1141 - 57 1141 58 1141 59 1141 60 1141 @@ -29579,21 +16568,6 @@ ny= 1536 69 1141 70 1141 71 1141 - 72 1141 - 73 1141 - 74 1141 - 75 1141 - 76 1141 - 77 1141 - 78 1141 - 79 1141 - 521 1141 - 522 1141 - 523 1141 - 524 1141 - 525 1141 - 526 1141 - 527 1141 528 1141 529 1141 530 1141 @@ -29608,20 +16582,6 @@ ny= 1536 539 1141 540 1141 541 1141 - 542 1141 - 543 1141 - 544 1141 - 545 1141 - 546 1141 - 547 1141 - 548 1141 - 819 1141 - 820 1141 - 821 1141 - 822 1141 - 823 1141 - 824 1141 - 825 1141 826 1141 827 1141 828 1141 @@ -29636,21 +16596,6 @@ ny= 1536 837 1141 838 1141 839 1141 - 840 1141 - 841 1141 - 842 1141 - 843 1141 - 844 1141 - 845 1141 - 846 1141 - 847 1141 - 1289 1141 - 1290 1141 - 1291 1141 - 1292 1141 - 1293 1141 - 1294 1141 - 1295 1141 1296 1141 1297 1141 1298 1141 @@ -29665,20 +16610,6 @@ ny= 1536 1307 1141 1308 1141 1309 1141 - 1310 1141 - 1311 1141 - 1312 1141 - 1313 1141 - 1314 1141 - 1315 1141 - 1316 1141 - 1587 1141 - 1588 1141 - 1589 1141 - 1590 1141 - 1591 1141 - 1592 1141 - 1593 1141 1594 1141 1595 1141 1596 1141 @@ -29693,21 +16624,6 @@ ny= 1536 1605 1141 1606 1141 1607 1141 - 1608 1141 - 1609 1141 - 1610 1141 - 1611 1141 - 1612 1141 - 1613 1141 - 1614 1141 - 1615 1141 - 2057 1141 - 2058 1141 - 2059 1141 - 2060 1141 - 2061 1141 - 2062 1141 - 2063 1141 2064 1141 2065 1141 2066 1141 @@ -29722,20 +16638,6 @@ ny= 1536 2075 1141 2076 1141 2077 1141 - 2078 1141 - 2079 1141 - 2080 1141 - 2081 1141 - 2082 1141 - 2083 1141 - 2084 1141 - 2355 1141 - 2356 1141 - 2357 1141 - 2358 1141 - 2359 1141 - 2360 1141 - 2361 1141 2362 1141 2363 1141 2364 1141 @@ -29750,21 +16652,6 @@ ny= 1536 2373 1141 2374 1141 2375 1141 - 2376 1141 - 2377 1141 - 2378 1141 - 2379 1141 - 2380 1141 - 2381 1141 - 2382 1141 - 2383 1141 - 2825 1141 - 2826 1141 - 2827 1141 - 2828 1141 - 2829 1141 - 2830 1141 - 2831 1141 2832 1141 2833 1141 2834 1141 @@ -29779,22 +16666,6 @@ ny= 1536 2843 1141 2844 1141 2845 1141 - 2846 1141 - 2847 1141 - 2848 1141 - 2849 1141 - 2850 1141 - 2851 1141 - 2852 1141 - 43 1142 - 44 1142 - 45 1142 - 46 1142 - 47 1142 - 48 1142 - 49 1142 - 50 1142 - 51 1142 52 1142 53 1142 54 1142 @@ -29810,19 +16681,6 @@ ny= 1536 64 1142 65 1142 66 1142 - 67 1142 - 68 1142 - 69 1142 - 70 1142 - 71 1142 - 72 1142 - 527 1142 - 528 1142 - 529 1142 - 530 1142 - 531 1142 - 532 1142 - 533 1142 534 1142 535 1142 536 1142 @@ -29837,24 +16695,6 @@ ny= 1536 545 1142 546 1142 547 1142 - 548 1142 - 549 1142 - 550 1142 - 551 1142 - 552 1142 - 553 1142 - 554 1142 - 555 1142 - 556 1142 - 811 1142 - 812 1142 - 813 1142 - 814 1142 - 815 1142 - 816 1142 - 817 1142 - 818 1142 - 819 1142 820 1142 821 1142 822 1142 @@ -29870,19 +16710,6 @@ ny= 1536 832 1142 833 1142 834 1142 - 835 1142 - 836 1142 - 837 1142 - 838 1142 - 839 1142 - 840 1142 - 1295 1142 - 1296 1142 - 1297 1142 - 1298 1142 - 1299 1142 - 1300 1142 - 1301 1142 1302 1142 1303 1142 1304 1142 @@ -29897,24 +16724,6 @@ ny= 1536 1313 1142 1314 1142 1315 1142 - 1316 1142 - 1317 1142 - 1318 1142 - 1319 1142 - 1320 1142 - 1321 1142 - 1322 1142 - 1323 1142 - 1324 1142 - 1579 1142 - 1580 1142 - 1581 1142 - 1582 1142 - 1583 1142 - 1584 1142 - 1585 1142 - 1586 1142 - 1587 1142 1588 1142 1589 1142 1590 1142 @@ -29930,19 +16739,6 @@ ny= 1536 1600 1142 1601 1142 1602 1142 - 1603 1142 - 1604 1142 - 1605 1142 - 1606 1142 - 1607 1142 - 1608 1142 - 2063 1142 - 2064 1142 - 2065 1142 - 2066 1142 - 2067 1142 - 2068 1142 - 2069 1142 2070 1142 2071 1142 2072 1142 @@ -29957,24 +16753,6 @@ ny= 1536 2081 1142 2082 1142 2083 1142 - 2084 1142 - 2085 1142 - 2086 1142 - 2087 1142 - 2088 1142 - 2089 1142 - 2090 1142 - 2091 1142 - 2092 1142 - 2347 1142 - 2348 1142 - 2349 1142 - 2350 1142 - 2351 1142 - 2352 1142 - 2353 1142 - 2354 1142 - 2355 1142 2356 1142 2357 1142 2358 1142 @@ -29990,19 +16768,6 @@ ny= 1536 2368 1142 2369 1142 2370 1142 - 2371 1142 - 2372 1142 - 2373 1142 - 2374 1142 - 2375 1142 - 2376 1142 - 2831 1142 - 2832 1142 - 2833 1142 - 2834 1142 - 2835 1142 - 2836 1142 - 2837 1142 2838 1142 2839 1142 2840 1142 @@ -30017,23 +16782,6 @@ ny= 1536 2849 1142 2850 1142 2851 1142 - 2852 1142 - 2853 1142 - 2854 1142 - 2855 1142 - 2856 1142 - 2857 1142 - 2858 1142 - 2859 1142 - 2860 1142 - 36 1143 - 37 1143 - 38 1143 - 39 1143 - 40 1143 - 41 1143 - 42 1143 - 43 1143 44 1143 45 1143 46 1143 @@ -30050,22 +16798,6 @@ ny= 1536 57 1143 58 1143 59 1143 - 60 1143 - 61 1143 - 62 1143 - 63 1143 - 64 1143 - 65 1143 - 66 1143 - 67 1143 - 533 1143 - 534 1143 - 535 1143 - 536 1143 - 537 1143 - 538 1143 - 539 1143 - 540 1143 541 1143 542 1143 543 1143 @@ -30081,22 +16813,6 @@ ny= 1536 553 1143 554 1143 555 1143 - 556 1143 - 557 1143 - 558 1143 - 559 1143 - 560 1143 - 561 1143 - 562 1143 - 563 1143 - 804 1143 - 805 1143 - 806 1143 - 807 1143 - 808 1143 - 809 1143 - 810 1143 - 811 1143 812 1143 813 1143 814 1143 @@ -30113,22 +16829,6 @@ ny= 1536 825 1143 826 1143 827 1143 - 828 1143 - 829 1143 - 830 1143 - 831 1143 - 832 1143 - 833 1143 - 834 1143 - 835 1143 - 1301 1143 - 1302 1143 - 1303 1143 - 1304 1143 - 1305 1143 - 1306 1143 - 1307 1143 - 1308 1143 1309 1143 1310 1143 1311 1143 @@ -30144,22 +16844,6 @@ ny= 1536 1321 1143 1322 1143 1323 1143 - 1324 1143 - 1325 1143 - 1326 1143 - 1327 1143 - 1328 1143 - 1329 1143 - 1330 1143 - 1331 1143 - 1572 1143 - 1573 1143 - 1574 1143 - 1575 1143 - 1576 1143 - 1577 1143 - 1578 1143 - 1579 1143 1580 1143 1581 1143 1582 1143 @@ -30176,22 +16860,6 @@ ny= 1536 1593 1143 1594 1143 1595 1143 - 1596 1143 - 1597 1143 - 1598 1143 - 1599 1143 - 1600 1143 - 1601 1143 - 1602 1143 - 1603 1143 - 2069 1143 - 2070 1143 - 2071 1143 - 2072 1143 - 2073 1143 - 2074 1143 - 2075 1143 - 2076 1143 2077 1143 2078 1143 2079 1143 @@ -30207,22 +16875,6 @@ ny= 1536 2089 1143 2090 1143 2091 1143 - 2092 1143 - 2093 1143 - 2094 1143 - 2095 1143 - 2096 1143 - 2097 1143 - 2098 1143 - 2099 1143 - 2340 1143 - 2341 1143 - 2342 1143 - 2343 1143 - 2344 1143 - 2345 1143 - 2346 1143 - 2347 1143 2348 1143 2349 1143 2350 1143 @@ -30239,22 +16891,6 @@ ny= 1536 2361 1143 2362 1143 2363 1143 - 2364 1143 - 2365 1143 - 2366 1143 - 2367 1143 - 2368 1143 - 2369 1143 - 2370 1143 - 2371 1143 - 2837 1143 - 2838 1143 - 2839 1143 - 2840 1143 - 2841 1143 - 2842 1143 - 2843 1143 - 2844 1143 2845 1143 2846 1143 2847 1143 @@ -30270,23 +16906,6 @@ ny= 1536 2857 1143 2858 1143 2859 1143 - 2860 1143 - 2861 1143 - 2862 1143 - 2863 1143 - 2864 1143 - 2865 1143 - 2866 1143 - 2867 1143 - 28 1144 - 29 1144 - 30 1144 - 31 1144 - 32 1144 - 33 1144 - 34 1144 - 35 1144 - 36 1144 37 1144 38 1144 39 1144 @@ -30303,21 +16922,6 @@ ny= 1536 50 1144 51 1144 52 1144 - 53 1144 - 54 1144 - 55 1144 - 56 1144 - 57 1144 - 58 1144 - 59 1144 - 60 1144 - 540 1144 - 541 1144 - 542 1144 - 543 1144 - 544 1144 - 545 1144 - 546 1144 547 1144 548 1144 549 1144 @@ -30334,24 +16938,6 @@ ny= 1536 560 1144 561 1144 562 1144 - 563 1144 - 564 1144 - 565 1144 - 566 1144 - 567 1144 - 568 1144 - 569 1144 - 570 1144 - 571 1144 - 796 1144 - 797 1144 - 798 1144 - 799 1144 - 800 1144 - 801 1144 - 802 1144 - 803 1144 - 804 1144 805 1144 806 1144 807 1144 @@ -30368,21 +16954,6 @@ ny= 1536 818 1144 819 1144 820 1144 - 821 1144 - 822 1144 - 823 1144 - 824 1144 - 825 1144 - 826 1144 - 827 1144 - 828 1144 - 1308 1144 - 1309 1144 - 1310 1144 - 1311 1144 - 1312 1144 - 1313 1144 - 1314 1144 1315 1144 1316 1144 1317 1144 @@ -30399,24 +16970,6 @@ ny= 1536 1328 1144 1329 1144 1330 1144 - 1331 1144 - 1332 1144 - 1333 1144 - 1334 1144 - 1335 1144 - 1336 1144 - 1337 1144 - 1338 1144 - 1339 1144 - 1564 1144 - 1565 1144 - 1566 1144 - 1567 1144 - 1568 1144 - 1569 1144 - 1570 1144 - 1571 1144 - 1572 1144 1573 1144 1574 1144 1575 1144 @@ -30433,21 +16986,6 @@ ny= 1536 1586 1144 1587 1144 1588 1144 - 1589 1144 - 1590 1144 - 1591 1144 - 1592 1144 - 1593 1144 - 1594 1144 - 1595 1144 - 1596 1144 - 2076 1144 - 2077 1144 - 2078 1144 - 2079 1144 - 2080 1144 - 2081 1144 - 2082 1144 2083 1144 2084 1144 2085 1144 @@ -30464,24 +17002,6 @@ ny= 1536 2096 1144 2097 1144 2098 1144 - 2099 1144 - 2100 1144 - 2101 1144 - 2102 1144 - 2103 1144 - 2104 1144 - 2105 1144 - 2106 1144 - 2107 1144 - 2332 1144 - 2333 1144 - 2334 1144 - 2335 1144 - 2336 1144 - 2337 1144 - 2338 1144 - 2339 1144 - 2340 1144 2341 1144 2342 1144 2343 1144 @@ -30498,21 +17018,6 @@ ny= 1536 2354 1144 2355 1144 2356 1144 - 2357 1144 - 2358 1144 - 2359 1144 - 2360 1144 - 2361 1144 - 2362 1144 - 2363 1144 - 2364 1144 - 2844 1144 - 2845 1144 - 2846 1144 - 2847 1144 - 2848 1144 - 2849 1144 - 2850 1144 2851 1144 2852 1144 2853 1144 @@ -30529,25 +17034,6 @@ ny= 1536 2864 1144 2865 1144 2866 1144 - 2867 1144 - 2868 1144 - 2869 1144 - 2870 1144 - 2871 1144 - 2872 1144 - 2873 1144 - 2874 1144 - 2875 1144 - 19 1145 - 20 1145 - 21 1145 - 22 1145 - 23 1145 - 24 1145 - 25 1145 - 26 1145 - 27 1145 - 28 1145 29 1145 30 1145 31 1145 @@ -30565,22 +17051,6 @@ ny= 1536 43 1145 44 1145 45 1145 - 46 1145 - 47 1145 - 48 1145 - 49 1145 - 50 1145 - 51 1145 - 52 1145 - 53 1145 - 546 1145 - 547 1145 - 548 1145 - 549 1145 - 550 1145 - 551 1145 - 552 1145 - 553 1145 554 1145 555 1145 556 1145 @@ -30598,27 +17068,6 @@ ny= 1536 568 1145 569 1145 570 1145 - 571 1145 - 572 1145 - 573 1145 - 574 1145 - 575 1145 - 576 1145 - 577 1145 - 578 1145 - 579 1145 - 580 1145 - 581 1145 - 787 1145 - 788 1145 - 789 1145 - 790 1145 - 791 1145 - 792 1145 - 793 1145 - 794 1145 - 795 1145 - 796 1145 797 1145 798 1145 799 1145 @@ -30636,22 +17085,6 @@ ny= 1536 811 1145 812 1145 813 1145 - 814 1145 - 815 1145 - 816 1145 - 817 1145 - 818 1145 - 819 1145 - 820 1145 - 821 1145 - 1314 1145 - 1315 1145 - 1316 1145 - 1317 1145 - 1318 1145 - 1319 1145 - 1320 1145 - 1321 1145 1322 1145 1323 1145 1324 1145 @@ -30669,27 +17102,6 @@ ny= 1536 1336 1145 1337 1145 1338 1145 - 1339 1145 - 1340 1145 - 1341 1145 - 1342 1145 - 1343 1145 - 1344 1145 - 1345 1145 - 1346 1145 - 1347 1145 - 1348 1145 - 1349 1145 - 1555 1145 - 1556 1145 - 1557 1145 - 1558 1145 - 1559 1145 - 1560 1145 - 1561 1145 - 1562 1145 - 1563 1145 - 1564 1145 1565 1145 1566 1145 1567 1145 @@ -30707,22 +17119,6 @@ ny= 1536 1579 1145 1580 1145 1581 1145 - 1582 1145 - 1583 1145 - 1584 1145 - 1585 1145 - 1586 1145 - 1587 1145 - 1588 1145 - 1589 1145 - 2082 1145 - 2083 1145 - 2084 1145 - 2085 1145 - 2086 1145 - 2087 1145 - 2088 1145 - 2089 1145 2090 1145 2091 1145 2092 1145 @@ -30740,27 +17136,6 @@ ny= 1536 2104 1145 2105 1145 2106 1145 - 2107 1145 - 2108 1145 - 2109 1145 - 2110 1145 - 2111 1145 - 2112 1145 - 2113 1145 - 2114 1145 - 2115 1145 - 2116 1145 - 2117 1145 - 2323 1145 - 2324 1145 - 2325 1145 - 2326 1145 - 2327 1145 - 2328 1145 - 2329 1145 - 2330 1145 - 2331 1145 - 2332 1145 2333 1145 2334 1145 2335 1145 @@ -30778,22 +17153,6 @@ ny= 1536 2347 1145 2348 1145 2349 1145 - 2350 1145 - 2351 1145 - 2352 1145 - 2353 1145 - 2354 1145 - 2355 1145 - 2356 1145 - 2357 1145 - 2850 1145 - 2851 1145 - 2852 1145 - 2853 1145 - 2854 1145 - 2855 1145 - 2856 1145 - 2857 1145 2858 1145 2859 1145 2860 1145 @@ -30811,28 +17170,6 @@ ny= 1536 2872 1145 2873 1145 2874 1145 - 2875 1145 - 2876 1145 - 2877 1145 - 2878 1145 - 2879 1145 - 2880 1145 - 2881 1145 - 2882 1145 - 2883 1145 - 2884 1145 - 2885 1145 - 9 1146 - 10 1146 - 11 1146 - 12 1146 - 13 1146 - 14 1146 - 15 1146 - 16 1146 - 17 1146 - 18 1146 - 19 1146 20 1146 21 1146 22 1146 @@ -30851,24 +17188,6 @@ ny= 1536 35 1146 36 1146 37 1146 - 38 1146 - 39 1146 - 40 1146 - 41 1146 - 42 1146 - 43 1146 - 44 1146 - 45 1146 - 46 1146 - 553 1146 - 554 1146 - 555 1146 - 556 1146 - 557 1146 - 558 1146 - 559 1146 - 560 1146 - 561 1146 562 1146 563 1146 564 1146 @@ -30888,27 +17207,6 @@ ny= 1536 578 1146 579 1146 580 1146 - 581 1146 - 582 1146 - 583 1146 - 584 1146 - 585 1146 - 586 1146 - 587 1146 - 588 1146 - 589 1146 - 590 1146 - 777 1146 - 778 1146 - 779 1146 - 780 1146 - 781 1146 - 782 1146 - 783 1146 - 784 1146 - 785 1146 - 786 1146 - 787 1146 788 1146 789 1146 790 1146 @@ -30927,24 +17225,6 @@ ny= 1536 803 1146 804 1146 805 1146 - 806 1146 - 807 1146 - 808 1146 - 809 1146 - 810 1146 - 811 1146 - 812 1146 - 813 1146 - 814 1146 - 1321 1146 - 1322 1146 - 1323 1146 - 1324 1146 - 1325 1146 - 1326 1146 - 1327 1146 - 1328 1146 - 1329 1146 1330 1146 1331 1146 1332 1146 @@ -30964,27 +17244,6 @@ ny= 1536 1346 1146 1347 1146 1348 1146 - 1349 1146 - 1350 1146 - 1351 1146 - 1352 1146 - 1353 1146 - 1354 1146 - 1355 1146 - 1356 1146 - 1357 1146 - 1358 1146 - 1545 1146 - 1546 1146 - 1547 1146 - 1548 1146 - 1549 1146 - 1550 1146 - 1551 1146 - 1552 1146 - 1553 1146 - 1554 1146 - 1555 1146 1556 1146 1557 1146 1558 1146 @@ -31003,24 +17262,6 @@ ny= 1536 1571 1146 1572 1146 1573 1146 - 1574 1146 - 1575 1146 - 1576 1146 - 1577 1146 - 1578 1146 - 1579 1146 - 1580 1146 - 1581 1146 - 1582 1146 - 2089 1146 - 2090 1146 - 2091 1146 - 2092 1146 - 2093 1146 - 2094 1146 - 2095 1146 - 2096 1146 - 2097 1146 2098 1146 2099 1146 2100 1146 @@ -31040,27 +17281,6 @@ ny= 1536 2114 1146 2115 1146 2116 1146 - 2117 1146 - 2118 1146 - 2119 1146 - 2120 1146 - 2121 1146 - 2122 1146 - 2123 1146 - 2124 1146 - 2125 1146 - 2126 1146 - 2313 1146 - 2314 1146 - 2315 1146 - 2316 1146 - 2317 1146 - 2318 1146 - 2319 1146 - 2320 1146 - 2321 1146 - 2322 1146 - 2323 1146 2324 1146 2325 1146 2326 1146 @@ -31079,24 +17299,6 @@ ny= 1536 2339 1146 2340 1146 2341 1146 - 2342 1146 - 2343 1146 - 2344 1146 - 2345 1146 - 2346 1146 - 2347 1146 - 2348 1146 - 2349 1146 - 2350 1146 - 2857 1146 - 2858 1146 - 2859 1146 - 2860 1146 - 2861 1146 - 2862 1146 - 2863 1146 - 2864 1146 - 2865 1146 2866 1146 2867 1146 2868 1146 @@ -31116,25 +17318,6 @@ ny= 1536 2882 1146 2883 1146 2884 1146 - 2885 1146 - 2886 1146 - 2887 1146 - 2888 1146 - 2889 1146 - 2890 1146 - 2891 1146 - 2892 1146 - 2893 1146 - 2894 1146 - 1 1147 - 2 1147 - 3 1147 - 4 1147 - 5 1147 - 6 1147 - 7 1147 - 8 1147 - 9 1147 10 1147 11 1147 12 1147 @@ -31155,24 +17338,6 @@ ny= 1536 27 1147 28 1147 29 1147 - 30 1147 - 31 1147 - 32 1147 - 33 1147 - 34 1147 - 35 1147 - 36 1147 - 37 1147 - 38 1147 - 561 1147 - 562 1147 - 563 1147 - 564 1147 - 565 1147 - 566 1147 - 567 1147 - 568 1147 - 569 1147 570 1147 571 1147 572 1147 @@ -31193,29 +17358,6 @@ ny= 1536 587 1147 588 1147 589 1147 - 590 1147 - 591 1147 - 592 1147 - 593 1147 - 594 1147 - 595 1147 - 596 1147 - 597 1147 - 598 1147 - 599 1147 - 600 1147 - 601 1147 - 767 1147 - 768 1147 - 769 1147 - 770 1147 - 771 1147 - 772 1147 - 773 1147 - 774 1147 - 775 1147 - 776 1147 - 777 1147 778 1147 779 1147 780 1147 @@ -31236,24 +17378,6 @@ ny= 1536 795 1147 796 1147 797 1147 - 798 1147 - 799 1147 - 800 1147 - 801 1147 - 802 1147 - 803 1147 - 804 1147 - 805 1147 - 806 1147 - 1329 1147 - 1330 1147 - 1331 1147 - 1332 1147 - 1333 1147 - 1334 1147 - 1335 1147 - 1336 1147 - 1337 1147 1338 1147 1339 1147 1340 1147 @@ -31274,29 +17398,6 @@ ny= 1536 1355 1147 1356 1147 1357 1147 - 1358 1147 - 1359 1147 - 1360 1147 - 1361 1147 - 1362 1147 - 1363 1147 - 1364 1147 - 1365 1147 - 1366 1147 - 1367 1147 - 1368 1147 - 1369 1147 - 1535 1147 - 1536 1147 - 1537 1147 - 1538 1147 - 1539 1147 - 1540 1147 - 1541 1147 - 1542 1147 - 1543 1147 - 1544 1147 - 1545 1147 1546 1147 1547 1147 1548 1147 @@ -31317,24 +17418,6 @@ ny= 1536 1563 1147 1564 1147 1565 1147 - 1566 1147 - 1567 1147 - 1568 1147 - 1569 1147 - 1570 1147 - 1571 1147 - 1572 1147 - 1573 1147 - 1574 1147 - 2097 1147 - 2098 1147 - 2099 1147 - 2100 1147 - 2101 1147 - 2102 1147 - 2103 1147 - 2104 1147 - 2105 1147 2106 1147 2107 1147 2108 1147 @@ -31355,29 +17438,6 @@ ny= 1536 2123 1147 2124 1147 2125 1147 - 2126 1147 - 2127 1147 - 2128 1147 - 2129 1147 - 2130 1147 - 2131 1147 - 2132 1147 - 2133 1147 - 2134 1147 - 2135 1147 - 2136 1147 - 2137 1147 - 2303 1147 - 2304 1147 - 2305 1147 - 2306 1147 - 2307 1147 - 2308 1147 - 2309 1147 - 2310 1147 - 2311 1147 - 2312 1147 - 2313 1147 2314 1147 2315 1147 2316 1147 @@ -31398,24 +17458,6 @@ ny= 1536 2331 1147 2332 1147 2333 1147 - 2334 1147 - 2335 1147 - 2336 1147 - 2337 1147 - 2338 1147 - 2339 1147 - 2340 1147 - 2341 1147 - 2342 1147 - 2865 1147 - 2866 1147 - 2867 1147 - 2868 1147 - 2869 1147 - 2870 1147 - 2871 1147 - 2872 1147 - 2873 1147 2874 1147 2875 1147 2876 1147 @@ -31436,20 +17478,6 @@ ny= 1536 2891 1147 2892 1147 2893 1147 - 2894 1147 - 2895 1147 - 2896 1147 - 2897 1147 - 2898 1147 - 2899 1147 - 2900 1147 - 2901 1147 - 2902 1147 - 2903 1147 - 2904 1147 - 2905 1147 - 3071 1147 - 3072 1147 1 1148 2 1148 3 1148 @@ -31470,26 +17498,6 @@ ny= 1536 18 1148 19 1148 20 1148 - 21 1148 - 22 1148 - 23 1148 - 24 1148 - 25 1148 - 26 1148 - 27 1148 - 28 1148 - 29 1148 - 30 1148 - 569 1148 - 570 1148 - 571 1148 - 572 1148 - 573 1148 - 574 1148 - 575 1148 - 576 1148 - 577 1148 - 578 1148 579 1148 580 1148 581 1148 @@ -31512,33 +17520,6 @@ ny= 1536 598 1148 599 1148 600 1148 - 601 1148 - 602 1148 - 603 1148 - 604 1148 - 605 1148 - 606 1148 - 607 1148 - 608 1148 - 609 1148 - 610 1148 - 611 1148 - 612 1148 - 613 1148 - 754 1148 - 755 1148 - 756 1148 - 757 1148 - 758 1148 - 759 1148 - 760 1148 - 761 1148 - 762 1148 - 763 1148 - 764 1148 - 765 1148 - 766 1148 - 767 1148 768 1148 769 1148 770 1148 @@ -31560,26 +17541,6 @@ ny= 1536 786 1148 787 1148 788 1148 - 789 1148 - 790 1148 - 791 1148 - 792 1148 - 793 1148 - 794 1148 - 795 1148 - 796 1148 - 797 1148 - 798 1148 - 1337 1148 - 1338 1148 - 1339 1148 - 1340 1148 - 1341 1148 - 1342 1148 - 1343 1148 - 1344 1148 - 1345 1148 - 1346 1148 1347 1148 1348 1148 1349 1148 @@ -31602,33 +17563,6 @@ ny= 1536 1366 1148 1367 1148 1368 1148 - 1369 1148 - 1370 1148 - 1371 1148 - 1372 1148 - 1373 1148 - 1374 1148 - 1375 1148 - 1376 1148 - 1377 1148 - 1378 1148 - 1379 1148 - 1380 1148 - 1381 1148 - 1522 1148 - 1523 1148 - 1524 1148 - 1525 1148 - 1526 1148 - 1527 1148 - 1528 1148 - 1529 1148 - 1530 1148 - 1531 1148 - 1532 1148 - 1533 1148 - 1534 1148 - 1535 1148 1536 1148 1537 1148 1538 1148 @@ -31650,26 +17584,6 @@ ny= 1536 1554 1148 1555 1148 1556 1148 - 1557 1148 - 1558 1148 - 1559 1148 - 1560 1148 - 1561 1148 - 1562 1148 - 1563 1148 - 1564 1148 - 1565 1148 - 1566 1148 - 2105 1148 - 2106 1148 - 2107 1148 - 2108 1148 - 2109 1148 - 2110 1148 - 2111 1148 - 2112 1148 - 2113 1148 - 2114 1148 2115 1148 2116 1148 2117 1148 @@ -31692,33 +17606,6 @@ ny= 1536 2134 1148 2135 1148 2136 1148 - 2137 1148 - 2138 1148 - 2139 1148 - 2140 1148 - 2141 1148 - 2142 1148 - 2143 1148 - 2144 1148 - 2145 1148 - 2146 1148 - 2147 1148 - 2148 1148 - 2149 1148 - 2290 1148 - 2291 1148 - 2292 1148 - 2293 1148 - 2294 1148 - 2295 1148 - 2296 1148 - 2297 1148 - 2298 1148 - 2299 1148 - 2300 1148 - 2301 1148 - 2302 1148 - 2303 1148 2304 1148 2305 1148 2306 1148 @@ -31740,26 +17627,6 @@ ny= 1536 2322 1148 2323 1148 2324 1148 - 2325 1148 - 2326 1148 - 2327 1148 - 2328 1148 - 2329 1148 - 2330 1148 - 2331 1148 - 2332 1148 - 2333 1148 - 2334 1148 - 2873 1148 - 2874 1148 - 2875 1148 - 2876 1148 - 2877 1148 - 2878 1148 - 2879 1148 - 2880 1148 - 2881 1148 - 2882 1148 2883 1148 2884 1148 2885 1148 @@ -31782,33 +17649,6 @@ ny= 1536 2902 1148 2903 1148 2904 1148 - 2905 1148 - 2906 1148 - 2907 1148 - 2908 1148 - 2909 1148 - 2910 1148 - 2911 1148 - 2912 1148 - 2913 1148 - 2914 1148 - 2915 1148 - 2916 1148 - 2917 1148 - 3058 1148 - 3059 1148 - 3060 1148 - 3061 1148 - 3062 1148 - 3063 1148 - 3064 1148 - 3065 1148 - 3066 1148 - 3067 1148 - 3068 1148 - 3069 1148 - 3070 1148 - 3071 1148 3072 1148 1 1149 2 1149 @@ -31821,26 +17661,6 @@ ny= 1536 9 1149 10 1149 11 1149 - 12 1149 - 13 1149 - 14 1149 - 15 1149 - 16 1149 - 17 1149 - 18 1149 - 19 1149 - 20 1149 - 21 1149 - 578 1149 - 579 1149 - 580 1149 - 581 1149 - 582 1149 - 583 1149 - 584 1149 - 585 1149 - 586 1149 - 587 1149 588 1149 589 1149 590 1149 @@ -31866,39 +17686,6 @@ ny= 1536 610 1149 611 1149 612 1149 - 613 1149 - 614 1149 - 615 1149 - 616 1149 - 617 1149 - 618 1149 - 619 1149 - 620 1149 - 621 1149 - 622 1149 - 623 1149 - 624 1149 - 625 1149 - 626 1149 - 627 1149 - 628 1149 - 629 1149 - 739 1149 - 740 1149 - 741 1149 - 742 1149 - 743 1149 - 744 1149 - 745 1149 - 746 1149 - 747 1149 - 748 1149 - 749 1149 - 750 1149 - 751 1149 - 752 1149 - 753 1149 - 754 1149 755 1149 756 1149 757 1149 @@ -31924,26 +17711,6 @@ ny= 1536 777 1149 778 1149 779 1149 - 780 1149 - 781 1149 - 782 1149 - 783 1149 - 784 1149 - 785 1149 - 786 1149 - 787 1149 - 788 1149 - 789 1149 - 1346 1149 - 1347 1149 - 1348 1149 - 1349 1149 - 1350 1149 - 1351 1149 - 1352 1149 - 1353 1149 - 1354 1149 - 1355 1149 1356 1149 1357 1149 1358 1149 @@ -31969,39 +17736,6 @@ ny= 1536 1378 1149 1379 1149 1380 1149 - 1381 1149 - 1382 1149 - 1383 1149 - 1384 1149 - 1385 1149 - 1386 1149 - 1387 1149 - 1388 1149 - 1389 1149 - 1390 1149 - 1391 1149 - 1392 1149 - 1393 1149 - 1394 1149 - 1395 1149 - 1396 1149 - 1397 1149 - 1507 1149 - 1508 1149 - 1509 1149 - 1510 1149 - 1511 1149 - 1512 1149 - 1513 1149 - 1514 1149 - 1515 1149 - 1516 1149 - 1517 1149 - 1518 1149 - 1519 1149 - 1520 1149 - 1521 1149 - 1522 1149 1523 1149 1524 1149 1525 1149 @@ -32027,26 +17761,6 @@ ny= 1536 1545 1149 1546 1149 1547 1149 - 1548 1149 - 1549 1149 - 1550 1149 - 1551 1149 - 1552 1149 - 1553 1149 - 1554 1149 - 1555 1149 - 1556 1149 - 1557 1149 - 2114 1149 - 2115 1149 - 2116 1149 - 2117 1149 - 2118 1149 - 2119 1149 - 2120 1149 - 2121 1149 - 2122 1149 - 2123 1149 2124 1149 2125 1149 2126 1149 @@ -32072,39 +17786,6 @@ ny= 1536 2146 1149 2147 1149 2148 1149 - 2149 1149 - 2150 1149 - 2151 1149 - 2152 1149 - 2153 1149 - 2154 1149 - 2155 1149 - 2156 1149 - 2157 1149 - 2158 1149 - 2159 1149 - 2160 1149 - 2161 1149 - 2162 1149 - 2163 1149 - 2164 1149 - 2165 1149 - 2275 1149 - 2276 1149 - 2277 1149 - 2278 1149 - 2279 1149 - 2280 1149 - 2281 1149 - 2282 1149 - 2283 1149 - 2284 1149 - 2285 1149 - 2286 1149 - 2287 1149 - 2288 1149 - 2289 1149 - 2290 1149 2291 1149 2292 1149 2293 1149 @@ -32130,26 +17811,6 @@ ny= 1536 2313 1149 2314 1149 2315 1149 - 2316 1149 - 2317 1149 - 2318 1149 - 2319 1149 - 2320 1149 - 2321 1149 - 2322 1149 - 2323 1149 - 2324 1149 - 2325 1149 - 2882 1149 - 2883 1149 - 2884 1149 - 2885 1149 - 2886 1149 - 2887 1149 - 2888 1149 - 2889 1149 - 2890 1149 - 2891 1149 2892 1149 2893 1149 2894 1149 @@ -32175,39 +17836,6 @@ ny= 1536 2914 1149 2915 1149 2916 1149 - 2917 1149 - 2918 1149 - 2919 1149 - 2920 1149 - 2921 1149 - 2922 1149 - 2923 1149 - 2924 1149 - 2925 1149 - 2926 1149 - 2927 1149 - 2928 1149 - 2929 1149 - 2930 1149 - 2931 1149 - 2932 1149 - 2933 1149 - 3043 1149 - 3044 1149 - 3045 1149 - 3046 1149 - 3047 1149 - 3048 1149 - 3049 1149 - 3050 1149 - 3051 1149 - 3052 1149 - 3053 1149 - 3054 1149 - 3055 1149 - 3056 1149 - 3057 1149 - 3058 1149 3059 1149 3060 1149 3061 1149 @@ -32222,30 +17850,6 @@ ny= 1536 3070 1149 3071 1149 3072 1149 - 1 1150 - 2 1150 - 3 1150 - 4 1150 - 5 1150 - 6 1150 - 7 1150 - 8 1150 - 9 1150 - 10 1150 - 11 1150 - 12 1150 - 587 1150 - 588 1150 - 589 1150 - 590 1150 - 591 1150 - 592 1150 - 593 1150 - 594 1150 - 595 1150 - 596 1150 - 597 1150 - 598 1150 599 1150 600 1150 601 1150 @@ -32276,50 +17880,6 @@ ny= 1536 626 1150 627 1150 628 1150 - 629 1150 - 630 1150 - 631 1150 - 632 1150 - 633 1150 - 634 1150 - 635 1150 - 636 1150 - 637 1150 - 638 1150 - 639 1150 - 640 1150 - 641 1150 - 642 1150 - 643 1150 - 644 1150 - 645 1150 - 646 1150 - 647 1150 - 648 1150 - 649 1150 - 650 1150 - 718 1150 - 719 1150 - 720 1150 - 721 1150 - 722 1150 - 723 1150 - 724 1150 - 725 1150 - 726 1150 - 727 1150 - 728 1150 - 729 1150 - 730 1150 - 731 1150 - 732 1150 - 733 1150 - 734 1150 - 735 1150 - 736 1150 - 737 1150 - 738 1150 - 739 1150 740 1150 741 1150 742 1150 @@ -32349,30 +17909,6 @@ ny= 1536 766 1150 767 1150 768 1150 - 769 1150 - 770 1150 - 771 1150 - 772 1150 - 773 1150 - 774 1150 - 775 1150 - 776 1150 - 777 1150 - 778 1150 - 779 1150 - 780 1150 - 1355 1150 - 1356 1150 - 1357 1150 - 1358 1150 - 1359 1150 - 1360 1150 - 1361 1150 - 1362 1150 - 1363 1150 - 1364 1150 - 1365 1150 - 1366 1150 1367 1150 1368 1150 1369 1150 @@ -32403,50 +17939,6 @@ ny= 1536 1394 1150 1395 1150 1396 1150 - 1397 1150 - 1398 1150 - 1399 1150 - 1400 1150 - 1401 1150 - 1402 1150 - 1403 1150 - 1404 1150 - 1405 1150 - 1406 1150 - 1407 1150 - 1408 1150 - 1409 1150 - 1410 1150 - 1411 1150 - 1412 1150 - 1413 1150 - 1414 1150 - 1415 1150 - 1416 1150 - 1417 1150 - 1418 1150 - 1486 1150 - 1487 1150 - 1488 1150 - 1489 1150 - 1490 1150 - 1491 1150 - 1492 1150 - 1493 1150 - 1494 1150 - 1495 1150 - 1496 1150 - 1497 1150 - 1498 1150 - 1499 1150 - 1500 1150 - 1501 1150 - 1502 1150 - 1503 1150 - 1504 1150 - 1505 1150 - 1506 1150 - 1507 1150 1508 1150 1509 1150 1510 1150 @@ -32476,30 +17968,6 @@ ny= 1536 1534 1150 1535 1150 1536 1150 - 1537 1150 - 1538 1150 - 1539 1150 - 1540 1150 - 1541 1150 - 1542 1150 - 1543 1150 - 1544 1150 - 1545 1150 - 1546 1150 - 1547 1150 - 1548 1150 - 2123 1150 - 2124 1150 - 2125 1150 - 2126 1150 - 2127 1150 - 2128 1150 - 2129 1150 - 2130 1150 - 2131 1150 - 2132 1150 - 2133 1150 - 2134 1150 2135 1150 2136 1150 2137 1150 @@ -32530,50 +17998,6 @@ ny= 1536 2162 1150 2163 1150 2164 1150 - 2165 1150 - 2166 1150 - 2167 1150 - 2168 1150 - 2169 1150 - 2170 1150 - 2171 1150 - 2172 1150 - 2173 1150 - 2174 1150 - 2175 1150 - 2176 1150 - 2177 1150 - 2178 1150 - 2179 1150 - 2180 1150 - 2181 1150 - 2182 1150 - 2183 1150 - 2184 1150 - 2185 1150 - 2186 1150 - 2254 1150 - 2255 1150 - 2256 1150 - 2257 1150 - 2258 1150 - 2259 1150 - 2260 1150 - 2261 1150 - 2262 1150 - 2263 1150 - 2264 1150 - 2265 1150 - 2266 1150 - 2267 1150 - 2268 1150 - 2269 1150 - 2270 1150 - 2271 1150 - 2272 1150 - 2273 1150 - 2274 1150 - 2275 1150 2276 1150 2277 1150 2278 1150 @@ -32603,30 +18027,6 @@ ny= 1536 2302 1150 2303 1150 2304 1150 - 2305 1150 - 2306 1150 - 2307 1150 - 2308 1150 - 2309 1150 - 2310 1150 - 2311 1150 - 2312 1150 - 2313 1150 - 2314 1150 - 2315 1150 - 2316 1150 - 2891 1150 - 2892 1150 - 2893 1150 - 2894 1150 - 2895 1150 - 2896 1150 - 2897 1150 - 2898 1150 - 2899 1150 - 2900 1150 - 2901 1150 - 2902 1150 2903 1150 2904 1150 2905 1150 @@ -32657,50 +18057,6 @@ ny= 1536 2930 1150 2931 1150 2932 1150 - 2933 1150 - 2934 1150 - 2935 1150 - 2936 1150 - 2937 1150 - 2938 1150 - 2939 1150 - 2940 1150 - 2941 1150 - 2942 1150 - 2943 1150 - 2944 1150 - 2945 1150 - 2946 1150 - 2947 1150 - 2948 1150 - 2949 1150 - 2950 1150 - 2951 1150 - 2952 1150 - 2953 1150 - 2954 1150 - 3022 1150 - 3023 1150 - 3024 1150 - 3025 1150 - 3026 1150 - 3027 1150 - 3028 1150 - 3029 1150 - 3030 1150 - 3031 1150 - 3032 1150 - 3033 1150 - 3034 1150 - 3035 1150 - 3036 1150 - 3037 1150 - 3038 1150 - 3039 1150 - 3040 1150 - 3041 1150 - 3042 1150 - 3043 1150 3044 1150 3045 1150 3046 1150 @@ -32730,21 +18086,6 @@ ny= 1536 3070 1150 3071 1150 3072 1150 - 1 1151 - 598 1151 - 599 1151 - 600 1151 - 601 1151 - 602 1151 - 603 1151 - 604 1151 - 605 1151 - 606 1151 - 607 1151 - 608 1151 - 609 1151 - 610 1151 - 611 1151 612 1151 613 1151 614 1151 @@ -32783,75 +18124,6 @@ ny= 1536 647 1151 648 1151 649 1151 - 650 1151 - 651 1151 - 652 1151 - 653 1151 - 654 1151 - 655 1151 - 656 1151 - 657 1151 - 658 1151 - 659 1151 - 660 1151 - 661 1151 - 662 1151 - 663 1151 - 664 1151 - 665 1151 - 666 1151 - 667 1151 - 668 1151 - 669 1151 - 670 1151 - 671 1151 - 672 1151 - 673 1151 - 674 1151 - 675 1151 - 676 1151 - 677 1151 - 678 1151 - 679 1151 - 680 1151 - 681 1151 - 682 1151 - 683 1151 - 684 1151 - 685 1151 - 686 1151 - 687 1151 - 688 1151 - 689 1151 - 690 1151 - 691 1151 - 692 1151 - 693 1151 - 694 1151 - 695 1151 - 696 1151 - 697 1151 - 698 1151 - 699 1151 - 700 1151 - 701 1151 - 702 1151 - 703 1151 - 704 1151 - 705 1151 - 706 1151 - 707 1151 - 708 1151 - 709 1151 - 710 1151 - 711 1151 - 712 1151 - 713 1151 - 714 1151 - 715 1151 - 716 1151 - 717 1151 - 718 1151 719 1151 720 1151 721 1151 @@ -32889,34 +18161,6 @@ ny= 1536 753 1151 754 1151 755 1151 - 756 1151 - 757 1151 - 758 1151 - 759 1151 - 760 1151 - 761 1151 - 762 1151 - 763 1151 - 764 1151 - 765 1151 - 766 1151 - 767 1151 - 768 1151 - 769 1151 - 1366 1151 - 1367 1151 - 1368 1151 - 1369 1151 - 1370 1151 - 1371 1151 - 1372 1151 - 1373 1151 - 1374 1151 - 1375 1151 - 1376 1151 - 1377 1151 - 1378 1151 - 1379 1151 1380 1151 1381 1151 1382 1151 @@ -32955,75 +18199,6 @@ ny= 1536 1415 1151 1416 1151 1417 1151 - 1418 1151 - 1419 1151 - 1420 1151 - 1421 1151 - 1422 1151 - 1423 1151 - 1424 1151 - 1425 1151 - 1426 1151 - 1427 1151 - 1428 1151 - 1429 1151 - 1430 1151 - 1431 1151 - 1432 1151 - 1433 1151 - 1434 1151 - 1435 1151 - 1436 1151 - 1437 1151 - 1438 1151 - 1439 1151 - 1440 1151 - 1441 1151 - 1442 1151 - 1443 1151 - 1444 1151 - 1445 1151 - 1446 1151 - 1447 1151 - 1448 1151 - 1449 1151 - 1450 1151 - 1451 1151 - 1452 1151 - 1453 1151 - 1454 1151 - 1455 1151 - 1456 1151 - 1457 1151 - 1458 1151 - 1459 1151 - 1460 1151 - 1461 1151 - 1462 1151 - 1463 1151 - 1464 1151 - 1465 1151 - 1466 1151 - 1467 1151 - 1468 1151 - 1469 1151 - 1470 1151 - 1471 1151 - 1472 1151 - 1473 1151 - 1474 1151 - 1475 1151 - 1476 1151 - 1477 1151 - 1478 1151 - 1479 1151 - 1480 1151 - 1481 1151 - 1482 1151 - 1483 1151 - 1484 1151 - 1485 1151 - 1486 1151 1487 1151 1488 1151 1489 1151 @@ -33061,34 +18236,6 @@ ny= 1536 1521 1151 1522 1151 1523 1151 - 1524 1151 - 1525 1151 - 1526 1151 - 1527 1151 - 1528 1151 - 1529 1151 - 1530 1151 - 1531 1151 - 1532 1151 - 1533 1151 - 1534 1151 - 1535 1151 - 1536 1151 - 1537 1151 - 2134 1151 - 2135 1151 - 2136 1151 - 2137 1151 - 2138 1151 - 2139 1151 - 2140 1151 - 2141 1151 - 2142 1151 - 2143 1151 - 2144 1151 - 2145 1151 - 2146 1151 - 2147 1151 2148 1151 2149 1151 2150 1151 @@ -33127,75 +18274,6 @@ ny= 1536 2183 1151 2184 1151 2185 1151 - 2186 1151 - 2187 1151 - 2188 1151 - 2189 1151 - 2190 1151 - 2191 1151 - 2192 1151 - 2193 1151 - 2194 1151 - 2195 1151 - 2196 1151 - 2197 1151 - 2198 1151 - 2199 1151 - 2200 1151 - 2201 1151 - 2202 1151 - 2203 1151 - 2204 1151 - 2205 1151 - 2206 1151 - 2207 1151 - 2208 1151 - 2209 1151 - 2210 1151 - 2211 1151 - 2212 1151 - 2213 1151 - 2214 1151 - 2215 1151 - 2216 1151 - 2217 1151 - 2218 1151 - 2219 1151 - 2220 1151 - 2221 1151 - 2222 1151 - 2223 1151 - 2224 1151 - 2225 1151 - 2226 1151 - 2227 1151 - 2228 1151 - 2229 1151 - 2230 1151 - 2231 1151 - 2232 1151 - 2233 1151 - 2234 1151 - 2235 1151 - 2236 1151 - 2237 1151 - 2238 1151 - 2239 1151 - 2240 1151 - 2241 1151 - 2242 1151 - 2243 1151 - 2244 1151 - 2245 1151 - 2246 1151 - 2247 1151 - 2248 1151 - 2249 1151 - 2250 1151 - 2251 1151 - 2252 1151 - 2253 1151 - 2254 1151 2255 1151 2256 1151 2257 1151 @@ -33233,34 +18311,6 @@ ny= 1536 2289 1151 2290 1151 2291 1151 - 2292 1151 - 2293 1151 - 2294 1151 - 2295 1151 - 2296 1151 - 2297 1151 - 2298 1151 - 2299 1151 - 2300 1151 - 2301 1151 - 2302 1151 - 2303 1151 - 2304 1151 - 2305 1151 - 2902 1151 - 2903 1151 - 2904 1151 - 2905 1151 - 2906 1151 - 2907 1151 - 2908 1151 - 2909 1151 - 2910 1151 - 2911 1151 - 2912 1151 - 2913 1151 - 2914 1151 - 2915 1151 2916 1151 2917 1151 2918 1151 @@ -33299,75 +18349,6 @@ ny= 1536 2951 1151 2952 1151 2953 1151 - 2954 1151 - 2955 1151 - 2956 1151 - 2957 1151 - 2958 1151 - 2959 1151 - 2960 1151 - 2961 1151 - 2962 1151 - 2963 1151 - 2964 1151 - 2965 1151 - 2966 1151 - 2967 1151 - 2968 1151 - 2969 1151 - 2970 1151 - 2971 1151 - 2972 1151 - 2973 1151 - 2974 1151 - 2975 1151 - 2976 1151 - 2977 1151 - 2978 1151 - 2979 1151 - 2980 1151 - 2981 1151 - 2982 1151 - 2983 1151 - 2984 1151 - 2985 1151 - 2986 1151 - 2987 1151 - 2988 1151 - 2989 1151 - 2990 1151 - 2991 1151 - 2992 1151 - 2993 1151 - 2994 1151 - 2995 1151 - 2996 1151 - 2997 1151 - 2998 1151 - 2999 1151 - 3000 1151 - 3001 1151 - 3002 1151 - 3003 1151 - 3004 1151 - 3005 1151 - 3006 1151 - 3007 1151 - 3008 1151 - 3009 1151 - 3010 1151 - 3011 1151 - 3012 1151 - 3013 1151 - 3014 1151 - 3015 1151 - 3016 1151 - 3017 1151 - 3018 1151 - 3019 1151 - 3020 1151 - 3021 1151 - 3022 1151 3023 1151 3024 1151 3025 1151 @@ -33405,35 +18386,6 @@ ny= 1536 3057 1151 3058 1151 3059 1151 - 3060 1151 - 3061 1151 - 3062 1151 - 3063 1151 - 3064 1151 - 3065 1151 - 3066 1151 - 3067 1151 - 3068 1151 - 3069 1151 - 3070 1151 - 3071 1151 - 3072 1151 - 611 1152 - 612 1152 - 613 1152 - 614 1152 - 615 1152 - 616 1152 - 617 1152 - 618 1152 - 619 1152 - 620 1152 - 621 1152 - 622 1152 - 623 1152 - 624 1152 - 625 1152 - 626 1152 627 1152 628 1152 629 1152 @@ -33548,38 +18500,6 @@ ny= 1536 738 1152 739 1152 740 1152 - 741 1152 - 742 1152 - 743 1152 - 744 1152 - 745 1152 - 746 1152 - 747 1152 - 748 1152 - 749 1152 - 750 1152 - 751 1152 - 752 1152 - 753 1152 - 754 1152 - 755 1152 - 756 1152 - 1379 1152 - 1380 1152 - 1381 1152 - 1382 1152 - 1383 1152 - 1384 1152 - 1385 1152 - 1386 1152 - 1387 1152 - 1388 1152 - 1389 1152 - 1390 1152 - 1391 1152 - 1392 1152 - 1393 1152 - 1394 1152 1395 1152 1396 1152 1397 1152 @@ -33694,38 +18614,6 @@ ny= 1536 1506 1152 1507 1152 1508 1152 - 1509 1152 - 1510 1152 - 1511 1152 - 1512 1152 - 1513 1152 - 1514 1152 - 1515 1152 - 1516 1152 - 1517 1152 - 1518 1152 - 1519 1152 - 1520 1152 - 1521 1152 - 1522 1152 - 1523 1152 - 1524 1152 - 2147 1152 - 2148 1152 - 2149 1152 - 2150 1152 - 2151 1152 - 2152 1152 - 2153 1152 - 2154 1152 - 2155 1152 - 2156 1152 - 2157 1152 - 2158 1152 - 2159 1152 - 2160 1152 - 2161 1152 - 2162 1152 2163 1152 2164 1152 2165 1152 @@ -33840,38 +18728,6 @@ ny= 1536 2274 1152 2275 1152 2276 1152 - 2277 1152 - 2278 1152 - 2279 1152 - 2280 1152 - 2281 1152 - 2282 1152 - 2283 1152 - 2284 1152 - 2285 1152 - 2286 1152 - 2287 1152 - 2288 1152 - 2289 1152 - 2290 1152 - 2291 1152 - 2292 1152 - 2915 1152 - 2916 1152 - 2917 1152 - 2918 1152 - 2919 1152 - 2920 1152 - 2921 1152 - 2922 1152 - 2923 1152 - 2924 1152 - 2925 1152 - 2926 1152 - 2927 1152 - 2928 1152 - 2929 1152 - 2930 1152 2931 1152 2932 1152 2933 1152 @@ -33986,44 +18842,6 @@ ny= 1536 3042 1152 3043 1152 3044 1152 - 3045 1152 - 3046 1152 - 3047 1152 - 3048 1152 - 3049 1152 - 3050 1152 - 3051 1152 - 3052 1152 - 3053 1152 - 3054 1152 - 3055 1152 - 3056 1152 - 3057 1152 - 3058 1152 - 3059 1152 - 3060 1152 - 626 1153 - 627 1153 - 628 1153 - 629 1153 - 630 1153 - 631 1153 - 632 1153 - 633 1153 - 634 1153 - 635 1153 - 636 1153 - 637 1153 - 638 1153 - 639 1153 - 640 1153 - 641 1153 - 642 1153 - 643 1153 - 644 1153 - 645 1153 - 646 1153 - 647 1153 648 1153 649 1153 650 1153 @@ -34096,50 +18914,6 @@ ny= 1536 717 1153 718 1153 719 1153 - 720 1153 - 721 1153 - 722 1153 - 723 1153 - 724 1153 - 725 1153 - 726 1153 - 727 1153 - 728 1153 - 729 1153 - 730 1153 - 731 1153 - 732 1153 - 733 1153 - 734 1153 - 735 1153 - 736 1153 - 737 1153 - 738 1153 - 739 1153 - 740 1153 - 741 1153 - 1394 1153 - 1395 1153 - 1396 1153 - 1397 1153 - 1398 1153 - 1399 1153 - 1400 1153 - 1401 1153 - 1402 1153 - 1403 1153 - 1404 1153 - 1405 1153 - 1406 1153 - 1407 1153 - 1408 1153 - 1409 1153 - 1410 1153 - 1411 1153 - 1412 1153 - 1413 1153 - 1414 1153 - 1415 1153 1416 1153 1417 1153 1418 1153 @@ -34212,50 +18986,6 @@ ny= 1536 1485 1153 1486 1153 1487 1153 - 1488 1153 - 1489 1153 - 1490 1153 - 1491 1153 - 1492 1153 - 1493 1153 - 1494 1153 - 1495 1153 - 1496 1153 - 1497 1153 - 1498 1153 - 1499 1153 - 1500 1153 - 1501 1153 - 1502 1153 - 1503 1153 - 1504 1153 - 1505 1153 - 1506 1153 - 1507 1153 - 1508 1153 - 1509 1153 - 2162 1153 - 2163 1153 - 2164 1153 - 2165 1153 - 2166 1153 - 2167 1153 - 2168 1153 - 2169 1153 - 2170 1153 - 2171 1153 - 2172 1153 - 2173 1153 - 2174 1153 - 2175 1153 - 2176 1153 - 2177 1153 - 2178 1153 - 2179 1153 - 2180 1153 - 2181 1153 - 2182 1153 - 2183 1153 2184 1153 2185 1153 2186 1153 @@ -34328,50 +19058,6 @@ ny= 1536 2253 1153 2254 1153 2255 1153 - 2256 1153 - 2257 1153 - 2258 1153 - 2259 1153 - 2260 1153 - 2261 1153 - 2262 1153 - 2263 1153 - 2264 1153 - 2265 1153 - 2266 1153 - 2267 1153 - 2268 1153 - 2269 1153 - 2270 1153 - 2271 1153 - 2272 1153 - 2273 1153 - 2274 1153 - 2275 1153 - 2276 1153 - 2277 1153 - 2930 1153 - 2931 1153 - 2932 1153 - 2933 1153 - 2934 1153 - 2935 1153 - 2936 1153 - 2937 1153 - 2938 1153 - 2939 1153 - 2940 1153 - 2941 1153 - 2942 1153 - 2943 1153 - 2944 1153 - 2945 1153 - 2946 1153 - 2947 1153 - 2948 1153 - 2949 1153 - 2950 1153 - 2951 1153 2952 1153 2953 1153 2954 1153 @@ -34444,321 +19130,3 @@ ny= 1536 3021 1153 3022 1153 3023 1153 - 3024 1153 - 3025 1153 - 3026 1153 - 3027 1153 - 3028 1153 - 3029 1153 - 3030 1153 - 3031 1153 - 3032 1153 - 3033 1153 - 3034 1153 - 3035 1153 - 3036 1153 - 3037 1153 - 3038 1153 - 3039 1153 - 3040 1153 - 3041 1153 - 3042 1153 - 3043 1153 - 3044 1153 - 3045 1153 - 647 1154 - 648 1154 - 649 1154 - 650 1154 - 651 1154 - 652 1154 - 653 1154 - 654 1154 - 655 1154 - 656 1154 - 657 1154 - 658 1154 - 659 1154 - 660 1154 - 661 1154 - 662 1154 - 663 1154 - 664 1154 - 665 1154 - 666 1154 - 667 1154 - 668 1154 - 669 1154 - 670 1154 - 671 1154 - 672 1154 - 673 1154 - 674 1154 - 675 1154 - 676 1154 - 677 1154 - 678 1154 - 679 1154 - 680 1154 - 681 1154 - 682 1154 - 683 1154 - 684 1154 - 685 1154 - 686 1154 - 687 1154 - 688 1154 - 689 1154 - 690 1154 - 691 1154 - 692 1154 - 693 1154 - 694 1154 - 695 1154 - 696 1154 - 697 1154 - 698 1154 - 699 1154 - 700 1154 - 701 1154 - 702 1154 - 703 1154 - 704 1154 - 705 1154 - 706 1154 - 707 1154 - 708 1154 - 709 1154 - 710 1154 - 711 1154 - 712 1154 - 713 1154 - 714 1154 - 715 1154 - 716 1154 - 717 1154 - 718 1154 - 719 1154 - 720 1154 - 1415 1154 - 1416 1154 - 1417 1154 - 1418 1154 - 1419 1154 - 1420 1154 - 1421 1154 - 1422 1154 - 1423 1154 - 1424 1154 - 1425 1154 - 1426 1154 - 1427 1154 - 1428 1154 - 1429 1154 - 1430 1154 - 1431 1154 - 1432 1154 - 1433 1154 - 1434 1154 - 1435 1154 - 1436 1154 - 1437 1154 - 1438 1154 - 1439 1154 - 1440 1154 - 1441 1154 - 1442 1154 - 1443 1154 - 1444 1154 - 1445 1154 - 1446 1154 - 1447 1154 - 1448 1154 - 1449 1154 - 1450 1154 - 1451 1154 - 1452 1154 - 1453 1154 - 1454 1154 - 1455 1154 - 1456 1154 - 1457 1154 - 1458 1154 - 1459 1154 - 1460 1154 - 1461 1154 - 1462 1154 - 1463 1154 - 1464 1154 - 1465 1154 - 1466 1154 - 1467 1154 - 1468 1154 - 1469 1154 - 1470 1154 - 1471 1154 - 1472 1154 - 1473 1154 - 1474 1154 - 1475 1154 - 1476 1154 - 1477 1154 - 1478 1154 - 1479 1154 - 1480 1154 - 1481 1154 - 1482 1154 - 1483 1154 - 1484 1154 - 1485 1154 - 1486 1154 - 1487 1154 - 1488 1154 - 2183 1154 - 2184 1154 - 2185 1154 - 2186 1154 - 2187 1154 - 2188 1154 - 2189 1154 - 2190 1154 - 2191 1154 - 2192 1154 - 2193 1154 - 2194 1154 - 2195 1154 - 2196 1154 - 2197 1154 - 2198 1154 - 2199 1154 - 2200 1154 - 2201 1154 - 2202 1154 - 2203 1154 - 2204 1154 - 2205 1154 - 2206 1154 - 2207 1154 - 2208 1154 - 2209 1154 - 2210 1154 - 2211 1154 - 2212 1154 - 2213 1154 - 2214 1154 - 2215 1154 - 2216 1154 - 2217 1154 - 2218 1154 - 2219 1154 - 2220 1154 - 2221 1154 - 2222 1154 - 2223 1154 - 2224 1154 - 2225 1154 - 2226 1154 - 2227 1154 - 2228 1154 - 2229 1154 - 2230 1154 - 2231 1154 - 2232 1154 - 2233 1154 - 2234 1154 - 2235 1154 - 2236 1154 - 2237 1154 - 2238 1154 - 2239 1154 - 2240 1154 - 2241 1154 - 2242 1154 - 2243 1154 - 2244 1154 - 2245 1154 - 2246 1154 - 2247 1154 - 2248 1154 - 2249 1154 - 2250 1154 - 2251 1154 - 2252 1154 - 2253 1154 - 2254 1154 - 2255 1154 - 2256 1154 - 2951 1154 - 2952 1154 - 2953 1154 - 2954 1154 - 2955 1154 - 2956 1154 - 2957 1154 - 2958 1154 - 2959 1154 - 2960 1154 - 2961 1154 - 2962 1154 - 2963 1154 - 2964 1154 - 2965 1154 - 2966 1154 - 2967 1154 - 2968 1154 - 2969 1154 - 2970 1154 - 2971 1154 - 2972 1154 - 2973 1154 - 2974 1154 - 2975 1154 - 2976 1154 - 2977 1154 - 2978 1154 - 2979 1154 - 2980 1154 - 2981 1154 - 2982 1154 - 2983 1154 - 2984 1154 - 2985 1154 - 2986 1154 - 2987 1154 - 2988 1154 - 2989 1154 - 2990 1154 - 2991 1154 - 2992 1154 - 2993 1154 - 2994 1154 - 2995 1154 - 2996 1154 - 2997 1154 - 2998 1154 - 2999 1154 - 3000 1154 - 3001 1154 - 3002 1154 - 3003 1154 - 3004 1154 - 3005 1154 - 3006 1154 - 3007 1154 - 3008 1154 - 3009 1154 - 3010 1154 - 3011 1154 - 3012 1154 - 3013 1154 - 3014 1154 - 3015 1154 - 3016 1154 - 3017 1154 - 3018 1154 - 3019 1154 - 3020 1154 - 3021 1154 - 3022 1154 - 3023 1154 - 3024 1154 From 7f62fe2dc02ed73bc8724138f6c8a83ac6a668c8 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Mon, 22 Jul 2019 12:46:05 +0000 Subject: [PATCH 11/38] Vlab issue #64625 --Squash merging the branch HAFS to the master. Squashed commit of the following: commit bc3982f1346c9693a98af019cefeb6869b33be09 Merge: 5874f37 a6922fd Author: Wen Meng Date: Fri Jul 19 16:55:26 2019 +0000 Merge remote-tracking branch 'origin/master' into HAFS commit 5874f37291bb3f8203ff2c77c4dd0f4c44ff75f8 Author: Jili Dong Date: Thu Jul 11 20:03:46 2019 +0000 fix for wtmpsfc commit 0efadb3f8aaeb002752808b06f6103f873ffb660 Merge: 4d2148c 0385321 Author: Jili Dong Date: Thu Jul 11 18:56:39 2019 +0000 Merge branch 'master' into HAFS commit 4d2148c6ac28ba737733f13d0d0edb8814acdb28 Author: Jili Dong Date: Thu Jul 11 18:45:36 2019 +0000 update hafs post variable list commit 32e92762d815a28c7074ad7eabe679fcf6d1577f Author: Jili Dong Date: Fri Jun 21 20:40:56 2019 +0000 Fix UPP handling missing value for vvel, dzdt etc commit a8ef00e6a42871e13a9a2dc32a9bcbf341ddf9b6 Author: Jili Dong Date: Thu Jun 6 15:38:43 2019 +0000 remove makefile_module.jet commit d80019b65691c69d8df023bd1cc4c9a5a9d4f70e Author: Jili Dong Date: Thu Jun 6 15:14:07 2019 +0000 add hafs UPP table (xml and txt) commit a16aba58cbd50f3256c0e1a84b23bc149fc08d95 Author: Jili Dong Date: Wed Jun 5 21:06:28 2019 +0000 add wrf-io library on jet commit 3645d29aeff1752f61447b78009ce7ac0aa99075 Merge: 32bf052 750edb8 Author: Jili Dong Date: Wed Jun 5 18:11:17 2019 +0000 Merge branch 'master' into HAFS commit 32bf052d5c4e7a656765d6c8ae407cd6fed924fd Author: Zhan Zhang Date: Thu May 30 20:19:26 2019 +0000 Update g2lib in post modulefile commit 76b728b0c77297c38f992c17935128eefb6f7f13 Author: Bin Liu Date: Mon May 13 19:31:54 2019 +0000 Load the correct prod_util module on wcoss_cray and create a symbolic link of v8.0.0-wcoss_cray from v8.0.0-cray-intel. commit 54f1b2e35b12927e38856090e6dd648dbb1e37fc Author: Jili Dong Date: Sun May 12 13:49:24 2019 +0000 fix for compiling with wrfio lib/module on jet commit 2f165c4800f0092439a622d77d2ca7f804cfbf5a Merge: a55ac45 6b24941 Author: Jili Dong Date: Tue May 7 02:09:14 2019 +0000 Merge branch 'master' into HAFS commit a55ac45f0ec67d168a04bd0b4a53457f071dfe8f Merge: decace8 f5d2f41 Author: Jili Dong Date: Mon May 6 14:27:04 2019 +0000 Merge branch 'master' into HAFS commit decace88311a79ff6fdd509972b0809b7d2c610d Merge: 1c16570 01a626a Author: Jili Dong Date: Tue Apr 2 17:44:12 2019 +0000 Merge branch 'master' into HAFS commit 1c165706cfe097c689ad630adb72770906646b20 Author: Jili Dong Date: Tue Apr 2 17:43:09 2019 +0000 update g2tmpl library on jet commit a9c479405a855518317ef76f9d86115f0fb4ffb1 Author: Jili Dong Date: Mon Apr 1 12:50:47 2019 +0000 add jet support to hafs_post commit 775c3a2ab37fc5105641cb233cdbc8f1a52e60e5 Author: Jili Dong Date: Fri Mar 22 14:51:58 2019 +0000 add support for fv3 regulat lat lon Change-Id: Ic1f3021783a42e3c4e3a50840c12010a5ef103cf --- modulefiles/post/v8.0.0-cray-intel | 2 +- modulefiles/post/v8.0.0-jet | 69 + modulefiles/post/v8.0.0-wcoss_cray | 1 + parm/hafs.xml | 617 ++++ parm/makefile | 11 +- parm/postxconfig-NT-hafs.txt | 3237 +++++++++++++++++++ sorc/build_ncep_post.sh | 7 +- sorc/ncep_post.fd/CLDRAD.f | 25 +- sorc/ncep_post.fd/FIXED.f | 14 +- sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f | 8 +- sorc/ncep_post.fd/INITPOST_NETCDF.f | 100 +- sorc/ncep_post.fd/MDL2P.f | 6 + sorc/ncep_post.fd/MISCLN.f | 30 +- sorc/ncep_post.fd/SURFCE.f | 21 +- 14 files changed, 4118 insertions(+), 30 deletions(-) create mode 100644 modulefiles/post/v8.0.0-jet create mode 120000 modulefiles/post/v8.0.0-wcoss_cray create mode 100755 parm/hafs.xml create mode 100644 parm/postxconfig-NT-hafs.txt diff --git a/modulefiles/post/v8.0.0-cray-intel b/modulefiles/post/v8.0.0-cray-intel index 7cee5f7c0..cc5161ab1 100644 --- a/modulefiles/post/v8.0.0-cray-intel +++ b/modulefiles/post/v8.0.0-cray-intel @@ -21,7 +21,7 @@ module load PrgEnv-intel module load craype-sandybridge module switch intel intel/15.0.3.187 module load craype/2.3.0 -module load prod_util/1.0.3 +module load prod_util/1.0.33 module load cray-libsci/13.0.3 module load crtm-intel/2.2.6 module load sigio-intel/2.1.0 diff --git a/modulefiles/post/v8.0.0-jet b/modulefiles/post/v8.0.0-jet new file mode 100644 index 000000000..3f6645a9d --- /dev/null +++ b/modulefiles/post/v8.0.0-jet @@ -0,0 +1,69 @@ +#%Module###################################################################### +############################################################# +## Lin.Gan@noaa.gov +## EMC +## post v7.0.0 +## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs +############################################################# +proc ModulesHelp { } { +puts stderr "Set environment veriables for post" +puts stderr "This module initializes the users environment" +puts stderr "to build the post for WCOSS production.\n" +} +module-whatis "post" + +set ver v8.0.0 + +# Loading Intel Compiler Suite +module load intel/15.0.3.187 +module load impi + +module use /contrib/modulefiles + +# Loding nceplibs modules +module use -a /mnt/lfs3/projects/hfv3gfs/nwprod/lib/modulefiles +module load sigio/v2.0.1 +module load jasper/v1.900.1 +module load png/v1.2.44 +module load z/v1.2.6 +module load sfcio/v1.0.0 +module load nemsio/v2.2.2 +module load bacio/v2.0.1 +#module load g2/v2.5.2 +module load xmlparse/v2.0.0 +module load gfsio/v1.1.0 +module load ip/v3.0.0 +module load sp/v2.0.2 +module load w3emc/v2.2.0 +module load w3nco/v2.0.6 +module load crtm/v2.2.3 +module load netcdf/3.6.3 + +setenv NCEPLIBS /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib + +module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/modulefiles +module load g2tmpl-intel/1.5.0 + +module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/wrf.post.lib/modulefiles +module load wrf-io-v1.1.1 + +set dlib /mnt/lfs3/projects/hfv3gfs/gwv/ltmp2/lib/g2/v3.1.0/ +set bname "G2" +# +### Export environment variables +setenv ${bname}_SRC $dlib/src +setenv ${bname}_INC4 $dlib/intel/include/g2_v3.1.0_4 +setenv ${bname}_INCd $dlib/intel/include/g2_v3.1.0_d +setenv ${bname}_LIB4 $dlib/intel/libg2_v3.1.0_4.a +setenv ${bname}_LIBd $dlib/intel/libg2_v3.1.0_d.a +setenv ${bname}_VER v3.1.0 + +#setenv WRFPATH /mnt/lfs3/projects/hfv3gfs/nwprod/wrf_shared.v1.1.0/ +setenv myFC mpiifort +setenv OPENMP "-openmp" +setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -openmp -fpp" +# +#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" + +setenv myCPP /lib/cpp +setenv myCPPFLAGS "-P" diff --git a/modulefiles/post/v8.0.0-wcoss_cray b/modulefiles/post/v8.0.0-wcoss_cray new file mode 120000 index 000000000..16585fad2 --- /dev/null +++ b/modulefiles/post/v8.0.0-wcoss_cray @@ -0,0 +1 @@ +v8.0.0-cray-intel \ No newline at end of file diff --git a/parm/hafs.xml b/parm/hafs.xml new file mode 100755 index 000000000..c0cc6a5d4 --- /dev/null +++ b/parm/hafs.xml @@ -0,0 +1,617 @@ + + + + + HURPRS + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hur_hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VVEL_ON_ISOBARIC_SFC + VVEL + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + TKE_ON_ISOBARIC_SFC + TKE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLWMR_ON_ISOBARIC_SFC + CLWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + REFD_ON_ISOBARIC_SFC + REFD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + PRES_ON_MEAN_SEA_LVL + PRMSL + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + POT + 10. + 5.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + NCEP + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + NCEP + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. + 4.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_NCPCP_ON_SURFACE + NCPCP + -4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_CDLYR_ON_ENTIRE_ATMOS + CDLYR + NCEP + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + NCEP + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + NCEP + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + NCEP + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + NCEP + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + NCEP + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + NCEP + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + NCEP + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 3.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + NCEP + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + NCEP + 4.0 + + + + CD_ON_SURFACE + CD + NCEP + 3.0 + + + + UFLX_ON_SURFACE + UFLX + 3.0 + + + + VFLX_ON_SURFACE + VFLX + 3.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + ACM_EVP_ON_SURFACE + EVP + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + NCEP + 3.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + NCEP + 4.0 + + + + HPBL_ON_SURFACE + HPBL + NCEP + 6.0 + + + + TCOLW_ON_ENTIRE_ATMOS + TCOLW + NCEP + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + TCOLI + NCEP + 5.0 + + + + TCOLR_ON_ENTIRE_ATMOS + TCOLR + NCEP + 5.0 + + + + TCOLS_ON_ENTIRE_ATMOS + TCOLS + NCEP + 5.0 + + + + TCOLC_ON_ENTIRE_ATMOS + TCOLC + NCEP + 5.0 + + + + TCLSW_ON_ENTIRE_ATMOS + TCLSW + NCEP + 5.0 + + + + TCOLM_ON_ENTIRE_ATMOS + TCOLM + NCEP + 5.0 + + + + LWHR_ON_ENTIRE_ATMOS + LWHR + NCEP + 5.0 + + + + AVE_LRGHR_ON_ENTIRE_ATMOS + LRGHR + NCEP + 5.0 + + + + MAX_PRATE_ON_SURFACE + PRATE + 4.0 + + + + + diff --git a/parm/makefile b/parm/makefile index f9322c0f9..798cbed99 100644 --- a/parm/makefile +++ b/parm/makefile @@ -21,6 +21,7 @@ GEFSFLATFILENAME = postxconfig-NT-GEFS.txt GEFSANLFLATFILENAME = postxconfig-NT-GEFS-ANL.txt GEFSF00FLATFILENAME = postxconfig-NT-GEFS-F00.txt FV3SARFLATFILENAME = postxconfig-NT-fv3sar.txt +HAFSFLATFILENAME = postxconfig-NT-hafs.txt # Source Post XML file @@ -43,6 +44,7 @@ GEFSANLCTRLFILENAME = postcntrl_gefs_anl.xml GEFSCTRLF00FILENAME = postcntrl_gefs_f00.xml FV3SARAVAILXMLFILENAME = fv3sar_post_avblflds.xml FV3SARCTRLFILENAME = fv3sar.xml +HAFSCTRLFILENAME = hafs.xml # Post flat file generator @@ -62,6 +64,7 @@ PERLXMLGEFS = /usr/bin/perl $(PERLXML) $(GEFSCTRLFILENAME) $(GFSAVAILXMLFILENAM PERLXMLGEFSANL = /usr/bin/perl $(PERLXML) $(GEFSANLCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GEFSANLFLATFILENAME) PERLXMLGEFSF00 = /usr/bin/perl $(PERLXML) $(GEFSCTRLF00FILENAME) $(GFSAVAILXMLFILENAME) $(GEFSF00FLATFILENAME) PERLXMLFV3SAR = /usr/bin/perl $(PERLXML) $(FV3SARCTRLFILENAME) $(FV3SARAVAILXMLFILENAME) $(FV3SARFLATFILENAME) +PERLXMLHAFS = /usr/bin/perl $(PERLXML) $(HAFSCTRLFILENAME) $(FV3SARAVAILXMLFILENAME) $(HAFSFLATFILENAME) # File to look for change @@ -78,10 +81,11 @@ GEFSXMLS = $(GFSAVAILXMLFILENAME) $(GEFSCTRLFILENAME) GEFSANLXMLS = $(GFSAVAILXMLFILENAME) $(GEFSANLCTRLFILENAME) GEFSF00XMLS = $(GFSAVAILXMLFILENAME) $(GEFSCTRLF00FILENAME) FV3SARXMLS = $(NMMAVAILXMLFILENAME) $(FV3SARCTRLFILENAME) +HAFSXMLS = $(NMMAVAILXMLFILENAME) $(HAFSCTRLFILENAME) # If action is triggered; run the following -all: $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(GFSFLUXFLATFILENAME) $(GFSFLUXF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3SARFLATFILENAME) +all: $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(GFSFLUXFLATFILENAME) $(GFSFLUXF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3SARFLATFILENAME) $(HAFSFLATFILENAME) $(GFSFLATFILENAME): $(GFSXMLS) $(PERLXMLGFS) $(GFSGOESFLATFILENAME): $(GFSGOESXMLS) @@ -106,10 +110,13 @@ $(GEFSF00FLATFILENAME): $(GEFSF00XMLS) $(PERLXMLGEFSF00) $(FV3SARFLATFILENAME): $(FV3SARXMLS) $(PERLXMLFV3SAR) +$(HAFSFLATFILENAME): $(FV3SARXMLS) + $(PERLXMLHAFS) + # Make clean clean: @echo @echo '==== CLEAN ===================================================' - /bin/rm -f $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3SARFLATFILENAME) + /bin/rm -f $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3SARFLATFILENAME) $(HAFSFLATFILENAME) diff --git a/parm/postxconfig-NT-hafs.txt b/parm/postxconfig-NT-hafs.txt new file mode 100644 index 000000000..9e66cbb77 --- /dev/null +++ b/parm/postxconfig-NT-hafs.txt @@ -0,0 +1,3237 @@ +1 +87 +HURPRS +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hur_hafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +22 +TKE_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TKE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +251 +REFD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +REFD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +158 +POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +POT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +34 +ACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +139 +AVE_CDLYR_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +CDLYR +NCEP +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +133 +UFLX_ON_SURFACE +? +1 +tmpl4_0 +UFLX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +134 +VFLX_ON_SURFACE +? +1 +tmpl4_0 +VFLX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +47 +ACM_EVP_ON_SURFACE +? +1 +tmpl4_8 +EVP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +NCEP +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +202 +TCOLR_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLR +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +203 +TCOLS_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLS +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +204 +TCOLC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +285 +TCLSW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCLSW +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +286 +TCOLM_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLM +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +291 +LWHR_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +LWHR +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +292 +AVE_LRGHR_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LRGHR +NCEP +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? diff --git a/sorc/build_ncep_post.sh b/sorc/build_ncep_post.sh index fcb26873e..1c89f4464 100755 --- a/sorc/build_ncep_post.sh +++ b/sorc/build_ncep_post.sh @@ -22,6 +22,10 @@ if [ $mac2 = tf ] ; then # For Theia machine=theia . /etc/profile . /etc/profile.d/modules.sh +elif [ $mac = f ] ; then # For Jet + machine=jet + . /etc/profile + . /etc/profile.d/modules.sh elif [ $mac = v -o $mac = m ] ; then # For Dell machine=wcoss_dell_p3 . $MODULESHOME/init/bash @@ -39,8 +43,9 @@ module load post/v8.0.0-${machine} module list cd ncep_post.fd + make -f makefile_module clean -make -f makefile_module +make -f makefile_module if [ ! -d "../../exec" ] ; then mkdir -p ../../exec diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index 39053f043..41ebf87ff 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -309,6 +309,8 @@ SUBROUTINE CLDRAD ! ! CONVECTIVE AVAILABLE POTENTIAL ENERGY. IF ((IGET(032) > 0))THEN +! dong add missing value for cape + GRID1 = spval IF ( (LVLS(1,IGET(032)).GT.0) )THEN ITYPE = 1 DPBND = 10.E2 @@ -319,7 +321,7 @@ SUBROUTINE CLDRAD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = EGRID1(I,J) + IF(FIS(I,J) < SPVAL) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) @@ -342,13 +344,15 @@ SUBROUTINE CLDRAD ! ! CONVECTIVE INHIBITION. IF ((IGET(107) > 0))THEN +! dong add missing value for cin + GRID1 = spval IF ( (LVLS(1,IGET(107)) > 0) )THEN IF ((IGET(032) > 0))THEN IF ( (LVLS(1,IGET(032)) > 0) )THEN !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - EGRID2(I,J) + IF(FIS(I,J) < SPVAL) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO END IF @@ -362,7 +366,7 @@ SUBROUTINE CLDRAD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - EGRID2(I,J) + IF(FIS(I,J) < SPVAL) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO END IF @@ -370,7 +374,7 @@ SUBROUTINE CLDRAD !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - GRID1(I,J) + IF(FIS(I,J) < SPVAL) GRID1(I,J) = - GRID1(I,J) ENDDO ENDDO if(grib == "grib1" )then @@ -394,9 +398,16 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN PRECIPITABLE WATER (SPECIFIC HUMIDITY). IF (IGET(080) > 0) THEN +! dong + GRID1 = spval CALL CALPW(GRID1(1,jsta),1) ID(1:25) = 0 - CALL BOUND(GRID1,D00,H99999) + DO J=JSTA,JEND + DO I=1,IM + IF(FIS(I,J) >= SPVAL) GRID1(I,J)=spval + END DO + END DO + CALL BOUND(GRID1,D00,H99999) if(grib == "grib1" )then CALL GRIBIT(IGET(080),LVLS(1,IGET(080)),GRID1,IM,JM) else if(grib == "grib2" )then @@ -3655,6 +3666,8 @@ SUBROUTINE CLDRAD ! ! CURRENT INCOMING LW RADIATION AT THE SURFACE. IF (IGET(157).GT.0) THEN +! dong add missing value to DLWRF + GRID1 = spval DO J=JSTA,JEND DO I=1,IM IF(MODELNAME.eq.'RSM' .OR. MODELNAME == 'RAPR') THEN !add by Binbin: RSM has direct RLWIN output @@ -3667,7 +3680,7 @@ SUBROUTINE CLDRAD ELSE FACTRL=0.0 ENDIF - GRID1(I,J)=RLWIN(I,J)*FACTRL + IF(RLWIN(I,J) < spval) GRID1(I,J)=RLWIN(I,J)*FACTRL ENDIF ENDDO ENDDO diff --git a/sorc/ncep_post.fd/FIXED.f b/sorc/ncep_post.fd/FIXED.f index 500fa00ff..8cf507bc0 100644 --- a/sorc/ncep_post.fd/FIXED.f +++ b/sorc/ncep_post.fd/FIXED.f @@ -47,7 +47,7 @@ SUBROUTINE FIXED use masks, only: gdlat, gdlon, sm, sice, lmh, lmv use params_mod, only: small, p1000, capa use lookup_mod, only: ITB,JTB,ITBQ,JTBQ - use ctlblk_mod, only: jsta, jend, grib, cfld, fld_info, datapd, spval, tsrfc,& + use ctlblk_mod, only: jsta, jend, modelname, grib, cfld, fld_info, datapd, spval, tsrfc,& ifhr, ifmin, lm, im, jm use rqstfld_mod, only: iget, lvls, iavblfld, id !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -310,11 +310,15 @@ SUBROUTINE FIXED !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - IF( (abs(SM(I,J)-1.) < 1.0E-5) ) THEN - GRID1(I,J) = SST(I,J) + IF (MODELNAME == 'NMM') THEN + IF( (abs(SM(I,J)-1.) < 1.0E-5) ) THEN + GRID1(I,J) = SST(I,J) + ELSE + GRID1(I,J) = THS(I,J)*(PINT(I,J,LM+1)/P1000)**CAPA + END IF ELSE - GRID1(I,J) = THS(I,J)*(PINT(I,J,LM+1)/P1000)**CAPA - END IF + GRID1(I,J) = SST(I,J) + ENDIF ENDDO ENDDO ID(1:25) = 0 diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 4b0df880a..7268f21eb 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -1977,6 +1977,12 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) QS(i,j) = SPVAL ! GFS does not have surface specific humidity twbs(i,j) = SPVAL ! GFS does not have inst sensible heat flux qwbs(i,j) = SPVAL ! GFS does not have inst latent heat flux +!assign sst + if (sm(i,j) /= 0.0) then + sst(i,j) = ths(i,j) * (pint(i,j,lp1)/p1000)**capa + else + sst(i,j) = spval + endif enddo enddo ! if(debugprint)print*,'sample ',VarName,' = ',ths(isa,jsa) @@ -3102,7 +3108,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) sfcevp(i,j) = spval ! GFS does not have accumulated surface evaporation acsnow(i,j) = spval ! GFS does not have averaged accumulated snow acsnom(i,j) = spval ! GFS does not have snow melt - sst(i,j) = spval ! GFS does not have sst???? +! sst(i,j) = spval ! GFS does not have sst???? thz0(i,j) = ths(i,j) ! GFS does not have THZ0, use THS to substitute qz0(i,j) = spval ! GFS does not output humidity at roughness length uz0(i,j) = spval ! GFS does not output u at roughness length diff --git a/sorc/ncep_post.fd/INITPOST_NETCDF.f b/sorc/ncep_post.fd/INITPOST_NETCDF.f index 39128f430..3134a699a 100644 --- a/sorc/ncep_post.fd/INITPOST_NETCDF.f +++ b/sorc/ncep_post.fd/INITPOST_NETCDF.f @@ -289,6 +289,69 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) print*,'lonstart,latstart,cenlon,cenlat,dyval,dxval', & lonstart,latstart,cenlon,cenlat,dyval,dxval + +! Jili Dong add support for regular lat lon (2019/03/22) start + else if(trim(varcharval)=='latlon')then + MAPTYPE=0 + idrt=0 + + Status=nf90_get_att(ncid3d,nf90_global,'lon1',dum_const) + if(Status/=0)then + print*,'lonstart not found; assigning missing value' + lonstart=spval + else + if(dum_const<0.)then + lonstart=nint((dum_const+360.)*gdsdegr) + else + lonstart=dum_const*gdsdegr + end if + end if + Status=nf90_get_att(ncid3d,nf90_global,'lat1',dum_const) + if(Status/=0)then + print*,'latstart not found; assigning missing value' + latstart=spval + else + latstart=dum_const*gdsdegr + end if + + Status=nf90_get_att(ncid3d,nf90_global,'lon2',dum_const) + if(Status/=0)then + print*,'lonlast not found; assigning missing value' + lonlast=spval + else + if(dum_const<0.)then + lonlast=nint((dum_const+360.)*gdsdegr) + else + lonlast=dum_const*gdsdegr + end if + end if + Status=nf90_get_att(ncid3d,nf90_global,'lat2',dum_const) + if(Status/=0)then + print*,'latlast not found; assigning missing value' + latlast=spval + else + latlast=dum_const*gdsdegr + end if + + Status=nf90_get_att(ncid3d,nf90_global,'dlon',dum_const) + if(Status/=0)then + print*,'dlmd not found; assigning missing value' + dxval=spval + else + dxval=dum_const*gdsdegr + end if + Status=nf90_get_att(ncid3d,nf90_global,'dlat',dum_const) + if(Status/=0)then + print*,'dphd not found; assigning missing value' + dyval=spval + else + dyval=dum_const*gdsdegr + end if + + print*,'lonstart,latstart,dyval,dxval', & + lonstart,lonlast,latstart,latlast,dyval,dxval + +! Jili Dong add support for regular lat lon (2019/03/22) end else ! setting default maptype MAPTYPE=0 @@ -414,6 +477,18 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) lonstart = nint(dummy(1,1)*gdsdegr) lonlast = nint(dummy(im,jm)*gdsdegr) end if + +! Jili Dong add support for regular lat lon (2019/03/22) start + if (MAPTYPE .eq. 0) then + if(lonstart<0.)then + lonstart=lonstart+360.*gdsdegr + end if + if(lonlast<0.)then + lonlast=lonlast+360.*gdsdegr + end if + end if +! Jili Dong add support for regular lat lon (2019/03/22) end + end if print*,'lonstart,lonlast ',lonstart,lonlast ! get latitude @@ -634,7 +709,12 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) else pmid(i,j,l)=spval end if +! dong add missing value + if (wh(i,j,l) < spval) then omga(i,j,l)=(-1.)*wh(i,j,l)*dpres(i,j,l)/buf3d(i,j,l) + else + omga(i,j,l) = spval + end if ! if(t(i,j,l)>1000.)print*,'bad T ',t(i,j,l) enddo enddo @@ -757,6 +837,8 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) ! end do ! surface height from FV3 +! dong set missing value for zint +! zint=spval VarName='hgtsfc' call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & @@ -1153,6 +1235,12 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) QS(i,j) = SPVAL ! GFS does not have surface specific humidity twbs(i,j) = SPVAL ! GFS does not have inst sensible heat flux qwbs(i,j) = SPVAL ! GFS does not have inst latent heat flux +!assign sst + if (sm(i,j) /= 0.0) then + sst(i,j) = ths(i,j) * (pint(i,j,lp1)/p1000)**capa + else + sst(i,j) = spval + endif enddo enddo if(debugprint)print*,'sample ',VarName,' = ',ths(isa,jsa) @@ -2015,7 +2103,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) sfcevp(i,j) = spval ! GFS does not have accumulated surface evaporation acsnow(i,j) = spval ! GFS does not have averaged accumulated snow acsnom(i,j) = spval ! GFS does not have snow melt - sst(i,j) = spval ! GFS does not have sst???? +! sst(i,j) = spval ! GFS does not have sst???? thz0(i,j) = ths(i,j) ! GFS does not have THZ0, use THS to substitute qz0(i,j) = spval ! GFS does not output humidity at roughness length uz0(i,j) = spval ! GFS does not output u at roughness length @@ -2610,6 +2698,8 @@ subroutine read_netcdf_2d_scatter(me,ncid,ifhr,im,jm,jsta,jsta_2l & real,intent(out) :: buf(im,jsta_2l:jend_2u) integer :: iret,i,j,jj,varid real,parameter :: spval_netcdf=9.99e+20 +! dong for hgtsfc 2d var but with 3d missing value + real,parameter :: spval_netcdf_3d=-1.e+10 real dummy(im,jm),dummy2(im,jm) if(me == 0) then @@ -2630,7 +2720,13 @@ subroutine read_netcdf_2d_scatter(me,ncid,ifhr,im,jm,jsta,jsta_2l & jj=j do i=1,im dummy(i,j)=dummy2(i,jj) - if(abs(dummy(i,j)-spval_netcdf)<0.1)dummy(i,j)=spval +! dong for hgtsfc and pressfc + if (trim(varname) .eq. "hgtsfc" .or. trim(varname) & + .eq. "pressfc") then + if(abs(dummy(i,j)-spval_netcdf_3d)<0.1)dummy(i,j)=spval + else + if(abs(dummy(i,j)-spval_netcdf)<0.1)dummy(i,j)=spval + end if end do end do end if diff --git a/sorc/ncep_post.fd/MDL2P.f b/sorc/ncep_post.fd/MDL2P.f index 1cd36bcbc..91ff5a662 100644 --- a/sorc/ncep_post.fd/MDL2P.f +++ b/sorc/ncep_post.fd/MDL2P.f @@ -258,6 +258,8 @@ SUBROUTINE MDL2P(iostatusD3D) OSL(I,J) = SPVAL USL(I,J) = SPVAL VSL(I,J) = SPVAL +! dong initialize wsl + WSL(I,J) = SPVAL Q2SL(I,J) = SPVAL C1D(I,J) = SPVAL ! Total condensate QW1(I,J) = SPVAL ! Cloud water @@ -4204,6 +4206,8 @@ SUBROUTINE MDL2P(iostatusD3D) ! ADJUST 1000 MB HEIGHT TO MEMBEANCE SLP IF(IGET(023) > 0.OR.IGET(445) > 0)THEN IF(IGET(012) > 0)THEN +! dong add missing value to 1000 mb hgt + GRID1= spval DO LP=LSM,1,-1 IF(ABS(SPL(LP)-1.0E5) <= 1.0E-5)THEN IF(LVLS(LP,IGET(012)) > 0)THEN @@ -4221,6 +4225,7 @@ SUBROUTINE MDL2P(iostatusD3D) !$omp parallel do private(i,j,PSLPIJ,ALPSL,PSFC) DO J=JSTA,JEND DO I=1,IM + IF(PSLP(I,J) < spval) THEN PSLPIJ = PSLP(I,J) ALPSL = LOG(PSLPIJ) PSFC = PINT(I,J,NINT(LMH(I,J))+1) @@ -4231,6 +4236,7 @@ SUBROUTINE MDL2P(iostatusD3D) ENDIF Z1000(I,J) = GRID1(I,J)*GI GRID1(I,J) = Z1000(I,J) + END IF ENDDO ENDDO END IF diff --git a/sorc/ncep_post.fd/MISCLN.f b/sorc/ncep_post.fd/MISCLN.f index 8f0361125..e7172c4ae 100644 --- a/sorc/ncep_post.fd/MISCLN.f +++ b/sorc/ncep_post.fd/MISCLN.f @@ -2292,10 +2292,12 @@ SUBROUTINE MISCLN EGRID2,EGRID3,EGRID4,EGRID5) ! IF (IGET(032).GT.0.or.IGET(566)>0) THEN +! dong add missing value for cape + GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = EGRID1(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) @@ -2320,10 +2322,12 @@ SUBROUTINE MISCLN ENDIF ! IF (IGET(107) > 0 .or. IGET(567) > 0) THEN +! dong add missing value for cape + GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - EGRID2(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO ! @@ -2332,7 +2336,7 @@ SUBROUTINE MISCLN !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - GRID1(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = - GRID1(I,J) ENDDO ENDDO ! @@ -3391,10 +3395,12 @@ SUBROUTINE MISCLN EGRID2,EGRID3,EGRID4,EGRID5) IF (IGET(032).GT.0.or.IGET(582)>0) THEN +! dong add missing value for cape + GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = EGRID1(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO @@ -3419,10 +3425,12 @@ SUBROUTINE MISCLN endif ENDIF IF (IGET(107).GT.0.or.IGET(583)>0) THEN +! dong add missing value for cape + GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - EGRID2(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO ! @@ -3431,7 +3439,7 @@ SUBROUTINE MISCLN !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - GRID1(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = - GRID1(I,J) ENDDO ENDDO ! @@ -3526,10 +3534,12 @@ SUBROUTINE MISCLN EGRID2,EGRID3,EGRID4,EGRID5) ! IF (IGET(032).GT.0.or.IGET(584)>0) THEN +! dong add missing value to cin + GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = EGRID1(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) @@ -3555,17 +3565,19 @@ SUBROUTINE MISCLN ENDIF IF (IGET(107).GT.0.or.IGET(585)>0) THEN +! dong add missing value to cin + GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - EGRID2(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = - GRID1(I,J) + IF(T1D(I,J) < spval) GRID1(I,J) = - GRID1(I,J) ENDDO ENDDO ID(1:25)=0 diff --git a/sorc/ncep_post.fd/SURFCE.f b/sorc/ncep_post.fd/SURFCE.f index 14b4626e9..55ac4e566 100644 --- a/sorc/ncep_post.fd/SURFCE.f +++ b/sorc/ncep_post.fd/SURFCE.f @@ -173,6 +173,9 @@ SUBROUTINE SURFCE ! SCALE ARRAY FIS BY GI TO GET SURFACE HEIGHT. ! ZSFC(I,J)=FIS(I,J)*GI +! dong add missing value for zsfc + ZSFC(I,J) = spval + IF(ZINT(I,J,LM+1) < spval) & ZSFC(I,J) = ZINT(I,J,LM+1) PSFC(I,J) = PINT(I,J,NINT(LMH(I,J))+1) ! SURFACE PRESSURE. ! @@ -185,6 +188,11 @@ SUBROUTINE SURFCE ! SURFACE SPECIFIC HUMIDITY, RELATIVE HUMIDITY, AND DEWPOINT. ! ADJUST SPECIFIC HUMIDITY IF RELATIVE HUMIDITY EXCEEDS 0.1 OR 1.0. +! dong spfh sfc set missing value + QSFC(I,J) = spval + RHSFC(I,J) = spval + EVP(I,J) = spval + IF(TSFC(I,J) /= spval) then QSFC(I,J) = MAX(H1M12,QS(I,J)) TSFCK = TSFC(I,J) @@ -201,6 +209,7 @@ SUBROUTINE SURFCE QSFC(I,J) = RHSFC(I,J)*QSAT RHSFC(I,J) = RHSFC(I,J) * 100.0 EVP(I,J) = D001*PSFC(I,J)*QSFC(I,J)/(EPS+ONEPS*QSFC(I,J)) + END IF ! !mp ACCUMULATED NON-CONVECTIVE PRECIP. !mp IF(IGET(034).GT.0)THEN @@ -5586,11 +5595,13 @@ SUBROUTINE SURFCE ENDIF ! ! SURFACE DRAG COEFFICIENT. +! dong add missing value for cd IF (IGET(132).GT.0) THEN + GRID1=spval CALL CALDRG(EGRID1(1,jsta_2l)) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J)=EGRID1(I,J) + IF(USTAR(I,J) < spval) GRID1(I,J)=EGRID1(I,J) ENDDO ENDDO if(grib=='grib1') then @@ -5755,6 +5766,8 @@ SUBROUTINE SURFCE ! ! INSTANTANEOUS SENSIBLE HEAT FLUX IF (IGET(154).GT.0) THEN +! dong add missing value to shtfl + GRID1 = spval IF(MODELNAME.EQ.'NCAR'.OR.MODELNAME.EQ.'RSM' .OR. & MODELNAME.EQ.'RAPR')THEN !4omp parallel do private(i,j) @@ -5767,7 +5780,7 @@ SUBROUTINE SURFCE !4omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = -TWBS(I,J) + IF(TWBS(I,J) < spval) GRID1(I,J) = -TWBS(I,J) ENDDO ENDDO END IF @@ -5783,6 +5796,8 @@ SUBROUTINE SURFCE ! ! INSTANTANEOUS LATENT HEAT FLUX IF (IGET(155).GT.0) THEN +! dong add missing value to lhtfl + GRID1 = spval IF(MODELNAME.EQ.'NCAR'.OR.MODELNAME.EQ.'RSM' .OR. & MODELNAME.EQ.'RAPR')THEN !4omp parallel do private(i,j) @@ -5795,7 +5810,7 @@ SUBROUTINE SURFCE !4omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM - GRID1(I,J) = -QWBS(I,J) + IF(QWBS(I,J) < spval) GRID1(I,J) = -QWBS(I,J) ENDDO ENDDO END IF From 47779a86c1461ffb8cc0d6f0feb18f951168dcb3 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Thu, 25 Jul 2019 13:09:25 -0600 Subject: [PATCH 12/38] modifying scripts to use binarynemsiompiio format for FV3 --- comupp/scripts/run_unipost | 4 ++-- comupp/scripts/run_unipostandgempak | 4 ++-- comupp/scripts/run_unipostandgrads | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/comupp/scripts/run_unipost b/comupp/scripts/run_unipost index 555d5abb1..9a4a738a3 100755 --- a/comupp/scripts/run_unipost +++ b/comupp/scripts/run_unipost @@ -48,7 +48,7 @@ set -x # dyncore : What model is used ARW (WRF) or FV3 (GFS) # inFormat : Format of the model data # arw - "netcdf" -# fv3 - "binarynemsio" +# fv3 - "binarynemsiompiio" # outFormat : Format of output from UPP # grib (WRF only) # grib2 @@ -173,7 +173,7 @@ if [[ ${dyncore} == "ARW" ]]; then exit 1 fi elif [ ${dyncore} == "FV3" ]; then - if [[ ${inFormat} != "binarynemsio" ]]; then + if [[ ${inFormat} != "binarynemsiompiio" ]]; then echo "ERROR: 'inFormat' must be 'binarynemsio' for FV3 model output. Exiting... " exit 1 fi diff --git a/comupp/scripts/run_unipostandgempak b/comupp/scripts/run_unipostandgempak index 65728378c..938c7494f 100755 --- a/comupp/scripts/run_unipostandgempak +++ b/comupp/scripts/run_unipostandgempak @@ -49,7 +49,7 @@ set -x # dyncore : What model is used ARW (WRF) or FV3 (GFS) # inFormat : Format of the model data # arw - "netcdf" -# fv3 - "binarynemsio" +# fv3 - "binarynemsiompiio" # outFormat : Format of output from UPP # grib (WRF only) # grib2 @@ -174,7 +174,7 @@ if [[ ${dyncore} == "ARW" ]]; then exit 1 fi elif [ ${dyncore} == "FV3" ]; then - if [[ ${inFormat} != "binarynemsio" ]]; then + if [[ ${inFormat} != "binarynemsiompiio" ]]; then echo "ERROR: 'inFormat' must be 'binarynemsio' for FV3 model output. Exiting... " exit 1 fi diff --git a/comupp/scripts/run_unipostandgrads b/comupp/scripts/run_unipostandgrads index 293840ca7..f0a1e15ec 100755 --- a/comupp/scripts/run_unipostandgrads +++ b/comupp/scripts/run_unipostandgrads @@ -49,7 +49,7 @@ set -x # dyncore : What model is used ARW (WRF) or FV3 (GFS) # inFormat : Format of the model data # arw - "netcdf" -# fv3 - "binarynemsio" +# fv3 - "binarynemsiompiio" # outFormat : Format of output from UPP # grib (WRF only) # grib2 @@ -174,7 +174,7 @@ if [[ ${dyncore} == "ARW" ]]; then exit 1 fi elif [ ${dyncore} == "FV3" ]; then - if [[ ${inFormat} != "binarynemsio" ]]; then + if [[ ${inFormat} != "binarynemsiompiio" ]]; then echo "ERROR: 'inFormat' must be 'binarynemsio' for FV3 model output. Exiting... " exit 1 fi From 2ae3477907ba0ea0467ccb760084ce5c7a565438 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Thu, 25 Jul 2019 14:13:38 -0600 Subject: [PATCH 13/38] Modify error message to reflect binarynemsiompiio --- comupp/scripts/run_unipost | 2 +- comupp/scripts/run_unipostandgempak | 2 +- comupp/scripts/run_unipostandgrads | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/comupp/scripts/run_unipost b/comupp/scripts/run_unipost index 9a4a738a3..c295abfa0 100755 --- a/comupp/scripts/run_unipost +++ b/comupp/scripts/run_unipost @@ -174,7 +174,7 @@ if [[ ${dyncore} == "ARW" ]]; then fi elif [ ${dyncore} == "FV3" ]; then if [[ ${inFormat} != "binarynemsiompiio" ]]; then - echo "ERROR: 'inFormat' must be 'binarynemsio' for FV3 model output. Exiting... " + echo "ERROR: 'inFormat' must be 'binarynemsiompiio' for FV3 model output. Exiting... " exit 1 fi fi diff --git a/comupp/scripts/run_unipostandgempak b/comupp/scripts/run_unipostandgempak index 938c7494f..dc7387bef 100755 --- a/comupp/scripts/run_unipostandgempak +++ b/comupp/scripts/run_unipostandgempak @@ -175,7 +175,7 @@ if [[ ${dyncore} == "ARW" ]]; then fi elif [ ${dyncore} == "FV3" ]; then if [[ ${inFormat} != "binarynemsiompiio" ]]; then - echo "ERROR: 'inFormat' must be 'binarynemsio' for FV3 model output. Exiting... " + echo "ERROR: 'inFormat' must be 'binarynemsiompiio' for FV3 model output. Exiting... " exit 1 fi fi diff --git a/comupp/scripts/run_unipostandgrads b/comupp/scripts/run_unipostandgrads index f0a1e15ec..72d1cce3c 100755 --- a/comupp/scripts/run_unipostandgrads +++ b/comupp/scripts/run_unipostandgrads @@ -175,7 +175,7 @@ if [[ ${dyncore} == "ARW" ]]; then fi elif [ ${dyncore} == "FV3" ]; then if [[ ${inFormat} != "binarynemsiompiio" ]]; then - echo "ERROR: 'inFormat' must be 'binarynemsio' for FV3 model output. Exiting... " + echo "ERROR: 'inFormat' must be 'binarynemsiompiio' for FV3 model output. Exiting... " exit 1 fi fi From df8752c8b22a51f129720a1daeafd62748015d0a Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 1 Aug 2019 10:59:04 -0600 Subject: [PATCH 14/38] Jira #121 Fix typo in Wind Energy Calculation (UPP ID 411) in MDL2AGL.f --- comupp/src/unipost/MDL2AGL.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comupp/src/unipost/MDL2AGL.f b/comupp/src/unipost/MDL2AGL.f index a18626efc..d0fa88a0b 100644 --- a/comupp/src/unipost/MDL2AGL.f +++ b/comupp/src/unipost/MDL2AGL.f @@ -1129,7 +1129,7 @@ SUBROUTINE MDL2AGL PAGL(I,J) = EXP(PAGLL+(PAGLL-PAGLU)*FACT) TAGL(I,J) = TAGLL+(TAGLL-TAGLU)*FACT - QAGL(I,J) = QAGLL+(QAGLL-TAGLU)*FACT + QAGL(I,J) = QAGLL+(QAGLL-QAGLU)*FACT UAGL(I,J) = UAGLL+(UAGLL-UAGLU)*FACT VAGL(I,J) = VAGLL+(VAGLL-VAGLU)*FACT ! From 0a1576b454837611f0e2fff1faa71c2bf8382ffd Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 1 Aug 2019 11:56:40 -0600 Subject: [PATCH 15/38] Jira #122 Fix error that grabs incorrect EL level for TAUX/TAUY calculation in CALTAU.f --- comupp/src/unipost/CALTAU.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comupp/src/unipost/CALTAU.f b/comupp/src/unipost/CALTAU.f index 381452245..222c4e10f 100644 --- a/comupp/src/unipost/CALTAU.f +++ b/comupp/src/unipost/CALTAU.f @@ -125,7 +125,7 @@ SUBROUTINE CALTAU(TAUX,TAUY) ! ! COMPUTE U (EGRIDU) AND V (EGRIDV) WIND STRESSES. ! - ELSQR = EL(I,J,LMHK)*EL(I,J,LMHK) + ELSQR = EL(I,J,LMHK-1)*EL(I,J,LMHK-1) TAUX(I,J) = RHO*ELSQR*DELUDZ*DELUDZ TAUY(I,J) = RHO*ELSQR*DELVDZ*DELVDZ From c43c7408c72cb0b65a20b884c1059d917eadd368 Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 1 Aug 2019 12:08:52 -0600 Subject: [PATCH 16/38] Jira #131 Fix error in pname for updraft helicity in post_avblflds.xml --- comupp/parm/post_avblflds.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comupp/parm/post_avblflds.xml b/comupp/parm/post_avblflds.xml index 02fb74f84..9d408ba12 100644 --- a/comupp/parm/post_avblflds.xml +++ b/comupp/parm/post_avblflds.xml @@ -3717,7 +3717,7 @@ 427 UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km Updraft Helicity on Specified Height Level Above Ground - MXUPHL + UPHL spec_hgt_lvl_above_grnd 5000. spec_hgt_lvl_above_grnd From 9cc7ea21d844da9bb34f85774f9a7628f1c6a19f Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 1 Aug 2019 12:18:02 -0600 Subject: [PATCH 17/38] Jira #132 Fix incorrect grib codes in RQSTFLD.f for wind shear variables --- comupp/src/unipost/RQSTFLD.f | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/comupp/src/unipost/RQSTFLD.f b/comupp/src/unipost/RQSTFLD.f index 1533f3082..f573f4a05 100644 --- a/comupp/src/unipost/RQSTFLD.f +++ b/comupp/src/unipost/RQSTFLD.f @@ -702,16 +702,16 @@ module RQSTFLD_mod ! SRD ! CRA DATA IFILV(430),AVBL(430),IQ(430),IS(430),AVBLGRB2(430) & - & /1,'U COMP 0-1 KM SHEAR ',230,106, & + & /1,'U COMP 0-1 KM SHEAR ',045,106, & & 'UUCSH ON spec_hgt_lvl_above_grnd'/ !430 DATA IFILV(431),AVBL(431),IQ(431),IS(431),AVBLGRB2(431) & - & /1,'V COMP 0-1 KM SHEAR ',238,106, & + & /1,'V COMP 0-1 KM SHEAR ',046,106, & & 'VVCSH ON spec_hgt_lvl_above_grnd'/ !431 DATA IFILV(432),AVBL(432),IQ(432),IS(432),AVBLGRB2(432) & - & /1,'U COMP 0-6 KM SHEAR ',239,106, & + & /1,'U COMP 0-6 KM SHEAR ',045,106, & & 'UUCSH ON spec_hgt_lvl_above_grnd'/ !432 DATA IFILV(433),AVBL(433),IQ(433),IS(433),AVBLGRB2(433) & - & /1,'V COMP 0-6 KM SHEAR ',241,106, & + & /1,'V COMP 0-6 KM SHEAR ',046,106, & & 'VVCSH ON spec_hgt_lvl_above_grnd'/ !433 ! CRA From ab752ed830af349e4338b866692fc9adc58322cc Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 1 Aug 2019 12:29:53 -0600 Subject: [PATCH 18/38] Jira #135 Fix allocation issue for PSFC in Block 2 of SURFCE.f --- comupp/src/unipost/SURFCE.f | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/comupp/src/unipost/SURFCE.f b/comupp/src/unipost/SURFCE.f index 96da76829..478958e4a 100644 --- a/comupp/src/unipost/SURFCE.f +++ b/comupp/src/unipost/SURFCE.f @@ -1561,7 +1561,9 @@ SUBROUTINE SURFCE (IGET(546).GT.0).OR. & (IGET(547).GT.0).OR.(IGET(548).GT.0).OR. & (IGET(771).GT.0)) THEN -! + + if (.not. allocated(psfc)) allocate(psfc(im,jsta:jend)) +! !HC COMPUTE SHELTER PRESSURE BECAUSE IT WAS NOT OUTPUT FROM WRF IF(MODELNAME .EQ. 'NCAR' .OR. MODELNAME.EQ.'RSM'.OR. MODELNAME.EQ.'RAPR')THEN DO J=JSTA,JEND From f208af953c480283be9d1aa14ebd31d79a3808e1 Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 1 Aug 2019 12:38:02 -0600 Subject: [PATCH 19/38] Jira #136 Fix typo in CALRAD_WCLOUD_newcrtm.f of incorrect iget ID for INSAT 3D select_channels_L call --- comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f b/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f index 8b9ab3032..57bb688d7 100644 --- a/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f +++ b/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f @@ -382,7 +382,7 @@ SUBROUTINE CALRAD_WCLOUD call select_channels_L(channelinfo(17),4,(/ 1,2,3,4 /),lvls(1:4,iget(864)),iget(864)) endif ! INSAT 3D (Kalpana) - if(iget(864)>0)then + if(iget(865)>0)then call select_channels_L(channelinfo(18),4,(/ 1,2,3,4 /),lvls(1:4,iget(865)),iget(865)) endif From cd0db61911c7b0666bfd55b8ec4da782806686ea Mon Sep 17 00:00:00 2001 From: Tracy Date: Fri, 2 Aug 2019 15:35:05 -0600 Subject: [PATCH 20/38] Jira #139 Remove 10 m POT/SPFH from wrf params - not available for wrf output --- comupp/parm/postcntrl.xml | 14 ------ comupp/parm/postxconfig-NT-WRF.txt | 76 +----------------------------- comupp/parm/postxconfig-NT.txt | 76 +----------------------------- comupp/parm/wrf_cntrl.parm | 4 -- 4 files changed, 2 insertions(+), 168 deletions(-) diff --git a/comupp/parm/postcntrl.xml b/comupp/parm/postcntrl.xml index 82e868500..e4df0ba93 100644 --- a/comupp/parm/postcntrl.xml +++ b/comupp/parm/postcntrl.xml @@ -626,20 +626,6 @@ 3.0 - - POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - POT - 10. - 5.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - SPFH - 10. - 3.0 - - PRES_ON_SURFACE PRES diff --git a/comupp/parm/postxconfig-NT-WRF.txt b/comupp/parm/postxconfig-NT-WRF.txt index 8a0f68e5c..c59bb0e24 100644 --- a/comupp/parm/postxconfig-NT-WRF.txt +++ b/comupp/parm/postxconfig-NT-WRF.txt @@ -1,5 +1,5 @@ 1 -101 +99 WRFPRS 4 ncep_nco @@ -3198,80 +3198,6 @@ spec_hgt_lvl_above_grnd ? ? ? -158 -POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -POT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -159 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? 24 PRES_ON_SURFACE ? diff --git a/comupp/parm/postxconfig-NT.txt b/comupp/parm/postxconfig-NT.txt index 8a0f68e5c..c59bb0e24 100644 --- a/comupp/parm/postxconfig-NT.txt +++ b/comupp/parm/postxconfig-NT.txt @@ -1,5 +1,5 @@ 1 -101 +99 WRFPRS 4 ncep_nco @@ -3198,80 +3198,6 @@ spec_hgt_lvl_above_grnd ? ? ? -158 -POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -POT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -159 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? 24 PRES_ON_SURFACE ? diff --git a/comupp/parm/wrf_cntrl.parm b/comupp/parm/wrf_cntrl.parm index 108b8a76e..d6dc5cc54 100644 --- a/comupp/parm/wrf_cntrl.parm +++ b/comupp/parm/wrf_cntrl.parm @@ -117,10 +117,6 @@ L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) (V WIND AT ANEMOM HT ) SCAL=( 4.0) L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP AT 10 M ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM AT 10 M ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) (SURFACE PRESSURE ) SCAL=( 6.0) L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) (SURFACE HEIGHT ) SCAL=( 6.0) From 81b498dc1fb80119b903b30a600336459c9bebd4 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Sun, 4 Aug 2019 14:24:24 +0000 Subject: [PATCH 21/38] Vlab Issue #66683 -- Merging HAFS_slp to the master. Squashed commit of the following: commit 58e4d74b17d6f7a1c981e691bb94fa5f860e6b5f Author: Jili Dong Date: Wed Jul 31 17:26:10 2019 +0000 change SLP_new.f to process missing values Change-Id: Ie3c9fa048a7673c422d97c64491b76e5582e46fb --- sorc/ncep_post.fd/SLP_new.f | 84 ++++++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/sorc/ncep_post.fd/SLP_new.f b/sorc/ncep_post.fd/SLP_new.f index 56b8c11ea..7abe56394 100644 --- a/sorc/ncep_post.fd/SLP_new.f +++ b/sorc/ncep_post.fd/SLP_new.f @@ -48,7 +48,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) use vrbls2d, only: pslp, fis use masks, only: lmh use params_mod, only: overrc, ad05, cft0, g, rd, d608, h1, kslpd - use ctlblk_mod, only: jend, jsta, spl, num_procs, mpi_comm_comp, lsmp1, & + use ctlblk_mod, only: jend, jsta, spval, spl, num_procs, mpi_comm_comp, lsmp1, & jsta_m, jend_m, lm, im, jsta_2l, jend_2u, lsm, jm,& im_jm !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -72,6 +72,8 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) INTEGER :: IHE(JM),IHW(JM),IVE(JM),IVW(JM),IHS(JM),IHN(JM) integer ii,jj,I,J,L,N,LLMH,KM,KS,IHH2,KOUNT,KMN,NRLX,LHMNT, & LMHIJ,LMAP1,KMM,LP,LXXX,IERR +! dong + real a1,a2,a3,a4,a5,a6,a7,a8 !----------------------------------------------------------------------- LOGICAL :: STDRD,DONE(IM,JSTA_2L:JEND_2U) !----------------------------------------------------------------------- @@ -101,7 +103,12 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) DO I=1,IM LLMH = NINT(LMH(I,J)) PSLP(I,J) = PINT(I,J,LLMH+1) - TTV(I,J) = 0. +! dong +! TTV(I,J) = 0. + TTV(I,J) = spval + TNEW(I,J) = spval + + LMHO(I,J) = 0 DONE(I,J) = .FALSE. ENDDO @@ -223,8 +230,11 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) !$omp parallel do private(i,j) DO J=JSTA,JEND DO I=1,IM +! dong +! if (QPRES(I,J,LSM) .lt. spval) then TTV(I,J) = TPRES(I,J,L) HTM2D(I,J) = HTMO(I,J,L) +! end if ! spval if ! IF(TTV(I,J).lt.150. .and. TTV(I,J).gt.325.0)print* & ! ,'abnormal IC for T relaxation',i,j,TTV(I,J) enddo @@ -238,6 +248,8 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) !$omp parallel do private(i,j,tem) DO J=JSTA_M,JEND_M DO I=2,IM-1 +! dong + if (QPRES(I,J,LSM) .lt. spval) then !HC IF(HTM2D(I,J,L).GT.0.5.AND. !HC 1 HTM2D(I+IHW(J),J-1,L)*HTM2D(I+IHE(J),J-1,L) @@ -252,6 +264,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) TTV(I,J) = TPRES(I,J,L)*(1.+0.608*QPRES(I,J,L)) ENDIF ! if(i.eq.ii.and.j.eq.jj)print*,'Debug:L,TTV B SMOO= ',l,TTV(I,J) + end if ! spval ENDDO ENDDO ! @@ -265,6 +278,9 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) DO KM=1,KMM I = IMNT(KM,L) J = JMNT(KM,L) +! dong +! if (QPRES(I,J,LSM) .lt. spval) then + !HC TTV(I,J)=AD05*(4.*(TTV(I+IHW(J),J-1)+TTV(I+IHE(J),J-1) !HC 1 +TTV(I+IHW(J),J+1)+TTV(I+IHE(J),J+1)) @@ -279,10 +295,42 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! 3 +TTV(I-1,J+1)+TTV(I+1,J+1)) ! 4 -CFT0*TTV(I,J) ! eight point relaxation using old TTV + a1=TTV(I-1,J) + a2=TTV(I+1,J) + a3=TTV(I,J-1) + a4=TTV(I,J+1) + a5=TTV(I-1,J-1) + a6=TTV(I+1,J-1) + a7=TTV(I-1,J+1) + a8=TTV(I+1,J+1) +! if ((a1-spval) .le. 1e-10) a1=TTV(I,J) +! if ((a2-spval) .le. 1e-10) a2=TTV(I,J) +! if ((a3-spval) .le. 1e-10) a3=TTV(I,J) +! if ((a4-spval) .le. 1e-10) a4=TTV(I,J) +! if ((a5-spval) .le. 1e-10) a5=TTV(I,J) +! if ((a6-spval) .le. 1e-10) a6=TTV(I,J) +! if ((a7-spval) .le. 1e-10) a7=TTV(I,J) +! if ((a8-spval) .le. 1e-10) a8=TTV(I,J) + + if ((a1 .lt. spval) .and. & + (a2 .lt. spval) .and. & + (a3 .lt. spval) .and. & + (a4 .lt. spval) .and. & + (a5 .lt. spval) .and. & + (a6 .lt. spval) .and. & + (a7 .lt. spval) .and. & + (a8 .lt. spval) .and. (TTV(I,J) .lt. spval)) then + +! TNEW(I,J) = AD05*(4.*(a1 +a2 +a3 & +! +a4) +a5 +a6 & +! +a7+a8)-TTV(I,J)*CFT0 TNEW(I,J) = AD05*(4.*(TTV(I-1,J) +TTV(I+1,J) +TTV(I,J-1) & +TTV(I,J+1)) +TTV(I-1,J-1) +TTV(I+1,J-1) & +TTV(I-1,J+1)+TTV(I+1,J+1))-TTV(I,J)*CFT0 + else + TNEW(I,J) = TTV(I,J) + end if ! spval ! four point relaxation using old TTV ! TNEW(I,J)=TTV(I,J)+1.0*((TTV(I-1,J)+TTV(I+1,J) @@ -294,6 +342,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! if(i.eq.ii.and.j.eq.jj)print*,'Debug: L,TTV A S' ! 1,l,TTV(I,J),N ! 1,l,TNEW(I,J),N +! end if ! spval enddo ! @@ -301,7 +350,10 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) DO KM=1,KMM I = IMNT(KM,L) J = JMNT(KM,L) +! dong + if (QPRES(I,J,LSM) .lt. spval) then TTV(I,J) = TNEW(I,J) + end if ! spval END DO END DO ! NRLX loop ! @@ -309,7 +361,17 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) DO KM=1,KMM I = IMNT(KM,L) J = JMNT(KM,L) + +! dong + if (QPRES(I,J,LSM) .lt. spval) then + +! dong try to fix missing value for hgtprs at 1000 mb TPRES(I,J,L) = TTV(I,J) + end if ! spval + +! if (QPRES(I,J,L) < 1000) TPRES(I,J,L) = TTV(I,J) +! if (QPRES(I,J,L) < 1000) TPRES(I,J,L) = 1 + END DO enddo ! end of l loop !---------------------------------------------------------------- @@ -330,6 +392,10 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) KOUNT = 0 DO J=JSTA,JEND DO I=1,IM + +! dong +! if (QPRES(I,J,LSM) .lt. spval) then + ! P1(I,J)=SPL(NINT(LMH(I,J))) ! DONE(I,J)=.FALSE. @@ -355,6 +421,9 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) END IF END DO ENDIF + +! end if ! spval + ENDDO ENDDO ! @@ -363,6 +432,9 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) DO 320 KM=1,KMM I = IMNT(KM,LSM) J = JMNT(KM,LSM) +! dong +! if (QPRES(I,J,LSM) .lt. spval) then + IF(DONE(I,J)) cycle LMHIJ = LMHO(I,J) GZ1 = FIPRES(I,J,LMHIJ) @@ -394,6 +466,8 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! if(i.eq.ii.and.j.eq.jj)print*,'Debug:spl,FI,TLYR,PSLPA3=' & ! ,spl(lp),FIPRES(I,J,LP),TLYR,PSLP(I,J) !HC EXPERIMENT +! end if ! spval + 320 CONTINUE ! !*** WHEN SEA LEVEL IS BELOW THE LOWEST OUTPUT PRESSURE LEVEL, @@ -415,6 +489,10 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) LP = LSM DO J=JSTA,JEND DO I=1,IM + +! dong +! if (QPRES(I,J,LSM) .lt. spval) then + ! if(i.eq.ii.and.j.eq.jj)print*,'Debug: with 330 loop' IF(DONE(I,J)) cycle @@ -450,6 +528,8 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) END IF DONE(I,J) = .TRUE. KOUNT = KOUNT + 1 +! end if ! spval + enddo enddo !HC 340 CONTINUE From 2cea446a4fad767c07b3f7e6026429f3b89b73f2 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Thu, 8 Aug 2019 12:20:17 +0000 Subject: [PATCH 22/38] Vlab issue #66614 -- Merge branch post_chem1 to the master. Squashed commit of the following: commit 6fac46a432eb7e87f489db90e4ef846dfe137007 Author: Wen Meng Date: Sun Aug 4 17:12:54 2019 +0000 Vlab Issue -- 1) Implemented aerosol optical calculation for all the wavelength as NGAC. 2) Implemented chemical diagnostic variables based on v0.8.7 version FV3GFS-GSDChem, which is the same as the NGAC. Change-Id: Idec2195bffe14e34965a784de6c5d7e1c9d3b0f6 --- parm/post_avblflds.xml | 183 ++- parm/postcntrl_gefs_chem.xml | 241 ++-- parm/postxconfig-NT-gefs-chem.txt | 1218 +++++++++++++------ sorc/ncep_post.fd/ALLOCATE_ALL.f | 11 +- sorc/ncep_post.fd/CALPW.f | 33 +- sorc/ncep_post.fd/CLDRAD.f | 564 +++++++-- sorc/ncep_post.fd/DEALLOCATE.f | 5 + sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f | 244 +++- sorc/ncep_post.fd/RQSTFLD.f | 184 ++- sorc/ncep_post.fd/VRBLS3D_mod.f | 5 +- 10 files changed, 2003 insertions(+), 685 deletions(-) diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml index e66c69299..7bcb31b20 100755 --- a/parm/post_avblflds.xml +++ b/parm/post_avblflds.xml @@ -5026,58 +5026,44 @@ 9.0 - - 615 - DUST_EMISSION_FLUX - tmpl4_48 - AEMFLX - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 20 - 9.0 - - 616 - DUST_SEDIMENTATION_FLUX + BC_COL_MASS_DEN tmpl4_48 - SEDMFLX - entire_atmos - dust_dry + COLMD + entire_atmos + black_carbon_dry smaller_than_first_limit - 6 - 20 + 10 + 236 9.0 617 - DUST25_SFC_MASS_CON + OC_COL_MASS_DEN tmpl4_48 - PMTF - surface - dust_dry + COLMD + entire_atmos + particulate_org_matter_dry smaller_than_first_limit - 7 - 25 + 10 + 424 9.0 618 - SEAS25_SFC_MASS_CON + SULF_COL_MASS_DEN tmpl4_48 - PMTF - surface - sea_salt_dry + COLMD + entire_atmos + sulphate_dry smaller_than_first_limit 7 25 9.0 - 619 PM10_SFC_MASS_CON @@ -5497,48 +5483,63 @@ 648 - BC_COL_MASS_DEN + SINGLE_SCAT_ALBD_at340 tmpl4_48 - COLMD - entire_atmos - black_carbon_dry + SSALBK + total_aerosol smaller_than_first_limit - 10 - 236 - 9.0 + 6 + 20 + between_first_second_limit + 9 + 338 + 9 + 342 + entire_atmos + 9.0 649 - OC_COL_MASS_DEN + AER_ASYM_FACTOR_at340 tmpl4_48 - COLMD - entire_atmos - particulate_org_matter_dry + ASYSFK + total_aerosol smaller_than_first_limit - 10 - 424 - 9.0 + 6 + 20 + between_first_second_limit + 9 + 338 + 9 + 342 + entire_atmos + 9.0 650 - SULF_COL_MASS_DEN + AER_SCAT_OPT_DEP_at550 tmpl4_48 - COLMD - entire_atmos - sulphate_dry + SCTAOTK + total_aerosol smaller_than_first_limit - 7 - 25 - 9.0 + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 565 + entire_atmos + 9.0 651 DUST_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SAOTK + SCTAOTK dust_dry smaller_than_first_limit 6 @@ -5556,7 +5557,7 @@ 652 SEASALT_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SAOTK + SCTAOTK sea_salt_dry smaller_than_first_limit 6 @@ -5574,7 +5575,7 @@ 653 SULFATE_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SAOTK + SCTAOTK sulphate_dry smaller_than_first_limit 8 @@ -5592,7 +5593,7 @@ 654 ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SAOTK + SCTAOTK particulate_org_matter_dry smaller_than_first_limit 8 @@ -5610,7 +5611,7 @@ 655 BLACK_CARBON_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SAOTK + SCTAOTK black_carbon_dry smaller_than_first_limit 8 @@ -5642,6 +5643,58 @@ 9.0 + + 659 + DUST_EMISSION_FLUX + tmpl4_48 + AEMFLX + entire_atmos + dust_dry + smaller_than_first_limit + 6 + 20 + 9.0 + + + + 660 + DUST_SEDIMENTATION_FLUX + tmpl4_48 + SEDMFLX + entire_atmos + dust_dry + smaller_than_first_limit + 6 + 20 + 9.0 + + + + 661 + DUST DRY DEPOSITION + tmpl4_48 + DDMFLX + dust_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + + + 662 + DUST WET DEPOSITION + tmpl4_48 + WLSMFLX + dust_dry + smaller_than_first_limit + 6 + 20 + entire_atmos + 9.0 + + 663 SEASALT_EMISSION_FLUX @@ -5918,16 +5971,15 @@ 684 - SS_FN_AER_SFC_MASS_CON - AVE + SEAS25_SFC_MASS_CON tmpl4_48 - MASSDEN + PMTF + surface sea_salt_dry smaller_than_first_limit 7 25 - surface - 9.0 + 9.0 @@ -5946,16 +5998,15 @@ 686 - DU_FN_AER_SFC_MASS_CON - AVE + DUST25_SFC_MASS_CON tmpl4_48 - MASSDEN + PMTF + surface dust_dry smaller_than_first_limit 7 25 - surface - 9.0 + 9.0 diff --git a/parm/postcntrl_gefs_chem.xml b/parm/postcntrl_gefs_chem.xml index cb248b3f0..c4ce522cf 100755 --- a/parm/postcntrl_gefs_chem.xml +++ b/parm/postcntrl_gefs_chem.xml @@ -19,6 +19,112 @@ fltng_pnt lossless + + + DUST1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + AER_OPT_DEP_at550 9.0 @@ -50,167 +156,132 @@ - DUST25_SFC_MASS_CON - NCEP - 9.0 - - - - SEAS25_SFC_MASS_CON - NCEP - 9.0 + AER_SCAT_OPT_DEP_at550 + 9.0 - PM10_SFC_MASS_CON - NCEP - 9.0 + DUST_AER_SCAT_OPT_DEP_at550 + 9.0 - PM25_SFC_MASS_CON - NCEP - 9.0 + SEASALT_AER_SCAT_OPT_DEP_at550 + 9.0 - PM10_COL_MASS_DEN - 9.0 + SULFATE_AER_SCAT_OPT_DEP_at550 + 9.0 - PM25_COL_MASS_DEN - 9.0 + ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 + 9.0 - DUST_COL_MASS_DEN - 9.0 + BLACK_CARBON_AER_SCAT_OPT_DEP_at550 + 9.0 - SEAS_COL_MASS_DEN - 9.0 + SINGLE_SCAT_ALBD_at340 + 9.0 - BC_COL_MASS_DEN - 9.0 + AER_ASYM_FACTOR_at340 + 9.0 - OC_COL_MASS_DEN - 9.0 + AER_OPT_DEP_at340 + 9.0 - SULF_COL_MASS_DEN - 9.0 + AER_OPT_DEP_at440 + 9.0 - DUST1_ON_HYBRID_LVL - NCEP - 1. - 11.0 + AER_OPT_DEP_at660 + 9.0 - DUST2_ON_HYBRID_LVL - NCEP - 1. - 11.0 + AER_OPT_DEP_at860 + 9.0 - DUST3_ON_HYBRID_LVL - NCEP - 1. - 11.0 + AER_OPT_DEP_at1630 + 9.0 - DUST4_ON_HYBRID_LVL - NCEP - 1. - 11.0 + AER_OPT_DEP_at11100 + 9.0 - DUST5_ON_HYBRID_LVL + DUST25_SFC_MASS_CON NCEP - 1. - 11.0 + 9.0 - SEASALT1_ON_HYBRID_LVL + SEAS25_SFC_MASS_CON NCEP - 1. - 11.0 + 9.0 - SEASALT2_ON_HYBRID_LVL + PM10_SFC_MASS_CON NCEP - 1. - 11.0 + 9.0 - SEASALT3_ON_HYBRID_LVL + PM25_SFC_MASS_CON NCEP - 1. - 11.0 + 9.0 - SEASALT4_ON_HYBRID_LVL - NCEP - 1. - 11.0 + PM10_COL_MASS_DEN + 9.0 - SEASALT5_ON_HYBRID_LVL - NCEP - 1. - 11.0 + PM25_COL_MASS_DEN + 9.0 - BCPHILIC_ON_HYBRID_LVL - NCEP - 1. - 11.0 + DUST_COL_MASS_DEN + 9.0 - BCPHOBIC_ON_HYBRID_LVL - NCEP - 1. - 11.0 + SEAS_COL_MASS_DEN + 9.0 - OCPHILIC_ON_HYBRID_LVL - NCEP - 1. - 11.0 + BC_COL_MASS_DEN + 9.0 - OCPHOBIC_ON_HYBRID_LVL - NCEP - 1. - 11.0 + OC_COL_MASS_DEN + 9.0 - SO4_ON_HYBRID_LVL - NCEP - 1. - 11.0 + SULF_COL_MASS_DEN + 9.0 diff --git a/parm/postxconfig-NT-gefs-chem.txt b/parm/postxconfig-NT-gefs-chem.txt index 6a94c4066..8268f4eb9 100644 --- a/parm/postxconfig-NT-gefs-chem.txt +++ b/parm/postxconfig-NT-gefs-chem.txt @@ -1,5 +1,5 @@ 1 -32 +46 GFSPRS 0 ncep_nco @@ -16,6 +16,561 @@ complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? 609 AER_OPT_DEP_at550 ? @@ -238,52 +793,15 @@ between_first_second_limit ? ? ? -617 -DUST25_SFC_MASS_CON +650 +AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -PMTF -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -dust_dry -smaller_than_first_limit -7 -25 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -9.0 -0 -0 -0 -? -? -? -618 -SEAS25_SFC_MASS_CON +SCTAOTK ? -1 -tmpl4_48 -PMTF -NCEP ? -surface +entire_atmos 0 ? 0 @@ -293,17 +811,17 @@ surface ? 0 ? -sea_salt_dry +total_aerosol smaller_than_first_limit -7 -25 -0 -0.0 -? -0 -0.0 +6 +20 0 0.0 +between_first_second_limit +9 +545 +9 +565 1 9.0 0 @@ -312,15 +830,15 @@ smaller_than_first_limit ? ? ? -619 -PM10_SFC_MASS_CON +651 +DUST_AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -PMTC -NCEP +SCTAOTK ? -surface +? +entire_atmos 0 ? 0 @@ -330,17 +848,17 @@ surface ? 0 ? -total_aerosol +dust_dry smaller_than_first_limit 6 -10 -0 -0.0 -? -0 -0.0 +20 0 0.0 +between_first_second_limit +9 +545 +9 +565 1 9.0 0 @@ -349,35 +867,35 @@ smaller_than_first_limit ? ? ? -620 -PM25_SFC_MASS_CON +652 +SEASALT_AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -PMTF -NCEP -? -surface -0 -? -0 +SCTAOTK ? ? +entire_atmos 0 ? 0 -? -total_aerosol -smaller_than_first_limit -7 -25 +? +? 0 -0.0 ? 0 -0.0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 0 0.0 +between_first_second_limit +9 +545 +9 +565 1 9.0 0 @@ -386,12 +904,12 @@ smaller_than_first_limit ? ? ? -621 -PM10_COL_MASS_DEN +653 +SULFATE_AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -COLMD +SCTAOTK ? ? entire_atmos @@ -404,17 +922,17 @@ entire_atmos ? 0 ? -total_aerosol +sulphate_dry smaller_than_first_limit -6 -10 -0 -0.0 -? -0 -0.0 +8 +70 0 0.0 +between_first_second_limit +9 +545 +9 +565 1 9.0 0 @@ -423,12 +941,12 @@ smaller_than_first_limit ? ? ? -622 -PM25_COL_MASS_DEN +654 +ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -COLMD +SCTAOTK ? ? entire_atmos @@ -441,17 +959,17 @@ entire_atmos ? 0 ? -total_aerosol +particulate_org_matter_dry smaller_than_first_limit -7 -25 -0 -0.0 -? -0 -0.0 +8 +70 0 0.0 +between_first_second_limit +9 +545 +9 +565 1 9.0 0 @@ -460,12 +978,12 @@ smaller_than_first_limit ? ? ? -646 -DUST_COL_MASS_DEN +655 +BLACK_CARBON_AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -COLMD +SCTAOTK ? ? entire_atmos @@ -478,17 +996,17 @@ entire_atmos ? 0 ? -dust_dry +black_carbon_dry smaller_than_first_limit -7 -25 -0 -0.0 -? -0 -0.0 +8 +70 0 0.0 +between_first_second_limit +9 +545 +9 +565 1 9.0 0 @@ -497,12 +1015,12 @@ smaller_than_first_limit ? ? ? -647 -SEAS_COL_MASS_DEN +648 +SINGLE_SCAT_ALBD_at340 ? 1 tmpl4_48 -COLMD +SSALBK ? ? entire_atmos @@ -515,17 +1033,17 @@ entire_atmos ? 0 ? -sea_salt_dry +total_aerosol smaller_than_first_limit -7 -25 -0 -0.0 -? -0 -0.0 +6 +20 0 0.0 +between_first_second_limit +9 +338 +9 +342 1 9.0 0 @@ -534,12 +1052,12 @@ smaller_than_first_limit ? ? ? -648 -BC_COL_MASS_DEN +649 +AER_ASYM_FACTOR_at340 ? 1 tmpl4_48 -COLMD +ASYSFK ? ? entire_atmos @@ -552,17 +1070,17 @@ entire_atmos ? 0 ? -black_carbon_dry +total_aerosol smaller_than_first_limit -10 -236 -0 -0.0 -? -0 -0.0 +6 +20 0 0.0 +between_first_second_limit +9 +338 +9 +342 1 9.0 0 @@ -571,12 +1089,12 @@ smaller_than_first_limit ? ? ? -649 -OC_COL_MASS_DEN +623 +AER_OPT_DEP_at340 ? 1 tmpl4_48 -COLMD +AOTK ? ? entire_atmos @@ -589,17 +1107,17 @@ entire_atmos ? 0 ? -particulate_org_matter_dry +total_aerosol smaller_than_first_limit -10 -424 -0 -0.0 -? -0 -0.0 +6 +20 0 0.0 +between_first_second_limit +9 +338 +9 +342 1 9.0 0 @@ -608,12 +1126,12 @@ smaller_than_first_limit ? ? ? -650 -SULF_COL_MASS_DEN +624 +AER_OPT_DEP_at440 ? 1 tmpl4_48 -COLMD +AOTK ? ? entire_atmos @@ -626,17 +1144,17 @@ entire_atmos ? 0 ? -sulphate_dry +total_aerosol smaller_than_first_limit -7 -25 -0 -0.0 -? -0 -0.0 +6 +20 0 0.0 +between_first_second_limit +9 +430 +9 +450 1 9.0 0 @@ -645,398 +1163,398 @@ smaller_than_first_limit ? ? ? -629 -DUST1_ON_HYBRID_LVL +625 +AER_OPT_DEP_at660 ? 1 tmpl4_48 -PMTF -NCEP +AOTK +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -dust_dry -between_first_second_limit_noincl2ndlmt -7 -2 -7 +total_aerosol +smaller_than_first_limit +6 20 -? -0 -0.0 0 0.0 +between_first_second_limit +9 +620 +9 +670 1 -11.0 +9.0 0 0 0 ? ? ? -630 -DUST2_ON_HYBRID_LVL +626 +AER_OPT_DEP_at860 ? 1 tmpl4_48 -PMTF -NCEP +AOTK +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -dust_dry -between_first_second_limit_noincl2ndlmt -7 +total_aerosol +smaller_than_first_limit +6 20 -7 -36 -? -0 -0.0 0 0.0 +between_first_second_limit +9 +841 +9 +876 1 -11.0 +9.0 0 0 0 ? ? ? -631 -DUST3_ON_HYBRID_LVL +627 +AER_OPT_DEP_at1630 ? 1 tmpl4_48 -PMTC -NCEP -? -hybrid_lvl -0 +AOTK ? -1 -1. ? +entire_atmos 0 ? 0 ? -dust_dry -between_first_second_limit_noincl2ndlmt -7 -36 -7 -60 ? 0 -0.0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 0 0.0 +between_first_second_limit +9 +1628 +9 +1652 1 -11.0 +9.0 0 0 0 ? ? ? -632 -DUST4_ON_HYBRID_LVL +628 +AER_OPT_DEP_at11100 ? 1 tmpl4_48 -PMTC -NCEP -? -hybrid_lvl -0 +AOTK ? -1 -1. ? +entire_atmos 0 ? 0 ? -dust_dry -between_first_second_limit_noincl2ndlmt -7 -60 -7 -120 ? 0 -0.0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 0 0.0 +between_first_second_limit +9 +11000 +9 +11200 1 -11.0 +9.0 0 0 0 ? ? ? -633 -DUST5_ON_HYBRID_LVL +686 +DUST25_SFC_MASS_CON ? 1 tmpl4_48 -PMTC +PMTF NCEP ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? 0 ? dust_dry -between_first_second_limit_noincl2ndlmt -7 -120 +smaller_than_first_limit 7 -200 +25 +0 +0.0 ? 0 0.0 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -634 -SEASALT1_ON_HYBRID_LVL +684 +SEAS25_SFC_MASS_CON ? 1 tmpl4_48 PMTF NCEP ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? 0 ? sea_salt_dry -between_first_second_limit_noincl2ndlmt -8 -6 -8 -20 +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -635 -SEASALT2_ON_HYBRID_LVL +619 +PM10_SFC_MASS_CON ? 1 tmpl4_48 -PMTF +PMTC NCEP ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? 0 ? -sea_salt_dry -between_first_second_limit_noincl2ndlmt -7 -2 -7 +total_aerosol +smaller_than_first_limit +6 10 +0 +0.0 ? 0 0.0 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -636 -SEASALT3_ON_HYBRID_LVL +620 +PM25_SFC_MASS_CON ? 1 tmpl4_48 -PMTC +PMTF NCEP ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? 0 ? -sea_salt_dry -between_first_second_limit_noincl2ndlmt -7 -10 +total_aerosol +smaller_than_first_limit 7 -30 +25 +0 +0.0 ? 0 0.0 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -637 -SEASALT4_ON_HYBRID_LVL +621 +PM10_COL_MASS_DEN ? 1 tmpl4_48 -PMTC -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -sea_salt_dry -between_first_second_limit_noincl2ndlmt -7 -30 -7 -100 +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 ? 0 0.0 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -638 -SEASALT5_ON_HYBRID_LVL +622 +PM25_COL_MASS_DEN ? 1 tmpl4_48 -PMTC -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -sea_salt_dry -between_first_second_limit_noincl2ndlmt -7 -100 +total_aerosol +smaller_than_first_limit 7 -200 +25 +0 +0.0 ? 0 0.0 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -643 -BCPHILIC_ON_HYBRID_LVL +646 +DUST_COL_MASS_DEN ? 1 tmpl4_48 -PMTF -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -black_carbon_hydrophilic -equall_to_first_limit -10 -236 +dust_dry +smaller_than_first_limit +7 +25 0 0.0 ? @@ -1045,35 +1563,35 @@ equall_to_first_limit 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -642 -BCPHOBIC_ON_HYBRID_LVL +647 +SEAS_COL_MASS_DEN ? 1 tmpl4_48 -PMTF -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -black_carbon_hydrophobic -equall_to_first_limit -10 -236 +sea_salt_dry +smaller_than_first_limit +7 +25 0 0.0 ? @@ -1082,35 +1600,35 @@ equall_to_first_limit 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -641 -OCPHILIC_ON_HYBRID_LVL +616 +BC_COL_MASS_DEN ? 1 tmpl4_48 -PMTF -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -particulate_org_matter_hydrophilic -equall_to_first_limit +black_carbon_dry +smaller_than_first_limit 10 -424 +236 0 0.0 ? @@ -1119,33 +1637,33 @@ equall_to_first_limit 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -640 -OCPHOBIC_ON_HYBRID_LVL +617 +OC_COL_MASS_DEN ? 1 tmpl4_48 -PMTF -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? -particulate_org_matter_hydrophobic -equall_to_first_limit +particulate_org_matter_dry +smaller_than_first_limit 10 424 0 @@ -1156,35 +1674,35 @@ equall_to_first_limit 0 0.0 1 -11.0 +9.0 0 0 0 ? ? ? -639 -SO4_ON_HYBRID_LVL +618 +SULF_COL_MASS_DEN ? 1 tmpl4_48 -PMTF -NCEP +COLMD +? +? +entire_atmos +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? 0 ? sulphate_dry -equall_to_first_limit -9 -139 +smaller_than_first_limit +7 +25 0 0.0 ? @@ -1193,7 +1711,7 @@ equall_to_first_limit 0 0.0 1 -11.0 +9.0 0 0 0 diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f index 046d94925..8d4390c95 100644 --- a/sorc/ncep_post.fd/ALLOCATE_ALL.f +++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f @@ -15,6 +15,10 @@ SUBROUTINE ALLOCATE_ALL() ! 02-06-19 MIKE BALDWIN - WRF VERSION ! 11-12-16 SARAH LU - MODIFIED TO INITIALIZE AEROSOL FIELDS ! 12-01-07 SARAH LU - MODIFIED TO INITIALIZE AIR DENSITY/LAYER THICKNESS +! 15-07-04 SARAH LU - MODIFIED TO INITIALIZE SCA +! 15-07-21 Jun Wang - Add scavenging for DU, SS, OC, BC, remove +! SU diagnostic fields +! 19-07-24 Li(Kate) Zhang - Merge and update NGAC UPP for FV3-Chem ! ! USAGE: CALL MPI_FIRST ! INPUT ARGUMENT LIST: @@ -461,10 +465,12 @@ SUBROUTINE ALLOCATE_ALL() allocate(ext(im,jsta_2l:jend_2u,lm)) allocate(asy(im,jsta_2l:jend_2u,lm)) allocate(ssa(im,jsta_2l:jend_2u,lm)) + allocate(sca(im,jsta_2l:jend_2u,lm)) allocate(duem(im,jsta_2l:jend_2u,nbin_du)) allocate(dusd(im,jsta_2l:jend_2u,nbin_du)) allocate(dudp(im,jsta_2l:jend_2u,nbin_du)) allocate(duwt(im,jsta_2l:jend_2u,nbin_du)) + allocate(dusv(im,jsta_2l:jend_2u,nbin_du)) allocate(suem(im,jsta_2l:jend_2u,nbin_su)) allocate(susd(im,jsta_2l:jend_2u,nbin_su)) allocate(sudp(im,jsta_2l:jend_2u,nbin_su)) @@ -473,15 +479,18 @@ SUBROUTINE ALLOCATE_ALL() allocate(ocsd(im,jsta_2l:jend_2u,nbin_oc)) allocate(ocdp(im,jsta_2l:jend_2u,nbin_oc)) allocate(ocwt(im,jsta_2l:jend_2u,nbin_oc)) + allocate(ocsv(im,jsta_2l:jend_2u,nbin_oc)) allocate(bcem(im,jsta_2l:jend_2u,nbin_bc)) allocate(bcsd(im,jsta_2l:jend_2u,nbin_bc)) allocate(bcdp(im,jsta_2l:jend_2u,nbin_bc)) allocate(bcwt(im,jsta_2l:jend_2u,nbin_bc)) + allocate(bcsv(im,jsta_2l:jend_2u,nbin_bc)) allocate(ssem(im,jsta_2l:jend_2u,nbin_ss)) allocate(sssd(im,jsta_2l:jend_2u,nbin_ss)) allocate(ssdp(im,jsta_2l:jend_2u,nbin_ss)) allocate(sswt(im,jsta_2l:jend_2u,nbin_ss)) -! allocate(dpres(im,jsta_2l:jend_2u,lm)) + allocate(sssv(im,jsta_2l:jend_2u,nbin_ss)) + !allocate(dpres(im,jsta_2l:jend_2u,lm)) allocate(rhomid(im,jsta_2l:jend_2u,lm)) ! vrbls2d allocate(dusmass(im,jsta_2l:jend_2u)) diff --git a/sorc/ncep_post.fd/CALPW.f b/sorc/ncep_post.fd/CALPW.f index fa48d6838..5c18874ac 100644 --- a/sorc/ncep_post.fd/CALPW.f +++ b/sorc/ncep_post.fd/CALPW.f @@ -28,7 +28,12 @@ SUBROUTINE CALPW(PW,IDECID) ! 02-06-19 MIKE BALDWIN - WRF VERSION ! 04-12-30 H CHUANG - UPDATE TO CALCULATE TOTAL COLUMN FOR OTHER ! HYDROMETEORS -! 11-12-14 SARAH LU - UPDATE TO CALCULATE AEROSOL OPTICAL DEPTH +! 14-11-12 SARAH LU - UPDATE TO CALCULATE AEROSOL OPTICAL DEPTH +! 15-07-02 SARAH LU - UPDATE TO CALCULATE SCATTERING AEROSOL +! OPTICAL DEPTH (18) +! 15-07-04 SARAH LU - CORRECT PW INTEGRATION FOR AOD (17) +! 15-07-10 SARAH LU - UPDATE TO CALCULATE ASYMETRY PARAMETER +! 19-07-25 Li(Kate) Zhang - MERGE SARHA LU's update for FV3-Chem ! ! USAGE: CALL CALPW(PW) ! INPUT ARGUMENT LIST: @@ -54,7 +59,7 @@ SUBROUTINE CALPW(PW,IDECID) ! use vrbls3d, only: q, qqw, qqi, qqr, qqs, cwm, qqg, t, rswtt, & train, tcucn, mcvg, pmid, o3, ext, pint, rlwtt, & - taod5503d + taod5503d,sca, asy use vrbls4d, only: smoke use masks, only: htm use params_mod, only: tfrz, gi @@ -260,21 +265,37 @@ SUBROUTINE CALPW(PW,IDECID) Qdum(I,J) = TAOD5503D(I,J,L) ENDDO END DO +!LZhang -July 2019 +! SCATTERING AEROSOL OPTICAL THICKNESS (GOCART V2) + ELSE IF (IDECID == 20) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + Qdum(I,J) = SCA(I,J,L) + ENDDO + END DO +! ASYMMETRY PARAMETER (GOCART V2) + ELSE IF (IDECID == 21) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + Qdum(I,J) = ASY(I,J,L) + ENDDO + END DO ENDIF ! !$omp parallel do private(i,j,dp) DO J=JSTA,JEND DO I=1,IM - IF (IDECID == 19) THEN - PW(I,J) = PW(I,J) + Qdum(I,J) - ELSE DP = PINT(I,J,L+1) - PINT(I,J,L) PW(I,J) = PW(I,J) + Qdum(I,J)*DP*GI*HTM(I,J,L) - ENDIF IF (IDECID == 17) THEN PW(I,J) = PW(I,J) + Qdum(I,J)*MAX(DP,0.)*GI*HTM(I,J,L) ENDIF + IF (IDECID == 19) THEN + PW(I,J) = PW(I,J) + Qdum(I,J) + ENDIF IF (IDECID == 14) PWS(I,J) = PWS(I,J) + QS(I,J)*DP*GI*HTM(I,J,L) ENDDO ENDDO diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index 41ebf87ff..736ad5c6d 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -66,7 +66,7 @@ SUBROUTINE CLDRAD ! 13-12-23 LU/Wang - READ AEROSOL OPTICAL PROPERTIES LUTS to compute dust aod, ! non-dust aod, and use geos5 gocart LUTS ! 15-??-?? S. Moorthi - threading, optimization, local dimension -! +! 19-07-24 Li(Kate) Zhang Merge and update ARAH Lu's work from NGAC into FV3-Chem ! ! USAGE: CALL CLDRAD ! INPUT ARGUMENT LIST: @@ -90,8 +90,10 @@ SUBROUTINE CLDRAD !$$$ ! use vrbls4d, only: DUST,SUSO, SALT, SOOT, WASO - use vrbls3d, only: QQW, QQR, T, ZINT, CFR, CFR_RAW, QQI, QQS, Q, EXT, & - ZMID, PMID, PINT, DUEM, DUSD, DUDP, DUWT + use vrbls3d, only: QQW, QQR, T, ZINT, CFR, QQI, QQS, Q, EXT, ZMID,PMID,& + PINT, DUEM, DUSD, DUDP, DUWT, DUSV, SSEM, SSSD,SSDP,& + SSWT, SSSV, BCEM, BCSD, BCDP, BCWT, BCSV, OCEM,OCSD,& + OCDP, OCWT, OCSV, SCA, ASY,CFR_RAW use vrbls2d, only: CLDEFI, CFRACL, AVGCFRACL, CFRACM, AVGCFRACM, CFRACH,& AVGCFRACH, AVGTCDC, NCFRST, ACFRST, NCFRCV, ACFRCV, & HBOT, HBOTD, HBOTS, HTOP, HTOPD, HTOPS, FIS, PBLH, & @@ -208,14 +210,23 @@ SUBROUTINE CLDRAD ! REAL, allocatable :: RH3D(:,:,:) ! RELATIVE HUMIDITY real, allocatable:: rdrh(:,:,:) integer, allocatable :: ihh(:,:,:) - REAL :: rh3d, DRH0, DRH1, EXT01, EXT02 + REAL :: rh3d, DRH0, DRH1, EXT01, EXT02,SCA01,ASY01 INTEGER :: IH1, IH2 INTEGER :: IOS, INDX, ISSAM, ISSCM, ISUSO, IWASO, ISOOT, NBIN REAL :: CCDRY, CCWET, SSAM, SSCM REAL,dimension(im,jsta:jend) :: AOD_DU, AOD_SS, AOD_SU, AOD_OC, AOD_BC, AOD + REAL,dimension(im,jsta:jend) :: SCA_DU, SCA_SS, SCA_SU, SCA_OC,SCA_BC, SCA2D + REAL,dimension(im,jsta:jend) :: ASY_DU, ASY_SS, ASY_SU, ASY_OC, ASY_BC,ASY2D + REAL,dimension(im,jsta:jend) :: ANGST, AOD_440, AOD_860 ! FORANGSTROM EXPONENT REAL :: ANG1, ANG2 INTEGER :: INDX_EXT(nAero), INDX_SCA(nAero) -! + LOGICAL :: LAEROPT, LEXT, LSCA, LASY + LOGICAL :: LAERSMASS + REAL, allocatable :: fPM25_DU(:),fPM25_SS(:) + REAL, allocatable, dimension(:,:) :: RHOsfc, smass_du_cr,smass_du_fn, & + & smass_ss_cr, smass_ss_fn, smass_oc,smass_bc, & + & smass_su, smass_cr, smass_fn + real :: rPM, dmass real (kind=kind_phys), dimension(KRHLEV) :: rhlev data rhlev (:)/ .0, .05, .10, .15, .20, .25, .30, .35, & & .40, .45, .50, .55, .60, .65, .70, .75, & @@ -223,9 +234,10 @@ SUBROUTINE CLDRAD & .88, .89, .90, .91, .92, .93, .94, .95, & & .96, .97, .98, .99/ ! - data aerosol_file /"AEROSOL_LUTS.dat"/ data AerosolName /'DUST', 'SALT', 'SUSO', 'SOOT', 'WASO'/ - +! INDEX FOR TOTAL AND SPECIATED AEROSOLS (DU, SS, SU, OC, BC) + data INDX_EXT / 610, 611, 612, 613, 614 / + data INDX_SCA / 651, 652, 653, 654, 655 / ! ! !************************************************************************* @@ -4462,12 +4474,27 @@ SUBROUTINE CLDRAD !! CALPW(dust mixing ratio in kg/kg * Qext [aerosol extinction efficiency !! in m2/g] * 1000. [convert m2/g to m2/kg]) => AOD (no unit) !! -!! The sub-micron dust bin contains 4 sub-bins with fixed partition (FD) - IF ( IGET(609).GT.0 .OR. IGET(610).GT.0 .OR. IGET(611).GT.0 & - & .OR. IGET(612).GT.0 .OR. IGET(613).GT.0 .OR. IGET(614).GT.0 & - & .OR. IGET(623).GT.0 .OR. IGET(624).GT.0 .OR. IGET(625).GT.0 & - & .OR. IGET(626).GT.0 .or. IGET(627).GT.0 .OR. IGET(628).GT.0 ) THEN +!! DETERMINE WHETHER TO COMPUTE AEROSOL OPTICAL PROPERTIES + LAEROPT = .FALSE. + DO I = 609, 614 ! TOTAL AND SPECIATED AOD AT 550NM + IF ( IGET(I).GT.0 ) LAEROPT = .TRUE. + ENDDO + DO I = 623, 628 ! AOD AT MULTI-CHANNELS + IF ( IGET(I).GT.0 ) LAEROPT = .TRUE. + ENDDO + DO I = 648, 656 ! (SSA, ASY AT 340),(SCA AT 550), ANGSTROM + IF ( IGET(I).GT.0 ) LAEROPT = .TRUE. + ENDDO + +!! DETERMINE WHETHER TO COMPUTE INSTANT SURFACE MASS CONC + LAERSMASS = .FALSE. + DO I = 690, 698 ! TOTAL AND SPECIATED AEROSOL + IF ( IGET(I).GT.0 ) LAERSMASS = .TRUE. + ENDDO + + IF ( LAEROPT ) THEN + PRINT *, 'COMPUTE AEROSOL OPTICAL PROPERTIES' !!! ALLOCATE AEROSOL OPTICAL PROPERTIES ALLOCATE ( extrhd_DU(KRHLEV,nbin_du,NBDSW)) @@ -4681,28 +4708,67 @@ SUBROUTINE CLDRAD ! AOD AT 11100 NM IF (IB .EQ. 7 ) INDX = 628 +! DETERMINE LEXT AND LSCA (DEFAULT TO F) + LEXT = .FALSE. + LSCA = .FALSE. + LASY = .FALSE. +! -- CHECK WHETHER TOTAL EXT AOD IS REQUESTED + IF (IGET(INDX).GT.0 ) LEXT =.TRUE. +! -- CHECK WHETHER SPECIATED AOD AT 550 NM IS REQUESTED + IF ( IB .EQ. 3 ) THEN + IF (IGET(650).GT.0 ) LSCA =.TRUE. !TOTAL SCA AOD + DO I = 1, nAero + IF (IGET(INDX_EXT(I)).GT.0 ) LEXT = .TRUE. + IF (IGET(INDX_SCA(I)).GT.0 ) LSCA = .TRUE. + ENDDO + ENDIF +! -- CHECK WHETHER ASY AND SSA AT 340NM IS REQUESTED + IF ( IB .EQ. 1 ) THEN + IF (IGET(648).GT.0 ) LSCA =.TRUE. + IF (IGET(649).GT.0 ) LASY =.TRUE. + ENDIF +! -- CHECK WHETHER ANGSTROM EXPONENT IS REQUESTED + IF (IGET(656).GT.0 ) THEN + IF ( IB .EQ. 2 ) LEXT = .TRUE. + IF ( IB .EQ. 5 ) LEXT = .TRUE. + ENDIF + print *,'LEXT=',LEXT,'LSCA=',LSCA,'LASY=',LASY ! SKIP IF POST PRODUCT IS NOT REQUESTED - IF (IGET(INDX).GT.0 .OR. IB.EQ. 3) THEN - + IF ( LEXT .OR. LSCA .OR. LASY ) THEN ! COMPUTE DUST AOD AOD_DU=SPVAL + SCA_DU=SPVAL + ASY_DU=SPVAL EXT=0.0 + SCA=0.0 + ASY=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM DO N=1, NBIN_DU EXT01 = EXTRHD_DU(1,N,IB) + SCA01 = SCARHD_DU(1,N,IB) + ASY01 = ASYRHD_DU(1,N,IB) EXT(I,J,L) = EXT(I,J,L)+1e-9*DUST(I,J,L,N) * EXT01 + SCA(I,J,L) = SCA(I,J,L)+1e-9*DUST(I,J,L,N) * SCA01 + ASY(I,J,L) = ASY(I,J,L)+1e-9*DUST(I,J,L,N) * SCA01*ASY01 ENDDO EXT(I,J,L) = EXT(I,J,L) * 1000. + SCA(I,J,L) = SCA(I,J,L) * 1000. + ASY(I,J,L) = ASY(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop ENDDO ! J-loop CALL CALPW(AOD_DU,17) - + CALL CALPW(SCA_DU,20) + CALL CALPW(ASY_DU,21) ! COMPUTE SULFATE AOD AOD_SU=SPVAL + SCA_SU=SPVAL + ASY_SU=SPVAL EXT=0.0 + SCA=0.0 + ASY=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM @@ -4711,18 +4777,32 @@ SUBROUTINE CLDRAD DO N = 1, NBIN_SU EXT01 = EXTRHD_SU(IH1,N,IB) & & + RDRH(I,J,L)*(EXTRHD_SU(IH2,N,IB)-EXTRHD_SU(IH1,N,IB)) + SCA01 = SCARHD_SU(IH1,N,IB) & + & + RDRH(I,J,L)*(SCARHD_SU(IH2,N,IB)-SCARHD_SU(IH1,N,IB)) + ASY01 = ASYRHD_SU(IH1,N,IB) & + & + RDRH(I,J,L)*(ASYRHD_SU(IH2,N,IB)-ASYRHD_SU(IH1,N,IB)) EXT(I,J,L) = EXT(I,J,L)+1e-9*SUSO(I,J,L,N) * EXT01 + SCA(I,J,L) = SCA(I,J,L)+1e-9*SUSO(I,J,L,N)*SCA01 + ASY(I,J,L) = ASY(I,J,L)+1e-9*SUSO(I,J,L,N)*SCA01*ASY01 + ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. + SCA(I,J,L) = SCA(I,J,L) * 1000. + ASY(I,J,L) = ASY(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop ENDDO ! J-loop CALL CALPW(AOD_SU,17) - + CALL CALPW(SCA_SU,20) + CALL CALPW(ASY_SU,21) ! COMPUTE SEA SALT AOD AOD_SS=SPVAL + SCA_SS=SPVAL + ASY_SS=SPVAL EXT=0.0 + SCA=0.0 + ASY=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM @@ -4731,18 +4811,31 @@ SUBROUTINE CLDRAD DO N = 1, NBIN_SS EXT01 = EXTRHD_SS(IH1,N,IB) & & + RDRH(I,J,L)*(EXTRHD_SS(IH2,N,IB)-EXTRHD_SS(IH1,N,IB)) + SCA01 = SCARHD_SS(IH1,N,IB) & + & + RDRH(I,J,L)*(SCARHD_SS(IH2,N,IB)-SCARHD_SS(IH1,N,IB)) + ASY01 = ASYRHD_SS(IH1,N,IB) & + & + RDRH(I,J,L)*(ASYRHD_SS(IH2,N,IB)-ASYRHD_SS(IH1,N,IB)) EXT(I,J,L) = EXT(I,J,L)+1e-9*SALT(I,J,L,N)*EXT01 + SCA(I,J,L) = SCA(I,J,L)+1e-9*SALT(I,J,L,N)*SCA01 + ASY(I,J,L) = ASY(I,J,L)+1e-9*SALT(I,J,L,N)*SCA01*ASY01 ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. + SCA(I,J,L) = SCA(I,J,L) * 1000. + ASY(I,J,L) = ASY(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop ENDDO ! J-loop CALL CALPW(AOD_SS,17) - + CALL CALPW(SCA_SS,20) + CALL CALPW(ASY_SS,21) ! COMPUTE BLACK CARBON AOD AOD_BC=SPVAL + SCA_BC=SPVAL + ASY_BC=SPVAL EXT=0.0 + SCA=0.0 + ASY=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM @@ -4751,17 +4844,30 @@ SUBROUTINE CLDRAD DO N = 1, NBIN_BC EXT01 = EXTRHD_BC(IH1,N,IB) & & + RDRH(I,J,L)*(EXTRHD_BC(IH2,N,IB)-EXTRHD_BC(IH1,N,IB)) + SCA01 = SCARHD_BC(IH1,N,IB) & + & + RDRH(I,J,L)*(SCARHD_BC(IH2,N,IB)-SCARHD_BC(IH1,N,IB)) + ASY01 = ASYRHD_BC(IH1,N,IB) & + & + RDRH(I,J,L)*(ASYRHD_BC(IH2,N,IB)-ASYRHD_BC(IH1,N,IB)) EXT(I,J,L) = EXT(I,J,L)+1e-9*SOOT(I,J,L,N)*EXT01 + SCA(I,J,L) = SCA(I,J,L)+1e-9*SOOT(I,J,L,N)*SCA01 + ASY(I,J,L) = ASY(I,J,L)+1e-9*SOOT(I,J,L,N)*SCA01*ASY01 ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. + SCA(I,J,L) = SCA(I,J,L) * 1000. + ASY(I,J,L) = ASY(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop ENDDO ! J-loop CALL CALPW(AOD_BC,17) - + CALL CALPW(SCA_BC,20) + CALL CALPW(ASY_BC,21) ! COMPUTE ORGANIC CARBON AOD AOD_OC=SPVAL + SCA_OC=SPVAL + ASY_OC=SPVAL EXT=0.0 + SCA=0.0 + ASY=0.0 DO J=JSTA,JEND DO I=1,IM DO L=1,LM @@ -4770,16 +4876,28 @@ SUBROUTINE CLDRAD DO N = 1, NBIN_OC EXT01 = EXTRHD_OC(IH1,N,IB) & & + RDRH(I,J,L)*(EXTRHD_OC(IH2,N,IB)-EXTRHD_OC(IH1,N,IB)) + SCA01 = SCARHD_OC(IH1,N,IB) & + & + RDRH(I,J,L)*(SCARHD_OC(IH2,N,IB)-SCARHD_OC(IH1,N,IB)) + ASY01 = ASYRHD_OC(IH1,N,IB) & + & + RDRH(I,J,L)*(ASYRHD_OC(IH2,N,IB)-ASYRHD_OC(IH1,N,IB)) EXT(I,J,L) = EXT(I,J,L)+1e-9*WASO(I,J,L,N)*EXT01 + SCA(I,J,L) = SCA(I,J,L)+1e-9*WASO(I,J,L,N)*SCA01 + ASY(I,J,L) = ASY(I,J,L)+1e-9*WASO(I,J,L,N)*SCA01*ASY01 ENDDO ! N-loop EXT(I,J,L) = EXT(I,J,L) * 1000. + SCA(I,J,L) = SCA(I,J,L) * 1000. + ASY(I,J,L) = ASY(I,J,L) * 1000. ENDDO ! L-loop ENDDO ! I-loop ENDDO ! J-loop CALL CALPW(AOD_OC,17) + CALL CALPW(SCA_OC,20) + CALL CALPW(ASY_OC,21) ! COMPUTE TOTAL AOD -! AOD=SPVAL + AOD=SPVAL + SCA=SPVAL + ASY=SPVAL DO J=JSTA,JEND DO I=1,IM AOD_DU(I,J) = MAX (AOD_DU(I,J), 0.0) @@ -4787,11 +4905,47 @@ SUBROUTINE CLDRAD AOD_OC(I,J) = MAX (AOD_OC(I,J), 0.0) AOD_SU(I,J) = MAX (AOD_SU(I,J), 0.0) AOD_SS(I,J) = MAX (AOD_SS(I,J), 0.0) - AOD(I,J) = AOD_DU(I,J) + AOD_BC(I,J) + AOD_OC(I,J) + & + + SCA_DU(I,J) = MAX (SCA_DU(I,J), 0.0) + SCA_BC(I,J) = MAX (SCA_BC(I,J), 0.0) + SCA_OC(I,J) = MAX (SCA_OC(I,J), 0.0) + SCA_SU(I,J) = MAX (SCA_SU(I,J), 0.0) + SCA_SS(I,J) = MAX (SCA_SS(I,J), 0.0) + + ASY_DU(I,J) = MAX (ASY_DU(I,J), 0.0) + ASY_BC(I,J) = MAX (ASY_BC(I,J), 0.0) + ASY_OC(I,J) = MAX (ASY_OC(I,J), 0.0) + ASY_SU(I,J) = MAX (ASY_SU(I,J), 0.0) + ASY_SS(I,J) = MAX (ASY_SS(I,J), 0.0) + + AOD(I,J) = AOD_DU(I,J) + AOD_BC(I,J) + AOD_OC(I,J) + & & AOD_SU(I,J) + AOD_SS(I,J) + SCA2D(I,J) = SCA_DU(I,J) + SCA_BC(I,J) + SCA_OC(I,J) + & + & SCA_SU(I,J) + SCA_SS(I,J) + ASY2D(I,J) = ASY_DU(I,J) + ASY_BC(I,J) + ASY_OC(I,J) + & + & ASY_SU(I,J) + ASY_SS(I,J) ENDDO ! I-loop ENDDO ! J-loop +! FILL UP AOD_440 AND AOD_860, IF ANGSTROM EXP IS REQUESTED + IF ( IGET(656) .GT. 0 ) THEN + IF (IB .EQ. 2 ) THEN !! AOD AT 440 NM +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + AOD_440(I,J) = AOD(I,J) + ENDDO ! I-loop + ENDDO ! J-loop + ENDIF + IF (IB .EQ. 5 ) THEN !! AOD AT 860 NM +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + AOD_860(I,J) = AOD(I,J) + ENDDO ! I-loop + ENDDO ! J-loop + ENDIF + ENDIF ! WRITE OUT TOTAL AOD IF ( IGET(INDX) .GT. 0) THEN @@ -4812,121 +4966,182 @@ SUBROUTINE CLDRAD datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF +! +! WRITE OUT ASY AND SSA AT 340NM + IF ( IB .EQ. 1 ) THEN !!! FOR 340NM ONLY - -! WRITE OUT AOD FOR DU, SU, SS, OC, BC - IF ( IB .EQ. 3 ) THEN !!! FOR 550NM ONLY - - IF ( IGET(610) .GT. 0) THEN ! DUST AOD +! AER ASYM FACTOR AT 340 NM + IF ( IGET(649) .GT. 0 ) THEN !$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - GRID1(i,j) = AOD_DU(i,j) - enddo - enddo + DO J=JSTA,JEND + DO I=1,IM + IF ( SCA2D(I,J) > 0.0 ) THEN + ASY2D(I,J) = ASY2D(I,J) / SCA2D(I,J) + ELSE + ASY2D(I,J) = 0. + ENDIF + GRID1(I,J)=ASY2D(I,J) + ENDDO + ENDDO ID(1:25)=0 ID(02)=141 CALL BOUND(GRID1,D00,H99999) if(grib=="grib1" )then - CALL GRIBIT(IGET(610),LVLS(1,IGET(610)),GRID1,IM,JM) + CALL GRIBIT(IGET(649),LVLS(1,IGET(649)),GRID1,IM,JM) else if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(610)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(649)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif - ENDIF + ENDIF ! IGET(649) - IF ( IGET(611) .GT. 0) THEN ! SEA-SALT AOD +! AER SINGLE SCATTER ALB AT 340 NM + IF ( IGET(648) .GT. 0 ) THEN !$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - GRID1(i,j) = AOD_SS(i,j) - enddo - enddo + DO J=JSTA,JEND + DO I=1,IM + IF ( AOD(I,J) > 0.0 ) THEN + SCA2D(I,J) = SCA2D(I,J) / AOD(I,J) + ELSE + SCA2D(I,J) = 1.0 + ENDIF + GRID1(I,J)=SCA2D(I,J) + ENDDO + ENDDO ID(1:25)=0 ID(02)=141 CALL BOUND(GRID1,D00,H99999) if(grib=="grib1" )then - CALL GRIBIT(IGET(611),LVLS(1,IGET(611)),GRID1,IM,JM) + CALL GRIBIT(IGET(648),LVLS(1,IGET(648)),GRID1,IM,JM) else if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(611)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(648)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif - ENDIF + ENDIF ! IGET(648) + print *,'aft compute sca340' + + ENDIF ! IB IF-BLOCK (340NM) + + +! WRITE OUT AOD FOR DU, SU, SS, OC, BC for all wavelengths +! WRITE OUT SPECIATED AEROSOL OPTICAL PROPERTIES + IF ( IB .EQ. 3 ) THEN !!! FOR 550NM ONLY - IF ( IGET(612) .GT. 0) THEN ! SULFATE AOD +! WRITE OUT TOTAL SCATTERING AOD + IF ( IGET(650) .GT. 0 ) THEN !$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - GRID1(i,j) = AOD_SU(i,j) - enddo - enddo + DO J=JSTA,JEND + DO I=1,IM + GRID1(I,J)=SCA2D(I,J) + ENDDO + ENDDO ID(1:25)=0 ID(02)=141 CALL BOUND(GRID1,D00,H99999) if(grib=="grib1" )then - CALL GRIBIT(IGET(612),LVLS(1,IGET(612)),GRID1,IM,JM) + CALL GRIBIT(IGET(650),LVLS(1,IGET(650)),GRID1,IM,JM) else if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(612)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(650)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif - ENDIF + ENDIF +! LOOP THROUGH EACH SPECIES + DO II = 1, nAero - IF ( IGET(613) .GT. 0) THEN ! ORGANIC CARBON AOD +! WRITE OUT EXT AOD + JJ = INDX_EXT(II) + IF ( IGET(JJ) .GT. 0) THEN ! EXT AOD !$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - GRID1(i,j) = AOD_OC(i,j) - enddo - enddo - ID(1:25)=0 - ID(02)=141 - CALL BOUND(GRID1,D00,H99999) - if(grib=="grib1" )then - CALL GRIBIT(IGET(613),LVLS(1,IGET(613)),GRID1,IM,JM) - else if(grib=="grib2" )then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(613)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF + DO J=JSTA,JEND + DO I=1,IM + IF ( II .EQ. 1 ) GRID1(I,J) = AOD_DU(I,J) + IF ( II .EQ. 2 ) GRID1(I,J) = AOD_SS(I,J) + IF ( II .EQ. 3 ) GRID1(I,J) = AOD_SU(I,J) + IF ( II .EQ. 4 ) GRID1(I,J) = AOD_OC(I,J) + IF ( II .EQ. 5 ) GRID1(I,J) = AOD_BC(I,J) + ENDDO + ENDDO + ID(1:25)=0 + ID(02)=141 + CALL BOUND(GRID1,D00,H99999) + if(grib=="grib1" )then + CALL GRIBIT(IGET(JJ),LVLS(1,IGET(JJ)),GRID1,IM,JM) + else if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(JJ)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF - IF ( IGET(614) .GT. 0) THEN ! BLACK CARBON AOD +! WRITE OUT SCA AOD + JJ = INDX_SCA(II) + IF ( IGET(JJ) .GT. 0) THEN ! SCA AOD !$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - GRID1(i,j) = AOD_BC(i,j) - enddo - enddo + DO J=JSTA,JEND + DO I=1,IM + IF ( II .EQ. 1 ) GRID1(I,J) = SCA_DU(I,J) + IF ( II .EQ. 2 ) GRID1(I,J) = SCA_SS(I,J) + IF ( II .EQ. 3 ) GRID1(I,J) = SCA_SU(I,J) + IF ( II .EQ. 4 ) GRID1(I,J) = SCA_OC(I,J) + IF ( II .EQ. 5 ) GRID1(I,J) = SCA_BC(I,J) + ENDDO + ENDDO + ID(1:25)=0 + ID(02)=141 + CALL BOUND(GRID1,D00,H99999) + if(grib=="grib1" )then + CALL GRIBIT(IGET(JJ),LVLS(1,IGET(JJ)),GRID1,IM,JM) + else if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(JJ)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + ENDIF + + ENDDO ! II DO-LOOP + + ENDIF ! IB IF-BLOCK (550NM) + + ENDIF ! LEXT IF-BLOCK + ENDDO ! LOOP THROUGH NBDSW CHANNELS +! COMPUTE AND WRITE OUT ANGSTROM EXPONENT + IF ( IGET(656) .GT. 0 ) THEN + ANGST=SPVAL +! ANG2 = LOG ( 0.860 / 0.440 ) + ANG2 = LOG ( 860. / 440. ) +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + IF (AOD_860(I,J) .GT. 0.) THEN + ANG1 = LOG( AOD_440(I,J)/AOD_860(I,J) ) + ANGST(I,J) = ANG1 / ANG2 + ENDIF + GRID1(I,J)=ANGST(I,J) + ENDDO + ENDDO + print *,'output angstrom exp,angst=',maxval(angst(1:im,jsta:jend)), & + minval(angst(1:im,jsta:jend)) ID(1:25)=0 ID(02)=141 CALL BOUND(GRID1,D00,H99999) if(grib=="grib1" )then - CALL GRIBIT(IGET(614),LVLS(1,IGET(614)),GRID1,IM,JM) + CALL GRIBIT(IGET(656),LVLS(1,IGET(656)),GRID1,IM,JM) else if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(614)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(656)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif - ENDIF - - ENDIF ! OUTPUT 550 NM AOD FOR EACH SPECIES - - ENDIF ! IGET(INDX) .GT. 0 - ENDDO ! LOOP THROUGH NBDSW CHANNELS - - deallocate(IHH) - deallocate(RDRH) + ENDIF ! ANGSTROM EXPONENT - ENDIF !! .................................... AOD + ENDIF ! END OF LAEROPT IF-BLOCK -!! ADD DUST EMISSION FLUXES (kg/m2/sec) -!! The AER file uses 1.E6 to scale all 2d diagnosis fields +#if 0 !! Multiply by 1.E-6 to revert these fields back - IF (IGET(615).GT.0) THEN + IF (IGET(659).GT.0) THEN GRID1=SPVAL +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = DUEM(I,J,1)*1.E-6 @@ -4938,17 +5153,17 @@ SUBROUTINE CLDRAD ID(1:25) = 0 ID(02)=141 if(grib=='grib1') then - CALL GRIBIT(IGET(615),LVLS(1,IGET(615)),GRID1,IM,JM) + CALL GRIBIT(IGET(659),LVLS(1,IGET(659)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(615)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(659)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF -!! ADD DUST SEDIMENTATION FLUXES (kg/m2/sec) - IF (IGET(616).GT.0) THEN + IF (IGET(660).GT.0) THEN GRID1=SPVAL +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = DUSD(I,J,1)*1.E-6 @@ -4960,56 +5175,58 @@ SUBROUTINE CLDRAD ID(1:25) = 0 ID(02)=141 if(grib=='grib1') then - CALL GRIBIT(IGET(616),LVLS(1,IGET(616)),GRID1,IM,JM) + CALL GRIBIT(IGET(660),LVLS(1,IGET(660)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(616)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(660)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF - +#endif !! ADD DUST DRY DEPOSITION FLUXES (kg/m2/sec) -! IF (IGET(618).GT.0) THEN +! +! IF (IGET(661).GT.0) THEN ! DO J = JSTA,JEND ! DO I = 1,IM -! GRID1(I,J) = DUWT(I,J,1)*1.E-6 +! GRID1(I,J) = DUDP(I,J,1)*1.E-6 ! DO K=2,NBIN_DU -! GRID1(I,J) = GRID1(I,J)+ DUWT(I,J,K)*1.E-6 +! GRID1(I,J) = GRID1(I,J)+ DUDP(I,J,K)*1.E-6 ! END DO ! END DO ! END DO ! ID(1:25) = 0 ! ID(02)=141 ! if(grib=='grib1') then -! CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) +! CALL GRIBIT(IGET(661),LVLS(1,IGET(661)),GRID1,IM,JM) ! elseif(grib=='grib2') then ! cfld=cfld+1 -! fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) +! fld_info(cfld)%ifld=IAVBLFLD(IGET(661)) ! datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) ! endif ! ENDIF !! ADD AEROSOL SURFACE PM25 DUST MASS CONCENTRATION (ug/m3) - IF (IGET(617).GT.0 ) THEN + IF (IGET(686).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 - GRID1(I,J) = DUSTPM(I,J) !ug/m3 lzhang + GRID1(I,J) = DUSTPM(I,J) !ug/m3 END DO END DO ID(1:25) = 0 ID(02)=129 if(grib=='grib1') then - CALL GRIBIT(IGET(617),LVLS(1,IGET(617)),GRID1,IM,JM) + CALL GRIBIT(IGET(686),LVLS(1,IGET(686)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(617)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(686)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF !! ADD DUST WET DEPOSITION FLUXES (kg/m2/sec) -! IF (IGET(618).GT.0) THEN +! IF (IGET(662).GT.0) THEN ! DO J = JSTA,JEND ! DO I = 1,IM ! GRID1(I,J) = DUWT(I,J,1)*1.E-6 @@ -5021,38 +5238,40 @@ SUBROUTINE CLDRAD ! ID(1:25) = 0 ! ID(02)=141 ! if(grib=='grib1') then -! CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) +! CALL GRIBIT(IGET(662),LVLS(1,IGET(662)),GRID1,IM,JM) ! elseif(grib=='grib2') then ! cfld=cfld+1 -! fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) +! fld_info(cfld)%ifld=IAVBLFLD(IGET(662)) ! datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) ! endif ! ENDIF !! ADD AEROSOL SURFACE PM25 SEA SALT MASS CONCENTRATION (ug/m3) - IF (IGET(618).GT.0 ) THEN + IF (IGET(684).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 - GRID1(I,J) = SSPM(I,J) !ug/m3 lzhang + GRID1(I,J) = SSPM(I,J) !ug/m3 END DO END DO ID(1:25) = 0 ID(02)=129 if(grib=='grib1') then - CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) + CALL GRIBIT(IGET(684),LVLS(1,IGET(684)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(684)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF !! ADD AEROSOL SURFACE PM10 MASS CONCENTRATION (ug/m3) IF (IGET(619).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 - GRID1(I,J) = DUSMASS(I,J) !ug/m3 + GRID1(I,J) = DUSMASS(I,J) !ug/m3 END DO END DO ID(1:25) = 0 @@ -5068,10 +5287,11 @@ SUBROUTINE CLDRAD !! ADD AEROSOL SURFACE PM2.5 MASS CONCENTRATION (ug/m3) IF (IGET(620).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM !GRID1(I,J) = DUSMASS25(I,J) * 1.E-6 - GRID1(I,J) = DUSMASS25(I,J) ! ug/m3 + GRID1(I,J) = DUSMASS25(I,J) ! ug/m3 END DO END DO ID(1:25) = 0 @@ -5084,8 +5304,9 @@ SUBROUTINE CLDRAD datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF -!! ADD TOTAL AEROSOL PM10 COLUMN DENSITY (kg/m2) +!! ADD TOTAL AEROSOL PM10 COLUMN DENSITY (kg/m2) ! IF (IGET(621).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM !GRID1(I,J) = DUCMASS(I,J) * 1.E-6 @@ -5103,8 +5324,9 @@ SUBROUTINE CLDRAD endif ENDIF -!! ADD TOTAL AEROSOL PM2.5 COLUMN DENSITY (kg/m2) +!! ADD TOTAL AEROSOL PM2.5 COLUMN DENSITY (kg/m2) IF (IGET(622).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM !GRID1(I,J) = DUCMASS25(I,J) * 1.E-6 @@ -5122,8 +5344,9 @@ SUBROUTINE CLDRAD endif ENDIF -!! ADD DUST PM2.5 COLUMN DENSITY (kg/m2) +!! ADD DUST PM2.5 COLUMN DENSITY (kg/m2) IF (IGET(646).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = DUSTCB(I,J) * 1.E-9 @@ -5140,8 +5363,9 @@ SUBROUTINE CLDRAD endif ENDIF -!! ADD SEA SALT PM2.5 COLUMN DENSITY (kg/m2) +!! ADD SEA SALT PM2.5 COLUMN DENSITY (kg/m2) IF (IGET(647).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = SSCB(I,J) * 1.E-9 @@ -5157,9 +5381,9 @@ SUBROUTINE CLDRAD datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF - -!! ADD BC COLUMN DENSITY (kg/m2) - IF (IGET(648).GT.0 ) THEN +!! ADD BC COLUMN DENSITY (kg/m2) + IF (IGET(616).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = BCCB(I,J) * 1.E-9 @@ -5168,16 +5392,17 @@ SUBROUTINE CLDRAD ID(1:25) = 0 ID(02)=141 if(grib=='grib1') then - CALL GRIBIT(IGET(648),LVLS(1,IGET(648)),GRID1,IM,JM) + CALL GRIBIT(IGET(616),LVLS(1,IGET(616)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(648)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(616)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF -!! ADD OC COLUMN DENSITY (kg/m2) - IF (IGET(649).GT.0 ) THEN +!! ADD OC COLUMN DENSITY (kg/m2) ! + IF (IGET(617).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = OCCB(I,J) * 1.E-9 @@ -5186,16 +5411,17 @@ SUBROUTINE CLDRAD ID(1:25) = 0 ID(02)=141 if(grib=='grib1') then - CALL GRIBIT(IGET(649),LVLS(1,IGET(649)),GRID1,IM,JM) + CALL GRIBIT(IGET(617),LVLS(1,IGET(617)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(649)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(617)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF -!! ADD SULF COLUMN DENSITY (kg/m2) - IF (IGET(650).GT.0 ) THEN +!! ADD SULF COLUMN DENSITY (kg/m2) ! + IF (IGET(618).GT.0 ) THEN +!$omp parallel do private(i,j) DO J = JSTA,JEND DO I = 1,IM GRID1(I,J) = SULFCB(I,J) * 1.E-9 @@ -5204,17 +5430,91 @@ SUBROUTINE CLDRAD ID(1:25) = 0 ID(02)=141 if(grib=='grib1') then - CALL GRIBIT(IGET(650),LVLS(1,IGET(650)),GRID1,IM,JM) + CALL GRIBIT(IGET(618),LVLS(1,IGET(618)),GRID1,IM,JM) elseif(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(650)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(618)) datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) endif ENDIF - +!! ADD EMISSION FLUXES,dry depostion, wet/convective depostion (kg/m2/sec) +!! The AER file uses 1.E6 to scale all 2d diagnosis fields +!! Multiply by 1.E-6 to revert these fields back + IF (IGET(659).GT.0) call wrt_aero_diag(659,nbin_du,duem) + print *,'aft wrt disg duem' + IF (IGET(660).GT.0) call wrt_aero_diag(660,nbin_du,dusd) + IF (IGET(661).GT.0) call wrt_aero_diag(661,nbin_du,dudp) + IF (IGET(662).GT.0) call wrt_aero_diag(662,nbin_du,duwt) + IF (IGET(679).GT.0) call wrt_aero_diag(679,nbin_du,dusv) + print *,'aft wrt disg duwt' + +!! wrt SS diag field + IF (IGET(663).GT.0) call wrt_aero_diag(663,nbin_ss,ssem) + IF (IGET(664).GT.0) call wrt_aero_diag(664,nbin_ss,sssd) + IF (IGET(665).GT.0) call wrt_aero_diag(665,nbin_ss,ssdp) + IF (IGET(666).GT.0) call wrt_aero_diag(666,nbin_ss,sswt) + IF (IGET(680).GT.0) call wrt_aero_diag(680,nbin_ss,sssv) + print *,'aft wrt disg sswt' + +!! wrt BC diag field + IF (IGET(667).GT.0) call wrt_aero_diag(667,nbin_bc,bcem) + IF (IGET(668).GT.0) call wrt_aero_diag(668,nbin_bc,bcsd) + IF (IGET(669).GT.0) call wrt_aero_diag(669,nbin_bc,bcdp) + IF (IGET(670).GT.0) call wrt_aero_diag(670,nbin_bc,bcwt) + IF (IGET(681).GT.0) call wrt_aero_diag(681,nbin_bc,bcsv) + print *,'aft wrt disg bcwt' + +!! wrt OC diag field + IF (IGET(671).GT.0) call wrt_aero_diag(671,nbin_oc,ocem) + IF (IGET(672).GT.0) call wrt_aero_diag(672,nbin_oc,ocsd) + IF (IGET(673).GT.0) call wrt_aero_diag(673,nbin_oc,ocdp) + IF (IGET(674).GT.0) call wrt_aero_diag(674,nbin_oc,ocwt) + IF (IGET(682).GT.0) call wrt_aero_diag(682,nbin_oc,ocsv) + print *,'aft wrt disg ocwt' + +!! wrt SU diag field +! IF (IGET(675).GT.0) call wrt_aero_diag(675,nbin_su,suem) +! IF (IGET(676).GT.0) call wrt_aero_diag(676,nbin_su,susd) +! IF (IGET(677).GT.0) call wrt_aero_diag(677,nbin_su,sudp) +! IF (IGET(678).GT.0) call wrt_aero_diag(678,nbin_su,suwt) +! print *,'aft wrt disg suwt' endif ! if gocart_on ! ! END OF ROUTINE. ! RETURN END + + subroutine wrt_aero_diag(igetfld,nbin,data) + use ctlblk_mod, only: jsta, jend, SPVAL, im, jm, grib, & + cfld, datapd, fld_info, jsta_2l, jend_2u + use rqstfld_mod, only: IGET, ID, LVLS, IAVBLFLD + implicit none +! + integer igetfld,nbin + real, dimension(1:im,jsta_2l:jend_2u,nbin) :: data +! + integer i,j,k + REAL,dimension(im,jm) :: GRID1 +! + GRID1=SPVAL +!$omp parallel do private(i,j) + DO J = JSTA,JEND + DO I = 1,IM + grid1(I,J) = data(I,J,1) + DO K=2,NBIN + GRID1(I,J) = GRID1(I,J)+ data(I,J,K) + END DO + END DO + END DO + ID(1:25) = 0 + ID(02)=141 + if(grib=='grib1') then + CALL GRIBIT(IGET(igetfld),LVLS(1,iget(igetfld)),GRID1,IM,JM) + elseif(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(iget(igetfld)) + datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + endif + + end subroutine wrt_aero_diag diff --git a/sorc/ncep_post.fd/DEALLOCATE.f b/sorc/ncep_post.fd/DEALLOCATE.f index 567a0c440..30fcc3a40 100644 --- a/sorc/ncep_post.fd/DEALLOCATE.f +++ b/sorc/ncep_post.fd/DEALLOCATE.f @@ -454,10 +454,12 @@ SUBROUTINE DE_ALLOCATE deallocate(ext) deallocate(asy) deallocate(ssa) + deallocate(sca) deallocate(duem) deallocate(dusd) deallocate(dudp) deallocate(duwt) + deallocate(dusv) deallocate(suem) deallocate(susd) deallocate(sudp) @@ -466,14 +468,17 @@ SUBROUTINE DE_ALLOCATE deallocate(ocsd) deallocate(ocdp) deallocate(ocwt) + deallocate(ocsv) deallocate(bcem) deallocate(bcsd) deallocate(bcdp) deallocate(bcwt) + deallocate(bcsv) deallocate(ssem) deallocate(sssd) deallocate(ssdp) deallocate(sswt) + deallocate(sssv) deallocate(dpres) deallocate(rhomid) ! vrbls2d diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 7268f21eb..85b433192 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -22,6 +22,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! 2016-07-21 S. Moorthi Convert input upper air data from reduced to full grid ! and reduce memory in divergence calculatiom ! 2016-07-21 Jun Wang change averaged field name with suffix +! 2019-07-24 Li(Kate) Zhang - Merge and update NGAC UPP into FV3-Chem ! ! USAGE: CALL INIT ! INPUT ARGUMENT LIST: @@ -53,7 +54,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) o3vdiff, o3prod, o3tndy, mwpv, qqg, vdiffzacce, zgdrag,cnvctummixing, & vdiffmacce, mgdrag, cnvctvmmixing, ncnvctcfrac, cnvctumflx, cnvctdmflx, & cnvctzgdrag, sconvmois, cnvctmgdrag, cnvctdetmflx, duwt, duem, dusd, dudp, & - ref_10cm + dusv,ssem,sssd,ssdp,sswt,sssv,bcem,bcsd,bcdp,bcwt,bcsv,ocem,ocsd,ocdp, & + ocwt,ocsv, ref_10cm use vrbls2d, only: f, pd, fis, pblh, ustar, z0, ths, qs, twbs, qwbs, avgcprate, & cprate, avgprec, prec, lspa, sno, si, cldefi, th10, q10, tshltr, pshltr, & tshltr, albase, avgalbedo, avgtcdc, czen, czmean, mxsnal, radot, sigt4, & @@ -1516,7 +1518,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! GFS output black carbon in nemsio (GOCART) bccb=0.0 - do n=1,nbin_oc + do n=1,nbin_bc do l=1,lm !$omp parallel do private(i,j) do j=jsta_2l,jend_2u @@ -3682,13 +3684,14 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) print*,"fail to read aer file using mpi io read, stopping" stop end if + ! retrieve dust emission fluxes do K = 1, nbin_du - if ( K == 1) VarName='DUEM001' - if ( K == 2) VarName='DUEM002' - if ( K == 3) VarName='DUEM003' - if ( K == 4) VarName='DUEM004' - if ( K == 5) VarName='DUEM005' + if ( K == 1) VarName='duem001' + if ( K == 2) VarName='duem002' + if ( K == 3) VarName='duem003' + if ( K == 4) VarName='duem004' + if ( K == 5) VarName='duem005' VcoordName='atmos col' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & @@ -3700,11 +3703,11 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! retrieve dust sedimentation fluxes do K = 1, nbin_du - if ( K == 1) VarName='DUSD001' - if ( K == 2) VarName='DUSD002' - if ( K == 3) VarName='DUSD003' - if ( K == 4) VarName='DUSD004' - if ( K == 5) VarName='DUSD005' + if ( K == 1) VarName='dust1SD' + if ( K == 2) VarName='dust2SD' + if ( K == 3) VarName='dust3SD' + if ( K == 4) VarName='dust4SD' + if ( K == 5) VarName='dsut5SD' VcoordName='atmos col' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & @@ -3716,11 +3719,11 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! retrieve dust dry deposition fluxes do K = 1, nbin_du - if ( K == 1) VarName='DUDP001' - if ( K == 2) VarName='DUDP002' - if ( K == 3) VarName='DUDP003' - if ( K == 4) VarName='DUDP004' - if ( K == 5) VarName='DUDP005' + if ( K == 1) VarName='dust1dp' + if ( K == 2) VarName='dust2dp' + if ( K == 3) VarName='dust3dp' + if ( K == 4) VarName='dust4dp' + if ( K == 5) VarName='dust5dp' VcoordName='atmos col' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & @@ -3734,19 +3737,214 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! retrieve dust wet deposition fluxes do K = 1, nbin_du - if ( K == 1) VarName='DUWT001' - if ( K == 2) VarName='DUWT002' - if ( K == 3) VarName='DUWT003' - if ( K == 4) VarName='DUWT004' - if ( K == 5) VarName='DUWT005' + if ( K == 1) VarName='dust1wtl' + if ( K == 2) VarName='dust2wtl' + if ( K == 3) VarName='dust3wtl' + if ( K == 4) VarName='dust4wtl' + if ( K == 5) VarName='dust5wtl' VcoordName='atmos col' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & ,recname,reclevtyp,reclev,VarName,VcoordName& ,duwt(1,jsta_2l,K)) -! if(debugprint)print*,'sample ',VarName,' = ',duwt(isa,jsa,k) enddo +! retrieve dust scavenging fluxes + do K = 1, nbin_du + if ( K == 1) VarName='dust1wtc' + if ( K == 2) VarName='dust2wtc' + if ( K == 3) VarName='dust3wtc' + if ( K == 4) VarName='dust4wtc' + if ( K == 5) VarName='dust5wtc' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,dusv(1,jsta_2l,K)) + enddo + +! retrieve seasalt emission fluxes + do K = 1, nbin_ss + if ( K == 1) VarName='ssem001' + if ( K == 2) VarName='ssem002' + if ( K == 3) VarName='ssem003' + if ( K == 4) VarName='ssem004' + if ( K == 5) VarName='ssem005' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ssem(1,jsta_2l,K)) + enddo + +! retrieve seasalt dry deposition fluxes + do K = 1, nbin_ss + if ( K == 1) VarName='seas1dp' + if ( K == 2) VarName='seas2dp' + if ( K == 3) VarName='seas3dp' + if ( K == 4) VarName='seas4dp' + if ( K == 5) VarName='seas5dp' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ssdp(1,jsta_2l,K)) + enddo + +! retrieve seasalt wet deposition fluxes + do K = 1, nbin_ss + if ( K == 1) VarName='seas1wtl' + if ( K == 2) VarName='seas2wtl' + if ( K == 3) VarName='seas3wtl' + if ( K == 4) VarName='seas4wtl' + if ( K == 5) VarName='seas5wtl' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,sswt(1,jsta_2l,K)) + enddo + +! retrieve seasalt scavenging fluxes + do K = 1, nbin_ss + if ( K == 1) VarName='seas1wtc' + if ( K == 2) VarName='seas1wtc' + if ( K == 3) VarName='seas1wtc' + if ( K == 4) VarName='seas1wtc' + if ( K == 5) VarName='seas1wtc' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,sssv(1,jsta_2l,K)) + enddo + +! retrieve bc emission fluxes + do K = 1, nbin_bc + if ( K == 1) VarName='bceman' + if ( K == 2) VarName='bcembb' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,bcem(1,jsta_2l,K)) + enddo + +! retrieve bc sedimentation fluxes + do K = 1, nbin_bc + if ( K == 1) VarName='bc1sd' + if ( K == 2) VarName='bc2sd' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,bcsd(1,jsta_2l,K)) + enddo + +! retrieve bc dry deposition fluxes + do K = 1, nbin_bc + if ( K == 1) VarName='bc1dp' + if ( K == 2) VarName='bc2dp' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,bcdp(1,jsta_2l,K)) + enddo + +! retrieve bc large wet deposition fluxes + do K = 1, nbin_bc + if ( K == 1) VarName='bc1wtl' + if ( K == 2) VarName='bc2wtl' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,bcwt(1,jsta_2l,K)) + enddo + +! retrieve bc convective wet deposition fluxes + do K = 1, nbin_bc + if ( K == 1) VarName='bc1wtc' + if ( K == 2) VarName='bc2wtc' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,bcsv(1,jsta_2l,K)) + enddo + +! retrieve oc emission fluxes + do K = 1, nbin_oc + if ( K == 1) VarName='oceman' + if ( K == 2) VarName='ocembb' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ocem(1,jsta_2l,K)) + enddo + +! retrieve oc sedimentation fluxes + do K = 1, nbin_oc + if ( K == 1) VarName='oc1sd' + if ( K == 2) VarName='oc2sd' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ocsd(1,jsta_2l,K)) + enddo + +! retrieve oc dry deposition fluxes + do K = 1, nbin_oc + if ( K == 1) VarName='c1dp' + if ( K == 2) VarName='c2dp' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ocdp(1,jsta_2l,K)) + enddo + +! retrieve oc large wet deposition fluxes + do K = 1, nbin_oc + if ( K == 1) VarName='oc1wtl' + if ( K == 2) VarName='oc2wtl' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ocwt(1,jsta_2l,K)) + enddo + +! retrieve oc convective wet deposition fluxes + do K = 1, nbin_oc + if ( K == 1) VarName='oc1wtc' + if ( K == 2) VarName='oc2wtc' + VcoordName='atmos col' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,ocsv(1,jsta_2l,K)) + enddo + + !lzhang !! retrieve sfc mass concentration diff --git a/sorc/ncep_post.fd/RQSTFLD.f b/sorc/ncep_post.fd/RQSTFLD.f index cf8ffa204..70ae3dc8a 100644 --- a/sorc/ncep_post.fd/RQSTFLD.f +++ b/sorc/ncep_post.fd/RQSTFLD.f @@ -1859,32 +1859,29 @@ module RQSTFLD_mod DATA IFILV(614),AVBL(614),IQ(614),IS(614),AVBLGRB2(614) & & /1,'BC AER OPT DEP 550 ',137,200, & 'Black carbon aer opt dep at 550 '/ -! ADD DUST PRODUCTION AND REMOVAL FLUXES (GOCART) - DATA IFILV(615),AVBL(615),IQ(615),IS(615),AVBLGRB2(615) & - & /1,'DUST EMISSION FLUX ',151,200, & - 'dust emission fluxes '/ +! ADD BC, OC, SULF AEROSOL COLUMN MASS DENSITY (GOCART) DATA IFILV(616),AVBL(616),IQ(616),IS(616),AVBLGRB2(616) & - & /1,'DUST SEDIMENTATION ',152,200, & - 'dust sedimentation fluxes '/ + & /1,'BC COL MASS DEN ',151,200, & + 'fine bc col mass density '/ DATA IFILV(617),AVBL(617),IQ(617),IS(617),AVBLGRB2(617) & - & /1,'DUST25 SFC MASS CON ',153,001, & - 'dust pm25 sfc mass concentration '/ + & /1,'OC COL MASS DEN ',152,200, & + 'fine oc col mass density '/ DATA IFILV(618),AVBL(618),IQ(618),IS(618),AVBLGRB2(618) & - & /1,'SEAS25 SFC MASS CON ',154,001, & - 'seas pm25 sfc mass concentration '/ + & /1,'SULF COL MASS DEN ',153,200, & + 'fine sulf col mass density '/ ! ADD AEROSOL SURFACE MASS CONCENTRATION (GOCART), use table 129 DATA IFILV(619),AVBL(619),IQ(619),IS(619),AVBLGRB2(619) & - & /1,'PM10 SFC MASS CON ',156,001, & + & /1,'PM10 SFC MASS CON ',154,001, & 'coarse sfc mass concentration '/ DATA IFILV(620),AVBL(620),IQ(620),IS(620),AVBLGRB2(620) & - & /1,'PM25 SFC MASS CON ',157,001, & + & /1,'PM25 SFC MASS CON ',155,001, & 'fine sfc mass concentration '/ -! ADD AEROSOL COLUMN MASS DENSITY (GOCART) +! ADD PM10 and PM25 AEROSOL COLUMN MASS DENSITY (GOCART) DATA IFILV(621),AVBL(621),IQ(621),IS(621),AVBLGRB2(621) & - & /1,'PM10 COL MASS DEN ',155,200, & + & /1,'PM10 COL MASS DEN ',156,200, & 'coarse aerosol col mass density '/ DATA IFILV(622),AVBL(622),IQ(622),IS(622),AVBLGRB2(622) & - & /1,'PM25 COL MASS DEN ',158,200, & + & /1,'PM25 COL MASS DEN ',157,200, & 'fine aerosol col mass density '/ ! ADD AEROSOL OPTICAL DEPTH AT OTHER CHANNELS (GOCART) DATA IFILV(623),AVBL(623),IQ(623),IS(623),AVBLGRB2(623) & @@ -1967,14 +1964,159 @@ module RQSTFLD_mod & /1,'SEAS COL MASS DEN ',160,200, & 'fine seas col mass density '/ DATA IFILV(648),AVBL(648),IQ(648),IS(648),AVBLGRB2(648) & - & /1,'BC COL MASS DEN ',161,200, & - 'fine bc col mass density '/ + & /1,'SINGLE SCAT ALBD 340',131,200, & + 'Aer single scatter alb at 340 nm'/ DATA IFILV(649),AVBL(649),IQ(649),IS(649),AVBLGRB2(649) & - & /1,'OC COL MASS DEN ',162,200, & - 'fine oc col mass density '/ + & /1,'AER ASYM FACTOR 340 ',130,200, & + 'Aerosol asymmetry factor at 340 nm'/ +! ADD AEROSOL SCATTERING AOT DATA IFILV(650),AVBL(650),IQ(650),IS(650),AVBLGRB2(650) & - & /1,'SULF COL MASS DEN ',163,200, & - 'fine sulf col mass density '/ + & /1,'AER SCAT OPT DEP 550',129,200, & + 'Total scat aer opt dep at 550 nm'/ + DATA IFILV(651),AVBL(651),IQ(651),IS(651),AVBLGRB2(651) & + & /1,'DU SCAT OPT DEP 550 ',129,200, & + 'DUST scat aer opt dep at 550 nm'/ + DATA IFILV(652),AVBL(652),IQ(652),IS(652),AVBLGRB2(652) & + & /1,'SS SCAT OPT DEP 550 ',129,200, & + 'SALT scat aer opt dep at 550 nm'/ + DATA IFILV(653),AVBL(653),IQ(653),IS(653),AVBLGRB2(653) & + & /1,'SU SCAT OPT DEP 550 ',129,200, & + 'SUSO scat aer opt dep at 550 nm'/ + DATA IFILV(654),AVBL(654),IQ(654),IS(654),AVBLGRB2(654) & + & /1,'OC SCAT OPT DEP 550 ',129,200, & + 'WASO scat aer opt dep at 550 nm'/ + DATA IFILV(655),AVBL(655),IQ(655),IS(655),AVBLGRB2(655) & + & /1,'BC SCAT OPT DEP 550 ',129,200, & + 'SOOT scat aer opt dep at 550 nm'/ +! ADD AEROSOL ANGTROM EXPONENT + DATA IFILV(656),AVBL(656),IQ(656),IS(656),AVBLGRB2(656) & + & /1,'ANGSTROM EXP 440_860',255,200, & + 'Angstrom exponent 440-860 nm '/ + +! ADD DUST,SS, OC,BC, SU PRODUCTION AND REMOVAL FLUXES (GOCART) + DATA IFILV(659),AVBL(659),IQ(659),IS(659),AVBLGRB2(659) & + & /1,'DUST EMISSION FLUX ',151,200, & + 'dust emission fluxes '/ + DATA IFILV(660),AVBL(660),IQ(660),IS(660),AVBLGRB2(660) & + & /1,'DUST SEDIMENTATION ',152,200, & + 'dust sedimentation fluxes '/ + DATA IFILV(661),AVBL(661),IQ(661),IS(661),AVBLGRB2(661) & + & /1,'DUST DRY DEPOSITION ',153,200, & + 'dust dry deposition fluxes '/ + DATA IFILV(662),AVBL(662),IQ(662),IS(662),AVBLGRB2(662) & + & /1,'DUST WET DEPOSITION ',154,200, & + 'dust wet deposition fluxes '/ + DATA IFILV(663),AVBL(663),IQ(663),IS(663),AVBLGRB2(663) & + & /1,'SS EMISSION FLUX ',151,200, & + 'seasalt emission fluxes '/ + DATA IFILV(664),AVBL(664),IQ(664),IS(664),AVBLGRB2(664) & + & /1,'SS SEDIMENTATION ',152,200, & + 'seasalt sedimentation fluxes '/ + DATA IFILV(665),AVBL(665),IQ(665),IS(665),AVBLGRB2(665) & + & /1,'SS DRY DEPOSITION ',153,200, & + 'seasalt dry deposition fluxes '/ + DATA IFILV(666),AVBL(666),IQ(666),IS(666),AVBLGRB2(666) & + & /1,'SS WET DEPOSITION ',154,200, & + 'seasalt wet deposition fluxes '/ + DATA IFILV(667),AVBL(667),IQ(667),IS(667),AVBLGRB2(667) & + & /1,'BC EMISSION FLUX ',151,200, & + 'black carbon emission fluxes '/ + DATA IFILV(668),AVBL(668),IQ(668),IS(668),AVBLGRB2(668) & + & /1,'BC SEDIMENTATION ',152,200, & + 'black carbon sedimentation fluxes '/ + DATA IFILV(669),AVBL(669),IQ(669),IS(669),AVBLGRB2(669) & + & /1,'BC DRY DEPOSITION ',153,200, & + 'black carbon dry deposition fluxes'/ + DATA IFILV(670),AVBL(670),IQ(670),IS(670),AVBLGRB2(670) & + & /1,'BC WET DEPOSITION ',154,200, & + 'black carbon wet deposition fluxes'/ + DATA IFILV(671),AVBL(671),IQ(671),IS(671),AVBLGRB2(671) & + & /1,'OC EMISSION FLUX ',151,200, & + 'pom emission fluxes '/ + DATA IFILV(672),AVBL(672),IQ(672),IS(672),AVBLGRB2(672) & + & /1,'OC SEDIMENTATION ',152,200, & + 'pom sedimentation fluxes '/ + DATA IFILV(673),AVBL(673),IQ(673),IS(673),AVBLGRB2(673) & + & /1,'OC DRY DEPOSITION ',153,200, & + 'pom dry deposition fluxes '/ + DATA IFILV(674),AVBL(674),IQ(674),IS(674),AVBLGRB2(674) & + & /1,'OC WET DEPOSITION ',154,200, & + 'pom wet deposition fluxes '/ + DATA IFILV(675),AVBL(675),IQ(675),IS(675),AVBLGRB2(675) & + & /1,'SU EMISSION FLUX ',151,200, & + 'suldate emission fluxes '/ + DATA IFILV(676),AVBL(676),IQ(676),IS(676),AVBLGRB2(676) & + & /1,'SU SEDIMENTATION ',152,200, & + 'sulfate sedimentation fluxes '/ + DATA IFILV(677),AVBL(677),IQ(677),IS(677),AVBLGRB2(677) & + & /1,'SU DRY DEPOSITION ',153,200, & + 'sulfate dry deposition fluxes '/ + DATA IFILV(678),AVBL(678),IQ(678),IS(678),AVBLGRB2(678) & + & /1,'SU WET DEPOSITION ',154,200, & + 'sulfate wet deposition fluxes '/ + DATA IFILV(679),AVBL(679),IQ(679),IS(679),AVBLGRB2(679) & + & /1,'DU SCAVENGING FLUX ',155,200, & + 'dust scavenging fluxes '/ + DATA IFILV(680),AVBL(680),IQ(680),IS(680),AVBLGRB2(680) & + & /1,'SS SCAVENGING FLUX ',156,200, & + 'seasalt scavenging fluxes '/ + DATA IFILV(681),AVBL(681),IQ(681),IS(681),AVBLGRB2(681) & + & /1,'BC SCAVENGING FLUX ',157,200, & + 'black carbon scavenging fluxes '/ + DATA IFILV(682),AVBL(682),IQ(682),IS(682),AVBLGRB2(682) & + & /1,'OC SCAVENGING FLUX ',158,200, & + 'organic carbon scavenging fluxes '/ +! DATA IFILV(683),AVBL(683),IQ(683),IS(683),AVBLGRB2(683) & +! & /1,'SS CR SFC MASS CON ',159,200, & +! 'seasalt cr sfc mass concentration '/ + DATA IFILV(684),AVBL(684),IQ(684),IS(684),AVBLGRB2(684) & + & /1,'SEAS25 SFC MASS CON ',159,200, & + 'seas pm25 sfc mass concentration '/ +! DATA IFILV(685),AVBL(685),IQ(685),IS(685),AVBLGRB2(685) & +! & /1,'DU CR SFC MASS CON ',160,001, & +! 'dust cr sfc mass con '/ + DATA IFILV(686),AVBL(686),IQ(686),IS(686),AVBLGRB2(686) & + & /1,'DUST25 SFC MASS CON ',161,001, & + 'dust pm25 sfc mass con '/ +#if 0 + DATA IFILV(687),AVBL(687),IQ(687),IS(687),AVBLGRB2(687) & + & /1,'BC SFC MASS CON ',162,001, & + 'black carbon sfc mass con '/ + DATA IFILV(688),AVBL(688),IQ(688),IS(688),AVBLGRB2(688) & + & /1,'OC SFC MASS CON ',163,001, & + 'organic carbon sfc mass con '/ + DATA IFILV(689),AVBL(689),IQ(689),IS(689),AVBLGRB2(689) & + & /1,'SU SFC MASS CON ',164,001, & + 'sulfate sfc mass con '/ + DATA IFILV(690),AVBL(690),IQ(690),IS(690),AVBLGRB2(690) & + & /1,'INST SU SFC MASS CON',164,001, & + 'instn sulfate sfc mass con '/ + DATA IFILV(691),AVBL(691),IQ(691),IS(691),AVBLGRB2(691) & + & /1,'INST OC SFC MASS CON',164,001, & + 'instn organic carbon sfc mass con '/ + DATA IFILV(692),AVBL(692),IQ(692),IS(692),AVBLGRB2(692) & + & /1,'INST BC SFC MASS CON',164,001, & + 'instn black carbon sfc mass con '/ + DATA IFILV(693),AVBL(693),IQ(693),IS(693),AVBLGRB2(693) & + & /1,'INST DU CR SMASS ',164,001, & + 'instn du coarse mode sfc mass con '/ + DATA IFILV(694),AVBL(694),IQ(694),IS(694),AVBLGRB2(694) & + & /1,'INST DU FN SMASS ',164,001, & + 'instn du fine mode sfc mass con '/ + DATA IFILV(695),AVBL(695),IQ(695),IS(695),AVBLGRB2(695) & + & /1,'INST SS CR SMASS ',164,001, & + 'instn ss coarse mode sfc mass con '/ + DATA IFILV(696),AVBL(696),IQ(696),IS(696),AVBLGRB2(696) & + & /1,'INST SS FN SMASS ',164,001, & + 'instn ss fine mode sfc mass con '/ + DATA IFILV(697),AVBL(697),IQ(697),IS(697),AVBLGRB2(697) & + & /1,'INST AER CR SMASS ',164,001, & + 'instn aer coarse mode sfc mass con'/ + DATA IFILV(698),AVBL(698),IQ(698),IS(698),AVBLGRB2(698) & + & /1,'INST AER FN SMASS ',164,001, & + 'instn aer fine mode sfc mass con '/ +#endif + ! Reserving Index 601-700 for GOCART ! diff --git a/sorc/ncep_post.fd/VRBLS3D_mod.f b/sorc/ncep_post.fd/VRBLS3D_mod.f index d0b305b8b..bdd875198 100644 --- a/sorc/ncep_post.fd/VRBLS3D_mod.f +++ b/sorc/ncep_post.fd/VRBLS3D_mod.f @@ -3,6 +3,7 @@ ! 11-10-18 SARAH LU - MODIFIED TO INCLUDE AEROSOL OPTICAL PROPERTIES ! 11-12-15 SARAH LU - MODIFIED TO INCLUDE AEROSOL DIAG FIELDS ! 12-01-06 SARAH LU - MODIFIED TO INCLUDE AIR DENSITY AND LAYER THICKNESS +! 15-07-02 SARAH LU - MODIFIED TO INCLUDE SCATTERING AEROSOL OPTICAL THICKNESS module vrbls3d !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -56,16 +57,18 @@ module vrbls3d ! ! Add aerosol optical properties for GOCART (NGAC) ,ext(:,:,:), asy(:,:,:) & - ,ssa(:,:,:) & + ,ssa(:,:,:), sca(:,:,:) & ! Add aerosol diagnosis fields for GOCART (NGAC) ,duem(:,:,:), dusd(:,:,:) & ,dudp(:,:,:), duwt(:,:,:) & + ,dusv(:,:,:), sssv(:,:,:) & ,suem(:,:,:), susd(:,:,:) & ,sudp(:,:,:), suwt(:,:,:) & ,ssem(:,:,:), sssd(:,:,:) & ,ssdp(:,:,:), sswt(:,:,:) & ,ocem(:,:,:), ocsd(:,:,:) & ,ocdp(:,:,:), ocwt(:,:,:) & + ,ocsv(:,:,:), bcsv(:,:,:) & ,bcem(:,:,:), bcsd(:,:,:) & ,bcdp(:,:,:), bcwt(:,:,:) & ! Add air density and thickness for GOCART (NGAC) From fd391d9ca55f6bb216468dc6c2ae8343ee8d7d73 Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 15 Aug 2019 14:34:28 -0600 Subject: [PATCH 23/38] Fix mods for selecting satellite channels in CALRAD_WCLOUD_newcrtm.f and SELECT_CHANNELS.f --- comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f | 40 +++++++++++----------- comupp/src/unipost/SELECT_CHANNELS.f | 13 ++++--- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f b/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f index 57bb688d7..bf6ed212b 100644 --- a/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f +++ b/comupp/src/unipost/CALRAD_WCLOUD_newcrtm.f @@ -343,35 +343,35 @@ SUBROUTINE CALRAD_WCLOUD if(iget(872)>0)then call select_channels_L(channelinfo(1),4,(/ 1,2,3,4 /),lvls(1:4,iget(872)),iget(872)) endif - ! SSMI, F13-F15 (19H,19V,37H,37V,85H,85V) + ! SSMI, F13-F15 (19H,19V,??H,37H,37V,85H,85V) if(iget(800)>0)then - call select_channels_L(channelinfo(7),6,(/ 1,2,4,5,6,7 /),lvls(1:6,iget(800)),iget(800)) + call select_channels_L(channelinfo(7),7,(/ 1,2,3,4,5,6,7 /),lvls(1:7,iget(800)),iget(800)) endif if(iget(806)>0)then - call select_channels_L(channelinfo(8),6,(/ 1,2,4,5,6,7 /),lvls(1:6,iget(806)),iget(806)) + call select_channels_L(channelinfo(8),7,(/ 1,2,3,4,5,6,7 /),lvls(1:7,iget(806)),iget(806)) endif if(iget(812)>0)then - call select_channels_L(channelinfo(9),6,(/ 1,2,4,5,6,7 /),lvls(1:6,iget(812)),iget(812)) + call select_channels_L(channelinfo(9),7,(/ 1,2,3,4,5,6,7 /),lvls(1:7,iget(812)),iget(812)) endif ! SSMIS, F16-F20 (183H,19H,19V,37H,37V,91H,91V) if(iget(818)>0)then - call select_channels_L(channelinfo(10),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(818)),iget(818)) + call select_channels_L(channelinfo(10),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(818)),iget(818)) endif if(iget(825)>0)then - call select_channels_L(channelinfo(11),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(825)),iget(825)) + call select_channels_L(channelinfo(11),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(825)),iget(825)) endif if(iget(832)>0)then - call select_channels_L(channelinfo(12),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(832)),iget(832)) + call select_channels_L(channelinfo(12),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(832)),iget(832)) endif if(iget(839)>0)then - call select_channels_L(channelinfo(13),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(839)),iget(839)) + call select_channels_L(channelinfo(13),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(839)),iget(839)) endif if(iget(846)>0)then - call select_channels_L(channelinfo(14),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(846)),iget(846)) + call select_channels_L(channelinfo(14),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(846)),iget(846)) endif ! SEVIRI if(iget(876)>0)then - call select_channels_L(channelinfo(15),7,(/ 2,3,4,5,6,7,8 /),lvls(1:7,iget(876)),iget(876)) + call select_channels_L(channelinfo(15),8,(/ 1,2,3,4,5,6,7,8 /),lvls(1:8,iget(876)),iget(876)) endif ! MT2 if(iget(860)>0)then @@ -382,7 +382,7 @@ SUBROUTINE CALRAD_WCLOUD call select_channels_L(channelinfo(17),4,(/ 1,2,3,4 /),lvls(1:4,iget(864)),iget(864)) endif ! INSAT 3D (Kalpana) - if(iget(865)>0)then + if(iget(864)>0)then call select_channels_L(channelinfo(18),4,(/ 1,2,3,4 /),lvls(1:4,iget(865)),iget(865)) endif @@ -1545,7 +1545,7 @@ SUBROUTINE CALRAD_WCLOUD if (isis=='ssmi_f13')then ! writing ssmi to grib (37 & 85 GHz) nc=0 - do ixchan=1,6 + do ixchan=1,7 igot=iget(800) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1567,7 +1567,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmi f13 if (isis=='ssmi_f14')then ! writing ssmi to grib (19,37 & 85 GHz) nc=0 - do ixchan=1,6 + do ixchan=1,7 igot=iget(806) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1590,7 +1590,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmi f14 if (isis=='ssmi_f15')then ! writing ssmi to grib (19,37 & 85 GHz) nc=0 - do ixchan=1,6 + do ixchan=1,7 igot=iget(812) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1613,7 +1613,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmi f15 if (isis=='ssmis_f16')then ! writing ssmis to grib (183,19,37 & 85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(818) ichan=ixchan print*,'ixchan,lvls=',ixchan,lvls(ixchan,igot) @@ -1636,7 +1636,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f16 if (isis=='ssmis_f17')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(825) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1659,7 +1659,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f17 if (isis=='ssmis_f18')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(832) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1682,7 +1682,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f18 if (isis=='ssmis_f19')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(839) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1705,7 +1705,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f19 if (isis=='ssmis_f20')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(846) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1849,7 +1849,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting goes 12 if (isis=='seviri_m10')then ! writing msg/severi 10 nc=0 - do ixchan=1,7 + do ixchan=1,8 ichan=ixchan igot=iget(876) if(lvls(ixchan,igot).eq.1)then diff --git a/comupp/src/unipost/SELECT_CHANNELS.f b/comupp/src/unipost/SELECT_CHANNELS.f index dab0281a8..980f6e6bf 100644 --- a/comupp/src/unipost/SELECT_CHANNELS.f +++ b/comupp/src/unipost/SELECT_CHANNELS.f @@ -92,17 +92,20 @@ subroutine SELECT_CHANNELS_L(channelinfo,nchannels,channels,L,igot) endif if(L(i).eq.1)then k=k+1 - temp(k)=channelinfo%Channel_Index(channels(i)) - endif +! temp(k)=channelinfo%Channel_Index(channels(i)) + endif + if(L(i).eq.0)then + channelinfo%Process_Channel(channels(i))=.FALSE. ! turn off channel processing + endif enddo ! if no channels were selected, then set igot=0 if(k.eq.0)then igot=0 return - else - channelinfo%n_channels=k - channelinfo%Channel_Index(1:k)=temp(1:k) +! else +! channelinfo%n_channels=k +! channelinfo%Channel_Index(1:k)=temp(1:k) endif end subroutine SELECT_CHANNELS_L From 17585cd12e59ffe27752a8c3e176e873a5b41cd7 Mon Sep 17 00:00:00 2001 From: "Kate.Fossell" Date: Fri, 16 Aug 2019 12:58:44 -0600 Subject: [PATCH 24/38] modify makefile to conditionally add mpi stubs for serial builds, instead of always including by default --- comupp/src/lib/nemsio/makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/comupp/src/lib/nemsio/makefile b/comupp/src/lib/nemsio/makefile index 9fca2176c..7b4e88c95 100644 --- a/comupp/src/lib/nemsio/makefile +++ b/comupp/src/lib/nemsio/makefile @@ -13,12 +13,11 @@ include ../../../configure.upp # # extra flags -EXTRA_FFLAGS = -c $(PROMOTION) -I$(INCMOD) -I../wrfmpi_stubs +EXTRA_FFLAGS = -c $(PROMOTION) -I$(INCMOD) -I../$(SERIAL_MPI_STUB) EXTRA_CFLAGS = -c EXTRA_ARFLAGS = # -# What files are we looking for - yes bafrio, very poor style OBJS_F = nemsio_openclose.o nemsio_read.o nemsio_write.o \ nemsio_module.o nemsio_module_mpi.o OBJS_F77 = From 55f05ddbe93314a804cc45a3b72128c0250af16b Mon Sep 17 00:00:00 2001 From: Tracy Date: Wed, 21 Aug 2019 15:22:59 -0600 Subject: [PATCH 25/38] Modified GRIB1 Table lyx doc for available satellite channels/levels --- comupp/docs/UPP_GRIB1_Table.lyx | 78 +++++++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 9 deletions(-) diff --git a/comupp/docs/UPP_GRIB1_Table.lyx b/comupp/docs/UPP_GRIB1_Table.lyx index 5a4c1e501..1b5b443a9 100644 --- a/comupp/docs/UPP_GRIB1_Table.lyx +++ b/comupp/docs/UPP_GRIB1_Table.lyx @@ -24494,7 +24494,13 @@ SSMI F13 (19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F13 SSMI NON-NADIR (Levels 1-6) +F13 SSMI NON-NADIR (Levels 1-6 = Channels 1,2,4,5,6,7) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-7 = Channels 1-7) \end_layout \end_inset @@ -24551,7 +24557,13 @@ SSMI F14 (19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F14 SSMI NON-NADIR (Levels 1-6) +F14 SSMI NON-NADIR (Levels 1-6 = Channels 1,2,4,5,6,7) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-7 = Channels 1-7) \end_layout \end_inset @@ -24608,7 +24620,13 @@ SSMI F15 (19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F15 SSMI NON-NADIR (Levels 1-6) +F15 SSMI NON-NADIR (Levels 1-6 = Channels 1,2,4,5,6,7) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-7 = Channels 1-7) \end_layout \end_inset @@ -24665,7 +24683,13 @@ SSMIS F16 (183H 19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F16 SSMIS NON-NADIR (Levels 1-7) +F16 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-24 = Channels 1-24) \end_layout \end_inset @@ -24722,7 +24746,13 @@ SSMIS F17 (183H 19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F17 SSMIS NON-NADIR (Levels 1-7) +F17 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-24 = Channels 1-24) \end_layout \end_inset @@ -24779,7 +24809,13 @@ SSMIS F18 (183H 19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F18 SSMIS NON-NADIR (Levels 1-7) +F18 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-24 = Channels 1-24) \end_layout \end_inset @@ -24836,7 +24872,13 @@ SSMIS F19 (183H 19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F19 SSMIS NON-NADIR (Levels 1-7) +F19 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-24 = Channels 1-24) \end_layout \end_inset @@ -24893,7 +24935,13 @@ SSMIS F20 (183H 19H 19V 37H 37V 85H 85V) \begin_layout Plain Layout \size small -F20 SSMIS NON-NADIR (Levels 1-7) +F20 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-24 = Channels 1-24) \end_layout \end_inset @@ -25056,6 +25104,12 @@ MTSAT2 NON-NADIR (Levels 1-4 = Channels 1-4) Seviri brightness temperature channels 5-11 \end_layout +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; channels 4-11) +\end_layout + \end_inset @@ -25064,7 +25118,13 @@ Seviri brightness temperature channels 5-11 \begin_layout Plain Layout \size small -SEVIRI NON-NADIR (Levels 1-7 = Channels 1-7) +SEVIRI NON-NADIR (Levels 1-7 = Channels 5-11) +\end_layout + +\begin_layout Plain Layout + +\size small +(UPPV4.0.1; Levels 1-8 = Channels 4-11) \end_layout \end_inset From b982a465df68447f6179877c519c19ebc0457c07 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Mon, 26 Aug 2019 15:15:10 +0000 Subject: [PATCH 26/38] VLAB Issue #59476 -- Update the UPP master for point wrfio library built on operational environment. Change-Id: I6e234e7556475af40ca2fe332d2e29ae3f434456 --- modulefiles/post/v8.0.0-cray-intel | 13 +------------ modulefiles/post/v8.0.0-wcoss_cray | 1 - modulefiles/post/v8.0.0-wcoss_dell_p3 | 19 +------------------ sorc/ncep_post.fd/makefile_module | 14 +------------- 4 files changed, 3 insertions(+), 44 deletions(-) delete mode 120000 modulefiles/post/v8.0.0-wcoss_cray diff --git a/modulefiles/post/v8.0.0-cray-intel b/modulefiles/post/v8.0.0-cray-intel index cc5161ab1..171514bb6 100644 --- a/modulefiles/post/v8.0.0-cray-intel +++ b/modulefiles/post/v8.0.0-cray-intel @@ -47,18 +47,7 @@ module load NetCDF-intel-sandybridge/3.6.3 #### module load cray-netcdf/4.3.2 #module load g2tmpl-intel/1.4.0 module load g2tmpl-intel/1.5.0 - -# temparary g2 library test using g2.v3.0.0 -#setenv G2_SRC /usrx/local/nceplibs/g2/v3.0.0/src -#setenv G2_INC4 /usrx/local/nceplibs/g2/v3.0.0/intel/include/g2_v3.0.0_4 -#setenv G2_INCd /usrx/local/nceplibs/g2/v3.0.0/intel/include/g2_v3.0.0_d -#setenv G2_LIB4 /usrx/local/nceplibs/g2/v3.0.0/intel/libg2_v3.0.0_4.a -#setenv G2_LIBd /usrx/local/nceplibs/g2/v3.0.0/intel/g2_v3.0.0_d -#setenv G2_VER v3.0.0 - -#setenv WRFPATH /gpfs/hps/nco/ops/nwprod/wrf_shared.v1.1.0-intel -module use /gpfs/dell2/emc/modeling/noscrub/cases/wrf.shared.new.lib/modulefiles -module load wrf-io-v1.1.1 +module load wrfio-intel/1.1.1 setenv myFC ftn setenv OPENMP "-openmp" diff --git a/modulefiles/post/v8.0.0-wcoss_cray b/modulefiles/post/v8.0.0-wcoss_cray deleted file mode 120000 index 16585fad2..000000000 --- a/modulefiles/post/v8.0.0-wcoss_cray +++ /dev/null @@ -1 +0,0 @@ -v8.0.0-cray-intel \ No newline at end of file diff --git a/modulefiles/post/v8.0.0-wcoss_dell_p3 b/modulefiles/post/v8.0.0-wcoss_dell_p3 index 29787f5d3..da69cdf4a 100644 --- a/modulefiles/post/v8.0.0-wcoss_dell_p3 +++ b/modulefiles/post/v8.0.0-wcoss_dell_p3 @@ -34,24 +34,7 @@ module load w3nco/2.0.6 module load NetCDF/3.6.3 module load g2tmpl/1.5.0 module load crtm/2.2.6 -#module load dev/crtm/2.0.6 -#module load prod_envir/1.0.2 - -#setenv NCEPLIBS /gpfs/gd1/emc/global/noscrub/gwv/lv/lib -#module use /gpfs/gd1/emc/global/noscrub/gwv/lv/lib/modulefiles -#module load crtm-intel-sandybridge/2.0.6 -#module use /usrx/local/nceplibs/dev/modulefiles - -#setenv WRFPATH /gpfs/gp1/nco/ops/nwprod/sorc/wrf_shared.v1.1.0 -#set WRF_SHARED_ROOT /gpfs/hps/nco/ops/nwprod/wrf_shared -#set WRF_SHARED_VER v1.1.0 -#setenv WRFPATH ${WRF_SHARED_ROOT}.${WRF_SHARED_VER}-intel -#set WRF_SHARED_ROOT /gpfs/dell1/nco/ops/nwpara/lib/wrf_shared -#set WRF_SHARED_VER v1.1.1 -#setenv WRFPATH ${WRF_SHARED_ROOT}.${WRF_SHARED_VER} - -module use /gpfs/dell2/emc/modeling/noscrub/cases/wrf.shared.new.lib/modulefiles -module load wrf-io-v1.1.1 +module load wrfio/1.1.1 setenv myFC mpiifort setenv OPENMP "-qopenmp" diff --git a/sorc/ncep_post.fd/makefile_module b/sorc/ncep_post.fd/makefile_module index 4e37edabd..b4677b119 100755 --- a/sorc/ncep_post.fd/makefile_module +++ b/sorc/ncep_post.fd/makefile_module @@ -26,18 +26,6 @@ CPP = $(myCPP) $(myCPPFLAGS) CPPFLAGS = -DLINUX FREE = -FR -#WRF_INC = -I$(WRFPATH)/external/io_quilt -I$(WRFPATH)/frame -#WRF_LIB = $(WRFPATH)/main/libwrflib.a \ -# $(WRFPATH)/frame/pack_utils.o \ -# $(WRFPATH)/frame/module_internal_header_util.o \ -# $(WRFPATH)/external/io_grib1/libio_grib1.a \ -# $(WRFPATH)/external/io_grib_share/libio_grib_share.a \ -# $(WRFPATH)/external/io_int/libwrfio_int.a \ -# $(WRFPATH)/external/io_netcdf/libwrfio_nf.a \ -# $(WRFPATH)/external/esmf_time_f90/libesmf_time.a \ -# $(WRFPATH)/external/RSL_LITE/librsl_lite.a -WRF_LIB = ${WRFPATH}/libwrfio_nf.a - NETCDF_INC = -I$(NETCDF)/include NETCDF_LDFLAGS = -L$(NETCDF)/lib -lnetcdf @@ -55,7 +43,7 @@ FFLAGS = $(OPTS) $(FREE) $(DEBUG) \ -I$(IP_INC4) \ $(NETCDF_INC) -LIBS = $(WRF_LIB) \ +LIBS = $(WRFIO_LIB) \ $(G2TMPL_LIB) \ $(G2_LIB4) \ $(JASPER_LIB) \ From 88e936c34ea071fb561c2d4eb4207e3738281962 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Tue, 27 Aug 2019 15:51:45 +0000 Subject: [PATCH 27/38] VLAB Issue #6778 -- merging branch post_external to the master. Squashed commit of the following: commit a74729ee83d0902457c1f8f59f08532f8395b87e Merge: caaf3de b982a46 Author: Wen Meng Date: Mon Aug 26 19:00:00 2019 +0000 Merge remote-tracking branch 'origin/master' into post_external commit caaf3de688f74eb9abea1d6949be9af1b14900be Author: Wen Meng Date: Fri Aug 9 18:15:09 2019 +0000 Add manage_externals commit 29840af7b2cb5560f168ddda5eb563b783df31b1 Merge: 2cea446 a70e426 Author: Wen Meng Date: Fri Aug 9 18:08:53 2019 +0000 Merge commit 'a70e426b42a150b87dbc968c2dcec3e30c4ee227' as 'manage_externals' commit a70e426b42a150b87dbc968c2dcec3e30c4ee227 Author: Wen Meng Date: Fri Aug 9 18:08:53 2019 +0000 Squashed 'manage_externals/' content from commit a48558d git-subtree-dir: manage_externals git-subtree-split: a48558d890d46c51c2508f97aed64b5dd1716b74 Change-Id: Ibfdee4469a01fd876afcaf52fae9912405086b8e --- Externals.cfg | 9 + manage_externals/.dir_locals.el | 12 + manage_externals/.github/ISSUE_TEMPLATE.md | 6 + .../.github/PULL_REQUEST_TEMPLATE.md | 17 + manage_externals/.gitignore | 14 + manage_externals/.travis.yml | 32 + manage_externals/LICENSE.txt | 34 + manage_externals/README.md | 211 ++ manage_externals/README_FIRST | 54 + manage_externals/checkout_externals | 36 + manage_externals/manic/__init__.py | 9 + manage_externals/manic/checkout.py | 409 ++++ .../manic/externals_description.py | 790 +++++++ manage_externals/manic/externals_status.py | 164 ++ manage_externals/manic/global_constants.py | 18 + manage_externals/manic/repository.py | 97 + manage_externals/manic/repository_factory.py | 29 + manage_externals/manic/repository_git.py | 790 +++++++ manage_externals/manic/repository_svn.py | 284 +++ manage_externals/manic/sourcetree.py | 350 ++++ manage_externals/manic/utils.py | 330 +++ manage_externals/test/.coveragerc | 7 + manage_externals/test/.gitignore | 7 + manage_externals/test/.pylint.rc | 426 ++++ manage_externals/test/Makefile | 124 ++ manage_externals/test/README.md | 77 + manage_externals/test/doc/.gitignore | 2 + manage_externals/test/doc/Makefile | 20 + manage_externals/test/doc/conf.py | 172 ++ manage_externals/test/doc/develop.rst | 202 ++ manage_externals/test/doc/index.rst | 22 + manage_externals/test/doc/testing.rst | 123 ++ .../test/repos/container.git/HEAD | 1 + .../test/repos/container.git/config | 6 + .../test/repos/container.git/description | 1 + .../test/repos/container.git/info/exclude | 6 + .../41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 | Bin 0 -> 133 bytes .../71/5b8f3e4afe1802a178e1d603af404ba45d59de | Bin 0 -> 136 bytes .../b0/f87705e2b9601cb831878f3d51efa78b910d7b | Bin 0 -> 89 bytes .../f9/e08370a737e941de6f6492e3f427c2ef4c1a03 | Bin 0 -> 81 bytes .../repos/container.git/refs/heads/master | 1 + manage_externals/test/repos/error/readme.txt | 3 + .../test/repos/mixed-cont-ext.git/HEAD | 1 + .../test/repos/mixed-cont-ext.git/config | 6 + .../test/repos/mixed-cont-ext.git/description | 1 + .../repos/mixed-cont-ext.git/info/exclude | 6 + .../00/437ac2000d5f06fb8a572a01a5bbdae98b17cb | Bin 0 -> 172 bytes .../01/97458f2dbe5fcd6bc44fa46983be0a30282379 | Bin 0 -> 171 bytes .../06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 | Bin 0 -> 136 bytes .../14/368b701616a8c53820b610414a4b9a07540cf6 | 1 + .../15/2b57e1cf23721cd17ff681cb9276e3fb9fc091 | 2 + .../1f/01fa46c17b1f38b37e6259f6e9d041bda3144f | Bin 0 -> 167 bytes .../37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 | Bin 0 -> 89 bytes .../38/9a2b876b8965d3c91a3db8d28a483eaf019d5c | Bin 0 -> 130 bytes .../41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 | Bin 0 -> 133 bytes .../6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 | Bin 0 -> 129 bytes .../6f/c379457ecb4e576a13c7610ae1fa73f845ee6a | 1 + .../93/a159deb9175bfeb2820a0006ddd92d78131332 | Bin 0 -> 169 bytes .../95/80ecc12f16334ce44e42287d5d46f927bb7b75 | 1 + .../a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd | Bin 0 -> 130 bytes .../e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 | Bin 0 -> 130 bytes .../fd/15a5ad5204356229c60a831d2a8120a43ac901 | 2 + .../mixed-cont-ext.git/refs/heads/master | 1 + .../mixed-cont-ext.git/refs/heads/new-feature | 1 + .../test/repos/simple-ext-fork.git/HEAD | 1 + .../test/repos/simple-ext-fork.git/config | 8 + .../repos/simple-ext-fork.git/description | 1 + .../repos/simple-ext-fork.git/info/exclude | 6 + .../00/fd13e76189f9134b0506b4b8ed3172723b467f | Bin 0 -> 89 bytes .../0b/15e8af3d4615b42314216efeae3fff184046a8 | Bin 0 -> 89 bytes .../0b/67df4e7e8e6e1c6e401542738b352d18744677 | Bin 0 -> 167 bytes .../11/a76e3d9a67313dec7ce1230852ab5c86352c5c | 2 + .../16/5506a7408a482f50493434e13fffeb44af893f | Bin 0 -> 89 bytes .../24/4386e788c9bc608613e127a329c742450a60e4 | Bin 0 -> 164 bytes .../32/7e97d86e941047d809dba58f2804740c6c30cf | Bin 0 -> 89 bytes .../36/418b4e5665956a90725c9a1b5a8e551c5f3d48 | Bin 0 -> 159 bytes .../3d/7099c35404ae6c8640ce263b38bef06e98cc26 | 2 + .../3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b | 2 + .../41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 | Bin 0 -> 133 bytes .../4d/837135915ed93eed6fff6b439f284ce317296f | Bin 0 -> 89 bytes .../56/175e017ad38bf3d33d74b6bd7c74624b28466a | Bin 0 -> 89 bytes .../5f/1d4786d12e52d7ab28d2f2f1118c1059a9f1ae | Bin 0 -> 93 bytes .../67/136e5ab4d5c1c65d10c8048763b96b0e53c1d6 | Bin 0 -> 165 bytes .../7b/0bd630ac13865735a1dff3437a137d8ab50663 | Bin 0 -> 119 bytes .../88/cf20868e0cc445f5642a480ed034c71e0d7e9f | 2 + .../8d/2b3b35126224c975d23f109aa1e3cbac452989 | 2 + .../9b/75494003deca69527bb64bcaa352e801611dd2 | Bin 0 -> 138 bytes .../a2/2a5da9119328ea6d693f88861457c07e14ac04 | 1 + .../a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 | 3 + .../b9/3737be3ea6b19f6255983748a0a0f4d622f936 | Bin 0 -> 89 bytes .../c5/32bc8fde96fa63103a52057f0baffcc9f00c6b | 1 + .../c5/b315915742133dbdfbeed0753e481b55c1d364 | 1 + .../f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca | 1 + .../repos/simple-ext-fork.git/packed-refs | 5 + .../simple-ext-fork.git/refs/heads/feature2 | 1 + .../refs/tags/abandoned-feature | 1 + .../refs/tags/forked-feature-v1 | 1 + .../test/repos/simple-ext.git/HEAD | 1 + .../test/repos/simple-ext.git/config | 6 + .../test/repos/simple-ext.git/description | 1 + .../test/repos/simple-ext.git/info/exclude | 6 + .../00/fd13e76189f9134b0506b4b8ed3172723b467f | Bin 0 -> 89 bytes .../09/0e1034746b2c865f7b0280813dbf4061a700e8 | Bin 0 -> 164 bytes .../0b/15e8af3d4615b42314216efeae3fff184046a8 | Bin 0 -> 89 bytes .../11/a76e3d9a67313dec7ce1230852ab5c86352c5c | 2 + .../31/dbcd6de441e671a467ef317146539b7ffabb11 | Bin 0 -> 90 bytes .../36/418b4e5665956a90725c9a1b5a8e551c5f3d48 | Bin 0 -> 159 bytes .../41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 | Bin 0 -> 133 bytes .../60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 | 2 + .../63/a99393d1baff97ccef967af30380659867b139 | 1 + .../95/3256da5612fcd9263590a353bc18c6f224e74f | 1 + .../9b/75494003deca69527bb64bcaa352e801611dd2 | Bin 0 -> 138 bytes .../a2/2a5da9119328ea6d693f88861457c07e14ac04 | 1 + .../c5/b315915742133dbdfbeed0753e481b55c1d364 | 1 + .../df/312890f93ba4d2c694208599b665c4a08afeff | Bin 0 -> 89 bytes .../repos/simple-ext.git/refs/heads/feature2 | 1 + .../repos/simple-ext.git/refs/heads/feature3 | 1 + .../repos/simple-ext.git/refs/heads/master | 1 + .../test/repos/simple-ext.git/refs/tags/tag1 | 1 + manage_externals/test/requirements.txt | 5 + manage_externals/test/test_sys_checkout.py | 1827 +++++++++++++++++ .../test/test_sys_repository_git.py | 238 +++ .../test/test_unit_externals_description.py | 401 ++++ .../test/test_unit_externals_status.py | 299 +++ manage_externals/test/test_unit_repository.py | 197 ++ .../test/test_unit_repository_git.py | 807 ++++++++ .../test/test_unit_repository_svn.py | 501 +++++ manage_externals/test/test_unit_utils.py | 350 ++++ 128 files changed, 9610 insertions(+) create mode 100644 Externals.cfg create mode 100644 manage_externals/.dir_locals.el create mode 100644 manage_externals/.github/ISSUE_TEMPLATE.md create mode 100644 manage_externals/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 manage_externals/.gitignore create mode 100644 manage_externals/.travis.yml create mode 100644 manage_externals/LICENSE.txt create mode 100644 manage_externals/README.md create mode 100644 manage_externals/README_FIRST create mode 100755 manage_externals/checkout_externals create mode 100644 manage_externals/manic/__init__.py create mode 100755 manage_externals/manic/checkout.py create mode 100644 manage_externals/manic/externals_description.py create mode 100644 manage_externals/manic/externals_status.py create mode 100644 manage_externals/manic/global_constants.py create mode 100644 manage_externals/manic/repository.py create mode 100644 manage_externals/manic/repository_factory.py create mode 100644 manage_externals/manic/repository_git.py create mode 100644 manage_externals/manic/repository_svn.py create mode 100644 manage_externals/manic/sourcetree.py create mode 100644 manage_externals/manic/utils.py create mode 100644 manage_externals/test/.coveragerc create mode 100644 manage_externals/test/.gitignore create mode 100644 manage_externals/test/.pylint.rc create mode 100644 manage_externals/test/Makefile create mode 100644 manage_externals/test/README.md create mode 100644 manage_externals/test/doc/.gitignore create mode 100644 manage_externals/test/doc/Makefile create mode 100644 manage_externals/test/doc/conf.py create mode 100644 manage_externals/test/doc/develop.rst create mode 100644 manage_externals/test/doc/index.rst create mode 100644 manage_externals/test/doc/testing.rst create mode 100644 manage_externals/test/repos/container.git/HEAD create mode 100644 manage_externals/test/repos/container.git/config create mode 100644 manage_externals/test/repos/container.git/description create mode 100644 manage_externals/test/repos/container.git/info/exclude create mode 100644 manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 create mode 100644 manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de create mode 100644 manage_externals/test/repos/container.git/objects/b0/f87705e2b9601cb831878f3d51efa78b910d7b create mode 100644 manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 create mode 100644 manage_externals/test/repos/container.git/refs/heads/master create mode 100644 manage_externals/test/repos/error/readme.txt create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/HEAD create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/config create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/description create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/info/exclude create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/00/437ac2000d5f06fb8a572a01a5bbdae98b17cb create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/14/368b701616a8c53820b610414a4b9a07540cf6 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/15/2b57e1cf23721cd17ff681cb9276e3fb9fc091 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/objects/fd/15a5ad5204356229c60a831d2a8120a43ac901 create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master create mode 100644 manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature create mode 100644 manage_externals/test/repos/simple-ext-fork.git/HEAD create mode 100644 manage_externals/test/repos/simple-ext-fork.git/config create mode 100644 manage_externals/test/repos/simple-ext-fork.git/description create mode 100644 manage_externals/test/repos/simple-ext-fork.git/info/exclude create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/0b/67df4e7e8e6e1c6e401542738b352d18744677 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/24/4386e788c9bc608613e127a329c742450a60e4 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/3d/7099c35404ae6c8640ce263b38bef06e98cc26 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/4d/837135915ed93eed6fff6b439f284ce317296f create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/56/175e017ad38bf3d33d74b6bd7c74624b28466a create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/5f/1d4786d12e52d7ab28d2f2f1118c1059a9f1ae create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/67/136e5ab4d5c1c65d10c8048763b96b0e53c1d6 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/7b/0bd630ac13865735a1dff3437a137d8ab50663 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/88/cf20868e0cc445f5642a480ed034c71e0d7e9f create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/8d/2b3b35126224c975d23f109aa1e3cbac452989 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/c5/32bc8fde96fa63103a52057f0baffcc9f00c6b create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/objects/f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca create mode 100644 manage_externals/test/repos/simple-ext-fork.git/packed-refs create mode 100644 manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 create mode 100644 manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature create mode 100644 manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 create mode 100644 manage_externals/test/repos/simple-ext.git/HEAD create mode 100644 manage_externals/test/repos/simple-ext.git/config create mode 100644 manage_externals/test/repos/simple-ext.git/description create mode 100644 manage_externals/test/repos/simple-ext.git/info/exclude create mode 100644 manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f create mode 100644 manage_externals/test/repos/simple-ext.git/objects/09/0e1034746b2c865f7b0280813dbf4061a700e8 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c create mode 100644 manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/63/a99393d1baff97ccef967af30380659867b139 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/95/3256da5612fcd9263590a353bc18c6f224e74f create mode 100644 manage_externals/test/repos/simple-ext.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 create mode 100644 manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff create mode 100644 manage_externals/test/repos/simple-ext.git/refs/heads/feature2 create mode 100644 manage_externals/test/repos/simple-ext.git/refs/heads/feature3 create mode 100644 manage_externals/test/repos/simple-ext.git/refs/heads/master create mode 100644 manage_externals/test/repos/simple-ext.git/refs/tags/tag1 create mode 100644 manage_externals/test/requirements.txt create mode 100644 manage_externals/test/test_sys_checkout.py create mode 100644 manage_externals/test/test_sys_repository_git.py create mode 100644 manage_externals/test/test_unit_externals_description.py create mode 100644 manage_externals/test/test_unit_externals_status.py create mode 100644 manage_externals/test/test_unit_repository.py create mode 100644 manage_externals/test/test_unit_repository_git.py create mode 100644 manage_externals/test/test_unit_repository_svn.py create mode 100644 manage_externals/test/test_unit_utils.py diff --git a/Externals.cfg b/Externals.cfg new file mode 100644 index 000000000..8365f3d0a --- /dev/null +++ b/Externals.cfg @@ -0,0 +1,9 @@ +[gtg] +branch = master +protocol = git +repo_url = git@github.com:NCAR/UPP_GTG.git +local_path = sorc/post_gtg.fd +required = True + +[externals_description] +schema_version = 1.0.0 diff --git a/manage_externals/.dir_locals.el b/manage_externals/.dir_locals.el new file mode 100644 index 000000000..a370490e9 --- /dev/null +++ b/manage_externals/.dir_locals.el @@ -0,0 +1,12 @@ +; -*- mode: Lisp -*- + +((python-mode + . ( + ;; fill the paragraph to 80 columns when using M-q + (fill-column . 80) + + ;; Use 4 spaces to indent in Python + (python-indent-offset . 4) + (indent-tabs-mode . nil) + ))) + diff --git a/manage_externals/.github/ISSUE_TEMPLATE.md b/manage_externals/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..8ecb2ae64 --- /dev/null +++ b/manage_externals/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,6 @@ +### Summary of Issue: +### Expected behavior and actual behavior: +### Steps to reproduce the problem (should include model description file(s) or link to publi c repository): +### What is the changeset ID of the code, and the machine you are using: +### have you modified the code? If so, it must be committed and available for testing: +### Screen output or log file showing the error message and context: diff --git a/manage_externals/.github/PULL_REQUEST_TEMPLATE.md b/manage_externals/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..b68b1fb5e --- /dev/null +++ b/manage_externals/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ +[ 50 character, one line summary ] + +[ Description of the changes in this commit. It should be enough + information for someone not following this development to understand. + Lines should be wrapped at about 72 characters. ] + +User interface changes?: [ No/Yes ] +[ If yes, describe what changed, and steps taken to ensure backward compatibilty ] + +Fixes: [Github issue #s] And brief description of each issue. + +Testing: + test removed: + unit tests: + system tests: + manual testing: + diff --git a/manage_externals/.gitignore b/manage_externals/.gitignore new file mode 100644 index 000000000..411de5d96 --- /dev/null +++ b/manage_externals/.gitignore @@ -0,0 +1,14 @@ +# directories that are checked out by the tool +cime/ +cime_config/ +components/ + +# generated local files +*.log + +# editor files +*~ +*.bak + +# generated python files +*.pyc diff --git a/manage_externals/.travis.yml b/manage_externals/.travis.yml new file mode 100644 index 000000000..b32f81bd2 --- /dev/null +++ b/manage_externals/.travis.yml @@ -0,0 +1,32 @@ +# NOTE(bja, 2017-11) travis-ci dosen't support python language builds +# on mac os. As a work around, we use built-in python on linux, and +# declare osx a 'generic' language, and create our own python env. + +language: python +os: linux +python: + - "2.7" + - "3.4" + - "3.5" + - "3.6" +matrix: + include: + - os: osx + language: generic + before_install: + # NOTE(bja, 2017-11) update is slow, 2.7.12 installed by default, good enough! + # - brew update + # - brew outdated python2 || brew upgrade python2 + - pip install virtualenv + - virtualenv env -p python2 + - source env/bin/activate +install: + - pip install -r test/requirements.txt +before_script: + - git --version +script: + - cd test; make test + - cd test; make lint +after_success: + - cd test; make coverage + - cd test; coveralls diff --git a/manage_externals/LICENSE.txt b/manage_externals/LICENSE.txt new file mode 100644 index 000000000..665ee03fb --- /dev/null +++ b/manage_externals/LICENSE.txt @@ -0,0 +1,34 @@ +Copyright (c) 2017-2018, University Corporation for Atmospheric Research (UCAR) +All rights reserved. + +Developed by: + University Corporation for Atmospheric Research - National Center for Atmospheric Research + https://www2.cesm.ucar.edu/working-groups/sewg + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal with the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the documentation + and/or other materials provided with the distribution. + - Neither the names of [Name of Development Group, UCAR], + nor the names of its contributors may be used to endorse or promote + products derived from this Software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/manage_externals/README.md b/manage_externals/README.md new file mode 100644 index 000000000..15e45ffb7 --- /dev/null +++ b/manage_externals/README.md @@ -0,0 +1,211 @@ +-- AUTOMATICALLY GENERATED FILE. DO NOT EDIT -- + +[![Build Status](https://travis-ci.org/ESMCI/manage_externals.svg?branch=master)](https://travis-ci.org/ESMCI/manage_externals)[![Coverage Status](https://coveralls.io/repos/github/ESMCI/manage_externals/badge.svg?branch=master)](https://coveralls.io/github/ESMCI/manage_externals?branch=master) +``` +usage: checkout_externals [-h] [-e [EXTERNALS]] [-o] [-S] [-v] [--backtrace] + [-d] [--no-logging] + +checkout_externals manages checking out groups of externals from revision +control based on a externals description file. By default only the +required externals are checkout out. + +Operations performed by manage_externals utilities are explicit and +data driven. checkout_externals will always make the working copy *exactly* +match what is in the externals file when modifying the working copy of +a repository. + +If checkout_externals isn't doing what you expected, double check the contents +of the externals description file. + +Running checkout_externals without the '--status' option will always attempt to +synchronize the working copy to exactly match the externals description. + +optional arguments: + -h, --help show this help message and exit + -e [EXTERNALS], --externals [EXTERNALS] + The externals description filename. Default: + Externals.cfg. + -o, --optional By default only the required externals are checked + out. This flag will also checkout the optional + externals. + -S, --status Output status of the repositories managed by + checkout_externals. By default only summary + information is provided. Use verbose output to see + details. + -v, --verbose Output additional information to the screen and log + file. This flag can be used up to two times, + increasing the verbosity level each time. + --backtrace DEVELOPER: show exception backtraces as extra + debugging output + -d, --debug DEVELOPER: output additional debugging information to + the screen and log file. + --no-logging DEVELOPER: disable logging. + +``` +NOTE: checkout_externals *MUST* be run from the root of the source tree it +is managing. For example, if you cloned a repository with: + + $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev + +Then the root of the source tree is /path/to/some-project-dev. If you +obtained a sub-project via a checkout of another project: + + $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev + +and you need to checkout the sub-project externals, then the root of the +source tree is /path/to/some-project-dev. Do *NOT* run checkout_externals +from within /path/to/some-project-dev/sub-project + +The root of the source tree will be referred to as `${SRC_ROOT}` below. + +# Supported workflows + + * Checkout all required components from the default externals + description file: + + $ cd ${SRC_ROOT} + $ ./manage_externals/checkout_externals + + * To update all required components to the current values in the + externals description file, re-run checkout_externals: + + $ cd ${SRC_ROOT} + $ ./manage_externals/checkout_externals + + If there are *any* modifications to *any* working copy according + to the git or svn 'status' command, checkout_externals + will not update any external repositories. Modifications + include: modified files, added files, removed files, or missing + files. + + To avoid this safety check, edit the externals description file + and comment out the modified external block. + + * Checkout all required components from a user specified externals + description file: + + $ cd ${SRC_ROOT} + $ ./manage_externals/checkout_externals --excernals my-externals.cfg + + * Status summary of the repositories managed by checkout_externals: + + $ cd ${SRC_ROOT} + $ ./manage_externals/checkout_externals --status + + ./cime + s ./components/cism + ./components/mosart + e-o ./components/rtm + M ./src/fates + e-o ./tools/PTCLM + + where: + * column one indicates the status of the repository in relation + to the externals description file. + * column two indicates whether the working copy has modified files. + * column three shows how the repository is managed, optional or required + + Column one will be one of these values: + * s : out-of-sync : repository is checked out at a different commit + compared with the externals description + * e : empty : directory does not exist - checkout_externals has not been run + * ? : unknown : directory exists but .git or .svn directories are missing + + Column two will be one of these values: + * M : Modified : modified, added, deleted or missing files + * : blank / space : clean + * - : dash : no meaningful state, for empty repositories + + Column three will be one of these values: + * o : optional : optionally repository + * : blank / space : required repository + + * Detailed git or svn status of the repositories managed by checkout_externals: + + $ cd ${SRC_ROOT} + $ ./manage_externals/checkout_externals --status --verbose + +# Externals description file + + The externals description contains a list of the external + repositories that are used and their version control locations. The + file format is the standard ini/cfg configuration file format. Each + external is defined by a section containing the component name in + square brackets: + + * name (string) : component name, e.g. [cime], [cism], etc. + + Each section has the following keyword-value pairs: + + * required (boolean) : whether the component is a required checkout, + 'true' or 'false'. + + * local_path (string) : component path *relative* to where + checkout_externals is called. + + * protoctol (string) : version control protocol that is used to + manage the component. Valid values are 'git', 'svn', + 'externals_only'. + + Switching an external between different protocols is not + supported, e.g. from svn to git. To switch protocols, you need to + manually move the old working copy to a new location. + + Note: 'externals_only' will only process the external's own + external description file without trying to manage a repository + for the component. This is used for retreiving externals for + standalone components like cam and clm. If the source root of the + externals_only component is the same as the main source root, then + the local path must be set to '.', the unix current working + directory, e. g. 'local_path = .' + + * repo_url (string) : URL for the repository location, examples: + * https://svn-ccsm-models.cgd.ucar.edu/glc + * git@github.com:esmci/cime.git + * /path/to/local/repository + * . + + NOTE: To operate on only the local clone and and ignore remote + repositories, set the url to '.' (the unix current path), + i.e. 'repo_url = .' . This can be used to checkout a local branch + instead of the upstream branch. + + If a repo url is determined to be a local path (not a network url) + then user expansion, e.g. ~/, and environment variable expansion, + e.g. $HOME or $REPO_ROOT, will be performed. + + Relative paths are difficult to get correct, especially for mixed + use repos. It is advised that local paths expand to absolute paths. + If relative paths are used, they should be relative to one level + above local_path. If local path is 'src/foo', the the relative url + should be relative to 'src'. + + * tag (string) : tag to checkout + + * hash (string) : the git hash to checkout. Only applies to git + repositories. + + * branch (string) : branch to checkout from the specified + repository. Specifying a branch on a remote repository means that + checkout_externals will checkout the version of the branch in the remote, + not the the version in the local repository (if it exists). + + Note: one and only one of tag, branch hash must be supplied. + + * externals (string) : used to make manage_externals aware of + sub-externals required by an external. This is a relative path to + the external's root directory. For example, the main externals + description has an external checkout out at 'src/useful_library'. + useful_library requires additional externals to be complete. + Those additional externals are managed from the source root by the + externals description file pointed 'useful_library/sub-xternals.cfg', + Then the main 'externals' field in the top level repo should point to + 'sub-externals.cfg'. + + * Lines begining with '#' or ';' are comments and will be ignored. + +# Obtaining this tool, reporting issues, etc. + + The master repository for manage_externals is + https://github.com/ESMCI/manage_externals. Any issues with this tool + should be reported there. diff --git a/manage_externals/README_FIRST b/manage_externals/README_FIRST new file mode 100644 index 000000000..c8a47d780 --- /dev/null +++ b/manage_externals/README_FIRST @@ -0,0 +1,54 @@ +CESM is comprised of a number of different components that are +developed and managed independently. Each component may have +additional 'external' dependancies and optional parts that are also +developed and managed independently. + +The checkout_externals.py tool manages retreiving and updating the +components and their externals so you have a complete set of source +files for the model. + +checkout_externals.py relies on a model description file that +describes what components are needed, where to find them and where to +put them in the source tree. The default file is called "CESM.xml" +regardless of whether you are checking out CESM or a standalone +component. + +checkout_externals requires access to git and svn repositories that +require authentication. checkout_externals may pass through +authentication requests, but it will not cache them for you. For the +best and most robust user experience, you should have svn and git +working without password authentication. See: + + https://help.github.com/articles/connecting-to-github-with-ssh/ + + ?svn ref? + +NOTE: checkout_externals.py *MUST* be run from the root of the source +tree it is managing. For example, if you cloned CLM with: + + $ git clone git@github.com/ncar/clm clm-dev + +Then the root of the source tree is /path/to/cesm-dev. If you obtained +CLM via an svn checkout of CESM and you need to checkout the CLM +externals, then the root of the source tree for CLM is: + + /path/to/cesm-dev/components/clm + +The root of the source tree will be referred to as ${SRC_ROOT} below. + +To get started quickly, checkout all required components from the +default model description file: + + $ cd ${SRC_ROOT} + $ ./checkout_cesm/checkout_externals.py + +For additional information about using checkout model, please see: + + ${SRC_ROOT}/checkout_cesm/README + +or run: + + $ cd ${SRC_ROOT} + $ ./checkout_cesm/checkout_externals.py --help + + diff --git a/manage_externals/checkout_externals b/manage_externals/checkout_externals new file mode 100755 index 000000000..a0698baef --- /dev/null +++ b/manage_externals/checkout_externals @@ -0,0 +1,36 @@ +#!/usr/bin/env python + +"""Main driver wrapper around the manic/checkout utility. + +Tool to assemble external respositories represented in an externals +description file. + +""" +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import sys +import traceback + +import manic + +if sys.hexversion < 0x02070000: + print(70 * '*') + print('ERROR: {0} requires python >= 2.7.x. '.format(sys.argv[0])) + print('It appears that you are running python {0}'.format( + '.'.join(str(x) for x in sys.version_info[0:3]))) + print(70 * '*') + sys.exit(1) + + +if __name__ == '__main__': + ARGS = manic.checkout.commandline_arguments() + try: + RET_STATUS, _ = manic.checkout.main(ARGS) + sys.exit(RET_STATUS) + except Exception as error: # pylint: disable=broad-except + manic.printlog(str(error)) + if ARGS.backtrace: + traceback.print_exc() + sys.exit(1) diff --git a/manage_externals/manic/__init__.py b/manage_externals/manic/__init__.py new file mode 100644 index 000000000..11badedd3 --- /dev/null +++ b/manage_externals/manic/__init__.py @@ -0,0 +1,9 @@ +"""Public API for the manage_externals library +""" + +from manic import checkout +from manic.utils import printlog + +__all__ = [ + 'checkout', 'printlog', +] diff --git a/manage_externals/manic/checkout.py b/manage_externals/manic/checkout.py new file mode 100755 index 000000000..afd3a2788 --- /dev/null +++ b/manage_externals/manic/checkout.py @@ -0,0 +1,409 @@ +#!/usr/bin/env python + +""" +Tool to assemble repositories represented in a model-description file. + +If loaded as a module (e.g., in a component's buildcpp), it can be used +to check the validity of existing subdirectories and load missing sources. +""" +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import argparse +import logging +import os +import os.path +import sys + +from manic.externals_description import create_externals_description +from manic.externals_description import read_externals_description_file +from manic.externals_status import check_safe_to_update_repos +from manic.sourcetree import SourceTree +from manic.utils import printlog, fatal_error +from manic.global_constants import VERSION_SEPERATOR, LOG_FILE_NAME + +if sys.hexversion < 0x02070000: + print(70 * '*') + print('ERROR: {0} requires python >= 2.7.x. '.format(sys.argv[0])) + print('It appears that you are running python {0}'.format( + VERSION_SEPERATOR.join(str(x) for x in sys.version_info[0:3]))) + print(70 * '*') + sys.exit(1) + + +# --------------------------------------------------------------------- +# +# User input +# +# --------------------------------------------------------------------- +def commandline_arguments(args=None): + """Process the command line arguments + + Params: args - optional args. Should only be used during systems + testing. + + Returns: processed command line arguments + """ + description = ''' + +%(prog)s manages checking out groups of externals from revision +control based on an externals description file. By default only the +required externals are checkout out. + +Running %(prog)s without the '--status' option will always attempt to +synchronize the working copy to exactly match the externals description. +''' + + epilog = ''' +``` +NOTE: %(prog)s *MUST* be run from the root of the source tree it +is managing. For example, if you cloned a repository with: + + $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev + +Then the root of the source tree is /path/to/some-project-dev. If you +obtained a sub-project via a checkout of another project: + + $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev + +and you need to checkout the sub-project externals, then the root of the +source tree remains /path/to/some-project-dev. Do *NOT* run %(prog)s +from within /path/to/some-project-dev/sub-project + +The root of the source tree will be referred to as `${SRC_ROOT}` below. + + +# Supported workflows + + * Checkout all required components from the default externals + description file: + + $ cd ${SRC_ROOT} + $ ./manage_externals/%(prog)s + + * To update all required components to the current values in the + externals description file, re-run %(prog)s: + + $ cd ${SRC_ROOT} + $ ./manage_externals/%(prog)s + + If there are *any* modifications to *any* working copy according + to the git or svn 'status' command, %(prog)s + will not update any external repositories. Modifications + include: modified files, added files, removed files, or missing + files. + + To avoid this safety check, edit the externals description file + and comment out the modified external block. + + * Checkout all required components from a user specified externals + description file: + + $ cd ${SRC_ROOT} + $ ./manage_externals/%(prog)s --externals my-externals.cfg + + * Status summary of the repositories managed by %(prog)s: + + $ cd ${SRC_ROOT} + $ ./manage_externals/%(prog)s --status + + ./cime + s ./components/cism + ./components/mosart + e-o ./components/rtm + M ./src/fates + e-o ./tools/PTCLM + + + where: + * column one indicates the status of the repository in relation + to the externals description file. + * column two indicates whether the working copy has modified files. + * column three shows how the repository is managed, optional or required + + Column one will be one of these values: + * s : out-of-sync : repository is checked out at a different commit + compared with the externals description + * e : empty : directory does not exist - %(prog)s has not been run + * ? : unknown : directory exists but .git or .svn directories are missing + + Column two will be one of these values: + * M : Modified : modified, added, deleted or missing files + * : blank / space : clean + * - : dash : no meaningful state, for empty repositories + + Column three will be one of these values: + * o : optional : optionally repository + * : blank / space : required repository + + * Detailed git or svn status of the repositories managed by %(prog)s: + + $ cd ${SRC_ROOT} + $ ./manage_externals/%(prog)s --status --verbose + +# Externals description file + + The externals description contains a list of the external + repositories that are used and their version control locations. The + file format is the standard ini/cfg configuration file format. Each + external is defined by a section containing the component name in + square brackets: + + * name (string) : component name, e.g. [cime], [cism], etc. + + Each section has the following keyword-value pairs: + + * required (boolean) : whether the component is a required checkout, + 'true' or 'false'. + + * local_path (string) : component path *relative* to where + %(prog)s is called. + + * protoctol (string) : version control protocol that is used to + manage the component. Valid values are 'git', 'svn', + 'externals_only'. + + Switching an external between different protocols is not + supported, e.g. from svn to git. To switch protocols, you need to + manually move the old working copy to a new location. + + Note: 'externals_only' will only process the external's own + external description file without trying to manage a repository + for the component. This is used for retrieving externals for + standalone components like cam and ctsm which also serve as + sub-components within a larger project. If the source root of the + externals_only component is the same as the main source root, then + the local path must be set to '.', the unix current working + directory, e. g. 'local_path = .' + + * repo_url (string) : URL for the repository location, examples: + * https://svn-ccsm-models.cgd.ucar.edu/glc + * git@github.com:esmci/cime.git + * /path/to/local/repository + * . + + NOTE: To operate on only the local clone and and ignore remote + repositories, set the url to '.' (the unix current path), + i.e. 'repo_url = .' . This can be used to checkout a local branch + instead of the upstream branch. + + If a repo url is determined to be a local path (not a network url) + then user expansion, e.g. ~/, and environment variable expansion, + e.g. $HOME or $REPO_ROOT, will be performed. + + Relative paths are difficult to get correct, especially for mixed + use repos. It is advised that local paths expand to absolute paths. + If relative paths are used, they should be relative to one level + above local_path. If local path is 'src/foo', the the relative url + should be relative to 'src'. + + * tag (string) : tag to checkout + + * hash (string) : the git hash to checkout. Only applies to git + repositories. + + * branch (string) : branch to checkout from the specified + repository. Specifying a branch on a remote repository means that + %(prog)s will checkout the version of the branch in the remote, + not the the version in the local repository (if it exists). + + Note: one and only one of tag, branch hash must be supplied. + + * externals (string) : used to make manage_externals aware of + sub-externals required by an external. This is a relative path to + the external's root directory. For example, if LIBX is often used + as a sub-external, it might have an externals file (for its + externals) called Externals_LIBX.cfg. To use libx as a standalone + checkout, it would have another file, Externals.cfg with the + following entry: + + [ libx ] + local_path = . + protocol = externals_only + externals = Externals_LIBX.cfg + required = True + + Now, %(prog)s will process Externals.cfg and also process + Externals_LIBX.cfg as if it was a sub-external. + + * Lines beginning with '#' or ';' are comments and will be ignored. + +# Obtaining this tool, reporting issues, etc. + + The master repository for manage_externals is + https://github.com/ESMCI/manage_externals. Any issues with this tool + should be reported there. + +# Troubleshooting + +Operations performed by manage_externals utilities are explicit and +data driven. %(prog)s will always attempt to make the working copy +*exactly* match what is in the externals file when modifying the +working copy of a repository. + +If %(prog)s is not doing what you expected, double check the contents +of the externals description file or examine the output of +./manage_externals/%(prog)s --status + +''' + + parser = argparse.ArgumentParser( + description=description, epilog=epilog, + formatter_class=argparse.RawDescriptionHelpFormatter) + + # + # user options + # + parser.add_argument("components", nargs="*", + help="Specific component(s) to checkout. By default, " + "all required externals are checked out.") + + parser.add_argument('-e', '--externals', nargs='?', + default='Externals.cfg', + help='The externals description filename. ' + 'Default: %(default)s.') + + parser.add_argument('-o', '--optional', action='store_true', default=False, + help='By default only the required externals ' + 'are checked out. This flag will also checkout the ' + 'optional externals.') + + parser.add_argument('-S', '--status', action='store_true', default=False, + help='Output the status of the repositories managed by ' + '%(prog)s. By default only summary information ' + 'is provided. Use the verbose option to see details.') + + parser.add_argument('-v', '--verbose', action='count', default=0, + help='Output additional information to ' + 'the screen and log file. This flag can be ' + 'used up to two times, increasing the ' + 'verbosity level each time.') + + parser.add_argument('--svn-ignore-ancestry', action='store_true', default=False, + help='By default, subversion will abort if a component is ' + 'already checked out and there is no common ancestry with ' + 'the new URL. This flag passes the "--ignore-ancestry" flag ' + 'to the svn switch call. (This is not recommended unless ' + 'you are sure about what you are doing.)') + + # + # developer options + # + parser.add_argument('--backtrace', action='store_true', + help='DEVELOPER: show exception backtraces as extra ' + 'debugging output') + + parser.add_argument('-d', '--debug', action='store_true', default=False, + help='DEVELOPER: output additional debugging ' + 'information to the screen and log file.') + + logging_group = parser.add_mutually_exclusive_group() + + logging_group.add_argument('--logging', dest='do_logging', + action='store_true', + help='DEVELOPER: enable logging.') + logging_group.add_argument('--no-logging', dest='do_logging', + action='store_false', default=False, + help='DEVELOPER: disable logging ' + '(this is the default)') + + if args: + options = parser.parse_args(args) + else: + options = parser.parse_args() + return options + + +# --------------------------------------------------------------------- +# +# main +# +# --------------------------------------------------------------------- +def main(args): + """ + Function to call when module is called from the command line. + Parse externals file and load required repositories or all repositories if + the --all option is passed. + + Returns a tuple (overall_status, tree_status). overall_status is 0 + on success, non-zero on failure. tree_status gives the full status + *before* executing the checkout command - i.e., the status that it + used to determine if it's safe to proceed with the checkout. + """ + if args.do_logging: + logging.basicConfig(filename=LOG_FILE_NAME, + format='%(levelname)s : %(asctime)s : %(message)s', + datefmt='%Y-%m-%d %H:%M:%S', + level=logging.DEBUG) + + program_name = os.path.basename(sys.argv[0]) + logging.info('Beginning of %s', program_name) + + load_all = False + if args.optional: + load_all = True + + root_dir = os.path.abspath(os.getcwd()) + external_data = read_externals_description_file(root_dir, args.externals) + external = create_externals_description( + external_data, components=args.components) + + for comp in args.components: + if comp not in external.keys(): + fatal_error( + "No component {} found in {}".format( + comp, args.externals)) + + source_tree = SourceTree(root_dir, external, svn_ignore_ancestry=args.svn_ignore_ancestry) + printlog('Checking status of externals: ', end='') + tree_status = source_tree.status() + printlog('') + + if args.status: + # user requested status-only + for comp in sorted(tree_status.keys()): + tree_status[comp].log_status_message(args.verbose) + else: + # checkout / update the external repositories. + safe_to_update = check_safe_to_update_repos(tree_status) + if not safe_to_update: + # print status + for comp in sorted(tree_status.keys()): + tree_status[comp].log_status_message(args.verbose) + # exit gracefully + msg = """The external repositories labeled with 'M' above are not in a clean state. + +The following are two options for how to proceed: + +(1) Go into each external that is not in a clean state and issue either + an 'svn status' or a 'git status' command. Either revert or commit + your changes so that all externals are in a clean state. (Note, + though, that it is okay to have untracked files in your working + directory.) Then rerun {program_name}. + +(2) Alternatively, you do not have to rely on {program_name}. Instead, you + can manually update out-of-sync externals (labeled with 's' above) + as described in the configuration file {config_file}. + + +The external repositories labeled with '?' above are not under version +control using the expected protocol. If you are sure you want to switch +protocols, and you don't have any work you need to save from this +directory, then run "rm -rf [directory]" before re-running the +checkout_externals tool. +""".format(program_name=program_name, config_file=args.externals) + + printlog('-' * 70) + printlog(msg) + printlog('-' * 70) + else: + if not args.components: + source_tree.checkout(args.verbose, load_all) + for comp in args.components: + source_tree.checkout(args.verbose, load_all, load_comp=comp) + printlog('') + + logging.info('%s completed without exceptions.', program_name) + # NOTE(bja, 2017-11) tree status is used by the systems tests + return 0, tree_status diff --git a/manage_externals/manic/externals_description.py b/manage_externals/manic/externals_description.py new file mode 100644 index 000000000..3cebf525b --- /dev/null +++ b/manage_externals/manic/externals_description.py @@ -0,0 +1,790 @@ +#!/usr/bin/env python + +"""Model description + +Model description is the representation of the various externals +included in the model. It processes in input data structure, and +converts it into a standard interface that is used by the rest of the +system. + +To maintain backward compatibility, externals description files should +follow semantic versioning rules, http://semver.org/ + + + +""" +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import logging +import os +import os.path +import re + +# ConfigParser in python2 was renamed to configparser in python3. +# In python2, ConfigParser returns byte strings, str, instead of unicode. +# We need unicode to be compatible with xml and json parser and python3. +try: + # python2 + from ConfigParser import SafeConfigParser as config_parser + from ConfigParser import MissingSectionHeaderError + from ConfigParser import NoSectionError, NoOptionError + + USE_PYTHON2 = True + + def config_string_cleaner(text): + """convert strings into unicode + """ + return text.decode('utf-8') +except ImportError: + # python3 + from configparser import ConfigParser as config_parser + from configparser import MissingSectionHeaderError + from configparser import NoSectionError, NoOptionError + + USE_PYTHON2 = False + + def config_string_cleaner(text): + """Python3 already uses unicode strings, so just return the string + without modification. + + """ + return text + +from .utils import printlog, fatal_error, str_to_bool, expand_local_url +from .utils import execute_subprocess +from .global_constants import EMPTY_STR, PPRINTER, VERSION_SEPERATOR + +# +# Globals +# +DESCRIPTION_SECTION = 'externals_description' +VERSION_ITEM = 'schema_version' + + +def read_externals_description_file(root_dir, file_name): + """Read a file containing an externals description and + create its internal representation. + + """ + root_dir = os.path.abspath(root_dir) + msg = 'In directory : {0}'.format(root_dir) + logging.info(msg) + printlog('Processing externals description file : {0}'.format(file_name)) + + file_path = os.path.join(root_dir, file_name) + if not os.path.exists(file_name): + if file_name.lower() == "none": + msg = ('INTERNAL ERROR: Attempt to read externals file ' + 'from {0} when not configured'.format(file_path)) + else: + msg = ('ERROR: Model description file, "{0}", does not ' + 'exist at path:\n {1}\nDid you run from the root of ' + 'the source tree?'.format(file_name, file_path)) + + fatal_error(msg) + + externals_description = None + if file_name == ExternalsDescription.GIT_SUBMODULES_FILENAME: + externals_description = read_gitmodules_file(root_dir, file_name) + else: + try: + config = config_parser() + config.read(file_path) + externals_description = config + except MissingSectionHeaderError: + # not a cfg file + pass + + if externals_description is None: + msg = 'Unknown file format!' + fatal_error(msg) + + return externals_description + +class LstripReader(object): + "LstripReader formats .gitmodules files to be acceptable for configparser" + def __init__(self, filename): + with open(filename, 'r') as infile: + lines = infile.readlines() + self._lines = list() + self._num_lines = len(lines) + self._index = 0 + for line in lines: + self._lines.append(line.lstrip()) + + def readlines(self): + """Return all the lines from this object's file""" + return self._lines + + def readline(self, size=-1): + """Format and return the next line or raise StopIteration""" + try: + line = self.next() + except StopIteration: + line = '' + + if (size > 0) and (len(line) < size): + return line[0:size] + + return line + + def __iter__(self): + """Begin an iteration""" + self._index = 0 + return self + + def next(self): + """Return the next line or raise StopIteration""" + if self._index >= self._num_lines: + raise StopIteration + + self._index = self._index + 1 + return self._lines[self._index - 1] + + def __next__(self): + return self.next() + +def git_submodule_status(repo_dir): + """Run the git submodule status command to obtain submodule hashes. + """ + # This function is here instead of GitRepository to avoid a dependency loop + cwd = os.getcwd() + os.chdir(repo_dir) + cmd = ['git', 'submodule', 'status'] + git_output = execute_subprocess(cmd, output_to_caller=True) + submodules = {} + submods = git_output.split('\n') + for submod in submods: + if submod: + status = submod[0] + items = submod[1:].split(' ') + if len(items) > 2: + tag = items[2] + else: + tag = None + + submodules[items[1]] = {'hash':items[0], 'status':status, 'tag':tag} + + os.chdir(cwd) + return submodules + +def parse_submodules_desc_section(section_items, file_path): + """Find the path and url for this submodule description""" + path = None + url = None + for item in section_items: + name = item[0].strip().lower() + if name == 'path': + path = item[1].strip() + elif name == 'url': + url = item[1].strip() + else: + msg = 'WARNING: Ignoring unknown {} property, in {}' + msg = msg.format(item[0], file_path) # fool pylint + logging.warning(msg) + + return path, url + +def read_gitmodules_file(root_dir, file_name): + # pylint: disable=deprecated-method + # Disabling this check because the method is only used for python2 + """Read a .gitmodules file and convert it to be compatible with an + externals description. + """ + root_dir = os.path.abspath(root_dir) + msg = 'In directory : {0}'.format(root_dir) + logging.info(msg) + printlog('Processing submodules description file : {0}'.format(file_name)) + + file_path = os.path.join(root_dir, file_name) + if not os.path.exists(file_name): + msg = ('ERROR: submodules description file, "{0}", does not ' + 'exist at path:\n {1}'.format(file_name, file_path)) + fatal_error(msg) + + submodules_description = None + externals_description = None + try: + config = config_parser() + if USE_PYTHON2: + config.readfp(LstripReader(file_path), filename=file_name) + else: + config.read_file(LstripReader(file_path), source=file_name) + + submodules_description = config + except MissingSectionHeaderError: + # not a cfg file + pass + + if submodules_description is None: + msg = 'Unknown file format!' + fatal_error(msg) + else: + # Convert the submodules description to an externals description + externals_description = config_parser() + # We need to grab all the commit hashes for this repo + submods = git_submodule_status(root_dir) + for section in submodules_description.sections(): + if section[0:9] == 'submodule': + sec_name = section[9:].strip(' "') + externals_description.add_section(sec_name) + section_items = submodules_description.items(section) + path, url = parse_submodules_desc_section(section_items, + file_path) + + if path is None: + msg = 'Submodule {} missing path'.format(sec_name) + fatal_error(msg) + + if url is None: + msg = 'Submodule {} missing url'.format(sec_name) + fatal_error(msg) + + externals_description.set(sec_name, + ExternalsDescription.PATH, path) + externals_description.set(sec_name, + ExternalsDescription.PROTOCOL, 'git') + externals_description.set(sec_name, + ExternalsDescription.REPO_URL, url) + externals_description.set(sec_name, + ExternalsDescription.REQUIRED, 'True') + git_hash = submods[sec_name]['hash'] + externals_description.set(sec_name, + ExternalsDescription.HASH, git_hash) + + # Required items + externals_description.add_section(DESCRIPTION_SECTION) + externals_description.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.0') + + return externals_description + +def create_externals_description( + model_data, model_format='cfg', components=None, parent_repo=None): + """Create the a externals description object from the provided data + """ + externals_description = None + if model_format == 'dict': + externals_description = ExternalsDescriptionDict( + model_data, components=components) + elif model_format == 'cfg': + major, _, _ = get_cfg_schema_version(model_data) + if major == 1: + externals_description = ExternalsDescriptionConfigV1( + model_data, components=components, parent_repo=parent_repo) + else: + msg = ('Externals description file has unsupported schema ' + 'version "{0}".'.format(major)) + fatal_error(msg) + else: + msg = 'Unknown model data format "{0}"'.format(model_format) + fatal_error(msg) + return externals_description + + +def get_cfg_schema_version(model_cfg): + """Extract the major, minor, patch version of the config file schema + + Params: + model_cfg - config parser object containing the externas description data + + Returns: + major = integer major version + minor = integer minor version + patch = integer patch version + """ + semver_str = '' + try: + semver_str = model_cfg.get(DESCRIPTION_SECTION, VERSION_ITEM) + except (NoSectionError, NoOptionError): + msg = ('externals description file must have the required ' + 'section: "{0}" and item "{1}"'.format(DESCRIPTION_SECTION, + VERSION_ITEM)) + fatal_error(msg) + + # NOTE(bja, 2017-11) Assume we don't care about the + # build/pre-release metadata for now! + version_list = re.split(r'[-+]', semver_str) + version_str = version_list[0] + version = version_str.split(VERSION_SEPERATOR) + try: + major = int(version[0].strip()) + minor = int(version[1].strip()) + patch = int(version[2].strip()) + except ValueError: + msg = ('Config file schema version must have integer digits for ' + 'major, minor and patch versions. ' + 'Received "{0}"'.format(version_str)) + fatal_error(msg) + return major, minor, patch + + +class ExternalsDescription(dict): + """Base externals description class that is independent of the user input + format. Different input formats can all be converted to this + representation to provide a consistent represtentation for the + rest of the objects in the system. + + NOTE(bja, 2018-03): do NOT define _schema_major etc at the class + level in the base class. The nested/recursive nature of externals + means different schema versions may be present in a single run! + + All inheriting classes must overwrite: + self._schema_major and self._input_major + self._schema_minor and self._input_minor + self._schema_patch and self._input_patch + + where _schema_x is the supported schema, _input_x is the user + input value. + + """ + # keywords defining the interface into the externals description data + EXTERNALS = 'externals' + BRANCH = 'branch' + SUBMODULE = 'from_submodule' + HASH = 'hash' + NAME = 'name' + PATH = 'local_path' + PROTOCOL = 'protocol' + REPO = 'repo' + REPO_URL = 'repo_url' + REQUIRED = 'required' + TAG = 'tag' + + PROTOCOL_EXTERNALS_ONLY = 'externals_only' + PROTOCOL_GIT = 'git' + PROTOCOL_SVN = 'svn' + GIT_SUBMODULES_FILENAME = '.gitmodules' + KNOWN_PRROTOCOLS = [PROTOCOL_GIT, PROTOCOL_SVN, PROTOCOL_EXTERNALS_ONLY] + + # v1 xml keywords + _V1_TREE_PATH = 'TREE_PATH' + _V1_ROOT = 'ROOT' + _V1_TAG = 'TAG' + _V1_BRANCH = 'BRANCH' + _V1_REQ_SOURCE = 'REQ_SOURCE' + + _source_schema = {REQUIRED: True, + PATH: 'string', + EXTERNALS: 'string', + SUBMODULE : True, + REPO: {PROTOCOL: 'string', + REPO_URL: 'string', + TAG: 'string', + BRANCH: 'string', + HASH: 'string', + } + } + + def __init__(self, parent_repo=None): + """Convert the xml into a standardized dict that can be used to + construct the source objects + + """ + dict.__init__(self) + + self._schema_major = None + self._schema_minor = None + self._schema_patch = None + self._input_major = None + self._input_minor = None + self._input_patch = None + self._parent_repo = parent_repo + + def _verify_schema_version(self): + """Use semantic versioning rules to verify we can process this schema. + + """ + known = '{0}.{1}.{2}'.format(self._schema_major, + self._schema_minor, + self._schema_patch) + received = '{0}.{1}.{2}'.format(self._input_major, + self._input_minor, + self._input_patch) + + if self._input_major != self._schema_major: + # should never get here, the factory should handle this correctly! + msg = ('DEV_ERROR: version "{0}" parser received ' + 'version "{1}" input.'.format(known, received)) + fatal_error(msg) + + if self._input_minor > self._schema_minor: + msg = ('Incompatible schema version:\n' + ' User supplied schema version "{0}" is too new."\n' + ' Can only process version "{1}" files and ' + 'older.'.format(received, known)) + fatal_error(msg) + + if self._input_patch > self._schema_patch: + # NOTE(bja, 2018-03) ignoring for now... Not clear what + # conditions the test is needed. + pass + + def _check_user_input(self): + """Run a series of checks to attempt to validate the user input and + detect errors as soon as possible. + + NOTE(bja, 2018-03) These checks are called *after* the file is + read. That means the schema check can not occur here. + + Note: the order is important. check_optional will create + optional with null data. run check_data first to ensure + required data was provided correctly by the user. + + """ + self._check_data() + self._check_optional() + self._validate() + + def _check_data(self): + # pylint: disable=too-many-branches,too-many-statements + """Check user supplied data is valid where possible. + """ + for ext_name in self.keys(): + if (self[ext_name][self.REPO][self.PROTOCOL] + not in self.KNOWN_PRROTOCOLS): + msg = 'Unknown repository protocol "{0}" in "{1}".'.format( + self[ext_name][self.REPO][self.PROTOCOL], ext_name) + fatal_error(msg) + + if (self[ext_name][self.REPO][self.PROTOCOL] == + self.PROTOCOL_SVN): + if self.HASH in self[ext_name][self.REPO]: + msg = ('In repo description for "{0}". svn repositories ' + 'may not include the "hash" keyword.'.format( + ext_name)) + fatal_error(msg) + + if ((self[ext_name][self.REPO][self.PROTOCOL] != self.PROTOCOL_GIT) + and (self.SUBMODULE in self[ext_name])): + msg = ('self.SUBMODULE is only supported with {0} protocol, ' + '"{1}" is defined as an {2} repository') + fatal_error(msg.format(self.PROTOCOL_GIT, ext_name, + self[ext_name][self.REPO][self.PROTOCOL])) + + if (self[ext_name][self.REPO][self.PROTOCOL] != + self.PROTOCOL_EXTERNALS_ONLY): + ref_count = 0 + found_refs = '' + if self.TAG in self[ext_name][self.REPO]: + ref_count += 1 + found_refs = '"{0} = {1}", {2}'.format( + self.TAG, self[ext_name][self.REPO][self.TAG], + found_refs) + if self.BRANCH in self[ext_name][self.REPO]: + ref_count += 1 + found_refs = '"{0} = {1}", {2}'.format( + self.BRANCH, self[ext_name][self.REPO][self.BRANCH], + found_refs) + if self.HASH in self[ext_name][self.REPO]: + ref_count += 1 + found_refs = '"{0} = {1}", {2}'.format( + self.HASH, self[ext_name][self.REPO][self.HASH], + found_refs) + if (self.SUBMODULE in self[ext_name] and + self[ext_name][self.SUBMODULE]): + ref_count += 1 + found_refs = '"{0} = {1}", {2}'.format( + self.SUBMODULE, + self[ext_name][self.SUBMODULE], found_refs) + + if ref_count > 1: + msg = 'Model description is over specified! ' + if self.SUBMODULE in self[ext_name]: + msg += ('from_submodule is not compatible with ' + '"tag", "branch", or "hash" ') + else: + msg += (' Only one of "tag", "branch", or "hash" ' + 'may be specified ') + + msg += 'for repo description of "{0}".'.format(ext_name) + msg = '{0}\nFound: {1}'.format(msg, found_refs) + fatal_error(msg) + elif ref_count < 1: + msg = ('Model description is under specified! One of ' + '"tag", "branch", or "hash" must be specified for ' + 'repo description of "{0}"'.format(ext_name)) + fatal_error(msg) + + if (self.REPO_URL not in self[ext_name][self.REPO] and + (self.SUBMODULE not in self[ext_name] or + not self[ext_name][self.SUBMODULE])): + msg = ('Model description is under specified! Must have ' + '"repo_url" in repo ' + 'description for "{0}"'.format(ext_name)) + fatal_error(msg) + + if (self.SUBMODULE in self[ext_name] and + self[ext_name][self.SUBMODULE]): + if self.REPO_URL in self[ext_name][self.REPO]: + msg = ('Model description is over specified! ' + 'from_submodule keyword is not compatible ' + 'with {0} keyword for'.format(self.REPO_URL)) + msg = '{0} repo description of "{1}"'.format(msg, + ext_name) + fatal_error(msg) + + if self.PATH in self[ext_name]: + msg = ('Model description is over specified! ' + 'from_submodule keyword is not compatible with ' + '{0} keyword for'.format(self.PATH)) + msg = '{0} repo description of "{1}"'.format(msg, + ext_name) + fatal_error(msg) + + if self.REPO_URL in self[ext_name][self.REPO]: + url = expand_local_url( + self[ext_name][self.REPO][self.REPO_URL], ext_name) + self[ext_name][self.REPO][self.REPO_URL] = url + + def _check_optional(self): + # pylint: disable=too-many-branches + """Some fields like externals, repo:tag repo:branch are + (conditionally) optional. We don't want the user to be + required to enter them in every externals description file, but + still want to validate the input. Check conditions and add + default values if appropriate. + + """ + submod_desc = None # Only load submodules info once + for field in self: + # truely optional + if self.EXTERNALS not in self[field]: + self[field][self.EXTERNALS] = EMPTY_STR + + # git and svn repos must tags and branches for validation purposes. + if self.TAG not in self[field][self.REPO]: + self[field][self.REPO][self.TAG] = EMPTY_STR + if self.BRANCH not in self[field][self.REPO]: + self[field][self.REPO][self.BRANCH] = EMPTY_STR + if self.HASH not in self[field][self.REPO]: + self[field][self.REPO][self.HASH] = EMPTY_STR + if self.REPO_URL not in self[field][self.REPO]: + self[field][self.REPO][self.REPO_URL] = EMPTY_STR + + # from_submodule has a complex relationship with other fields + if self.SUBMODULE in self[field]: + # User wants to use submodule information, is it available? + if self._parent_repo is None: + # No parent == no submodule information + PPRINTER.pprint(self[field]) + msg = 'No parent submodule for "{0}"'.format(field) + fatal_error(msg) + elif self._parent_repo.protocol() != self.PROTOCOL_GIT: + PPRINTER.pprint(self[field]) + msg = 'Parent protocol, "{0}", does not support submodules' + fatal_error(msg.format(self._parent_repo.protocol())) + else: + args = self._repo_config_from_submodule(field, submod_desc) + repo_url, repo_path, ref_hash, submod_desc = args + + if repo_url is None: + msg = ('Cannot checkout "{0}" as a submodule, ' + 'repo not found in {1} file') + fatal_error(msg.format(field, + self.GIT_SUBMODULES_FILENAME)) + # Fill in submodule fields + self[field][self.REPO][self.REPO_URL] = repo_url + self[field][self.REPO][self.HASH] = ref_hash + self[field][self.PATH] = repo_path + + if self[field][self.SUBMODULE]: + # We should get everything from the parent submodule + # configuration. + pass + # No else (from _submodule = False is the default) + else: + # Add the default value (not using submodule information) + self[field][self.SUBMODULE] = False + + def _repo_config_from_submodule(self, field, submod_desc): + """Find the external config information for a repository from + its submodule configuration information. + """ + if submod_desc is None: + repo_path = os.getcwd() # Is this always correct? + submod_file = self._parent_repo.submodules_file(repo_path=repo_path) + if submod_file is None: + msg = ('Cannot checkout "{0}" from submodule information\n' + ' Parent repo, "{1}" does not have submodules') + fatal_error(msg.format(field, self._parent_repo.name())) + + submod_file = read_gitmodules_file(repo_path, submod_file) + submod_desc = create_externals_description(submod_file) + + # Can we find our external? + repo_url = None + repo_path = None + ref_hash = None + for ext_field in submod_desc: + if field == ext_field: + ext = submod_desc[ext_field] + repo_url = ext[self.REPO][self.REPO_URL] + repo_path = ext[self.PATH] + ref_hash = ext[self.REPO][self.HASH] + break + + return repo_url, repo_path, ref_hash, submod_desc + + def _validate(self): + """Validate that the parsed externals description contains all necessary + fields. + + """ + def print_compare_difference(data_a, data_b, loc_a, loc_b): + """Look through the data structures and print the differences. + + """ + for item in data_a: + if item in data_b: + if not isinstance(data_b[item], type(data_a[item])): + printlog(" {item}: {loc} = {val} ({val_type})".format( + item=item, loc=loc_a, val=data_a[item], + val_type=type(data_a[item]))) + printlog(" {item} {loc} = {val} ({val_type})".format( + item=' ' * len(item), loc=loc_b, val=data_b[item], + val_type=type(data_b[item]))) + else: + printlog(" {item}: {loc} = {val} ({val_type})".format( + item=item, loc=loc_a, val=data_a[item], + val_type=type(data_a[item]))) + printlog(" {item} {loc} missing".format( + item=' ' * len(item), loc=loc_b)) + + def validate_data_struct(schema, data): + """Compare a data structure against a schema and validate all required + fields are present. + + """ + is_valid = False + in_ref = True + valid = True + if isinstance(schema, dict) and isinstance(data, dict): + # Both are dicts, recursively verify that all fields + # in schema are present in the data. + for key in schema: + in_ref = in_ref and (key in data) + if in_ref: + valid = valid and ( + validate_data_struct(schema[key], data[key])) + + is_valid = in_ref and valid + else: + # non-recursive structure. verify data and schema have + # the same type. + is_valid = isinstance(data, type(schema)) + + if not is_valid: + printlog(" Unmatched schema and input:") + if isinstance(schema, dict): + print_compare_difference(schema, data, 'schema', 'input') + print_compare_difference(data, schema, 'input', 'schema') + else: + printlog(" schema = {0} ({1})".format( + schema, type(schema))) + printlog(" input = {0} ({1})".format(data, type(data))) + + return is_valid + + for field in self: + valid = validate_data_struct(self._source_schema, self[field]) + if not valid: + PPRINTER.pprint(self._source_schema) + PPRINTER.pprint(self[field]) + msg = 'ERROR: source for "{0}" did not validate'.format(field) + fatal_error(msg) + + +class ExternalsDescriptionDict(ExternalsDescription): + """Create a externals description object from a dictionary using the API + representations. Primarily used to simplify creating model + description files for unit testing. + + """ + + def __init__(self, model_data, components=None): + """Parse a native dictionary into a externals description. + """ + ExternalsDescription.__init__(self) + self._schema_major = 1 + self._schema_minor = 0 + self._schema_patch = 0 + self._input_major = 1 + self._input_minor = 0 + self._input_patch = 0 + self._verify_schema_version() + if components: + for key in model_data.items(): + if key not in components: + del model_data[key] + + self.update(model_data) + self._check_user_input() + + +class ExternalsDescriptionConfigV1(ExternalsDescription): + """Create a externals description object from a config_parser object, + schema version 1. + + """ + + def __init__(self, model_data, components=None, parent_repo=None): + """Convert the config data into a standardized dict that can be used to + construct the source objects + + """ + ExternalsDescription.__init__(self, parent_repo=parent_repo) + self._schema_major = 1 + self._schema_minor = 1 + self._schema_patch = 0 + self._input_major, self._input_minor, self._input_patch = \ + get_cfg_schema_version(model_data) + self._verify_schema_version() + self._remove_metadata(model_data) + self._parse_cfg(model_data, components=components) + self._check_user_input() + + @staticmethod + def _remove_metadata(model_data): + """Remove the metadata section from the model configuration file so + that it is simpler to look through the file and construct the + externals description. + + """ + model_data.remove_section(DESCRIPTION_SECTION) + + def _parse_cfg(self, cfg_data, components=None): + """Parse a config_parser object into a externals description. + """ + def list_to_dict(input_list, convert_to_lower_case=True): + """Convert a list of key-value pairs into a dictionary. + """ + output_dict = {} + for item in input_list: + key = config_string_cleaner(item[0].strip()) + value = config_string_cleaner(item[1].strip()) + if convert_to_lower_case: + key = key.lower() + output_dict[key] = value + return output_dict + + for section in cfg_data.sections(): + name = config_string_cleaner(section.lower().strip()) + if components and name not in components: + continue + self[name] = {} + self[name].update(list_to_dict(cfg_data.items(section))) + self[name][self.REPO] = {} + loop_keys = self[name].copy().keys() + for item in loop_keys: + if item in self._source_schema: + if isinstance(self._source_schema[item], bool): + self[name][item] = str_to_bool(self[name][item]) + elif item in self._source_schema[self.REPO]: + self[name][self.REPO][item] = self[name][item] + del self[name][item] + else: + msg = ('Invalid input: "{sect}" contains unknown ' + 'item "{item}".'.format(sect=name, item=item)) + fatal_error(msg) diff --git a/manage_externals/manic/externals_status.py b/manage_externals/manic/externals_status.py new file mode 100644 index 000000000..d3d238f28 --- /dev/null +++ b/manage_externals/manic/externals_status.py @@ -0,0 +1,164 @@ +"""ExternalStatus + +Class to store status and state information about repositories and +create a string representation. + +""" +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +from .global_constants import EMPTY_STR +from .utils import printlog, indent_string +from .global_constants import VERBOSITY_VERBOSE, VERBOSITY_DUMP + + +class ExternalStatus(object): + """Class to represent the status of a given source repository or tree. + + Individual repositories determine their own status in the + Repository objects. This object is just resposible for storing the + information and passing it up to a higher level for reporting or + global decisions. + + There are two states of concern: + + * If the repository is in-sync with the externals description file. + + * If the repostiory working copy is clean and there are no pending + transactions (e.g. add, remove, rename, untracked files). + + """ + DEFAULT = '-' + UNKNOWN = '?' + EMPTY = 'e' + MODEL_MODIFIED = 's' # a.k.a. out-of-sync + DIRTY = 'M' + + STATUS_OK = ' ' + STATUS_ERROR = '!' + + # source types + OPTIONAL = 'o' + STANDALONE = 's' + MANAGED = ' ' + + def __init__(self): + self.sync_state = self.DEFAULT + self.clean_state = self.DEFAULT + self.source_type = self.DEFAULT + self.path = EMPTY_STR + self.current_version = EMPTY_STR + self.expected_version = EMPTY_STR + self.status_output = EMPTY_STR + + def log_status_message(self, verbosity): + """Write status message to the screen and log file + """ + self._default_status_message() + if verbosity >= VERBOSITY_VERBOSE: + self._verbose_status_message() + if verbosity >= VERBOSITY_DUMP: + self._dump_status_message() + + def _default_status_message(self): + """Return the default terse status message string + """ + msg = '{sync}{clean}{src_type} {path}'.format( + sync=self.sync_state, clean=self.clean_state, + src_type=self.source_type, path=self.path) + printlog(msg) + + def _verbose_status_message(self): + """Return the verbose status message string + """ + clean_str = self.DEFAULT + if self.clean_state == self.STATUS_OK: + clean_str = 'clean sandbox' + elif self.clean_state == self.DIRTY: + clean_str = 'modified sandbox' + + sync_str = 'on {0}'.format(self.current_version) + if self.sync_state != self.STATUS_OK: + sync_str = '{current} --> {expected}'.format( + current=self.current_version, expected=self.expected_version) + msg = ' {clean}, {sync}'.format(clean=clean_str, sync=sync_str) + printlog(msg) + + def _dump_status_message(self): + """Return the dump status message string + """ + msg = indent_string(self.status_output, 12) + printlog(msg) + + def safe_to_update(self): + """Report if it is safe to update a repository. Safe is defined as: + + * If a repository is empty, it is safe to update. + + * If a repository exists and has a clean working copy state + with no pending transactions. + + """ + safe_to_update = False + repo_exists = self.exists() + if not repo_exists: + safe_to_update = True + else: + # If the repo exists, it must be in ok or modified + # sync_state. Any other sync_state at this point + # represents a logic error that should have been handled + # before now! + sync_safe = ((self.sync_state == ExternalStatus.STATUS_OK) or + (self.sync_state == ExternalStatus.MODEL_MODIFIED)) + if sync_safe: + # The clean_state must be STATUS_OK to update. Otherwise we + # are dirty or there was a missed error previously. + if self.clean_state == ExternalStatus.STATUS_OK: + safe_to_update = True + return safe_to_update + + def exists(self): + """Determine if the repo exists. This is indicated by: + + * sync_state is not EMPTY + + * if the sync_state is empty, then the valid states for + clean_state are default, empty or unknown. Anything else + and there was probably an internal logic error. + + NOTE(bja, 2017-10) For the moment we are considering a + sync_state of default or unknown to require user intervention, + but we may want to relax this convention. This is probably a + result of a network error or internal logic error but more + testing is needed. + + """ + is_empty = (self.sync_state == ExternalStatus.EMPTY) + clean_valid = ((self.clean_state == ExternalStatus.DEFAULT) or + (self.clean_state == ExternalStatus.EMPTY) or + (self.clean_state == ExternalStatus.UNKNOWN)) + + if is_empty and clean_valid: + exists = False + else: + exists = True + return exists + + +def check_safe_to_update_repos(tree_status): + """Check if *ALL* repositories are in a safe state to update. We don't + want to do a partial update of the repositories then die, leaving + the model in an inconsistent state. + + Note: if there is an update to do, the repositories will by + definiation be out of synce with the externals description, so we + can't use that as criteria for updating. + + """ + safe_to_update = True + for comp in tree_status: + stat = tree_status[comp] + safe_to_update &= stat.safe_to_update() + + return safe_to_update diff --git a/manage_externals/manic/global_constants.py b/manage_externals/manic/global_constants.py new file mode 100644 index 000000000..0e91cffc9 --- /dev/null +++ b/manage_externals/manic/global_constants.py @@ -0,0 +1,18 @@ +"""Globals shared across modules +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import pprint + +EMPTY_STR = '' +LOCAL_PATH_INDICATOR = '.' +VERSION_SEPERATOR = '.' +LOG_FILE_NAME = 'manage_externals.log' +PPRINTER = pprint.PrettyPrinter(indent=4) + +VERBOSITY_DEFAULT = 0 +VERBOSITY_VERBOSE = 1 +VERBOSITY_DUMP = 2 diff --git a/manage_externals/manic/repository.py b/manage_externals/manic/repository.py new file mode 100644 index 000000000..4488c6be9 --- /dev/null +++ b/manage_externals/manic/repository.py @@ -0,0 +1,97 @@ +"""Base class representation of a repository +""" + +from .externals_description import ExternalsDescription +from .utils import fatal_error +from .global_constants import EMPTY_STR + + +class Repository(object): + """ + Class to represent and operate on a repository description. + """ + + def __init__(self, component_name, repo): + """ + Parse repo externals description + """ + self._name = component_name + self._protocol = repo[ExternalsDescription.PROTOCOL] + self._tag = repo[ExternalsDescription.TAG] + self._branch = repo[ExternalsDescription.BRANCH] + self._hash = repo[ExternalsDescription.HASH] + self._url = repo[ExternalsDescription.REPO_URL] + + if self._url is EMPTY_STR: + fatal_error('repo must have a URL') + + if ((self._tag is EMPTY_STR) and (self._branch is EMPTY_STR) and + (self._hash is EMPTY_STR)): + fatal_error('{0} repo must have a branch, tag or hash element') + + ref_count = 0 + if self._tag is not EMPTY_STR: + ref_count += 1 + if self._branch is not EMPTY_STR: + ref_count += 1 + if self._hash is not EMPTY_STR: + ref_count += 1 + if ref_count != 1: + fatal_error('repo {0} must have exactly one of ' + 'tag, branch or hash.'.format(self._name)) + + def checkout(self, base_dir_path, repo_dir_name, verbosity, recursive): # pylint: disable=unused-argument + """ + If the repo destination directory exists, ensure it is correct (from + correct URL, correct branch or tag), and possibly update the source. + If the repo destination directory does not exist, checkout the correce + branch or tag. + NB: is include as an argument for compatibility with + git functionality (repository_git.py) + """ + msg = ('DEV_ERROR: checkout method must be implemented in all ' + 'repository classes! {0}'.format(self.__class__.__name__)) + fatal_error(msg) + + def status(self, stat, repo_dir_path): # pylint: disable=unused-argument + """Report the status of the repo + + """ + msg = ('DEV_ERROR: status method must be implemented in all ' + 'repository classes! {0}'.format(self.__class__.__name__)) + fatal_error(msg) + + def submodules_file(self, repo_path=None): + # pylint: disable=no-self-use,unused-argument + """Stub for use by non-git VC systems""" + return None + + def url(self): + """Public access of repo url. + """ + return self._url + + def tag(self): + """Public access of repo tag + """ + return self._tag + + def branch(self): + """Public access of repo branch. + """ + return self._branch + + def hash(self): + """Public access of repo hash. + """ + return self._hash + + def name(self): + """Public access of repo name. + """ + return self._name + + def protocol(self): + """Public access of repo protocol. + """ + return self._protocol diff --git a/manage_externals/manic/repository_factory.py b/manage_externals/manic/repository_factory.py new file mode 100644 index 000000000..80a92a9d8 --- /dev/null +++ b/manage_externals/manic/repository_factory.py @@ -0,0 +1,29 @@ +"""Factory for creating and initializing the appropriate repository class +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +from .repository_git import GitRepository +from .repository_svn import SvnRepository +from .externals_description import ExternalsDescription +from .utils import fatal_error + + +def create_repository(component_name, repo_info, svn_ignore_ancestry=False): + """Determine what type of repository we have, i.e. git or svn, and + create the appropriate object. + + """ + protocol = repo_info[ExternalsDescription.PROTOCOL].lower() + if protocol == 'git': + repo = GitRepository(component_name, repo_info) + elif protocol == 'svn': + repo = SvnRepository(component_name, repo_info, ignore_ancestry=svn_ignore_ancestry) + elif protocol == 'externals_only': + repo = None + else: + msg = 'Unknown repo protocol "{0}"'.format(protocol) + fatal_error(msg) + return repo diff --git a/manage_externals/manic/repository_git.py b/manage_externals/manic/repository_git.py new file mode 100644 index 000000000..c0e64eb55 --- /dev/null +++ b/manage_externals/manic/repository_git.py @@ -0,0 +1,790 @@ +"""Class for interacting with git repositories +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import copy +import os + +from .global_constants import EMPTY_STR, LOCAL_PATH_INDICATOR +from .global_constants import VERBOSITY_VERBOSE +from .repository import Repository +from .externals_status import ExternalStatus +from .externals_description import ExternalsDescription, git_submodule_status +from .utils import expand_local_url, split_remote_url, is_remote_url +from .utils import fatal_error, printlog +from .utils import execute_subprocess + + +class GitRepository(Repository): + """Class to represent and operate on a repository description. + + For testing purpose, all system calls to git should: + + * be isolated in separate functions with no application logic + * of the form: + - cmd = ['git', ...] + - value = execute_subprocess(cmd, output_to_caller={T|F}, + status_to_caller={T|F}) + - return value + * be static methods (not rely on self) + * name as _git_subcommand_args(user_args) + + This convention allows easy unit testing of the repository logic + by mocking the specific calls to return predefined results. + + """ + + def __init__(self, component_name, repo): + """ + Parse repo (a XML element). + """ + Repository.__init__(self, component_name, repo) + self._gitmodules = None + self._submods = None + + # ---------------------------------------------------------------- + # + # Public API, defined by Repository + # + # ---------------------------------------------------------------- + def checkout(self, base_dir_path, repo_dir_name, verbosity, recursive): + """ + If the repo destination directory exists, ensure it is correct (from + correct URL, correct branch or tag), and possibly update the source. + If the repo destination directory does not exist, checkout the correct + branch or tag. + """ + repo_dir_path = os.path.join(base_dir_path, repo_dir_name) + repo_dir_exists = os.path.exists(repo_dir_path) + if (repo_dir_exists and not os.listdir( + repo_dir_path)) or not repo_dir_exists: + self._clone_repo(base_dir_path, repo_dir_name, verbosity) + self._checkout_ref(repo_dir_path, verbosity, recursive) + gmpath = os.path.join(repo_dir_path, + ExternalsDescription.GIT_SUBMODULES_FILENAME) + if os.path.exists(gmpath): + self._gitmodules = gmpath + self._submods = git_submodule_status(repo_dir_path) + else: + self._gitmodules = None + self._submods = None + + def status(self, stat, repo_dir_path): + """ + If the repo destination directory exists, ensure it is correct (from + correct URL, correct branch or tag), and possibly update the source. + If the repo destination directory does not exist, checkout the correct + branch or tag. + """ + self._check_sync(stat, repo_dir_path) + if os.path.exists(repo_dir_path): + self._status_summary(stat, repo_dir_path) + + def submodules_file(self, repo_path=None): + if repo_path is not None: + gmpath = os.path.join(repo_path, + ExternalsDescription.GIT_SUBMODULES_FILENAME) + if os.path.exists(gmpath): + self._gitmodules = gmpath + self._submods = git_submodule_status(repo_path) + + return self._gitmodules + + # ---------------------------------------------------------------- + # + # Internal work functions + # + # ---------------------------------------------------------------- + def _clone_repo(self, base_dir_path, repo_dir_name, verbosity): + """Prepare to execute the clone by managing directory location + """ + cwd = os.getcwd() + os.chdir(base_dir_path) + self._git_clone(self._url, repo_dir_name, verbosity) + os.chdir(cwd) + + def _current_ref(self): + """Determine the *name* associated with HEAD. + + If we're on a branch, then returns the branch name; otherwise, + if we're on a tag, then returns the tag name; otherwise, returns + the current hash. Returns an empty string if no reference can be + determined (e.g., if we're not actually in a git repository). + """ + ref_found = False + + # If we're on a branch, then use that as the current ref + branch_found, branch_name = self._git_current_branch() + if branch_found: + current_ref = branch_name + ref_found = True + + if not ref_found: + # Otherwise, if we're exactly at a tag, use that as the + # current ref + tag_found, tag_name = self._git_current_tag() + if tag_found: + current_ref = tag_name + ref_found = True + + if not ref_found: + # Otherwise, use current hash as the current ref + hash_found, hash_name = self._git_current_hash() + if hash_found: + current_ref = hash_name + ref_found = True + + if not ref_found: + # If we still can't find a ref, return empty string. This + # can happen if we're not actually in a git repo + current_ref = '' + + return current_ref + + def _check_sync(self, stat, repo_dir_path): + """Determine whether a git repository is in-sync with the model + description. + + Because repos can have multiple remotes, the only criteria is + whether the branch or tag is the same. + + """ + if not os.path.exists(repo_dir_path): + # NOTE(bja, 2017-10) condition should have been determined + # by _Source() object and should never be here! + stat.sync_state = ExternalStatus.STATUS_ERROR + else: + git_dir = os.path.join(repo_dir_path, '.git') + if not os.path.exists(git_dir): + # NOTE(bja, 2017-10) directory exists, but no git repo + # info.... Can't test with subprocess git command + # because git will move up directory tree until it + # finds the parent repo git dir! + stat.sync_state = ExternalStatus.UNKNOWN + else: + self._check_sync_logic(stat, repo_dir_path) + + def _check_sync_logic(self, stat, repo_dir_path): + """Compare the underlying hashes of the currently checkout ref and the + expected ref. + + Output: sets the sync_state as well as the current and + expected ref in the input status object. + + """ + def compare_refs(current_ref, expected_ref): + """Compare the current and expected ref. + + """ + if current_ref == expected_ref: + status = ExternalStatus.STATUS_OK + else: + status = ExternalStatus.MODEL_MODIFIED + return status + + cwd = os.getcwd() + os.chdir(repo_dir_path) + + # get the full hash of the current commit + _, current_ref = self._git_current_hash() + + if self._branch: + if self._url == LOCAL_PATH_INDICATOR: + expected_ref = self._branch + else: + remote_name = self._determine_remote_name() + if not remote_name: + # git doesn't know about this remote. by definition + # this is a modified state. + expected_ref = "unknown_remote/{0}".format(self._branch) + else: + expected_ref = "{0}/{1}".format(remote_name, self._branch) + elif self._hash: + expected_ref = self._hash + elif self._tag: + expected_ref = self._tag + else: + msg = 'In repo "{0}": none of branch, hash or tag are set'.format( + self._name) + fatal_error(msg) + + # record the *names* of the current and expected branches + stat.current_version = self._current_ref() + stat.expected_version = copy.deepcopy(expected_ref) + + if current_ref == EMPTY_STR: + stat.sync_state = ExternalStatus.UNKNOWN + else: + # get the underlying hash of the expected ref + revparse_status, expected_ref_hash = self._git_revparse_commit( + expected_ref) + if revparse_status: + # We failed to get the hash associated with + # expected_ref. Maybe we should assign this to some special + # status, but for now we're just calling this out-of-sync to + # remain consistent with how this worked before. + stat.sync_state = ExternalStatus.MODEL_MODIFIED + else: + # compare the underlying hashes + stat.sync_state = compare_refs(current_ref, expected_ref_hash) + + os.chdir(cwd) + + def _determine_remote_name(self): + """Return the remote name. + + Note that this is for the *future* repo url and branch, not + the current working copy! + + """ + git_output = self._git_remote_verbose() + git_output = git_output.splitlines() + remote_name = '' + for line in git_output: + data = line.strip() + if not data: + continue + data = data.split() + name = data[0].strip() + url = data[1].strip() + if self._url == url: + remote_name = name + break + return remote_name + + def _create_remote_name(self): + """The url specified in the externals description file was not known + to git. We need to add it, which means adding a unique and + safe name.... + + The assigned name needs to be safe for git to use, e.g. can't + look like a path 'foo/bar' and work with both remote and local paths. + + Remote paths include but are not limited to: git, ssh, https, + github, gitlab, bitbucket, custom server, etc. + + Local paths can be relative or absolute. They may contain + shell variables, e.g. ${REPO_ROOT}/repo_name, or username + expansion, i.e. ~/ or ~someuser/. + + Relative paths must be at least one layer of redirection, i.e. + container/../ext_repo, but may be many layers deep, e.g. + container/../../../../../ext_repo + + NOTE(bja, 2017-11) + + The base name below may not be unique, for example if the + user has local paths like: + + /path/to/my/repos/nice_repo + /path/to/other/repos/nice_repo + + But the current implementation should cover most common + use cases for remotes and still provide usable names. + + """ + url = copy.deepcopy(self._url) + if is_remote_url(url): + url = split_remote_url(url) + else: + url = expand_local_url(url, self._name) + url = url.split('/') + repo_name = url[-1] + base_name = url[-2] + # repo name should nominally already be something that git can + # deal with. We need to remove other possibly troublesome + # punctuation, e.g. /, $, from the base name. + unsafe_characters = '!@#$%^&*()[]{}\\/,;~' + for unsafe in unsafe_characters: + base_name = base_name.replace(unsafe, '') + remote_name = "{0}_{1}".format(base_name, repo_name) + return remote_name + + def _checkout_ref(self, repo_dir, verbosity, submodules): + """Checkout the user supplied reference + if is True, recursively initialize and update + the repo's submodules + """ + # import pdb; pdb.set_trace() + cwd = os.getcwd() + os.chdir(repo_dir) + if self._url.strip() == LOCAL_PATH_INDICATOR: + self._checkout_local_ref(verbosity, submodules) + else: + self._checkout_external_ref(verbosity, submodules) + + os.chdir(cwd) + + def _checkout_local_ref(self, verbosity, submodules): + """Checkout the reference considering the local repo only. Do not + fetch any additional remotes or specify the remote when + checkout out the ref. + if is True, recursively initialize and update + the repo's submodules + """ + if self._tag: + ref = self._tag + elif self._branch: + ref = self._branch + else: + ref = self._hash + + self._check_for_valid_ref(ref) + self._git_checkout_ref(ref, verbosity, submodules) + + def _checkout_external_ref(self, verbosity, submodules): + """Checkout the reference from a remote repository + if is True, recursively initialize and update + the repo's submodules + """ + if self._tag: + ref = self._tag + elif self._branch: + ref = self._branch + else: + ref = self._hash + + remote_name = self._determine_remote_name() + if not remote_name: + remote_name = self._create_remote_name() + self._git_remote_add(remote_name, self._url) + self._git_fetch(remote_name) + + # NOTE(bja, 2018-03) we need to send separate ref and remote + # name to check_for_vaild_ref, but the combined name to + # checkout_ref! + self._check_for_valid_ref(ref, remote_name) + + if self._branch: + ref = '{0}/{1}'.format(remote_name, ref) + self._git_checkout_ref(ref, verbosity, submodules) + + def _check_for_valid_ref(self, ref, remote_name=None): + """Try some basic sanity checks on the user supplied reference so we + can provide a more useful error message than calledprocess + error... + + """ + is_tag = self._ref_is_tag(ref) + is_branch = self._ref_is_branch(ref, remote_name) + is_hash = self._ref_is_hash(ref) + + is_valid = is_tag or is_branch or is_hash + if not is_valid: + msg = ('In repo "{0}": reference "{1}" does not appear to be a ' + 'valid tag, branch or hash! Please verify the reference ' + 'name (e.g. spelling), is available from: {2} '.format( + self._name, ref, self._url)) + fatal_error(msg) + + if is_tag: + is_unique_tag, msg = self._is_unique_tag(ref, remote_name) + if not is_unique_tag: + msg = ('In repo "{0}": tag "{1}" {2}'.format( + self._name, self._tag, msg)) + fatal_error(msg) + + return is_valid + + def _is_unique_tag(self, ref, remote_name): + """Verify that a reference is a valid tag and is unique (not a branch) + + Tags may be tag names, or SHA id's. It is also possible that a + branch and tag have the some name. + + Note: values returned by git_showref_* and git_revparse are + shell return codes, which are zero for success, non-zero for + error! + + """ + is_tag = self._ref_is_tag(ref) + is_branch = self._ref_is_branch(ref, remote_name) + is_hash = self._ref_is_hash(ref) + + msg = '' + is_unique_tag = False + if is_tag and not is_branch: + # unique tag + msg = 'is ok' + is_unique_tag = True + elif is_tag and is_branch: + msg = ('is both a branch and a tag. git may checkout the branch ' + 'instead of the tag depending on your version of git.') + is_unique_tag = False + elif not is_tag and is_branch: + msg = ('is a branch, and not a tag. If you intended to checkout ' + 'a branch, please change the externals description to be ' + 'a branch. If you intended to checkout a tag, it does not ' + 'exist. Please check the name.') + is_unique_tag = False + else: # not is_tag and not is_branch: + if is_hash: + # probably a sha1 or HEAD, etc, we call it a tag + msg = 'is ok' + is_unique_tag = True + else: + # undetermined state. + msg = ('does not appear to be a valid tag, branch or hash! ' + 'Please check the name and repository.') + is_unique_tag = False + + return is_unique_tag, msg + + def _ref_is_tag(self, ref): + """Verify that a reference is a valid tag according to git. + + Note: values returned by git_showref_* and git_revparse are + shell return codes, which are zero for success, non-zero for + error! + """ + is_tag = False + value = self._git_showref_tag(ref) + if value == 0: + is_tag = True + return is_tag + + def _ref_is_branch(self, ref, remote_name=None): + """Verify if a ref is any kind of branch (local, tracked remote, + untracked remote). + + """ + local_branch = False + remote_branch = False + if remote_name: + remote_branch = self._ref_is_remote_branch(ref, remote_name) + local_branch = self._ref_is_local_branch(ref) + + is_branch = False + if local_branch or remote_branch: + is_branch = True + return is_branch + + def _ref_is_local_branch(self, ref): + """Verify that a reference is a valid branch according to git. + + show-ref branch returns local branches that have been + previously checked out. It will not necessarily pick up + untracked remote branches. + + Note: values returned by git_showref_* and git_revparse are + shell return codes, which are zero for success, non-zero for + error! + + """ + is_branch = False + value = self._git_showref_branch(ref) + if value == 0: + is_branch = True + return is_branch + + def _ref_is_remote_branch(self, ref, remote_name): + """Verify that a reference is a valid branch according to git. + + show-ref branch returns local branches that have been + previously checked out. It will not necessarily pick up + untracked remote branches. + + Note: values returned by git_showref_* and git_revparse are + shell return codes, which are zero for success, non-zero for + error! + + """ + is_branch = False + value = self._git_lsremote_branch(ref, remote_name) + if value == 0: + is_branch = True + return is_branch + + def _ref_is_commit(self, ref): + """Verify that a reference is a valid commit according to git. + + This could be a tag, branch, sha1 id, HEAD and potentially others... + + Note: values returned by git_showref_* and git_revparse are + shell return codes, which are zero for success, non-zero for + error! + """ + is_commit = False + value, _ = self._git_revparse_commit(ref) + if value == 0: + is_commit = True + return is_commit + + def _ref_is_hash(self, ref): + """Verify that a reference is a valid hash according to git. + + Git doesn't seem to provide an exact way to determine if user + supplied reference is an actual hash. So we verify that the + ref is a valid commit and return the underlying commit + hash. Then check that the commit hash begins with the user + supplied string. + + Note: values returned by git_showref_* and git_revparse are + shell return codes, which are zero for success, non-zero for + error! + + """ + is_hash = False + status, git_output = self._git_revparse_commit(ref) + if status == 0: + if git_output.strip().startswith(ref): + is_hash = True + return is_hash + + def _status_summary(self, stat, repo_dir_path): + """Determine the clean/dirty status of a git repository + + """ + cwd = os.getcwd() + os.chdir(repo_dir_path) + git_output = self._git_status_porcelain_v1z() + is_dirty = self._status_v1z_is_dirty(git_output) + if is_dirty: + stat.clean_state = ExternalStatus.DIRTY + else: + stat.clean_state = ExternalStatus.STATUS_OK + + # Now save the verbose status output incase the user wants to + # see it. + stat.status_output = self._git_status_verbose() + os.chdir(cwd) + + @staticmethod + def _status_v1z_is_dirty(git_output): + """Parse the git status output from --porcelain=v1 -z and determine if + the repo status is clean or dirty. Dirty means: + + * modified files + * missing files + * added files + * removed + * renamed + * unmerged + + Whether untracked files are considered depends on how the status + command was run (i.e., whether it was run with the '-u' option). + + NOTE: Based on the above definition, the porcelain status + should be an empty string to be considered 'clean'. Of course + this assumes we only get an empty string from an status + command on a clean checkout, and not some error + condition... Could alse use 'git diff --quiet'. + + """ + is_dirty = False + if git_output: + is_dirty = True + return is_dirty + + # ---------------------------------------------------------------- + # + # system call to git for information gathering + # + # ---------------------------------------------------------------- + @staticmethod + def _git_current_hash(): + """Return the full hash of the currently checked-out version. + + Returns a tuple, (hash_found, hash), where hash_found is a + logical specifying whether a hash was found for HEAD (False + could mean we're not in a git repository at all). (If hash_found + is False, then hash is ''.) + """ + status, git_output = GitRepository._git_revparse_commit("HEAD") + hash_found = not status + if not hash_found: + git_output = '' + return hash_found, git_output + + @staticmethod + def _git_current_branch(): + """Determines the name of the current branch. + + Returns a tuple, (branch_found, branch_name), where branch_found + is a logical specifying whether a branch name was found for + HEAD. (If branch_found is False, then branch_name is ''.) + """ + cmd = ['git', 'symbolic-ref', '--short', '-q', 'HEAD'] + status, git_output = execute_subprocess(cmd, + output_to_caller=True, + status_to_caller=True) + branch_found = not status + if branch_found: + git_output = git_output.strip() + else: + git_output = '' + return branch_found, git_output + + @staticmethod + def _git_current_tag(): + """Determines the name tag corresponding to HEAD (if any). + + Returns a tuple, (tag_found, tag_name), where tag_found is a + logical specifying whether we found a tag name corresponding to + HEAD. (If tag_found is False, then tag_name is ''.) + """ + # git describe --exact-match --tags HEAD + cmd = ['git', 'describe', '--exact-match', '--tags', 'HEAD'] + status, git_output = execute_subprocess(cmd, + output_to_caller=True, + status_to_caller=True) + tag_found = not status + if tag_found: + git_output = git_output.strip() + else: + git_output = '' + return tag_found, git_output + + @staticmethod + def _git_showref_tag(ref): + """Run git show-ref check if the user supplied ref is a tag. + + could also use git rev-parse --quiet --verify tagname^{tag} + """ + cmd = ['git', 'show-ref', '--quiet', '--verify', + 'refs/tags/{0}'.format(ref), ] + status = execute_subprocess(cmd, status_to_caller=True) + return status + + @staticmethod + def _git_showref_branch(ref): + """Run git show-ref check if the user supplied ref is a local or + tracked remote branch. + + """ + cmd = ['git', 'show-ref', '--quiet', '--verify', + 'refs/heads/{0}'.format(ref), ] + status = execute_subprocess(cmd, status_to_caller=True) + return status + + @staticmethod + def _git_lsremote_branch(ref, remote_name): + """Run git ls-remote to check if the user supplied ref is a remote + branch that is not being tracked + + """ + cmd = ['git', 'ls-remote', '--exit-code', '--heads', + remote_name, ref, ] + status = execute_subprocess(cmd, status_to_caller=True) + return status + + @staticmethod + def _git_revparse_commit(ref): + """Run git rev-parse to detect if a reference is a SHA, HEAD or other + valid commit. + + """ + cmd = ['git', 'rev-parse', '--quiet', '--verify', + '{0}^{1}'.format(ref, '{commit}'), ] + status, git_output = execute_subprocess(cmd, status_to_caller=True, + output_to_caller=True) + git_output = git_output.strip() + return status, git_output + + @staticmethod + def _git_status_porcelain_v1z(): + """Run git status to obtain repository information. + + This is run with '--untracked=no' to ignore untracked files. + + The machine-portable format that is guaranteed not to change + between git versions or *user configuration*. + + """ + cmd = ['git', 'status', '--untracked-files=no', '--porcelain', '-z'] + git_output = execute_subprocess(cmd, output_to_caller=True) + return git_output + + @staticmethod + def _git_status_verbose(): + """Run the git status command to obtain repository information. + """ + cmd = ['git', 'status'] + git_output = execute_subprocess(cmd, output_to_caller=True) + return git_output + + @staticmethod + def _git_remote_verbose(): + """Run the git remote command to obtain repository information. + """ + cmd = ['git', 'remote', '--verbose'] + git_output = execute_subprocess(cmd, output_to_caller=True) + return git_output + + @staticmethod + def has_submodules(repo_dir_path=None): + """Return True iff the repository at (or the current + directory if is None) has a '.gitmodules' file + """ + if repo_dir_path is None: + fname = ExternalsDescription.GIT_SUBMODULES_FILENAME + else: + fname = os.path.join(repo_dir_path, + ExternalsDescription.GIT_SUBMODULES_FILENAME) + + return os.path.exists(fname) + + # ---------------------------------------------------------------- + # + # system call to git for sideffects modifying the working tree + # + # ---------------------------------------------------------------- + @staticmethod + def _git_clone(url, repo_dir_name, verbosity): + """Run git clone for the side effect of creating a repository. + """ + cmd = ['git', 'clone', '--quiet'] + subcmd = None + + cmd.extend([url, repo_dir_name]) + if verbosity >= VERBOSITY_VERBOSE: + printlog(' {0}'.format(' '.join(cmd))) + execute_subprocess(cmd) + if subcmd is not None: + os.chdir(repo_dir_name) + execute_subprocess(subcmd) + + @staticmethod + def _git_remote_add(name, url): + """Run the git remote command for the side effect of adding a remote + """ + cmd = ['git', 'remote', 'add', name, url] + execute_subprocess(cmd) + + @staticmethod + def _git_fetch(remote_name): + """Run the git fetch command for the side effect of updating the repo + """ + cmd = ['git', 'fetch', '--quiet', '--tags', remote_name] + execute_subprocess(cmd) + + @staticmethod + def _git_checkout_ref(ref, verbosity, submodules): + """Run the git checkout command for the side effect of updating the repo + + Param: ref is a reference to a local or remote object in the + form 'origin/my_feature', or 'tag1'. + + """ + cmd = ['git', 'checkout', '--quiet', ref] + if verbosity >= VERBOSITY_VERBOSE: + printlog(' {0}'.format(' '.join(cmd))) + execute_subprocess(cmd) + if submodules: + GitRepository._git_update_submodules(verbosity) + + @staticmethod + def _git_update_submodules(verbosity): + """Run git submodule update for the side effect of updating this + repo's submodules. + """ + # First, verify that we have a .gitmodules file + if os.path.exists(ExternalsDescription.GIT_SUBMODULES_FILENAME): + cmd = ['git', 'submodule', 'update', '--init', '--recursive'] + if verbosity >= VERBOSITY_VERBOSE: + printlog(' {0}'.format(' '.join(cmd))) + + execute_subprocess(cmd) diff --git a/manage_externals/manic/repository_svn.py b/manage_externals/manic/repository_svn.py new file mode 100644 index 000000000..2f0d4d848 --- /dev/null +++ b/manage_externals/manic/repository_svn.py @@ -0,0 +1,284 @@ +"""Class for interacting with svn repositories +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import os +import re +import xml.etree.ElementTree as ET + +from .global_constants import EMPTY_STR, VERBOSITY_VERBOSE +from .repository import Repository +from .externals_status import ExternalStatus +from .utils import fatal_error, indent_string, printlog +from .utils import execute_subprocess + + +class SvnRepository(Repository): + """ + Class to represent and operate on a repository description. + + For testing purpose, all system calls to svn should: + + * be isolated in separate functions with no application logic + * of the form: + - cmd = ['svn', ...] + - value = execute_subprocess(cmd, output_to_caller={T|F}, + status_to_caller={T|F}) + - return value + * be static methods (not rely on self) + * name as _svn_subcommand_args(user_args) + + This convention allows easy unit testing of the repository logic + by mocking the specific calls to return predefined results. + + """ + RE_URLLINE = re.compile(r'^URL:') + + def __init__(self, component_name, repo, ignore_ancestry=False): + """ + Parse repo (a XML element). + """ + Repository.__init__(self, component_name, repo) + self._ignore_ancestry = ignore_ancestry + if self._branch: + self._url = os.path.join(self._url, self._branch) + elif self._tag: + self._url = os.path.join(self._url, self._tag) + else: + msg = "DEV_ERROR in svn repository. Shouldn't be here!" + fatal_error(msg) + + # ---------------------------------------------------------------- + # + # Public API, defined by Repository + # + # ---------------------------------------------------------------- + def checkout(self, base_dir_path, repo_dir_name, verbosity, recursive): # pylint: disable=unused-argument + """Checkout or update the working copy + + If the repo destination directory exists, switch the sandbox to + match the externals description. + + If the repo destination directory does not exist, checkout the + correct branch or tag. + NB: is include as an argument for compatibility with + git functionality (repository_git.py) + + """ + repo_dir_path = os.path.join(base_dir_path, repo_dir_name) + if os.path.exists(repo_dir_path): + cwd = os.getcwd() + os.chdir(repo_dir_path) + self._svn_switch(self._url, self._ignore_ancestry, verbosity) + # svn switch can lead to a conflict state, but it gives a + # return code of 0. So now we need to make sure that we're + # in a clean (non-conflict) state. + self._abort_if_dirty(repo_dir_path, + "Expected clean state following switch") + os.chdir(cwd) + else: + self._svn_checkout(self._url, repo_dir_path, verbosity) + + def status(self, stat, repo_dir_path): + """ + Check and report the status of the repository + """ + self._check_sync(stat, repo_dir_path) + if os.path.exists(repo_dir_path): + self._status_summary(stat, repo_dir_path) + + # ---------------------------------------------------------------- + # + # Internal work functions + # + # ---------------------------------------------------------------- + def _check_sync(self, stat, repo_dir_path): + """Check to see if repository directory exists and is at the expected + url. Return: status object + + """ + if not os.path.exists(repo_dir_path): + # NOTE(bja, 2017-10) this state should have been handled by + # the source object and we never get here! + stat.sync_state = ExternalStatus.STATUS_ERROR + else: + svn_output = self._svn_info(repo_dir_path) + if not svn_output: + # directory exists, but info returned nothing. .svn + # directory removed or incomplete checkout? + stat.sync_state = ExternalStatus.UNKNOWN + else: + stat.sync_state, stat.current_version = \ + self._check_url(svn_output, self._url) + stat.expected_version = '/'.join(self._url.split('/')[3:]) + + def _abort_if_dirty(self, repo_dir_path, message): + """Check if the repo is in a dirty state; if so, abort with a + helpful message. + + """ + + stat = ExternalStatus() + self._status_summary(stat, repo_dir_path) + if stat.clean_state != ExternalStatus.STATUS_OK: + status = self._svn_status_verbose(repo_dir_path) + status = indent_string(status, 4) + errmsg = """In directory + {cwd} + +svn status now shows: +{status} + +ERROR: {message} + +One possible cause of this problem is that there may have been untracked +files in your working directory that had the same name as tracked files +in the new revision. + +To recover: Clean up the above directory (resolving conflicts, etc.), +then rerun checkout_externals. +""".format(cwd=repo_dir_path, message=message, status=status) + + fatal_error(errmsg) + + @staticmethod + def _check_url(svn_output, expected_url): + """Determine the svn url from svn info output and return whether it + matches the expected value. + + """ + url = None + for line in svn_output.splitlines(): + if SvnRepository.RE_URLLINE.match(line): + url = line.split(': ')[1].strip() + break + if not url: + status = ExternalStatus.UNKNOWN + elif url == expected_url: + status = ExternalStatus.STATUS_OK + else: + status = ExternalStatus.MODEL_MODIFIED + + if url: + current_version = '/'.join(url.split('/')[3:]) + else: + current_version = EMPTY_STR + + return status, current_version + + def _status_summary(self, stat, repo_dir_path): + """Report whether the svn repository is in-sync with the model + description and whether the sandbox is clean or dirty. + + """ + svn_output = self._svn_status_xml(repo_dir_path) + is_dirty = self.xml_status_is_dirty(svn_output) + if is_dirty: + stat.clean_state = ExternalStatus.DIRTY + else: + stat.clean_state = ExternalStatus.STATUS_OK + + # Now save the verbose status output incase the user wants to + # see it. + stat.status_output = self._svn_status_verbose(repo_dir_path) + + @staticmethod + def xml_status_is_dirty(svn_output): + """Parse svn status xml output and determine if the working copy is + clean or dirty. Dirty is defined as: + + * modified files + * added files + * deleted files + * missing files + + Unversioned files do not affect the clean/dirty status. + + 'external' is also an acceptable state + + """ + # pylint: disable=invalid-name + SVN_EXTERNAL = 'external' + SVN_UNVERSIONED = 'unversioned' + # pylint: enable=invalid-name + + is_dirty = False + try: + xml_status = ET.fromstring(svn_output) + except BaseException: + fatal_error( + "SVN returned invalid XML message {}".format(svn_output)) + xml_target = xml_status.find('./target') + entries = xml_target.findall('./entry') + for entry in entries: + status = entry.find('./wc-status') + item = status.get('item') + if item == SVN_EXTERNAL: + continue + if item == SVN_UNVERSIONED: + continue + else: + is_dirty = True + break + return is_dirty + + # ---------------------------------------------------------------- + # + # system call to svn for information gathering + # + # ---------------------------------------------------------------- + @staticmethod + def _svn_info(repo_dir_path): + """Return results of svn info command + """ + cmd = ['svn', 'info', repo_dir_path] + output = execute_subprocess(cmd, output_to_caller=True) + return output + + @staticmethod + def _svn_status_verbose(repo_dir_path): + """capture the full svn status output + """ + cmd = ['svn', 'status', repo_dir_path] + svn_output = execute_subprocess(cmd, output_to_caller=True) + return svn_output + + @staticmethod + def _svn_status_xml(repo_dir_path): + """ + Get status of the subversion sandbox in repo_dir + """ + cmd = ['svn', 'status', '--xml', repo_dir_path] + svn_output = execute_subprocess(cmd, output_to_caller=True) + return svn_output + + # ---------------------------------------------------------------- + # + # system call to svn for sideffects modifying the working tree + # + # ---------------------------------------------------------------- + @staticmethod + def _svn_checkout(url, repo_dir_path, verbosity): + """ + Checkout a subversion repository (repo_url) to checkout_dir. + """ + cmd = ['svn', 'checkout', '--quiet', url, repo_dir_path] + if verbosity >= VERBOSITY_VERBOSE: + printlog(' {0}'.format(' '.join(cmd))) + execute_subprocess(cmd) + + @staticmethod + def _svn_switch(url, ignore_ancestry, verbosity): + """ + Switch branches for in an svn sandbox + """ + cmd = ['svn', 'switch', '--quiet'] + if ignore_ancestry: + cmd.append('--ignore-ancestry') + cmd.append(url) + if verbosity >= VERBOSITY_VERBOSE: + printlog(' {0}'.format(' '.join(cmd))) + execute_subprocess(cmd) diff --git a/manage_externals/manic/sourcetree.py b/manage_externals/manic/sourcetree.py new file mode 100644 index 000000000..83676b776 --- /dev/null +++ b/manage_externals/manic/sourcetree.py @@ -0,0 +1,350 @@ +""" + +FIXME(bja, 2017-11) External and SourceTree have a circular dependancy! +""" + +import errno +import logging +import os + +from .externals_description import ExternalsDescription +from .externals_description import read_externals_description_file +from .externals_description import create_externals_description +from .repository_factory import create_repository +from .repository_git import GitRepository +from .externals_status import ExternalStatus +from .utils import fatal_error, printlog +from .global_constants import EMPTY_STR, LOCAL_PATH_INDICATOR +from .global_constants import VERBOSITY_VERBOSE + +class _External(object): + """ + _External represents an external object inside a SourceTree + """ + + # pylint: disable=R0902 + + def __init__(self, root_dir, name, ext_description, svn_ignore_ancestry): + """Parse an external description file into a dictionary of externals. + + Input: + + root_dir : string - the root directory path where + 'local_path' is relative to. + + name : string - name of the ext_description object. may or may not + correspond to something in the path. + + ext_description : dict - source ExternalsDescription object + + svn_ignore_ancestry : bool - use --ignore-externals with svn switch + + """ + self._name = name + self._repo = None + self._externals = EMPTY_STR + self._externals_sourcetree = None + self._stat = ExternalStatus() + # Parse the sub-elements + + # _path : local path relative to the containing source tree + self._local_path = ext_description[ExternalsDescription.PATH] + # _repo_dir : full repository directory + repo_dir = os.path.join(root_dir, self._local_path) + self._repo_dir_path = os.path.abspath(repo_dir) + # _base_dir : base directory *containing* the repository + self._base_dir_path = os.path.dirname(self._repo_dir_path) + # repo_dir_name : base_dir_path + repo_dir_name = rep_dir_path + self._repo_dir_name = os.path.basename(self._repo_dir_path) + assert(os.path.join(self._base_dir_path, self._repo_dir_name) + == self._repo_dir_path) + + self._required = ext_description[ExternalsDescription.REQUIRED] + self._externals = ext_description[ExternalsDescription.EXTERNALS] + # Treat a .gitmodules file as a backup externals config + if not self._externals: + if GitRepository.has_submodules(self._repo_dir_path): + self._externals = ExternalsDescription.GIT_SUBMODULES_FILENAME + + repo = create_repository( + name, ext_description[ExternalsDescription.REPO], + svn_ignore_ancestry=svn_ignore_ancestry) + if repo: + self._repo = repo + + if self._externals and (self._externals.lower() != 'none'): + self._create_externals_sourcetree() + + def get_name(self): + """ + Return the external object's name + """ + return self._name + + def get_local_path(self): + """ + Return the external object's path + """ + return self._local_path + + def status(self): + """ + If the repo destination directory exists, ensure it is correct (from + correct URL, correct branch or tag), and possibly update the external. + If the repo destination directory does not exist, checkout the correce + branch or tag. + If load_all is True, also load all of the the externals sub-externals. + """ + + self._stat.path = self.get_local_path() + if not self._required: + self._stat.source_type = ExternalStatus.OPTIONAL + elif self._local_path == LOCAL_PATH_INDICATOR: + # LOCAL_PATH_INDICATOR, '.' paths, are standalone + # component directories that are not managed by + # checkout_externals. + self._stat.source_type = ExternalStatus.STANDALONE + else: + # managed by checkout_externals + self._stat.source_type = ExternalStatus.MANAGED + + ext_stats = {} + + if not os.path.exists(self._repo_dir_path): + self._stat.sync_state = ExternalStatus.EMPTY + msg = ('status check: repository directory for "{0}" does not ' + 'exist.'.format(self._name)) + logging.info(msg) + self._stat.current_version = 'not checked out' + # NOTE(bja, 2018-01) directory doesn't exist, so we cannot + # use repo to determine the expected version. We just take + # a best-guess based on the assumption that only tag or + # branch should be set, but not both. + if not self._repo: + self._stat.expected_version = 'unknown' + else: + self._stat.expected_version = self._repo.tag() + self._repo.branch() + else: + if self._repo: + self._repo.status(self._stat, self._repo_dir_path) + + if self._externals and self._externals_sourcetree: + # we expect externals and they exist + cwd = os.getcwd() + # SourceTree expects to be called from the correct + # root directory. + os.chdir(self._repo_dir_path) + ext_stats = self._externals_sourcetree.status(self._local_path) + os.chdir(cwd) + + all_stats = {} + # don't add the root component because we don't manage it + # and can't provide useful info about it. + if self._local_path != LOCAL_PATH_INDICATOR: + # store the stats under tha local_path, not comp name so + # it will be sorted correctly + all_stats[self._stat.path] = self._stat + + if ext_stats: + all_stats.update(ext_stats) + + return all_stats + + def checkout(self, verbosity, load_all): + """ + If the repo destination directory exists, ensure it is correct (from + correct URL, correct branch or tag), and possibly update the external. + If the repo destination directory does not exist, checkout the correct + branch or tag. + If load_all is True, also load all of the the externals sub-externals. + """ + if load_all: + pass + # Make sure we are in correct location + + if not os.path.exists(self._repo_dir_path): + # repository directory doesn't exist. Need to check it + # out, and for that we need the base_dir_path to exist + try: + os.makedirs(self._base_dir_path) + except OSError as error: + if error.errno != errno.EEXIST: + msg = 'Could not create directory "{0}"'.format( + self._base_dir_path) + fatal_error(msg) + + if self._stat.source_type != ExternalStatus.STANDALONE: + if verbosity >= VERBOSITY_VERBOSE: + # NOTE(bja, 2018-01) probably do not want to pass + # verbosity in this case, because if (verbosity == + # VERBOSITY_DUMP), then the previous status output would + # also be dumped, adding noise to the output. + self._stat.log_status_message(VERBOSITY_VERBOSE) + + if self._repo: + if self._stat.sync_state == ExternalStatus.STATUS_OK: + # If we're already in sync, avoid showing verbose output + # from the checkout command, unless the verbosity level + # is 2 or more. + checkout_verbosity = verbosity - 1 + else: + checkout_verbosity = verbosity + + self._repo.checkout(self._base_dir_path, self._repo_dir_name, + checkout_verbosity, self.clone_recursive()) + + def checkout_externals(self, verbosity, load_all): + """Checkout the sub-externals for this object + """ + if self.load_externals(): + if self._externals_sourcetree: + # NOTE(bja, 2018-02): the subtree externals objects + # were created during initial status check. Updating + # the external may have changed which sub-externals + # are needed. We need to delete those objects and + # re-read the potentially modified externals + # description file. + self._externals_sourcetree = None + self._create_externals_sourcetree() + self._externals_sourcetree.checkout(verbosity, load_all) + + def load_externals(self): + 'Return True iff an externals file should be loaded' + load_ex = False + if os.path.exists(self._repo_dir_path): + if self._externals: + if self._externals.lower() != 'none': + load_ex = os.path.exists(os.path.join(self._repo_dir_path, + self._externals)) + + return load_ex + + def clone_recursive(self): + 'Return True iff any .gitmodules files should be processed' + # Try recursive unless there is an externals entry + recursive = not self._externals + + return recursive + + def _create_externals_sourcetree(self): + """ + """ + if not os.path.exists(self._repo_dir_path): + # NOTE(bja, 2017-10) repository has not been checked out + # yet, can't process the externals file. Assume we are + # checking status before code is checkoud out and this + # will be handled correctly later. + return + + cwd = os.getcwd() + os.chdir(self._repo_dir_path) + if self._externals.lower() == 'none': + msg = ('Internal: Attempt to create source tree for ' + 'externals = none in {}'.format(self._repo_dir_path)) + fatal_error(msg) + + if not os.path.exists(self._externals): + if GitRepository.has_submodules(): + self._externals = ExternalsDescription.GIT_SUBMODULES_FILENAME + + if not os.path.exists(self._externals): + # NOTE(bja, 2017-10) this check is redundent with the one + # in read_externals_description_file! + msg = ('External externals description file "{0}" ' + 'does not exist! In directory: {1}'.format( + self._externals, self._repo_dir_path)) + fatal_error(msg) + + externals_root = self._repo_dir_path + model_data = read_externals_description_file(externals_root, + self._externals) + externals = create_externals_description(model_data, + parent_repo=self._repo) + self._externals_sourcetree = SourceTree(externals_root, externals) + os.chdir(cwd) + +class SourceTree(object): + """ + SourceTree represents a group of managed externals + """ + + def __init__(self, root_dir, model, svn_ignore_ancestry=False): + """ + Build a SourceTree object from a model description + """ + self._root_dir = os.path.abspath(root_dir) + self._all_components = {} + self._required_compnames = [] + for comp in model: + src = _External(self._root_dir, comp, model[comp], svn_ignore_ancestry) + self._all_components[comp] = src + if model[comp][ExternalsDescription.REQUIRED]: + self._required_compnames.append(comp) + + def status(self, relative_path_base=LOCAL_PATH_INDICATOR): + """Report the status components + + FIXME(bja, 2017-10) what do we do about situations where the + user checked out the optional components, but didn't add + optional for running status? What do we do where the user + didn't add optional to the checkout but did add it to the + status. -- For now, we run status on all components, and try + to do the right thing based on the results.... + + """ + load_comps = self._all_components.keys() + + summary = {} + for comp in load_comps: + printlog('{0}, '.format(comp), end='') + stat = self._all_components[comp].status() + for name in stat.keys(): + # check if we need to append the relative_path_base to + # the path so it will be sorted in the correct order. + if not stat[name].path.startswith(relative_path_base): + stat[name].path = os.path.join(relative_path_base, + stat[name].path) + # store under key = updated path, and delete the + # old key. + comp_stat = stat[name] + del stat[name] + stat[comp_stat.path] = comp_stat + summary.update(stat) + + return summary + + def checkout(self, verbosity, load_all, load_comp=None): + """ + Checkout or update indicated components into the the configured + subdirs. + + If load_all is True, recursively checkout all externals. + If load_all is False, load_comp is an optional set of components to load. + If load_all is True and load_comp is None, only load the required externals. + """ + if verbosity >= VERBOSITY_VERBOSE: + printlog('Checking out externals: ') + else: + printlog('Checking out externals: ', end='') + + if load_all: + load_comps = self._all_components.keys() + elif load_comp is not None: + load_comps = [load_comp] + else: + load_comps = self._required_compnames + + # checkout the primary externals + for comp in load_comps: + if verbosity < VERBOSITY_VERBOSE: + printlog('{0}, '.format(comp), end='') + else: + # verbose output handled by the _External object, just + # output a newline + printlog(EMPTY_STR) + self._all_components[comp].checkout(verbosity, load_all) + printlog('') + + # now give each external an opportunitity to checkout it's externals. + for comp in load_comps: + self._all_components[comp].checkout_externals(verbosity, load_all) diff --git a/manage_externals/manic/utils.py b/manage_externals/manic/utils.py new file mode 100644 index 000000000..f57f43930 --- /dev/null +++ b/manage_externals/manic/utils.py @@ -0,0 +1,330 @@ +#!/usr/bin/env python +""" +Common public utilities for manic package + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import logging +import os +import subprocess +import sys +from threading import Timer + +from .global_constants import LOCAL_PATH_INDICATOR + +# --------------------------------------------------------------------- +# +# screen and logging output and functions to massage text for output +# +# --------------------------------------------------------------------- + + +def log_process_output(output): + """Log each line of process output at debug level so it can be + filtered if necessary. By default, output is a single string, and + logging.debug(output) will only put log info heading on the first + line. This makes it hard to filter with grep. + + """ + output = output.split('\n') + for line in output: + logging.debug(line) + + +def printlog(msg, **kwargs): + """Wrapper script around print to ensure that everything printed to + the screen also gets logged. + + """ + logging.info(msg) + if kwargs: + print(msg, **kwargs) + else: + print(msg) + sys.stdout.flush() + + +def last_n_lines(the_string, n_lines, truncation_message=None): + """Returns the last n lines of the given string + + Args: + the_string: str + n_lines: int + truncation_message: str, optional + + Returns a string containing the last n lines of the_string + + If truncation_message is provided, the returned string begins with + the given message if and only if the string is greater than n lines + to begin with. + """ + + lines = the_string.splitlines(True) + if len(lines) <= n_lines: + return_val = the_string + else: + lines_subset = lines[-n_lines:] + str_truncated = ''.join(lines_subset) + if truncation_message: + str_truncated = truncation_message + '\n' + str_truncated + return_val = str_truncated + + return return_val + + +def indent_string(the_string, indent_level): + """Indents the given string by a given number of spaces + + Args: + the_string: str + indent_level: int + + Returns a new string that is the same as the_string, except that + each line is indented by 'indent_level' spaces. + + In python3, this can be done with textwrap.indent. + """ + + lines = the_string.splitlines(True) + padding = ' ' * indent_level + lines_indented = [padding + line for line in lines] + return ''.join(lines_indented) + +# --------------------------------------------------------------------- +# +# error handling +# +# --------------------------------------------------------------------- + + +def fatal_error(message): + """ + Error output function + """ + logging.error(message) + raise RuntimeError("{0}ERROR: {1}".format(os.linesep, message)) + + +# --------------------------------------------------------------------- +# +# Data conversion / manipulation +# +# --------------------------------------------------------------------- +def str_to_bool(bool_str): + """Convert a sting representation of as boolean into a true boolean. + + Conversion should be case insensitive. + """ + value = None + str_lower = bool_str.lower() + if str_lower in ('true', 't'): + value = True + elif str_lower in ('false', 'f'): + value = False + if value is None: + msg = ('ERROR: invalid boolean string value "{0}". ' + 'Must be "true" or "false"'.format(bool_str)) + fatal_error(msg) + return value + + +REMOTE_PREFIXES = ['http://', 'https://', 'ssh://', 'git@'] + + +def is_remote_url(url): + """check if the user provided a local file path instead of a + remote. If so, it must be expanded to an absolute + path. + + """ + remote_url = False + for prefix in REMOTE_PREFIXES: + if url.startswith(prefix): + remote_url = True + return remote_url + + +def split_remote_url(url): + """check if the user provided a local file path or a + remote. If remote, try to strip off protocol info. + + """ + remote_url = is_remote_url(url) + if not remote_url: + return url + + for prefix in REMOTE_PREFIXES: + url = url.replace(prefix, '') + + if '@' in url: + url = url.split('@')[1] + + if ':' in url: + url = url.split(':')[1] + + return url + + +def expand_local_url(url, field): + """check if the user provided a local file path instead of a + remote. If so, it must be expanded to an absolute + path. + + Note: local paths of LOCAL_PATH_INDICATOR have special meaning and + represent local copy only, don't work with the remotes. + + """ + remote_url = is_remote_url(url) + if not remote_url: + if url.strip() == LOCAL_PATH_INDICATOR: + pass + else: + url = os.path.expandvars(url) + url = os.path.expanduser(url) + if not os.path.isabs(url): + msg = ('WARNING: Externals description for "{0}" contains a ' + 'url that is not remote and does not expand to an ' + 'absolute path. Version control operations may ' + 'fail.\n\nurl={1}'.format(field, url)) + printlog(msg) + else: + url = os.path.normpath(url) + return url + + +# --------------------------------------------------------------------- +# +# subprocess +# +# --------------------------------------------------------------------- + +# Give the user a helpful message if we detect that a command seems to +# be hanging. +_HANGING_SEC = 300 + + +def _hanging_msg(working_directory, command): + print(""" + +Command '{command}' +from directory {working_directory} +has taken {hanging_sec} seconds. It may be hanging. + +The command will continue to run, but you may want to abort +manage_externals with ^C and investigate. A possible cause of hangs is +when svn or git require authentication to access a private +repository. On some systems, svn and git requests for authentication +information will not be displayed to the user. In this case, the program +will appear to hang. Ensure you can run svn and git manually and access +all repositories without entering your authentication information. + +""".format(command=command, + working_directory=working_directory, + hanging_sec=_HANGING_SEC)) + + +def execute_subprocess(commands, status_to_caller=False, + output_to_caller=False): + """Wrapper around subprocess.check_output to handle common + exceptions. + + check_output runs a command with arguments and waits + for it to complete. + + check_output raises an exception on a nonzero return code. if + status_to_caller is true, execute_subprocess returns the subprocess + return code, otherwise execute_subprocess treats non-zero return + status as an error and raises an exception. + + """ + cwd = os.getcwd() + msg = 'In directory: {0}\nexecute_subprocess running command:'.format(cwd) + logging.info(msg) + commands_str = ' '.join(commands) + logging.info(commands_str) + return_to_caller = status_to_caller or output_to_caller + status = -1 + output = '' + hanging_timer = Timer(_HANGING_SEC, _hanging_msg, + kwargs={"working_directory": cwd, + "command": commands_str}) + hanging_timer.start() + try: + output = subprocess.check_output(commands, stderr=subprocess.STDOUT, + universal_newlines=True) + log_process_output(output) + status = 0 + except OSError as error: + msg = failed_command_msg( + 'Command execution failed. Does the executable exist?', + commands) + logging.error(error) + fatal_error(msg) + except ValueError as error: + msg = failed_command_msg( + 'DEV_ERROR: Invalid arguments trying to run subprocess', + commands) + logging.error(error) + fatal_error(msg) + except subprocess.CalledProcessError as error: + # Only report the error if we are NOT returning to the + # caller. If we are returning to the caller, then it may be a + # simple status check. If returning, it is the callers + # responsibility determine if an error occurred and handle it + # appropriately. + if not return_to_caller: + msg_context = ('Process did not run successfully; ' + 'returned status {0}'.format(error.returncode)) + msg = failed_command_msg(msg_context, commands, + output=error.output) + logging.error(error) + logging.error(msg) + log_process_output(error.output) + fatal_error(msg) + status = error.returncode + finally: + hanging_timer.cancel() + + if status_to_caller and output_to_caller: + ret_value = (status, output) + elif status_to_caller: + ret_value = status + elif output_to_caller: + ret_value = output + else: + ret_value = None + + return ret_value + + +def failed_command_msg(msg_context, command, output=None): + """Template for consistent error messages from subprocess calls. + + If 'output' is given, it should provide the output from the failed + command + """ + + if output: + output_truncated = last_n_lines(output, 20, + truncation_message='[... Output truncated for brevity ...]') + errmsg = ('Failed with output:\n' + + indent_string(output_truncated, 4) + + '\nERROR: ') + else: + errmsg = '' + + command_str = ' '.join(command) + errmsg += """In directory + {cwd} +{context}: + {command} +""".format(cwd=os.getcwd(), context=msg_context, command=command_str) + + if output: + errmsg += 'See above for output from failed command.\n' + + return errmsg diff --git a/manage_externals/test/.coveragerc b/manage_externals/test/.coveragerc new file mode 100644 index 000000000..8b681888b --- /dev/null +++ b/manage_externals/test/.coveragerc @@ -0,0 +1,7 @@ +[run] +branch = True +omit = test_unit_*.py + test_sys_*.py + /usr/* + .local/* + */site-packages/* \ No newline at end of file diff --git a/manage_externals/test/.gitignore b/manage_externals/test/.gitignore new file mode 100644 index 000000000..dd5795998 --- /dev/null +++ b/manage_externals/test/.gitignore @@ -0,0 +1,7 @@ +# virtual environments +env_python* + +# python code coverage tool output +.coverage +htmlcov + diff --git a/manage_externals/test/.pylint.rc b/manage_externals/test/.pylint.rc new file mode 100644 index 000000000..64abd03e4 --- /dev/null +++ b/manage_externals/test/.pylint.rc @@ -0,0 +1,426 @@ +[MASTER] + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code +extension-pkg-whitelist= + +# Add files or directories to the blacklist. They should be base names, not +# paths. +ignore=.git,.svn,env2 + +# Add files or directories matching the regex patterns to the blacklist. The +# regex matches against base names, not paths. +ignore-patterns= + +# Python code to execute, usually for sys.path manipulation such as +# pygtk.require(). +#init-hook= + +# Use multiple processes to speed up Pylint. +jobs=1 + +# List of plugins (as comma separated values of python modules names) to load, +# usually to register additional checkers. +load-plugins= + +# Pickle collected data for later comparisons. +persistent=yes + +# Specify a configuration file. +#rcfile= + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + + +[MESSAGES CONTROL] + +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED +confidence= + +# Disable the message, report, category or checker with the given id(s). You +# can either give multiple identifiers separated by comma (,) or put this +# option multiple times (only on the command line, not in the configuration +# file where it should appear only once).You can also use "--disable=all" to +# disable everything first and then reenable specific checks. For example, if +# you want to run only the similarities checker, you can use "--disable=all +# --enable=similarities". If you want to run only the classes checker, but have +# no Warning level messages displayed, use"--disable=all --enable=classes +# --disable=W" +disable=bad-continuation,useless-object-inheritance + + +# Enable the message, report, category or checker with the given id(s). You can +# either give multiple identifier separated by comma (,) or put this option +# multiple time (only on the command line, not in the configuration file where +# it should appear only once). See also the "--disable" option for examples. +enable= + + +[REPORTS] + +# Python expression which should return a note less than 10 (10 is the highest +# note). You have access to the variables errors warning, statement which +# respectively contain the number of errors / warnings messages and the total +# number of statements analyzed. This is used by the global evaluation report +# (RP0004). +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) + +# Template used to display messages. This is a python new-style format string +# used to format the message information. See doc for all details +msg-template={msg_id}:{line:3d},{column:2d}: {msg} ({symbol}) + +# Set the output format. Available formats are text, parseable, colorized, json +# and msvs (visual studio).You can also give a reporter class, eg +# mypackage.mymodule.MyReporterClass. +output-format=text + +# Tells whether to display a full report or only the messages +#reports=yes + +# Activate the evaluation score. +score=yes + + +[REFACTORING] + +# Maximum number of nested blocks for function / method body +max-nested-blocks=5 + + +[BASIC] + +# Naming hint for argument names +argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Regular expression matching correct argument names +argument-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Naming hint for attribute names +attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Regular expression matching correct attribute names +attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Bad variable names which should always be refused, separated by a comma +bad-names=foo,bar,baz,toto,tutu,tata + +# Naming hint for class attribute names +class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ + +# Regular expression matching correct class attribute names +class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ + +# Naming hint for class names +class-name-hint=[A-Z_][a-zA-Z0-9]+$ + +# Regular expression matching correct class names +class-rgx=[A-Z_][a-zA-Z0-9]+$ + +# Naming hint for constant names +const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$ + +# Regular expression matching correct constant names +const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ + +# Minimum line length for functions/classes that require docstrings, shorter +# ones are exempt. +docstring-min-length=-1 + +# Naming hint for function names +function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Regular expression matching correct function names +function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Good variable names which should always be accepted, separated by a comma +good-names=i,j,k,ex,Run,_ + +# Include a hint for the correct naming format with invalid-name +include-naming-hint=no + +# Naming hint for inline iteration names +inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$ + +# Regular expression matching correct inline iteration names +inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ + +# Naming hint for method names +method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Regular expression matching correct method names +method-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Naming hint for module names +module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ + +# Regular expression matching correct module names +module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ + +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group= + +# Regular expression which should only match function or class names that do +# not require a docstring. +no-docstring-rgx=^_ + +# List of decorators that produce properties, such as abc.abstractproperty. Add +# to this list to register other decorators that produce valid properties. +property-classes=abc.abstractproperty + +# Naming hint for variable names +variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + +# Regular expression matching correct variable names +variable-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ + + +[FORMAT] + +# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. +expected-line-ending-format= + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )??$ + +# Number of spaces of indent required inside a hanging or continued line. +indent-after-paren=4 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 +# tab). +indent-string=' ' + +# Maximum number of characters on a single line. +max-line-length=100 + +# Maximum number of lines in a module +max-module-lines=1000 + +# List of optional constructs for which whitespace checking is disabled. `dict- +# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}. +# `trailing-comma` allows a space between comma and closing bracket: (a, ). +# `empty-line` allows space-only lines. +no-space-check=trailing-comma,dict-separator + +# Allow the body of a class to be on the same line as the declaration if body +# contains single statement. +single-line-class-stmt=no + +# Allow the body of an if to be on the same line as the test if there is no +# else. +single-line-if-stmt=no + + +[LOGGING] + +# Logging modules to check that the string format arguments are in logging +# function parameter format +logging-modules=logging + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME,XXX,TODO + + +[SIMILARITIES] + +# Ignore comments when computing similarities. +ignore-comments=yes + +# Ignore docstrings when computing similarities. +ignore-docstrings=yes + +# Ignore imports when computing similarities. +ignore-imports=no + +# Minimum lines number of a similarity. +min-similarity-lines=4 + + +[SPELLING] + +# Spelling dictionary name. Available dictionaries: none. To make it working +# install python-enchant package. +spelling-dict= + +# List of comma separated words that should not be checked. +spelling-ignore-words= + +# A path to a file that contains private dictionary; one word per line. +spelling-private-dict-file= + +# Tells whether to store unknown words to indicated private dictionary in +# --spelling-private-dict-file option instead of raising a message. +spelling-store-unknown-words=no + + +[TYPECHECK] + +# List of decorators that produce context managers, such as +# contextlib.contextmanager. Add to this list to register other decorators that +# produce valid context managers. +contextmanager-decorators=contextlib.contextmanager + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E1101 when accessed. Python regular +# expressions are accepted. +generated-members= + +# Tells whether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + +# This flag controls whether pylint should warn about no-member and similar +# checks whenever an opaque object is returned when inferring. The inference +# can return multiple potential results while evaluating a Python object, but +# some branches might not be evaluated, which results in partial inference. In +# that case, it might be useful to still emit no-member and other checks for +# the rest of the inferred objects. +ignore-on-opaque-inference=yes + +# List of class names for which member attributes should not be checked (useful +# for classes with dynamically set attributes). This supports the use of +# qualified names. +ignored-classes=optparse.Values,thread._local,_thread._local + +# List of module names for which member attributes should not be checked +# (useful for modules/projects where namespaces are manipulated during runtime +# and thus existing member attributes cannot be deduced by static analysis. It +# supports qualified module names, as well as Unix pattern matching. +ignored-modules= + +# Show a hint with possible names when a member name was not found. The aspect +# of finding the hint is based on edit distance. +missing-member-hint=yes + +# The minimum edit distance a name should have in order to be considered a +# similar match for a missing member name. +missing-member-hint-distance=1 + +# The total number of similar names that should be taken in consideration when +# showing a hint for a missing member. +missing-member-max-choices=1 + + +[VARIABLES] + +# List of additional names supposed to be defined in builtins. Remember that +# you should avoid to define new builtins when possible. +additional-builtins= + +# Tells whether unused global variables should be treated as a violation. +allow-global-unused-variables=yes + +# List of strings which can identify a callback function by name. A callback +# name must start or end with one of those strings. +callbacks=cb_,_cb + +# A regular expression matching the name of dummy variables (i.e. expectedly +# not used). +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ + +# Argument names that match this expression will be ignored. Default to name +# with leading underscore +ignored-argument-names=_.*|^ignored_|^unused_ + +# Tells whether we should check for unused import in __init__ files. +init-import=no + +# List of qualified module names which can have objects that can redefine +# builtins. +redefining-builtins-modules=six.moves,future.builtins + + +[CLASSES] + +# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__,__new__,setUp + +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected=_asdict,_fields,_replace,_source,_make + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=mcs + + +[DESIGN] + +# Maximum number of arguments for function / method +max-args=5 + +# Maximum number of attributes for a class (see R0902). +max-attributes=7 + +# Maximum number of boolean expressions in a if statement +max-bool-expr=5 + +# Maximum number of branch for function / method body +max-branches=12 + +# Maximum number of locals for function / method body +max-locals=15 + +# Maximum number of parents for a class (see R0901). +max-parents=7 + +# Maximum number of public methods for a class (see R0904). +max-public-methods=20 + +# Maximum number of return / yield for function / method body +max-returns=6 + +# Maximum number of statements in function / method body +max-statements=50 + +# Minimum number of public methods for a class (see R0903). +min-public-methods=2 + + +[IMPORTS] + +# Allow wildcard imports from modules that define __all__. +allow-wildcard-with-all=no + +# Analyse import fallback blocks. This can be used to support both Python 2 and +# 3 compatible code, which means that the block might have code that exists +# only in one or another interpreter, leading to false positives when analysed. +analyse-fallback-blocks=no + +# Deprecated modules which should not be used, separated by a comma +deprecated-modules=regsub,TERMIOS,Bastion,rexec + +# Create a graph of external dependencies in the given file (report RP0402 must +# not be disabled) +ext-import-graph= + +# Create a graph of every (i.e. internal and external) dependencies in the +# given file (report RP0402 must not be disabled) +import-graph= + +# Create a graph of internal dependencies in the given file (report RP0402 must +# not be disabled) +int-import-graph= + +# Force import order to recognize a module as part of the standard +# compatibility libraries. +known-standard-library= + +# Force import order to recognize a module as part of a third party library. +known-third-party=enchant + + +[EXCEPTIONS] + +# Exceptions that will emit a warning when being caught. Defaults to +# "Exception" +overgeneral-exceptions=Exception diff --git a/manage_externals/test/Makefile b/manage_externals/test/Makefile new file mode 100644 index 000000000..293e36075 --- /dev/null +++ b/manage_externals/test/Makefile @@ -0,0 +1,124 @@ +python = not-set +verbose = not-set +debug = not-set + +ifneq ($(python), not-set) +PYTHON=$(python) +else +PYTHON=python +endif + +# we need the python path to point one level up to access the package +# and executables +PYPATH=PYTHONPATH=..: + +# common args for running tests +TEST_ARGS=-m unittest discover + +ifeq ($(debug), not-set) + ifeq ($(verbose), not-set) + # summary only output + TEST_ARGS+=--buffer + else + # show individual test summary + TEST_ARGS+=--buffer --verbose + endif +else + # show detailed test output + TEST_ARGS+=--verbose +endif + + +# auto reformat the code +AUTOPEP8=autopep8 +AUTOPEP8_ARGS=--aggressive --in-place + +# run lint +PYLINT=pylint +PYLINT_ARGS=-j 2 --rcfile=.pylint.rc + +# code coverage +COVERAGE=coverage +COVERAGE_ARGS=--rcfile=.coveragerc + +# source files +SRC = \ + ../checkout_externals \ + ../manic/*.py + +CHECKOUT_EXE = ../checkout_externals + +TEST_DIR = . + +README = ../README.md + +# +# testing +# +.PHONY : utest +utest : FORCE + $(PYPATH) $(PYTHON) $(TEST_ARGS) --pattern 'test_unit_*.py' + +.PHONY : stest +stest : FORCE + $(PYPATH) $(PYTHON) $(TEST_ARGS) --pattern 'test_sys_*.py' + +.PHONY : test +test : utest stest + +# +# documentation +# +.PHONY : readme +readme : $(CHECKOUT_EXE) + printf "%s\n\n" "-- AUTOMATICALLY GENERATED FILE. DO NOT EDIT --" > $(README) + printf "%s" '[![Build Status](https://travis-ci.org/ESMCI/manage_externals.svg?branch=master)](https://travis-ci.org/ESMCI/manage_externals)' >> $(README) + printf "%s" '[![Coverage Status](https://coveralls.io/repos/github/ESMCI/manage_externals/badge.svg?branch=master)](https://coveralls.io/github/ESMCI/manage_externals?branch=master)' >> $(README) + printf "\n%s\n" '```' >> $(README) + $(CHECKOUT_EXE) --help >> $(README) + +# +# coding standards +# +.PHONY : style +style : FORCE + $(AUTOPEP8) $(AUTOPEP8_ARGS) --recursive $(SRC) $(TEST_DIR)/test_*.py + +.PHONY : lint +lint : FORCE + $(PYLINT) $(PYLINT_ARGS) $(SRC) $(TEST_DIR)/test_*.py + +.PHONY : stylint +stylint : style lint + +.PHONY : coverage +# Need to use a single coverage run with a single pattern rather than +# using two separate commands with separate patterns for test_unit_*.py +# and test_sys_*.py: The latter clobbers some results from the first +# run, even if we use the --append flag to 'coverage run'. +coverage : FORCE + $(PYPATH) $(COVERAGE) erase + $(PYPATH) $(COVERAGE) run $(COVERAGE_ARGS) $(TEST_ARGS) --pattern 'test_*.py' + $(PYPATH) $(COVERAGE) html + +# +# virtual environment creation +# +.PHONY : env +env : FORCE + $(PYPATH) virtualenv --python $(PYTHON) $@_$(PYTHON) + . $@_$(PYTHON)/bin/activate; pip install -r requirements.txt + +# +# utilites +# +.PHONY : clean +clean : FORCE + -rm -rf *~ *.pyc tmp fake htmlcov + +.PHONY : clobber +clobber : clean + -rm -rf env_* + +FORCE : + diff --git a/manage_externals/test/README.md b/manage_externals/test/README.md new file mode 100644 index 000000000..938a900ee --- /dev/null +++ b/manage_externals/test/README.md @@ -0,0 +1,77 @@ +# Testing for checkout_externals + +NOTE: Python2 is the supported runtime environment. Python3 compatibility is +in progress, complicated by the different proposed input methods +(yaml, xml, cfg/ini, json) and their different handling of strings +(unicode vs byte) in python2. Full python3 compatibility will be +possible once the number of possible input formats has been narrowed. + +## Setup development environment + +Development environments should be setup for python2 and python3: + +```SH + cd checkout_externals/test + make python=python2 env + make python=python3 env +``` + +## Unit tests + +Tests should be run for both python2 and python3. It is recommended +that you have seperate terminal windows open python2 and python3 +testing to avoid errors activating and deactivating environments. + +```SH + cd checkout_externals/test + . env_python2/bin/activate + make utest + deactivate +``` + +```SH + cd checkout_externals/test + . env_python2/bin/activate + make utest + deactivate +``` + +## System tests + +Not yet implemented. + +## Static analysis + +checkout_externals is difficult to test thoroughly because it relies +on git and svn, and svn requires a live network connection and +repository. Static analysis will help catch bugs in code paths that +are not being executed, but it requires conforming to community +standards and best practices. autopep8 and pylint should be run +regularly for automatic code formatting and linting. + +```SH + cd checkout_externals/test + . env_python2/bin/activate + make lint + deactivate +``` + +The canonical formatting for the code is whatever autopep8 +generates. All issues identified by pylint should be addressed. + + +## Code coverage + +All changes to the code should include maintaining existing tests and +writing new tests for new or changed functionality. To ensure test +coverage, run the code coverage tool: + +```SH + cd checkout_externals/test + . env_python2/bin/activate + make coverage + open -a Firefox.app htmlcov/index.html + deactivate +``` + + diff --git a/manage_externals/test/doc/.gitignore b/manage_externals/test/doc/.gitignore new file mode 100644 index 000000000..d4e11e5ea --- /dev/null +++ b/manage_externals/test/doc/.gitignore @@ -0,0 +1,2 @@ +_build + diff --git a/manage_externals/test/doc/Makefile b/manage_externals/test/doc/Makefile new file mode 100644 index 000000000..18f4d5bf9 --- /dev/null +++ b/manage_externals/test/doc/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = ManageExternals +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/manage_externals/test/doc/conf.py b/manage_externals/test/doc/conf.py new file mode 100644 index 000000000..469c0b0dc --- /dev/null +++ b/manage_externals/test/doc/conf.py @@ -0,0 +1,172 @@ +# -*- coding: utf-8 -*- +# +# Manage Externals documentation build configuration file, created by +# sphinx-quickstart on Wed Nov 29 10:53:25 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['sphinx.ext.autodoc', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.viewcode', + 'sphinx.ext.githubpages'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Manage Externals' +copyright = u'2017, CSEG at NCAR' +author = u'CSEG at NCAR' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'1.0.0' +# The full version, including alpha/beta/rc tags. +release = u'1.0.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# This is required for the alabaster theme +# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars +html_sidebars = { + '**': [ + 'relations.html', # needs 'show_related': True theme option to display + 'searchbox.html', + ] +} + + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ManageExternalsdoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'ManageExternals.tex', u'Manage Externals Documentation', + u'CSEG at NCAR', 'manual'), +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'manageexternals', u'Manage Externals Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'ManageExternals', u'Manage Externals Documentation', + author, 'ManageExternals', 'One line description of project.', + 'Miscellaneous'), +] + + + diff --git a/manage_externals/test/doc/develop.rst b/manage_externals/test/doc/develop.rst new file mode 100644 index 000000000..b817b7b09 --- /dev/null +++ b/manage_externals/test/doc/develop.rst @@ -0,0 +1,202 @@ +Developer Guidelines +==================== + +The manage externals utilities are a light weight replacement for svn +externals that will work with git repositories pulling in a mixture of +git and svn dependencies. + +Given an externals description and a working copy: + +* *checkout_externals* attempts to make the working copy agree with the + externals description + +* *generate_externals* attempts to make the externals description agree + with the working copy. + +For these operations utilities should: + +* operate consistently across git and svn + +* operate simply with minimal user complexity + +* robustly across a wide range of repository states + +* provide explicit error messages when a problem occurs + +* leave the working copy in a valid state + +The utilities in manage externals are **NOT** generic wrappers around +revision control operations or a replacement for common tasks. Users +are expected to: + +* create branches prior to starting development + +* add remotes and push changes + +* create tags + +* delete branches + +These types of tasks are often highly workflow dependent, e.g. branch +naming conventions may vary between repositories, have the potential +to destroy user data, introduce significant code complexit and 'edge +cases' that are extremely difficult to detect and test, and often +require subtle decision making, especially if a problem occurs. + +Users who want to automate these types are encouraged to create their +own tools. The externals description files are explicitly versioned +and the internal APIs are intended to be stable for these purposes. + +Core Design Principles +----------------------- + +1. Users can, and are actively encouraged to, modify the externals + directories using revision control outside of manage_externals + tools. You can't make any assumptions about the state of the + working copy. Examples: adding a remote, creating a branch, + switching to a branch, deleting the directory entirely. + +2. Give that the user can do anything, the manage externals library + can not preserve state between calls. The only information it can + rely on is what it expectes based on the content of the externals + description file, and what the actual state of the directory tree + is. + +3. Do *not* do anything that will possibly destroy user data! + + a. Do not remove files from the file system. We are operating on + user supplied input. If you don't call 'rm', you can't + accidentally remove the user's data. Thinking of calling + ``shutil.rmtree(user_input)``? What if the user accidentally + specified user_input such that it resolves to their home + directory.... Yeah. Don't go there. + + b. Rely on git and svn to do their job as much as possible. Don't + duplicate functionality. Examples: + + i. We require the working copies to be 'clean' as reported by + ``git status`` and ``svn status``. What if there are misc + editor files floating around that prevent an update? Use the + git and svn ignore functionality so they are not + reported. Don't try to remove them from manage_externals or + determine if they are 'safe' to ignore. + + ii. Do not use '--force'. Ever. This is a sign you are doing + something dangerous, it may not be what the user + wants. Remember, they are encouraged to modify their repo. + +4. There are often multiple ways to obtain a particular piece of + information from git. Scraping screen output is brittle and + generally not considered a stable API across different versions of + git. Given a choice between: + + a. a lower level git 'plumbing' command that processes a + specific request and returns a sucess/failure status. + + b. high level git command that produces a bunch of output + that must be processed. + + We always prefer the former. It almost always involves + writing and maintaining less code and is more likely to be + stable. + +5. Backward compatibility is critical. We have *nested* + repositories. They are trivially easy to change versions. They may + have very different versions of the top level manage_externals. The + ability to read and work with old model description files is + critical to avoid problems for users. We also have automated tools + (testdb) that must generate and read external description + files. Backward compatibility will make staging changes vastly + simpler. + +Model Users +----------- + +Consider the needs of the following model userswhen developing manage_externals: + +* Users who will checkout the code once, and never change versions. + +* Users who will checkout the code once, then work for several years, + never updating. before trying to update or request integration. + +* Users develope code but do not use revision control beyond the + initial checkout. If they have modified or untracked files in the + repo, they may be irreplacable. Don't destroy user data. + +* Intermediate users who are working with multiple repos or branches + on a regular basis. They may only use manage_externals weekly or + monthly. Keep the user interface and documentation simple and + explicit. The more command line options they have to remember or + look up, the more frustrated they git. + +* Software engineers who use the tools multiple times a day. It should + get out of their way. + +User Interface +-------------- + +Basic operation for the most standard use cases should be kept as +simple as possible. Many users will only rarely run the manage +utilities. Even advanced users don't like reading a lot of help +documentation or struggling to remember commands and piece together +what they need to run. Having many command line options, even if not +needed, is exteremly frustrating and overwhelming for most users. A few +simple, explicitly named commands are better than a single command +with many options. + +How will users get help if something goes wrong? This is a custom, +one-off solution. Searching the internet for manage_externals, will +only return the user doc for this project at best. There isn't likely +to be a stackoverflow question or blog post where someone else already +answered a user's question. And very few people outside this community +will be able to provide help if something goes wrong. The sooner we +kick users out of these utilities and into standard version control +tools, the better off they are going to be if they run into a problem. + +Repositories +------------ + +There are three basic types of repositories that must be considered: + +* container repositories - repositories that are always top level + repositories, and have a group of externals that must be managed. + +* simple repositories - repositories that are externals to another + repository, and do not have any of their own externals that will be + managed. + +* mixed use repositories - repositories that can act as a top level + container repository or as an external to a top level + container. They may also have their own sub-externals that are + required. They may have different externals needs depening on + whether they are top level or not. + +Repositories must be able to checkout and switch to both branches and +tags. + +Development +=========== + +The functionality to manage externals is broken into a library of core +functionality and applications built with the library. + +The core library is called 'manic', pseduo-homophone of (man)age +(ex)ternals that is: short, pronounceable and spell-checkable. It is +also no more or less meaningful to an unfamiliar user than a random +jumble of letters forming an acronym. + +The core architecture of manic is: + +* externals description - an abstract description on an external, + including of how to obtain it, where to obtain it, where it goes in + the working tree. + +* externals - the software object representing an external. + +* source trees - collection of externals + +* repository wrappers - object oriented wrappers around repository + operations. So the higher level management of the soure tree and + external does not have to be concerned with how a particular + external is obtained and managed. + diff --git a/manage_externals/test/doc/index.rst b/manage_externals/test/doc/index.rst new file mode 100644 index 000000000..9ab287ad8 --- /dev/null +++ b/manage_externals/test/doc/index.rst @@ -0,0 +1,22 @@ +.. Manage Externals documentation master file, created by + sphinx-quickstart on Wed Nov 29 10:53:25 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Manage Externals's documentation! +============================================ + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + + develop.rst + testing.rst + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/manage_externals/test/doc/testing.rst b/manage_externals/test/doc/testing.rst new file mode 100644 index 000000000..623f0e431 --- /dev/null +++ b/manage_externals/test/doc/testing.rst @@ -0,0 +1,123 @@ +Testing +======= + +The manage_externals package has an automated test suite. All pull +requests are expected to pass 100% of the automated tests, as well as +be pep8 and lint 'clean' and maintain approximately constant (at a +minimum) level of code coverage. + +Quick Start +----------- + +Do nothing approach +~~~~~~~~~~~~~~~~~~~ + +When you create a pull request on GitHub, Travis-CI continuous +integration testing will run the test suite in both python2 and +python3. Test results, lint results, and code coverage results are +available online. + +Do something approach +~~~~~~~~~~~~~~~~~~~~~ + +In the test directory, run: + +.. code-block:: shell + + make env + make lint + make test + make coverage + + +Automated Testing +----------------- + +The manage_externals manic library and executables are developed to be +python2 and python3 compatible using only the standard library. The +test suites meet the same requirements. But additional tools are +required to provide lint and code coverage metrics and generate +documentation. The requirements are maintained in the requirements.txt +file, and can be automatically installed into an isolated environment +via Makefile. + +Bootstrap requirements: + +* python2 - version 2.7.x or later + +* python3 - version 3.6 tested other versions may work + +* pip and virtualenv for python2 and python3 + +Note: all make rules can be of the form ``make python=pythonX rule`` +or ``make rule`` depending if you want to use the default system +python or specify a specific version. + +The Makefile in the test directory has the following rules: + +* ``make python=pythonX env`` - create a python virtual environment + for python2 or python3 and install all required packages. These + packages are required to run lint or coverage. + +* ``make style`` - runs autopep8 + +* ``make lint`` - runs autopep8 and pylint + +* ``make test`` - run the full test suite + +* ``make utest`` - run jus the unit tests + +* ``make stest`` - run jus the system integration tests + +* ``make coverage`` - run the full test suite through the code + coverage tool and generate an html report. + +* ``make readme`` - automatically generate the README files. + +* ``make clean`` - remove editor and pyc files + +* ``make clobber`` - remove all generated test files, including + virtual environments, coverage reports, and temporary test + repository directories. + +Unit Tests +---------- + +Unit tests are probably not 'true unit tests' for the pedantic, but +are pragmatic unit tests. They cover small practicle code blocks: +functions, class methods, and groups of functions and class methods. + +System Integration Tests +------------------------ + +NOTE(bja, 2017-11) The systems integration tests currently do not include svn repositories. + +The manage_externals package is extremely tedious and error prone to test manually. + +Combinations that must be tested to ensure basic functionality are: + +* container repository pulling in simple externals + +* container repository pulling in mixed externals with sub-externals. + +* mixed repository acting as a container, pulling in simple externals and sub-externals + +Automatic system tests are handled the same way manual testing is done: + +* clone a test repository + +* create an externals description file for the test + +* run the executable with the desired args + +* check the results + +* potentially modify the repo (checkout a different branch) + +* rerun and test + +* etc + +The automated system stores small test repositories in the main repo +by adding them as bare repositories. These repos are cloned via a +subprocess call to git and manipulated during the tests. diff --git a/manage_externals/test/repos/container.git/HEAD b/manage_externals/test/repos/container.git/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/manage_externals/test/repos/container.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/manage_externals/test/repos/container.git/config b/manage_externals/test/repos/container.git/config new file mode 100644 index 000000000..e6da23157 --- /dev/null +++ b/manage_externals/test/repos/container.git/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true diff --git a/manage_externals/test/repos/container.git/description b/manage_externals/test/repos/container.git/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/manage_externals/test/repos/container.git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/container.git/info/exclude b/manage_externals/test/repos/container.git/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/manage_externals/test/repos/container.git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 b/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 new file mode 100644 index 0000000000000000000000000000000000000000..f65234e17f32800b1be0aa9908cc706458b14605 GIT binary patch literal 133 zcmV;00DAv;0acB$4#OY}L_6~pma=t7)Fr=DfpLNr2P1F?mVSF_r3_t8x_fuJAR6GY zuD1yyS3=Xu)WDKA@Ra});Xx7fWf1zv2~1TS@=422pQw4`eHcB9X3EwU=O)-GQ}s5s nqUZ%S7HaN3i|$`ck;m7Sz6S{Y_}`UoN%K{iOGozsJ+C?sZtFeC literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de b/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de new file mode 100644 index 0000000000000000000000000000000000000000..9759965b1ba440f1899216c1c82c0780fb65f46e GIT binary patch literal 136 zcmV;30C)d*0hNtQ3c@fDKwak)a{8g?ULFizQ5yOj!O$#BY{3QX>9e{j4e8<)

AV=y!@Ff%bx&`ZxO$xP47FG^)_lzn~QNUpn5)Pnq=ii~6DWK2pp8O#dS+Wke_L literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 b/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 new file mode 100644 index 0000000000000000000000000000000000000000..460fd7781917e095c826e8bc77ad53d943f199aa GIT binary patch literal 81 zcmV-X0IvUd0R_Ry4S+BV1VG+Yu@&$_q5vvMU;#^(9XS?9_smrFie(;Fw=7}|1e56wgzpa&}fBkqfO*k&i_)dY`l?1hv=p}Fj<2Ge{uRcq{saZ z%j{g@HZ3wNvQv&lo|o_6gr*rieLQOSK`~u|R`NhFUI)68@B`BlpbA~$UTB9Ga*~zx a%Jelj*-|I)LF@ttC5adD0subgY(|R<&Qf{+ literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 b/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 new file mode 100644 index 0000000000000000000000000000000000000000..032f4b1ca6bf0d25f1f9f419b1e7ab2aae1ef6c8 GIT binary patch literal 171 zcmV;c095~Y0Zomu4uUWgMV;SQFt~~^I5;?f2d%r6C&MNz$f6Pi}^^zp3SC&knSt>TGbz78}9=ZOL8&?Fv(cG!`VtgKgN ZY{1E$27wP^7dQxMoWuzLd;nlTMfbC)Q$zp& literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 b/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 new file mode 100644 index 0000000000000000000000000000000000000000..13d15a96a5071e98f0ba0cfbbdb2992c03990151 GIT binary patch literal 136 zcmV;30C)d*0hNtG4#FT106p`H{eaDGEd>%|)SJ(su+=pM4B|mwZ+(Kd$t05rB_(M< zmNu<2!_Lge2B#67kHO(Q1a!#· +MP…tæÇM¯0v&ù>î°KciåÇüÇ8V; \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f b/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f new file mode 100644 index 0000000000000000000000000000000000000000..7bacde68db5f1201015d4532aba9551660b05399 GIT binary patch literal 167 zcmV;Y09gNc0hNxy4Z<)C0C{H$F90%4+_Vxxz$T7kLnR0(O(n*sumP`oo$loMcuWmC z-)~w~gsCf*eiQX=*_sZfntbAHl&dTZ&5gE zmqjc(UfS(h;i3i3C0B(5e{oub>rV4>ggxy?ABf1q79*mQ-&@oFEO*Ws<|S?Qy{d)p VGuU)ju(jTFZd1AL+y`g^OR&}EOOOBn literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 b/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 new file mode 100644 index 0000000000000000000000000000000000000000..8c6b04837ae4456cc5dc53ea7572610e6635d0d8 GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lzn`tC9-|*xG$A9N literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c b/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c new file mode 100644 index 0000000000000000000000000000000000000000..1a35b74d479fdfb4bf24bcf199663fbb52036eee GIT binary patch literal 130 zcmV-|0Db>>0V^p=O;s>7GGs6`FfcPQQP4}zEXhpI%P&f0aFl&|Gw+GS!K3kZ)1Ezh zejs~i1S3>cQEFmJZmM2MMG3=S(WPsHSWJ^Nk8w52YBee>u{sG;Ra}~+n_5wlT9lWV kQ>>Sqmd-GFVdTA?;?e&$HE}Vp-My(>AuMbJ03PHp2Cniq;{X5v literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 b/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 new file mode 100644 index 0000000000000000000000000000000000000000..f65234e17f32800b1be0aa9908cc706458b14605 GIT binary patch literal 133 zcmV;00DAv;0acB$4#OY}L_6~pma=t7)Fr=DfpLNr2P1F?mVSF_r3_t8x_fuJAR6GY zuD1yyS3=Xu)WDKA@Ra});Xx7fWf1zv2~1TS@=422pQw4`eHcB9X3EwU=O)-GQ}s5s nqUZ%S7HaN3i|$`ck;m7Sz6S{Y_}`UoN%K{iOGozsJ+C?sZtFeC literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 b/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 new file mode 100644 index 0000000000000000000000000000000000000000..6b2146cae4080fe2369401ecf5009fd9612c363c GIT binary patch literal 129 zcmV-{0Dk{?0V^p=O;s>7GGs6`FfcPQQP4}zEXhpI%P&f0aFl&|Gw+GS!K3kZ)1Ezh zejs~i1S3>cQEFmJZmM2MMG3=S(WPsHSWJ^Nk8w52YBee>u{sG;Ra}~+n_5wlT9lWV jQ>>Sqmd+qz)?FYbw&JLT!Zra%FYj6GAw1sz`R^`7StK`- literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a b/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a new file mode 100644 index 000000000..852a05113 --- /dev/null +++ b/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a @@ -0,0 +1 @@ +x•ANÄ09çsãÄÊŽ;‘~2±ÛÊJÄ^MÆ,Ï'ì8õ¥«ÔÚ¾_•ÆyyR3ØlmvˆÆ•PB°Œ˜FCñ¼Î>»y¸± *Ùbla’«-n^]D§¥,Ùx»fvÖû2p×­ }¢ÒGÍzå¿xï‰å‚ÜßÈNvq~Z¢¡Òc›âÔ èÇyäç+QåT¤íÔt;]ŠC:ÝA¹Õg¥¿AÚ( XA÷G‰®µ*=i\†_øÀ^' \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 b/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 new file mode 100644 index 0000000000000000000000000000000000000000..682d799898667fc1b506c6daece665c1af824fc1 GIT binary patch literal 169 zcmV;a09OBa0X2=i4uUWgg`MwHFu01a>EM8d!9g*|M#xPmH`1igdRvT%@!c&N$Mf@@ z(`wU3>1MmAof<6C(>I`v6dJAYeYA@l%k@73%f=gNbntJ=1Cup4@hq3GQ+7Tcu*$C$ z?z1w-GQSj97De^`@|sp*JpN(#NilT+t9T-4S&VZ28ie!20Ci{*k3u`_$Vpb#D>F9W XWKV;@2eAt}0BM}W2>^TmrSn6;Se#N% literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 b/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 new file mode 100644 index 000000000..33c9f6cdf --- /dev/null +++ b/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 @@ -0,0 +1 @@ +x•ŽKNÄ0Yç½cÅÈŸLlK7é´Ÿ5#{ä´ŽO˜°z›ªÒ“¶mW%Ó“v€8¹³äÈÁ&¶eFö²òìÙ±$/¦äéÆUÉžÝz°RœÎJ¶¡”%ZY“ |YS“ìÄC/­Ó'*}ÔÜA¯ü7ïC¸ŸÇÛ‘²ÉÏ‹1‘^L0f’Ç7Åÿ¬©cì übå/ª¼Jo5½-Å®;íî Üê³Ò…¿AÚH:XA÷D×Z:ïÚ‡èè8M¿¸^æ \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd b/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd new file mode 100644 index 0000000000000000000000000000000000000000..73e7cbfbc8e106cee027f798dcb163ec6c5d21e6 GIT binary patch literal 130 zcmV-|0Db>>0V^p=O;s>7GGs6`FfcPQQP4}zEXhpI%P&f0aFl&|Gw+GS!K3kZ)1Ezh zejs~i1S3>cQEFmJZmM2MMG3=S(WPsHSWJ^Nk8w52YBee>u{sG;Ra}~+n_5wlT9lWV kQ>>Sqmd?O9-L+qLU;NqZBmPS=oA+@UXed_#01>J$$h2KJZU6uP literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 b/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 new file mode 100644 index 0000000000000000000000000000000000000000..189ed85bb3c8b8642ae353d29a759f67040b5786 GIT binary patch literal 130 zcmV-|0Db>>0V^p=O;s>7GGs6`FfcPQQP4}zEXhpI%P&f0aFl&|Gw+GS!K3kZ)1Ezh zejs~i1S3>cQEFmJZmM2MMG3=S(WPsHSWJ^Nk8w52YBee>u{sG;Ra}~+n_5wlT9lWV kQ>>Sqmd?Q7Ty=.p¢ˆA +!ìÜ  w4ݵ¡¸Qªé€Øú=©Ã¤á¨ÏZ9ü0„þûkÌ éžG)* \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master b/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master new file mode 100644 index 000000000..1e0eef1ea --- /dev/null +++ b/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master @@ -0,0 +1 @@ +6fc379457ecb4e576a13c7610ae1fa73f845ee6a diff --git a/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature b/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature new file mode 100644 index 000000000..607e80d1b --- /dev/null +++ b/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature @@ -0,0 +1 @@ +9580ecc12f16334ce44e42287d5d46f927bb7b75 diff --git a/manage_externals/test/repos/simple-ext-fork.git/HEAD b/manage_externals/test/repos/simple-ext-fork.git/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/manage_externals/test/repos/simple-ext-fork.git/config b/manage_externals/test/repos/simple-ext-fork.git/config new file mode 100644 index 000000000..04eba1787 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/config @@ -0,0 +1,8 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = /Users/andreb/projects/ncar/git-conversion/checkout-model-dev/cesm-demo-externals/manage_externals/test/repos/simple-ext.git diff --git a/manage_externals/test/repos/simple-ext-fork.git/description b/manage_externals/test/repos/simple-ext-fork.git/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/simple-ext-fork.git/info/exclude b/manage_externals/test/repos/simple-ext-fork.git/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f b/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f new file mode 100644 index 0000000000000000000000000000000000000000..ae28c037e5e8773bab7a7f9b6b050a01c3c8402a GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lznAV=y!@Ff%bx&`ZxO$xP47FG^)_lzn&Ekz!U-;cU~)E`&5u^pl|A>?=DrCt|Zp*KGhtORPb%uc6q&p;{~x`YAHy z#2GbEv6YQH#`fOIuH1gSE*yL=Ojyh~{nIdqe*nnpf*T V&^Fln@|2-4tBgli^9u#mM`!{nPaFUM literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c b/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c new file mode 100644 index 000000000..564e7bba6 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c @@ -0,0 +1,2 @@ +x%ŒK +Â0@]çse&ßDÔ›L’!´˜¶„l¼½).¼Åãu.@Æ_ö¸Jê0ÇàìlM–Ä~v:ÄèmLÌÆi™åY*/ŸÛè@ŽpòÞ W ˆJ¥&Üå¿ø)´*Í \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f b/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f new file mode 100644 index 0000000000000000000000000000000000000000..0d738af68b021dcd9918c8f2047aa4fff55bf6e4 GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lznO)_H(Z zem6QZm^^8RnmiI`ubHzgrPye+FKRN0H9F;O5%17>8Q`NMJ?ehWT|!t)2i0Np3Z=u$N9svC-|`;J-!jY5fUp SfzGuJhQeX2oy8Y4sYkDN{z{Sn literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf b/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf new file mode 100644 index 0000000000000000000000000000000000000000..0999f0d4b9b4297e5677a96f3c9677bf408ee8d9 GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lzniemt(y-3DP$mtIvOOf literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 b/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 new file mode 100644 index 0000000000000000000000000000000000000000..9da8434f65ef3bfdb57cb8117e312a56663a31a2 GIT binary patch literal 159 zcmV;Q0AT-k0hNwh3c@fD0R7G>_5#Z8=Ft>H)JyoiX*NFFNQn2h9>Kq1U|^;?&-V_@ zcGH_GU?Q(kip?&NPmV1)rl3VdZ7GGKLl-2Pw=`WkjA`(0bci¹`ý}0…M”؇BÚÁs0/µâ¿}öï:: \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b b/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b new file mode 100644 index 000000000..9a31c7ef2 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b @@ -0,0 +1,2 @@ +x•ŽKnÃ0 ³Ö)x”,ÊI½EÑŸ´–A¹Ü#t7o€ŒìÛ¶vp.žzS…ÁšÆƒ&oÑ„©d¦8¹xLd@™Ì‹›ÖCð6f¯% +œpt$‰m&ŽJd…¦¡øhøÝ—½Á—VxÔÒ®ùÉpŸ7^/²o7°d­K1ÂGDsØ#¯ë¿æ{o?Z 7®²€,\g½˜AV=y!@Ff%bx&`ZxO$xP47FG^)_lznAV=y!@Ff%bx&`ZxO$xP47FG^)_lznvGy0&Z${j?E8>6rD10GHRYE2d literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/5f/1d4786d12e52d7ab28d2f2f1118c1059a9f1ae b/manage_externals/test/repos/simple-ext-fork.git/objects/5f/1d4786d12e52d7ab28d2f2f1118c1059a9f1ae new file mode 100644 index 0000000000000000000000000000000000000000..25488b7bfe52fd0d530e20393b752815d9aaf16f GIT binary patch literal 93 zcmV-j0HXhR0S(JB4ue1p1i;kyiv0l8%LNPZurX=iP=VtPL2T>`g? zkh3=;83|{%kTn0{lH8#Nev_`XVPmImRbRpwOIgehnBL{IWwXg literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/67/136e5ab4d5c1c65d10c8048763b96b0e53c1d6 b/manage_externals/test/repos/simple-ext-fork.git/objects/67/136e5ab4d5c1c65d10c8048763b96b0e53c1d6 new file mode 100644 index 0000000000000000000000000000000000000000..d3dfe31113715fe07ea6833f0c2a25e868ac20b2 GIT binary patch literal 165 zcmV;W09yZe0hNwR4#F@DL|Nw)z5pm6r*$QSfIWwB8k=t$6s6+&lq0Ykjo#?ZSf=UT zz+~D012)4Gj)~xM%ugTv-b1AFi TQ|c4S3@Y4~D&BknM3zUWvn5b3 literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/7b/0bd630ac13865735a1dff3437a137d8ab50663 b/manage_externals/test/repos/simple-ext-fork.git/objects/7b/0bd630ac13865735a1dff3437a137d8ab50663 new file mode 100644 index 0000000000000000000000000000000000000000..0a2ec0494bc1600144cb54b61a6d7b43c7f3e806 GIT binary patch literal 119 zcmV--0Eqv10X50d4FVw$MNz-0;#IJTYiz*^YyjkKAhHY@MpwI+#E{&tb3>7U^YwDN zr`$2}=y`92Fm{8oNzW$w#gQ$c3ivT<^#zfQHTwFÁ©¹£rPkÖSèkJ´^ë \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 b/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 new file mode 100644 index 000000000..d8ba65454 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 @@ -0,0 +1,3 @@ +xUÌ[ +Â0…aŸ³ŠÙ@%Is+ˆ¨;™¤c/˜DÂq÷VðÅ×Ã>Æ ”w‡WJ Ú˜>8ò!¤!&'ƒS=)í±×CòF+ÑI2‚ßO‚Ts^Xðn`Ä2ÖBcw'ä­Ñw¨Á +\ËØNqÝ›F—)ãò8îç3(«¬Œ2:é¥ÿü0x-<×!6,i ª9 \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 b/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 new file mode 100644 index 0000000000000000000000000000000000000000..9b40a0afa00b93a318cd503d3b29db1162978b03 GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lznD—}ÂD>£Nƒv“{ŠZ¼M˜I…¥?jƒ‹Ìpžs8ÄgøÓ½„qÚ¥ZŽ€qo j†­f­ÕJ×{]þÕµÓ¥®¥Om/¨3Ü$ô¥‰Q_@ÞH© \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/packed-refs b/manage_externals/test/repos/simple-ext-fork.git/packed-refs new file mode 100644 index 000000000..b8f9e8630 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/packed-refs @@ -0,0 +1,5 @@ +# pack-refs with: peeled fully-peeled sorted +36418b4e5665956a90725c9a1b5a8e551c5f3d48 refs/heads/feature2 +9b75494003deca69527bb64bcaa352e801611dd2 refs/heads/master +11a76e3d9a67313dec7ce1230852ab5c86352c5c refs/tags/tag1 +^9b75494003deca69527bb64bcaa352e801611dd2 diff --git a/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 b/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 new file mode 100644 index 000000000..d223b0362 --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 @@ -0,0 +1 @@ +f268d4e56d067da9bd1d85e55bdc40a8bd2b0bca diff --git a/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature b/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature new file mode 100644 index 000000000..8a18bf08e --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature @@ -0,0 +1 @@ +a42fe9144f5707bc1e9515ce1b44681f7aba6f95 diff --git a/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 b/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 new file mode 100644 index 000000000..2764b552d --- /dev/null +++ b/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 @@ -0,0 +1 @@ +8d2b3b35126224c975d23f109aa1e3cbac452989 diff --git a/manage_externals/test/repos/simple-ext.git/HEAD b/manage_externals/test/repos/simple-ext.git/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/manage_externals/test/repos/simple-ext.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/manage_externals/test/repos/simple-ext.git/config b/manage_externals/test/repos/simple-ext.git/config new file mode 100644 index 000000000..e6da23157 --- /dev/null +++ b/manage_externals/test/repos/simple-ext.git/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true diff --git a/manage_externals/test/repos/simple-ext.git/description b/manage_externals/test/repos/simple-ext.git/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/manage_externals/test/repos/simple-ext.git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/simple-ext.git/info/exclude b/manage_externals/test/repos/simple-ext.git/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/manage_externals/test/repos/simple-ext.git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f b/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f new file mode 100644 index 0000000000000000000000000000000000000000..ae28c037e5e8773bab7a7f9b6b050a01c3c8402a GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lznbW_*ltIGSP}@rN;eRaRvTe4jec)&9#mV ztc{ztsDi^RDN|POQ7IsM3R)Zn^fb6Ap%fNDG*4c1YCyeUO2}@P$+4Hjj2b9dvLb3- zmJ-WQ2E*@mn-@6i1g9x43VXTpcO0*k$48gudH@`(^)|-1gKbZJZ&teIHT_#Om*271 ST(#ZC=?eOIX=gtC)=0=UK}@j# literal 0 HcmV?d00001 diff --git a/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 b/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 new file mode 100644 index 0000000000000000000000000000000000000000..32d6896e3cb813edde3e4f0d0ca2d21963c2f1b0 GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lznåY*/ŸÛè@ŽpòÞ W ˆJ¥&Üå¿ø)´*Í \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 b/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 new file mode 100644 index 0000000000000000000000000000000000000000..0f0db6797fe19372f1d2122ebe8aa5361df07c61 GIT binary patch literal 90 zcmV-g0HyzU0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lzn_5#Z8=Ft>H)JyoiX*NFFNQn2h9>Kq1U|^;?&-V_@ zcGH_GU?Q(kip?&NPmV1)rl3VdZ7GGKLl-2Pw=`WkjA`(0bciÁ©¹£rPkÖSèkJ´^ë \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 b/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 new file mode 100644 index 000000000..1d27accb5 --- /dev/null +++ b/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 @@ -0,0 +1 @@ +x ÈÁ € @ßT±øàeV` ›p ¹;£v¯É¼&מ±Äi+bø%˜œ£Ns(G7ñ®/nñ‚ÖÁÇ©-UlGj»ÐæV&¿”Yÿ+!|£òŠ \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff b/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff new file mode 100644 index 0000000000000000000000000000000000000000..4018ea5914ee89b76d88fc282b6c98d80e4aaccd GIT binary patch literal 89 zcmV-f0H*(V0V^p=O;s>AV=y!@Ff%bx&`ZxO$xP47FG^)_lzn=1.7.0 +autopep8>=1.3.0 +coverage>=4.4.0 +coveralls>=1.2.0 +sphinx>=1.6.0 diff --git a/manage_externals/test/test_sys_checkout.py b/manage_externals/test/test_sys_checkout.py new file mode 100644 index 000000000..63adcacdd --- /dev/null +++ b/manage_externals/test/test_sys_checkout.py @@ -0,0 +1,1827 @@ +#!/usr/bin/env python + +"""Unit test driver for checkout_externals + +Note: this script assume the path to the manic and +checkout_externals module is already in the python path. This is +usually handled by the makefile. If you call it directly, you may need +to adjust your path. + +NOTE(bja, 2017-11) If a test fails, we want to keep the repo for that +test. But the tests will keep running, so we need a unique name. Also, +tearDown is always called after each test. I haven't figured out how +to determine if an assertion failed and whether it is safe to clean up +the test repos. + +So the solution is: + +* assign a unique id to each test repo. + +* never cleanup during the run. + +* Erase any existing repos at the begining of the module in +setUpModule. + +""" + +# NOTE(bja, 2017-11) pylint complains that the module is too big, but +# I'm still working on how to break up the tests and still have the +# temporary directory be preserved.... +# pylint: disable=too-many-lines + + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import logging +import os +import os.path +import shutil +import unittest + +from manic.externals_description import ExternalsDescription +from manic.externals_description import DESCRIPTION_SECTION, VERSION_ITEM +from manic.externals_description import git_submodule_status +from manic.externals_status import ExternalStatus +from manic.repository_git import GitRepository +from manic.utils import printlog, execute_subprocess +from manic.global_constants import LOCAL_PATH_INDICATOR, VERBOSITY_DEFAULT +from manic.global_constants import LOG_FILE_NAME +from manic import checkout + +# ConfigParser was renamed in python2 to configparser. In python2, +# ConfigParser returns byte strings, str, instead of unicode. We need +# unicode to be compatible with xml and json parser and python3. +try: + # python2 + from ConfigParser import SafeConfigParser as config_parser +except ImportError: + # python3 + from configparser import ConfigParser as config_parser + +# --------------------------------------------------------------------- +# +# Global constants +# +# --------------------------------------------------------------------- + +# environment variable names +MANIC_TEST_BARE_REPO_ROOT = 'MANIC_TEST_BARE_REPO_ROOT' +MANIC_TEST_TMP_REPO_ROOT = 'MANIC_TEST_TMP_REPO_ROOT' + +# directory names +TMP_REPO_DIR_NAME = 'tmp' +BARE_REPO_ROOT_NAME = 'repos' +CONTAINER_REPO_NAME = 'container.git' +MIXED_REPO_NAME = 'mixed-cont-ext.git' +SIMPLE_REPO_NAME = 'simple-ext.git' +SIMPLE_FORK_NAME = 'simple-ext-fork.git' +SIMPLE_LOCAL_ONLY_NAME = '.' +ERROR_REPO_NAME = 'error' +EXTERNALS_NAME = 'externals' +SUB_EXTERNALS_PATH = 'src' +CFG_NAME = 'externals.cfg' +CFG_SUB_NAME = 'sub-externals.cfg' +README_NAME = 'readme.txt' +REMOTE_BRANCH_FEATURE2 = 'feature2' + +SVN_TEST_REPO = 'https://github.com/escomp/cesm' + + +def setUpModule(): # pylint: disable=C0103 + """Setup for all tests in this module. It is called once per module! + """ + logging.basicConfig(filename=LOG_FILE_NAME, + format='%(levelname)s : %(asctime)s : %(message)s', + datefmt='%Y-%m-%d %H:%M:%S', + level=logging.DEBUG) + repo_root = os.path.join(os.getcwd(), TMP_REPO_DIR_NAME) + repo_root = os.path.abspath(repo_root) + # delete if it exists from previous runs + try: + shutil.rmtree(repo_root) + except BaseException: + pass + # create clean dir for this run + os.mkdir(repo_root) + # set into the environment so var will be expanded in externals + # filess when executables are run + os.environ[MANIC_TEST_TMP_REPO_ROOT] = repo_root + + +class GenerateExternalsDescriptionCfgV1(object): + """Class to provide building blocks to create + ExternalsDescriptionCfgV1 files. + + Includes predefined files used in tests. + + """ + + def __init__(self): + self._schema_version = '1.1.0' + self._config = None + + def container_full(self, dest_dir): + """Create the full container config file with simple and mixed use + externals + + """ + self.create_config() + self.create_section(SIMPLE_REPO_NAME, 'simp_tag', + tag='tag1') + + self.create_section(SIMPLE_REPO_NAME, 'simp_branch', + branch=REMOTE_BRANCH_FEATURE2) + + self.create_section(SIMPLE_REPO_NAME, 'simp_opt', + tag='tag1', required=False) + + self.create_section(MIXED_REPO_NAME, 'mixed_req', + branch='master', externals=CFG_SUB_NAME) + + self.write_config(dest_dir) + + def container_simple_required(self, dest_dir): + """Create a container externals file with only simple externals. + + """ + self.create_config() + self.create_section(SIMPLE_REPO_NAME, 'simp_tag', + tag='tag1') + + self.create_section(SIMPLE_REPO_NAME, 'simp_branch', + branch=REMOTE_BRANCH_FEATURE2) + + self.create_section(SIMPLE_REPO_NAME, 'simp_hash', + ref_hash='60b1cc1a38d63') + + self.write_config(dest_dir) + + def container_simple_optional(self, dest_dir): + """Create a container externals file with optional simple externals + + """ + self.create_config() + self.create_section(SIMPLE_REPO_NAME, 'simp_req', + tag='tag1') + + self.create_section(SIMPLE_REPO_NAME, 'simp_opt', + tag='tag1', required=False) + + self.write_config(dest_dir) + + def container_simple_svn(self, dest_dir): + """Create a container externals file with only simple externals. + + """ + self.create_config() + self.create_section(SIMPLE_REPO_NAME, 'simp_tag', tag='tag1') + + self.create_svn_external('svn_branch', branch='trunk') + self.create_svn_external('svn_tag', tag='tags/cesm2.0.beta07') + + self.write_config(dest_dir) + + def mixed_simple_base(self, dest_dir): + """Create a mixed-use base externals file with only simple externals. + + """ + self.create_config() + self.create_section_ext_only('mixed_base') + self.create_section(SIMPLE_REPO_NAME, 'simp_tag', + tag='tag1') + + self.create_section(SIMPLE_REPO_NAME, 'simp_branch', + branch=REMOTE_BRANCH_FEATURE2) + + self.create_section(SIMPLE_REPO_NAME, 'simp_hash', + ref_hash='60b1cc1a38d63') + + self.write_config(dest_dir) + + def mixed_simple_sub(self, dest_dir): + """Create a mixed-use sub externals file with only simple externals. + + """ + self.create_config() + self.create_section(SIMPLE_REPO_NAME, 'simp_tag', + tag='tag1', path=SUB_EXTERNALS_PATH) + + self.create_section(SIMPLE_REPO_NAME, 'simp_branch', + branch=REMOTE_BRANCH_FEATURE2, + path=SUB_EXTERNALS_PATH) + + self.write_config(dest_dir, filename=CFG_SUB_NAME) + + def write_config(self, dest_dir, filename=CFG_NAME): + """Write the configuration file to disk + + """ + dest_path = os.path.join(dest_dir, filename) + with open(dest_path, 'w') as configfile: + self._config.write(configfile) + + def create_config(self): + """Create an config object and add the required metadata section + + """ + self._config = config_parser() + self.create_metadata() + + def create_metadata(self): + """Create the metadata section of the config file + """ + self._config.add_section(DESCRIPTION_SECTION) + + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, + self._schema_version) + + def create_section(self, repo_type, name, tag='', branch='', + ref_hash='', required=True, path=EXTERNALS_NAME, + externals='', repo_path=None, from_submodule=False): + # pylint: disable=too-many-branches + """Create a config section with autofilling some items and handling + optional items. + + """ + # pylint: disable=R0913 + self._config.add_section(name) + if not from_submodule: + self._config.set(name, ExternalsDescription.PATH, + os.path.join(path, name)) + + self._config.set(name, ExternalsDescription.PROTOCOL, + ExternalsDescription.PROTOCOL_GIT) + + # from_submodules is incompatible with some other options, turn them off + if (from_submodule and + ((repo_path is not None) or tag or ref_hash or branch)): + printlog('create_section: "from_submodule" is incompatible with ' + '"repo_url", "tag", "hash", and "branch" options;\n' + 'Ignoring those options for {}'.format(name)) + repo_url = None + tag = '' + ref_hash = '' + branch = '' + + if repo_path is not None: + repo_url = repo_path + else: + repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', repo_type) + + if not from_submodule: + self._config.set(name, ExternalsDescription.REPO_URL, repo_url) + + self._config.set(name, ExternalsDescription.REQUIRED, str(required)) + + if tag: + self._config.set(name, ExternalsDescription.TAG, tag) + + if branch: + self._config.set(name, ExternalsDescription.BRANCH, branch) + + if ref_hash: + self._config.set(name, ExternalsDescription.HASH, ref_hash) + + if externals: + self._config.set(name, ExternalsDescription.EXTERNALS, externals) + + if from_submodule: + self._config.set(name, ExternalsDescription.SUBMODULE, "True") + + def create_section_ext_only(self, name, + required=True, externals=CFG_SUB_NAME): + """Create a config section with autofilling some items and handling + optional items. + + """ + # pylint: disable=R0913 + self._config.add_section(name) + self._config.set(name, ExternalsDescription.PATH, LOCAL_PATH_INDICATOR) + + self._config.set(name, ExternalsDescription.PROTOCOL, + ExternalsDescription.PROTOCOL_EXTERNALS_ONLY) + + self._config.set(name, ExternalsDescription.REPO_URL, + LOCAL_PATH_INDICATOR) + + self._config.set(name, ExternalsDescription.REQUIRED, str(required)) + + if externals: + self._config.set(name, ExternalsDescription.EXTERNALS, externals) + + def create_svn_external(self, name, tag='', branch=''): + """Create a config section for an svn repository. + + """ + self._config.add_section(name) + self._config.set(name, ExternalsDescription.PATH, + os.path.join(EXTERNALS_NAME, name)) + + self._config.set(name, ExternalsDescription.PROTOCOL, + ExternalsDescription.PROTOCOL_SVN) + + self._config.set(name, ExternalsDescription.REPO_URL, SVN_TEST_REPO) + + self._config.set(name, ExternalsDescription.REQUIRED, str(True)) + + if tag: + self._config.set(name, ExternalsDescription.TAG, tag) + + if branch: + self._config.set(name, ExternalsDescription.BRANCH, branch) + + @staticmethod + def create_branch(dest_dir, repo_name, branch, with_commit=False): + """Update a repository branch, and potentially the remote. + """ + # pylint: disable=R0913 + cwd = os.getcwd() + repo_root = os.path.join(dest_dir, EXTERNALS_NAME) + repo_root = os.path.join(repo_root, repo_name) + os.chdir(repo_root) + cmd = ['git', 'checkout', '-b', branch, ] + execute_subprocess(cmd) + if with_commit: + msg = 'start work on {0}'.format(branch) + with open(README_NAME, 'a') as handle: + handle.write(msg) + cmd = ['git', 'add', README_NAME, ] + execute_subprocess(cmd) + cmd = ['git', 'commit', '-m', msg, ] + execute_subprocess(cmd) + os.chdir(cwd) + + @staticmethod + def create_commit(dest_dir, repo_name, local_tracking_branch=None): + """Make a commit on whatever is currently checked out. + + This is used to test sync state changes from local commits on + detached heads and tracking branches. + + """ + cwd = os.getcwd() + repo_root = os.path.join(dest_dir, EXTERNALS_NAME) + repo_root = os.path.join(repo_root, repo_name) + os.chdir(repo_root) + if local_tracking_branch: + cmd = ['git', 'checkout', '-b', local_tracking_branch, ] + execute_subprocess(cmd) + + msg = 'work on great new feature!' + with open(README_NAME, 'a') as handle: + handle.write(msg) + cmd = ['git', 'add', README_NAME, ] + execute_subprocess(cmd) + cmd = ['git', 'commit', '-m', msg, ] + execute_subprocess(cmd) + os.chdir(cwd) + + def update_branch(self, dest_dir, name, branch, repo_type=None, + filename=CFG_NAME): + """Update a repository branch, and potentially the remote. + """ + # pylint: disable=R0913 + self._config.set(name, ExternalsDescription.BRANCH, branch) + + if repo_type: + if repo_type == SIMPLE_LOCAL_ONLY_NAME: + repo_url = SIMPLE_LOCAL_ONLY_NAME + else: + repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', + repo_type) + self._config.set(name, ExternalsDescription.REPO_URL, repo_url) + + try: + # remove the tag if it existed + self._config.remove_option(name, ExternalsDescription.TAG) + except BaseException: + pass + + self.write_config(dest_dir, filename) + + def update_svn_branch(self, dest_dir, name, branch, filename=CFG_NAME): + """Update a repository branch, and potentially the remote. + """ + # pylint: disable=R0913 + self._config.set(name, ExternalsDescription.BRANCH, branch) + + try: + # remove the tag if it existed + self._config.remove_option(name, ExternalsDescription.TAG) + except BaseException: + pass + + self.write_config(dest_dir, filename) + + def update_tag(self, dest_dir, name, tag, repo_type=None, + filename=CFG_NAME, remove_branch=True): + """Update a repository tag, and potentially the remote + + NOTE(bja, 2017-11) remove_branch=False should result in an + overspecified external with both a branch and tag. This is + used for error condition testing. + + """ + # pylint: disable=R0913 + self._config.set(name, ExternalsDescription.TAG, tag) + + if repo_type: + repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', repo_type) + self._config.set(name, ExternalsDescription.REPO_URL, repo_url) + + try: + # remove the branch if it existed + if remove_branch: + self._config.remove_option(name, ExternalsDescription.BRANCH) + except BaseException: + pass + + self.write_config(dest_dir, filename) + + def update_underspecify_branch_tag(self, dest_dir, name, + filename=CFG_NAME): + """Update a repository protocol, and potentially the remote + """ + # pylint: disable=R0913 + try: + # remove the branch if it existed + self._config.remove_option(name, ExternalsDescription.BRANCH) + except BaseException: + pass + + try: + # remove the tag if it existed + self._config.remove_option(name, ExternalsDescription.TAG) + except BaseException: + pass + + self.write_config(dest_dir, filename) + + def update_underspecify_remove_url(self, dest_dir, name, + filename=CFG_NAME): + """Update a repository protocol, and potentially the remote + """ + # pylint: disable=R0913 + try: + # remove the repo url if it existed + self._config.remove_option(name, ExternalsDescription.REPO_URL) + except BaseException: + pass + + self.write_config(dest_dir, filename) + + def update_protocol(self, dest_dir, name, protocol, repo_type=None, + filename=CFG_NAME): + """Update a repository protocol, and potentially the remote + """ + # pylint: disable=R0913 + self._config.set(name, ExternalsDescription.PROTOCOL, protocol) + + if repo_type: + repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', repo_type) + self._config.set(name, ExternalsDescription.REPO_URL, repo_url) + + self.write_config(dest_dir, filename) + + +class BaseTestSysCheckout(unittest.TestCase): + """Base class of reusable systems level test setup for + checkout_externals + + """ + # NOTE(bja, 2017-11) pylint complains about long method names, but + # it is hard to differentiate tests without making them more + # cryptic. + # pylint: disable=invalid-name + + status_args = ['--status'] + checkout_args = [] + optional_args = ['--optional'] + verbose_args = ['--status', '--verbose'] + + def setUp(self): + """Setup for all individual checkout_externals tests + """ + # directory we want to return to after the test system and + # checkout_externals are done cd'ing all over the place. + self._return_dir = os.getcwd() + + self._test_id = self.id().split('.')[-1] + + # path to the executable + self._checkout = os.path.join('../checkout_externals') + self._checkout = os.path.abspath(self._checkout) + + # directory where we have test repositories + self._bare_root = os.path.join(os.getcwd(), BARE_REPO_ROOT_NAME) + self._bare_root = os.path.abspath(self._bare_root) + + # set into the environment so var will be expanded in externals files + os.environ[MANIC_TEST_BARE_REPO_ROOT] = self._bare_root + + # set the input file generator + self._generator = GenerateExternalsDescriptionCfgV1() + # set the input file generator for secondary externals + self._sub_generator = GenerateExternalsDescriptionCfgV1() + + def tearDown(self): + """Tear down for individual tests + """ + # remove the env var we added in setup + del os.environ[MANIC_TEST_BARE_REPO_ROOT] + + # return to our common starting point + os.chdir(self._return_dir) + + def setup_test_repo(self, parent_repo_name, dest_dir_in=None): + """Setup the paths and clone the base test repo + + """ + # unique repo for this test + test_dir_name = self._test_id + print("Test repository name: {0}".format(test_dir_name)) + + parent_repo_dir = os.path.join(self._bare_root, parent_repo_name) + if dest_dir_in is None: + dest_dir = os.path.join(os.environ[MANIC_TEST_TMP_REPO_ROOT], + test_dir_name) + else: + dest_dir = dest_dir_in + + # pylint: disable=W0212 + GitRepository._git_clone(parent_repo_dir, dest_dir, VERBOSITY_DEFAULT) + return dest_dir + + @staticmethod + def _add_file_to_repo(under_test_dir, filename, tracked): + """Add a file to the repository so we can put it into a dirty state + + """ + cwd = os.getcwd() + os.chdir(under_test_dir) + with open(filename, 'w') as tmp: + tmp.write('Hello, world!') + + if tracked: + # NOTE(bja, 2018-01) brittle hack to obtain repo dir and + # file name + path_data = filename.split('/') + repo_dir = os.path.join(path_data[0], path_data[1]) + os.chdir(repo_dir) + tracked_file = path_data[2] + cmd = ['git', 'add', tracked_file] + execute_subprocess(cmd) + + os.chdir(cwd) + + @staticmethod + def execute_cmd_in_dir(under_test_dir, args): + """Extecute the checkout command in the appropriate repo dir with the + specified additional args + + Note that we are calling the command line processing and main + routines and not using a subprocess call so that we get code + coverage results! + + """ + cwd = os.getcwd() + checkout_path = os.path.abspath('{0}/../../checkout_externals') + os.chdir(under_test_dir) + cmdline = ['--externals', CFG_NAME, ] + cmdline += args + repo_root = 'MANIC_TEST_BARE_REPO_ROOT={root}'.format( + root=os.environ[MANIC_TEST_BARE_REPO_ROOT]) + manual_cmd = ('Test cmd:\npushd {cwd}; {env} {checkout} {args}'.format( + cwd=under_test_dir, env=repo_root, checkout=checkout_path, + args=' '.join(cmdline))) + printlog(manual_cmd) + options = checkout.commandline_arguments(cmdline) + overall_status, tree_status = checkout.main(options) + os.chdir(cwd) + return overall_status, tree_status + + # ---------------------------------------------------------------- + # + # Check results for generic perturbation of states + # + # ---------------------------------------------------------------- + def _check_generic_empty_default_required(self, tree, name): + self.assertEqual(tree[name].sync_state, ExternalStatus.EMPTY) + self.assertEqual(tree[name].clean_state, ExternalStatus.DEFAULT) + self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) + + def _check_generic_ok_clean_required(self, tree, name): + self.assertEqual(tree[name].sync_state, ExternalStatus.STATUS_OK) + self.assertEqual(tree[name].clean_state, ExternalStatus.STATUS_OK) + self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) + + def _check_generic_ok_dirty_required(self, tree, name): + self.assertEqual(tree[name].sync_state, ExternalStatus.STATUS_OK) + self.assertEqual(tree[name].clean_state, ExternalStatus.DIRTY) + self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) + + def _check_generic_modified_ok_required(self, tree, name): + self.assertEqual(tree[name].sync_state, ExternalStatus.MODEL_MODIFIED) + self.assertEqual(tree[name].clean_state, ExternalStatus.STATUS_OK) + self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) + + def _check_generic_empty_default_optional(self, tree, name): + self.assertEqual(tree[name].sync_state, ExternalStatus.EMPTY) + self.assertEqual(tree[name].clean_state, ExternalStatus.DEFAULT) + self.assertEqual(tree[name].source_type, ExternalStatus.OPTIONAL) + + def _check_generic_ok_clean_optional(self, tree, name): + self.assertEqual(tree[name].sync_state, ExternalStatus.STATUS_OK) + self.assertEqual(tree[name].clean_state, ExternalStatus.STATUS_OK) + self.assertEqual(tree[name].source_type, ExternalStatus.OPTIONAL) + + # ---------------------------------------------------------------- + # + # Check results for individual named externals + # + # ---------------------------------------------------------------- + def _check_simple_tag_empty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_tag'.format(directory) + self._check_generic_empty_default_required(tree, name) + + def _check_simple_tag_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_tag'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_simple_tag_dirty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_tag'.format(directory) + self._check_generic_ok_dirty_required(tree, name) + + def _check_simple_tag_modified(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_tag'.format(directory) + self._check_generic_modified_ok_required(tree, name) + + def _check_simple_branch_empty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_branch'.format(directory) + self._check_generic_empty_default_required(tree, name) + + def _check_simple_branch_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_branch'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_simple_branch_modified(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_branch'.format(directory) + self._check_generic_modified_ok_required(tree, name) + + def _check_simple_hash_empty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_hash'.format(directory) + self._check_generic_empty_default_required(tree, name) + + def _check_simple_hash_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_hash'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_simple_hash_modified(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_hash'.format(directory) + self._check_generic_modified_ok_required(tree, name) + + def _check_simple_req_empty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_req'.format(directory) + self._check_generic_empty_default_required(tree, name) + + def _check_simple_req_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_req'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_simple_opt_empty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_opt'.format(directory) + self._check_generic_empty_default_optional(tree, name) + + def _check_simple_opt_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/simp_opt'.format(directory) + self._check_generic_ok_clean_optional(tree, name) + + def _check_mixed_ext_branch_empty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/mixed_req'.format(directory) + self._check_generic_empty_default_required(tree, name) + + def _check_mixed_ext_branch_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/mixed_req'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_mixed_ext_branch_modified(self, tree, directory=EXTERNALS_NAME): + name = './{0}/mixed_req'.format(directory) + self._check_generic_modified_ok_required(tree, name) + + # ---------------------------------------------------------------- + # + # Check results for groups of externals under specific conditions + # + # ---------------------------------------------------------------- + def _check_container_simple_required_pre_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_empty(tree) + self._check_simple_branch_empty(tree) + self._check_simple_hash_empty(tree) + + def _check_container_simple_required_checkout(self, overall, tree): + # Note, this is the internal tree status just before checkout + self.assertEqual(overall, 0) + self._check_simple_tag_empty(tree) + self._check_simple_branch_empty(tree) + self._check_simple_hash_empty(tree) + + def _check_container_simple_required_post_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_simple_branch_ok(tree) + self._check_simple_hash_ok(tree) + + def _check_container_simple_required_out_of_sync(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_modified(tree) + self._check_simple_branch_modified(tree) + self._check_simple_hash_modified(tree) + + def _check_container_simple_optional_pre_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_req_empty(tree) + self._check_simple_opt_empty(tree) + + def _check_container_simple_optional_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_req_empty(tree) + self._check_simple_opt_empty(tree) + + def _check_container_simple_optional_post_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_req_ok(tree) + self._check_simple_opt_empty(tree) + + def _check_container_simple_optional_post_optional(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_req_ok(tree) + self._check_simple_opt_ok(tree) + + def _check_container_simple_required_sb_modified(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_simple_branch_modified(tree) + self._check_simple_hash_ok(tree) + + def _check_container_simple_optional_st_dirty(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_dirty(tree) + self._check_simple_branch_ok(tree) + + def _check_container_full_pre_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_empty(tree) + self._check_simple_branch_empty(tree) + self._check_simple_opt_empty(tree) + self._check_mixed_ext_branch_required_pre_checkout(overall, tree) + + def _check_container_component_post_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_opt_ok(tree) + self._check_simple_tag_empty(tree) + self._check_simple_branch_empty(tree) + + def _check_container_component_post_checkout2(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_opt_ok(tree) + self._check_simple_tag_empty(tree) + self._check_simple_branch_ok(tree) + + def _check_container_full_post_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_simple_branch_ok(tree) + self._check_simple_opt_empty(tree) + self._check_mixed_ext_branch_required_post_checkout(overall, tree) + + def _check_container_full_pre_checkout_ext_change(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_simple_branch_ok(tree) + self._check_simple_opt_empty(tree) + self._check_mixed_ext_branch_required_pre_checkout_ext_change( + overall, tree) + + def _check_container_full_post_checkout_subext_modified( + self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_simple_branch_ok(tree) + self._check_simple_opt_empty(tree) + self._check_mixed_ext_branch_required_post_checkout_subext_modified( + overall, tree) + + def _check_mixed_ext_branch_required_pre_checkout(self, overall, tree): + # Note, this is the internal tree status just before checkout + self.assertEqual(overall, 0) + self._check_mixed_ext_branch_empty(tree, directory=EXTERNALS_NAME) + # NOTE: externals/mixed_req/src should not exist in the tree + # since this is the status before checkout of mixed_req. + + def _check_mixed_ext_branch_required_post_checkout(self, overall, tree): + # Note, this is the internal tree status just before checkout + self.assertEqual(overall, 0) + self._check_mixed_ext_branch_ok(tree, directory=EXTERNALS_NAME) + check_dir = "{0}/{1}/{2}".format(EXTERNALS_NAME, "mixed_req", + SUB_EXTERNALS_PATH) + self._check_simple_branch_ok(tree, directory=check_dir) + + def _check_mixed_ext_branch_required_pre_checkout_ext_change( + self, overall, tree): + # Note, this is the internal tree status just after change the + # externals description file, but before checkout + self.assertEqual(overall, 0) + self._check_mixed_ext_branch_modified(tree, directory=EXTERNALS_NAME) + check_dir = "{0}/{1}/{2}".format(EXTERNALS_NAME, "mixed_req", + SUB_EXTERNALS_PATH) + self._check_simple_branch_ok(tree, directory=check_dir) + + def _check_mixed_ext_branch_required_post_checkout_subext_modified( + self, overall, tree): + # Note, this is the internal tree status just after change the + # externals description file, but before checkout + self.assertEqual(overall, 0) + self._check_mixed_ext_branch_ok(tree, directory=EXTERNALS_NAME) + check_dir = "{0}/{1}/{2}".format(EXTERNALS_NAME, "mixed_req", + SUB_EXTERNALS_PATH) + self._check_simple_branch_modified(tree, directory=check_dir) + + def _check_mixed_cont_simple_required_pre_checkout(self, overall, tree): + # Note, this is the internal tree status just before checkout + self.assertEqual(overall, 0) + self._check_simple_tag_empty(tree, directory=EXTERNALS_NAME) + self._check_simple_branch_empty(tree, directory=EXTERNALS_NAME) + self._check_simple_branch_empty(tree, directory=SUB_EXTERNALS_PATH) + + def _check_mixed_cont_simple_required_checkout(self, overall, tree): + # Note, this is the internal tree status just before checkout + self.assertEqual(overall, 0) + self._check_simple_tag_empty(tree, directory=EXTERNALS_NAME) + self._check_simple_branch_empty(tree, directory=EXTERNALS_NAME) + self._check_simple_branch_empty(tree, directory=SUB_EXTERNALS_PATH) + + def _check_mixed_cont_simple_required_post_checkout(self, overall, tree): + # Note, this is the internal tree status just before checkout + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree, directory=EXTERNALS_NAME) + self._check_simple_branch_ok(tree, directory=EXTERNALS_NAME) + self._check_simple_branch_ok(tree, directory=SUB_EXTERNALS_PATH) + + +class TestSysCheckout(BaseTestSysCheckout): + """Run systems level tests of checkout_externals + + """ + # NOTE(bja, 2017-11) pylint complains about long method names, but + # it is hard to differentiate tests without making them more + # cryptic. + # pylint: disable=invalid-name + + # ---------------------------------------------------------------- + # + # Run systems tests + # + # ---------------------------------------------------------------- + def test_container_simple_required(self): + """Verify that a container with simple subrepos + generates the correct initial status. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # status of empty repo + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_pre_checkout(overall, tree) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # status clean checked out + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_simple_optional(self): + """Verify that container with an optional simple subrepos + generates the correct initial status. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_optional(under_test_dir) + + # check status of empty repo + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_optional_pre_checkout(overall, tree) + + # checkout required + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_optional_checkout(overall, tree) + + # status + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_optional_post_checkout(overall, tree) + + # checkout optional + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.optional_args) + self._check_container_simple_optional_post_checkout(overall, tree) + + # status + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_optional_post_optional(overall, tree) + + def test_container_simple_verbose(self): + """Verify that container with simple subrepos runs with verbose status + output and generates the correct initial status. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # check verbose status + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.verbose_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_simple_dirty(self): + """Verify that a container with simple subrepos + and a dirty status exits gracefully. + + """ + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # add a file to the repo + tracked = True + self._add_file_to_repo(under_test_dir, 'externals/simp_tag/tmp.txt', + tracked) + + # checkout: pre-checkout status should be dirty, did not + # modify working copy. + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_optional_st_dirty(overall, tree) + + # verify status is still dirty + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_optional_st_dirty(overall, tree) + + def test_container_simple_untracked(self): + """Verify that a container with simple subrepos and a untracked files + is not considered 'dirty' and will attempt an update. + + """ + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # add a file to the repo + tracked = False + self._add_file_to_repo(under_test_dir, 'externals/simp_tag/tmp.txt', + tracked) + + # checkout: pre-checkout status should be clean, ignoring the + # untracked file. + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_post_checkout(overall, tree) + + # verify status is still clean + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_simple_detached_sync(self): + """Verify that a container with simple subrepos generates the correct + out of sync status when making commits from a detached head + state. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # status of empty repo + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_pre_checkout(overall, tree) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # make a commit on the detached head of the tag and hash externals + self._generator.create_commit(under_test_dir, 'simp_tag') + self._generator.create_commit(under_test_dir, 'simp_hash') + self._generator.create_commit(under_test_dir, 'simp_branch') + + # status of repo, branch, tag and hash should all be out of sync! + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_out_of_sync(overall, tree) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + # same pre-checkout out of sync status + self._check_container_simple_required_out_of_sync(overall, tree) + + # now status should be in-sync + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_remote_branch(self): + """Verify that a container with remote branch change works + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # update the config file to point to a different remote with + # the same branch + self._generator.update_branch(under_test_dir, 'simp_branch', + REMOTE_BRANCH_FEATURE2, SIMPLE_FORK_NAME) + + # status of simp_branch should be out of sync + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_sb_modified(overall, tree) + + # checkout new externals + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_sb_modified(overall, tree) + + # status should be synced + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_remote_tag_same_branch(self): + """Verify that a container with remote tag change works. The new tag + should not be in the original repo, only the new remote + fork. The new tag is automatically fetched because it is on + the branch. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_tag(under_test_dir, 'simp_branch', + 'forked-feature-v1', SIMPLE_FORK_NAME) + + # status of simp_branch should be out of sync + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_sb_modified(overall, tree) + + # checkout new externals + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_sb_modified(overall, tree) + + # status should be synced + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_remote_tag_fetch_all(self): + """Verify that a container with remote tag change works. The new tag + should not be in the original repo, only the new remote + fork. It should also not be on a branch that will be fetch, + and therefore not fetched by default with 'git fetch'. It will + only be retreived by 'git fetch --tags' + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_tag(under_test_dir, 'simp_branch', + 'abandoned-feature', SIMPLE_FORK_NAME) + + # status of simp_branch should be out of sync + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_sb_modified(overall, tree) + + # checkout new externals + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_sb_modified(overall, tree) + + # status should be synced + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_preserve_dot(self): + """Verify that after inital checkout, modifying an external git repo + url to '.' and the current branch will leave it unchanged. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_required_checkout(overall, tree) + + # update the config file to point to a different remote with + # the same branch + self._generator.update_branch(under_test_dir, 'simp_branch', + REMOTE_BRANCH_FEATURE2, SIMPLE_FORK_NAME) + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + + # verify status is clean and unmodified + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + # update branch to point to a new branch that only exists in + # the local fork + self._generator.create_branch(under_test_dir, 'simp_branch', + 'private-feature', with_commit=True) + self._generator.update_branch(under_test_dir, 'simp_branch', + 'private-feature', + SIMPLE_LOCAL_ONLY_NAME) + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + + # verify status is clean and unmodified + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_required_post_checkout(overall, tree) + + def test_container_full(self): + """Verify that 'full' container with simple and mixed subrepos + generates the correct initial status. + + The mixed subrepo has a sub-externals file with different + sub-externals on different branches. + + """ + # create the test repository + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + + # create the top level externals file + self._generator.container_full(under_test_dir) + + # inital checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_full_pre_checkout(overall, tree) + + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_full_post_checkout(overall, tree) + + # update the mixed-use repo to point to different branch + self._generator.update_branch(under_test_dir, 'mixed_req', + 'new-feature', MIXED_REPO_NAME) + + # check status out of sync for mixed_req, but sub-externals + # are still in sync + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_full_pre_checkout_ext_change(overall, tree) + + # run the checkout. Now the mixed use external and it's + # sub-exterals should be changed. Returned status is + # pre-checkout! + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_full_pre_checkout_ext_change(overall, tree) + + # check status out of sync for mixed_req, and sub-externals + # are in sync. + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_full_post_checkout(overall, tree) + + def test_container_component(self): + """Verify that optional component checkout works + """ + # create the test repository + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + + # create the top level externals file + self._generator.container_full(under_test_dir) + + # inital checkout, first try a nonexistant component argument noref + checkout_args = ['simp_opt', 'noref'] + checkout_args.extend(self.checkout_args) + + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, checkout_args) + + checkout_args = ['simp_opt'] + checkout_args.extend(self.checkout_args) + + overall, tree = self.execute_cmd_in_dir(under_test_dir, + checkout_args) + + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_component_post_checkout(overall, tree) + checkout_args.append('simp_branch') + overall, tree = self.execute_cmd_in_dir(under_test_dir, + checkout_args) + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_component_post_checkout2(overall, tree) + + def test_mixed_simple(self): + """Verify that a mixed use repo can serve as a 'full' container, + pulling in a set of externals and a seperate set of sub-externals. + + """ + #import pdb; pdb.set_trace() + # create repository + under_test_dir = self.setup_test_repo(MIXED_REPO_NAME) + # create top level externals file + self._generator.mixed_simple_base(under_test_dir) + # NOTE: sub-externals file is already in the repo so we can + # switch branches during testing. Since this is a mixed-repo + # serving as the top level container repo, we can't switch + # during this test. + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_mixed_cont_simple_required_checkout(overall, tree) + + # verify status is clean and unmodified + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_mixed_cont_simple_required_post_checkout(overall, tree) + + +class TestSysCheckoutSVN(BaseTestSysCheckout): + """Run systems level tests of checkout_externals accessing svn repositories + + SVN tests - these tests use the svn repository interface. Since + they require an active network connection, they are significantly + slower than the git tests. But svn testing is critical. So try to + design the tests to only test svn repository functionality + (checkout, switch) and leave generic testing of functionality like + 'optional' to the fast git tests. + + Example timing as of 2017-11: + + * All other git and unit tests combined take between 4-5 seconds + + * Just checking if svn is available for a single test takes 2 seconds. + + * The single svn test typically takes between 10 and 25 seconds + (depending on the network)! + + NOTE(bja, 2017-11) To enable CI testing we can't use a real remote + repository that restricts access and it seems inappropriate to hit + a random open source repo. For now we are just hitting one of our + own github repos using the github svn server interface. This + should be "good enough" for basic checkout and swich + functionality. But if additional svn functionality is required, a + better solution will be necessary. I think eventually we want to + create a small local svn repository on the fly (doesn't require an + svn server or network connection!) and use it for testing. + + """ + + def _check_svn_branch_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/svn_branch'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_svn_branch_dirty(self, tree, directory=EXTERNALS_NAME): + name = './{0}/svn_branch'.format(directory) + self._check_generic_ok_dirty_required(tree, name) + + def _check_svn_tag_ok(self, tree, directory=EXTERNALS_NAME): + name = './{0}/svn_tag'.format(directory) + self._check_generic_ok_clean_required(tree, name) + + def _check_svn_tag_modified(self, tree, directory=EXTERNALS_NAME): + name = './{0}/svn_tag'.format(directory) + self._check_generic_modified_ok_required(tree, name) + + def _check_container_simple_svn_post_checkout(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_svn_branch_ok(tree) + self._check_svn_tag_ok(tree) + + def _check_container_simple_svn_sb_dirty_st_mod(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_svn_tag_modified(tree) + self._check_svn_branch_dirty(tree) + + def _check_container_simple_svn_sb_clean_st_mod(self, overall, tree): + self.assertEqual(overall, 0) + self._check_simple_tag_ok(tree) + self._check_svn_tag_modified(tree) + self._check_svn_branch_ok(tree) + + @staticmethod + def have_svn_access(): + """Check if we have svn access so we can enable tests that use svn. + + """ + have_svn = False + cmd = ['svn', 'ls', SVN_TEST_REPO, ] + try: + execute_subprocess(cmd) + have_svn = True + except BaseException: + pass + return have_svn + + def skip_if_no_svn_access(self): + """Function decorator to disable svn tests when svn isn't available + """ + have_svn = self.have_svn_access() + if not have_svn: + raise unittest.SkipTest("No svn access") + + def test_container_simple_svn(self): + """Verify that a container repo can pull in an svn branch and svn tag. + + """ + self.skip_if_no_svn_access() + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_svn(under_test_dir) + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + + # verify status is clean and unmodified + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_svn_post_checkout(overall, tree) + + # update description file to make the tag into a branch and + # trigger a switch + self._generator.update_svn_branch(under_test_dir, 'svn_tag', 'trunk') + + # checkout + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + + # verify status is clean and unmodified + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.status_args) + self._check_container_simple_svn_post_checkout(overall, tree) + + # add an untracked file to the repo + tracked = False + self._add_file_to_repo(under_test_dir, + 'externals/svn_branch/tmp.txt', tracked) + + # run a no-op checkout: pre-checkout status should be clean, + # ignoring the untracked file. + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_svn_post_checkout(overall, tree) + + # update description file to make the branch into a tag and + # trigger a modified sync status + self._generator.update_svn_branch(under_test_dir, 'svn_tag', + 'tags/cesm2.0.beta07') + + # checkout: pre-checkout status should be clean and modified, + # will modify working copy. + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.checkout_args) + self._check_container_simple_svn_sb_clean_st_mod(overall, tree) + + # verify status is still clean and unmodified, last + # checkout modified the working dir state. + overall, tree = self.execute_cmd_in_dir(under_test_dir, + self.verbose_args) + self._check_container_simple_svn_post_checkout(overall, tree) + +class TestSubrepoCheckout(BaseTestSysCheckout): + # Need to store information at setUp time for checking + # pylint: disable=too-many-instance-attributes + """Run tests to ensure proper handling of repos with submodules. + + By default, submodules in git repositories are checked out. A git + repository checked out as a submodule is treated as if it was + listed in an external with the same properties as in the source + .gitmodules file. + """ + + def setUp(self): + """Setup for all submodule checkout tests + Create a repo with two submodule repositories. + """ + + # Run the basic setup + super(TestSubrepoCheckout, self).setUp() + # create test repo + # We need to do this here (rather than have a static repo) because + # git submodules do not allow for variables in .gitmodules files + self._test_repo_name = 'test_repo_with_submodules' + self._bare_branch_name = 'subrepo_branch' + self._config_branch_name = 'subrepo_config_branch' + self._container_extern_name = 'externals_container.cfg' + self._my_test_dir = os.path.join(os.environ[MANIC_TEST_TMP_REPO_ROOT], + self._test_id) + self._repo_dir = os.path.join(self._my_test_dir, self._test_repo_name) + self._checkout_dir = 'repo_with_submodules' + check_dir = self.setup_test_repo(CONTAINER_REPO_NAME, + dest_dir_in=self._repo_dir) + self.assertTrue(self._repo_dir == check_dir) + # Add the submodules + cwd = os.getcwd() + fork_repo_dir = os.path.join(self._bare_root, SIMPLE_FORK_NAME) + simple_repo_dir = os.path.join(self._bare_root, SIMPLE_REPO_NAME) + self._simple_ext_fork_name = SIMPLE_FORK_NAME.split('.')[0] + self._simple_ext_name = SIMPLE_REPO_NAME.split('.')[0] + os.chdir(self._repo_dir) + # Add a branch with a subrepo + cmd = ['git', 'branch', self._bare_branch_name, 'master'] + execute_subprocess(cmd) + cmd = ['git', 'checkout', self._bare_branch_name] + execute_subprocess(cmd) + cmd = ['git', 'submodule', 'add', fork_repo_dir] + execute_subprocess(cmd) + cmd = ['git', 'commit', '-am', "'Added simple-ext-fork as a submodule'"] + execute_subprocess(cmd) + # Save the fork repo hash for comparison + os.chdir(self._simple_ext_fork_name) + self._fork_hash_check = self.get_git_hash() + os.chdir(self._repo_dir) + # Now, create a branch to test from_sbmodule + cmd = ['git', 'branch', + self._config_branch_name, self._bare_branch_name] + execute_subprocess(cmd) + cmd = ['git', 'checkout', self._config_branch_name] + execute_subprocess(cmd) + cmd = ['git', 'submodule', 'add', simple_repo_dir] + execute_subprocess(cmd) + # Checkout feature2 + os.chdir(self._simple_ext_name) + cmd = ['git', 'branch', 'feature2', 'origin/feature2'] + execute_subprocess(cmd) + cmd = ['git', 'checkout', 'feature2'] + execute_subprocess(cmd) + # Save the fork repo hash for comparison + self._simple_hash_check = self.get_git_hash() + os.chdir(self._repo_dir) + self.create_externals_file(filename=self._container_extern_name, + dest_dir=self._repo_dir, from_submodule=True) + cmd = ['git', 'add', self._container_extern_name] + execute_subprocess(cmd) + cmd = ['git', 'commit', '-am', "'Added simple-ext as a submodule'"] + execute_subprocess(cmd) + # Reset to master + cmd = ['git', 'checkout', 'master'] + execute_subprocess(cmd) + os.chdir(cwd) + + @staticmethod + def get_git_hash(revision="HEAD"): + """Return the hash for """ + cmd = ['git', 'rev-parse', revision] + git_out = execute_subprocess(cmd, output_to_caller=True) + return git_out.strip() + + def create_externals_file(self, name='', filename=CFG_NAME, dest_dir=None, + branch_name=None, sub_externals=None, + from_submodule=False): + # pylint: disable=too-many-arguments + """Create a container externals file with only simple externals. + + """ + self._generator.create_config() + + if dest_dir is None: + dest_dir = self._my_test_dir + + if from_submodule: + self._generator.create_section(SIMPLE_FORK_NAME, + self._simple_ext_fork_name, + from_submodule=True) + self._generator.create_section(SIMPLE_REPO_NAME, + self._simple_ext_name, + branch='feature3', path='', + from_submodule=False) + else: + if branch_name is None: + branch_name = 'master' + + self._generator.create_section(self._test_repo_name, + self._checkout_dir, + branch=branch_name, + path=name, externals=sub_externals, + repo_path=self._repo_dir) + + self._generator.write_config(dest_dir, filename=filename) + + def idempotence_check(self, checkout_dir): + """Verify that calling checkout_externals and + checkout_externals --status does not cause errors""" + cwd = os.getcwd() + os.chdir(checkout_dir) + overall, _ = self.execute_cmd_in_dir(self._my_test_dir, + self.checkout_args) + self.assertTrue(overall == 0) + overall, _ = self.execute_cmd_in_dir(self._my_test_dir, + self.status_args) + self.assertTrue(overall == 0) + os.chdir(cwd) + + def test_submodule_checkout_bare(self): + """Verify that a git repo with submodule is properly checked out + This test if for where there is no 'externals' keyword in the + parent repo. + Correct behavior is that the submodule is checked out using + normal git submodule behavior. + """ + simple_ext_fork_tag = "(tag1)" + simple_ext_fork_status = " " + self.create_externals_file(branch_name=self._bare_branch_name) + overall, _ = self.execute_cmd_in_dir(self._my_test_dir, + self.checkout_args) + self.assertTrue(overall == 0) + cwd = os.getcwd() + checkout_dir = os.path.join(self._my_test_dir, self._checkout_dir) + fork_file = os.path.join(checkout_dir, + self._simple_ext_fork_name, "readme.txt") + self.assertTrue(os.path.exists(fork_file)) + os.chdir(checkout_dir) + submods = git_submodule_status(checkout_dir) + self.assertEqual(len(submods.keys()), 1) + self.assertTrue(self._simple_ext_fork_name in submods) + submod = submods[self._simple_ext_fork_name] + self.assertTrue('hash' in submod) + self.assertEqual(submod['hash'], self._fork_hash_check) + self.assertTrue('status' in submod) + self.assertEqual(submod['status'], simple_ext_fork_status) + self.assertTrue('tag' in submod) + self.assertEqual(submod['tag'], simple_ext_fork_tag) + os.chdir(cwd) + self.idempotence_check(checkout_dir) + + def test_submodule_checkout_none(self): + """Verify that a git repo with submodule is properly checked out + This test is for when 'externals=None' is in parent repo's + externals cfg file. + Correct behavior is the submodle is not checked out. + """ + self.create_externals_file(branch_name=self._bare_branch_name, + sub_externals="none") + overall, _ = self.execute_cmd_in_dir(self._my_test_dir, + self.checkout_args) + self.assertTrue(overall == 0) + cwd = os.getcwd() + checkout_dir = os.path.join(self._my_test_dir, self._checkout_dir) + fork_file = os.path.join(checkout_dir, + self._simple_ext_fork_name, "readme.txt") + self.assertFalse(os.path.exists(fork_file)) + os.chdir(cwd) + self.idempotence_check(checkout_dir) + + def test_submodule_checkout_config(self): # pylint: disable=too-many-locals + """Verify that a git repo with submodule is properly checked out + This test if for when the 'from_submodule' keyword is used in the + parent repo. + Correct behavior is that the submodule is checked out using + normal git submodule behavior. + """ + tag_check = None # Not checked out as submodule + status_check = "-" # Not checked out as submodule + self.create_externals_file(branch_name=self._config_branch_name, + sub_externals=self._container_extern_name) + overall, _ = self.execute_cmd_in_dir(self._my_test_dir, + self.checkout_args) + self.assertTrue(overall == 0) + cwd = os.getcwd() + checkout_dir = os.path.join(self._my_test_dir, self._checkout_dir) + fork_file = os.path.join(checkout_dir, + self._simple_ext_fork_name, "readme.txt") + self.assertTrue(os.path.exists(fork_file)) + os.chdir(checkout_dir) + # Check submodule status + submods = git_submodule_status(checkout_dir) + self.assertEqual(len(submods.keys()), 2) + self.assertTrue(self._simple_ext_fork_name in submods) + submod = submods[self._simple_ext_fork_name] + self.assertTrue('hash' in submod) + self.assertEqual(submod['hash'], self._fork_hash_check) + self.assertTrue('status' in submod) + self.assertEqual(submod['status'], status_check) + self.assertTrue('tag' in submod) + self.assertEqual(submod['tag'], tag_check) + self.assertTrue(self._simple_ext_name in submods) + submod = submods[self._simple_ext_name] + self.assertTrue('hash' in submod) + self.assertEqual(submod['hash'], self._simple_hash_check) + self.assertTrue('status' in submod) + self.assertEqual(submod['status'], status_check) + self.assertTrue('tag' in submod) + self.assertEqual(submod['tag'], tag_check) + # Check fork repo status + os.chdir(self._simple_ext_fork_name) + self.assertEqual(self.get_git_hash(), self._fork_hash_check) + os.chdir(checkout_dir) + os.chdir(self._simple_ext_name) + hash_check = self.get_git_hash('origin/feature3') + self.assertEqual(self.get_git_hash(), hash_check) + os.chdir(cwd) + self.idempotence_check(checkout_dir) + +class TestSysCheckoutErrors(BaseTestSysCheckout): + """Run systems level tests of error conditions in checkout_externals + + Error conditions - these tests are designed to trigger specific + error conditions and ensure that they are being handled as + runtime errors (and hopefully usefull error messages) instead of + the default internal message that won't mean anything to the + user, e.g. key error, called process error, etc. + + These are not 'expected failures'. They are pass when a + RuntimeError is raised, fail if any other error is raised (or no + error is raised). + + """ + + # NOTE(bja, 2017-11) pylint complains about long method names, but + # it is hard to differentiate tests without making them more + # cryptic. + # pylint: disable=invalid-name + + def test_error_unknown_protocol(self): + """Verify that a runtime error is raised when the user specified repo + protocol is not known. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_protocol(under_test_dir, 'simp_branch', + 'this-protocol-does-not-exist') + + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, self.checkout_args) + + def test_error_switch_protocol(self): + """Verify that a runtime error is raised when the user switches + protocols, git to svn. + + TODO(bja, 2017-11) This correctly results in an error, but it + isn't a helpful error message. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_protocol(under_test_dir, 'simp_branch', 'svn') + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, self.checkout_args) + + def test_error_unknown_tag(self): + """Verify that a runtime error is raised when the user specified tag + does not exist. + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_tag(under_test_dir, 'simp_branch', + 'this-tag-does-not-exist', SIMPLE_REPO_NAME) + + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, self.checkout_args) + + def test_error_overspecify_tag_branch(self): + """Verify that a runtime error is raised when the user specified both + tag and a branch + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_tag(under_test_dir, 'simp_branch', + 'this-tag-does-not-exist', SIMPLE_REPO_NAME, + remove_branch=False) + + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, self.checkout_args) + + def test_error_underspecify_tag_branch(self): + """Verify that a runtime error is raised when the user specified + neither a tag or a branch + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_underspecify_branch_tag(under_test_dir, + 'simp_branch') + + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, self.checkout_args) + + def test_error_missing_url(self): + """Verify that a runtime error is raised when the user specified + neither a tag or a branch + + """ + # create repo + under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) + self._generator.container_simple_required(under_test_dir) + + # update the config file to point to a different remote with + # the tag instead of branch. Tag MUST NOT be in the original + # repo! + self._generator.update_underspecify_remove_url(under_test_dir, + 'simp_branch') + + with self.assertRaises(RuntimeError): + self.execute_cmd_in_dir(under_test_dir, self.checkout_args) + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_sys_repository_git.py b/manage_externals/test/test_sys_repository_git.py new file mode 100644 index 000000000..f6dbf8428 --- /dev/null +++ b/manage_externals/test/test_sys_repository_git.py @@ -0,0 +1,238 @@ +#!/usr/bin/env python + +"""Tests of some of the functionality in repository_git.py that actually +interacts with git repositories. + +We're calling these "system" tests because we expect them to be a lot +slower than most of the unit tests. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import os +import shutil +import tempfile +import unittest + +from manic.repository_git import GitRepository +from manic.externals_description import ExternalsDescription +from manic.externals_description import ExternalsDescriptionDict +from manic.utils import execute_subprocess + +# NOTE(wjs, 2018-04-09) I find a mix of camel case and underscores to be +# more readable for unit test names, so I'm disabling pylint's naming +# convention check +# pylint: disable=C0103 + +# Allow access to protected members +# pylint: disable=W0212 + + +class GitTestCase(unittest.TestCase): + """Adds some git-specific unit test functionality on top of TestCase""" + + def assertIsHash(self, maybe_hash): + """Assert that the string given by maybe_hash really does look + like a git hash. + """ + + # Ensure it is non-empty + self.assertTrue(maybe_hash, msg="maybe_hash is empty") + + # Ensure it has a single string + self.assertEqual(1, len(maybe_hash.split()), + msg="maybe_hash has multiple strings: {}".format(maybe_hash)) + + # Ensure that the only characters in the string are ones allowed + # in hashes + allowed_chars_set = set('0123456789abcdef') + self.assertTrue(set(maybe_hash) <= allowed_chars_set, + msg="maybe_hash has non-hash characters: {}".format(maybe_hash)) + + +class TestGitTestCase(GitTestCase): + """Tests GitTestCase""" + + def test_assertIsHash_true(self): + """Ensure that assertIsHash passes for something that looks + like a hash""" + self.assertIsHash('abc123') + + def test_assertIsHash_empty(self): + """Ensure that assertIsHash raises an AssertionError for an + empty string""" + with self.assertRaises(AssertionError): + self.assertIsHash('') + + def test_assertIsHash_multipleStrings(self): + """Ensure that assertIsHash raises an AssertionError when + given multiple strings""" + with self.assertRaises(AssertionError): + self.assertIsHash('abc123 def456') + + def test_assertIsHash_badChar(self): + """Ensure that assertIsHash raises an AssertionError when given a + string that has a character that doesn't belong in a hash + """ + with self.assertRaises(AssertionError): + self.assertIsHash('abc123g') + + +class TestGitRepositoryGitCommands(GitTestCase): + """Test some git commands in RepositoryGit + + It's silly that we need to create a repository in order to test + these git commands. Much or all of the git functionality that is + currently in repository_git.py should eventually be moved to a + separate module that is solely responsible for wrapping git + commands; that would allow us to test it independently of this + repository class. + """ + + # ======================================================================== + # Test helper functions + # ======================================================================== + + def setUp(self): + # directory we want to return to after the test system and + # checkout_externals are done cd'ing all over the place. + self._return_dir = os.getcwd() + + self._tmpdir = tempfile.mkdtemp() + os.chdir(self._tmpdir) + + self._name = 'component' + rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: + '/path/to/local/repo', + ExternalsDescription.TAG: + 'tag1', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: 'junk', + ExternalsDescription.EXTERNALS: '', + ExternalsDescription.REPO: rdata, + }, + } + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = GitRepository('test', repo) + + def tearDown(self): + # return to our common starting point + os.chdir(self._return_dir) + + shutil.rmtree(self._tmpdir, ignore_errors=True) + + @staticmethod + def make_git_repo(): + """Turn the current directory into an empty git repository""" + execute_subprocess(['git', 'init']) + + @staticmethod + def add_git_commit(): + """Add a git commit in the current directory""" + with open('README', 'a') as myfile: + myfile.write('more info') + execute_subprocess(['git', 'add', 'README']) + execute_subprocess(['git', 'commit', '-m', 'my commit message']) + + @staticmethod + def checkout_git_branch(branchname): + """Checkout a new branch in the current directory""" + execute_subprocess(['git', 'checkout', '-b', branchname]) + + @staticmethod + def make_git_tag(tagname): + """Make a lightweight tag at the current commit""" + execute_subprocess(['git', 'tag', '-m', 'making a tag', tagname]) + + @staticmethod + def checkout_ref(refname): + """Checkout the given refname in the current directory""" + execute_subprocess(['git', 'checkout', refname]) + + # ======================================================================== + # Begin actual tests + # ======================================================================== + + def test_currentHash_returnsHash(self): + """Ensure that the _git_current_hash function returns a hash""" + self.make_git_repo() + self.add_git_commit() + hash_found, myhash = self._repo._git_current_hash() + self.assertTrue(hash_found) + self.assertIsHash(myhash) + + def test_currentHash_outsideGitRepo(self): + """Ensure that the _git_current_hash function returns False when + outside a git repository""" + hash_found, myhash = self._repo._git_current_hash() + self.assertFalse(hash_found) + self.assertEqual('', myhash) + + def test_currentBranch_onBranch(self): + """Ensure that the _git_current_branch function returns the name + of the branch""" + self.make_git_repo() + self.add_git_commit() + self.checkout_git_branch('foo') + branch_found, mybranch = self._repo._git_current_branch() + self.assertTrue(branch_found) + self.assertEqual('foo', mybranch) + + def test_currentBranch_notOnBranch(self): + """Ensure that the _git_current_branch function returns False + when not on a branch""" + self.make_git_repo() + self.add_git_commit() + self.make_git_tag('mytag') + self.checkout_ref('mytag') + branch_found, mybranch = self._repo._git_current_branch() + self.assertFalse(branch_found) + self.assertEqual('', mybranch) + + def test_currentBranch_outsideGitRepo(self): + """Ensure that the _git_current_branch function returns False + when outside a git repository""" + branch_found, mybranch = self._repo._git_current_branch() + self.assertFalse(branch_found) + self.assertEqual('', mybranch) + + def test_currentTag_onTag(self): + """Ensure that the _git_current_tag function returns the name of + the tag""" + self.make_git_repo() + self.add_git_commit() + self.make_git_tag('some_tag') + tag_found, mytag = self._repo._git_current_tag() + self.assertTrue(tag_found) + self.assertEqual('some_tag', mytag) + + def test_currentTag_notOnTag(self): + """Ensure tha the _git_current_tag function returns False when + not on a tag""" + self.make_git_repo() + self.add_git_commit() + self.make_git_tag('some_tag') + self.add_git_commit() + tag_found, mytag = self._repo._git_current_tag() + self.assertFalse(tag_found) + self.assertEqual('', mytag) + + def test_currentTag_outsideGitRepo(self): + """Ensure that the _git_current_tag function returns False when + outside a git repository""" + tag_found, mytag = self._repo._git_current_tag() + self.assertFalse(tag_found) + self.assertEqual('', mytag) + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_unit_externals_description.py b/manage_externals/test/test_unit_externals_description.py new file mode 100644 index 000000000..637f760ee --- /dev/null +++ b/manage_externals/test/test_unit_externals_description.py @@ -0,0 +1,401 @@ +#!/usr/bin/env python + +"""Unit test driver for checkout_externals + +Note: this script assume the path to the checkout_externals.py module is +already in the python path. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import os +import os.path +import shutil +import unittest + +try: + # python2 + from ConfigParser import SafeConfigParser as config_parser + + def config_string_cleaner(text): + """convert strings into unicode + """ + return text.decode('utf-8') +except ImportError: + # python3 + from configparser import ConfigParser as config_parser + + def config_string_cleaner(text): + """Python3 already uses unicode strings, so just return the string + without modification. + + """ + return text + +from manic.externals_description import DESCRIPTION_SECTION, VERSION_ITEM +from manic.externals_description import ExternalsDescription +from manic.externals_description import ExternalsDescriptionDict +from manic.externals_description import ExternalsDescriptionConfigV1 +from manic.externals_description import get_cfg_schema_version +from manic.externals_description import read_externals_description_file +from manic.externals_description import create_externals_description + +from manic.global_constants import EMPTY_STR + + +class TestCfgSchemaVersion(unittest.TestCase): + """Test that schema identification for the externals description + returns the correct results. + + """ + + def setUp(self): + """Reusable config object + """ + self._config = config_parser() + self._config.add_section('section1') + self._config.set('section1', 'keword', 'value') + + self._config.add_section(DESCRIPTION_SECTION) + + def test_schema_version_valid(self): + """Test that schema identification returns the correct version for a + valid tag. + + """ + version_str = '2.1.3' + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, version_str) + major, minor, patch = get_cfg_schema_version(self._config) + expected_major = 2 + expected_minor = 1 + expected_patch = 3 + self.assertEqual(expected_major, major) + self.assertEqual(expected_minor, minor) + self.assertEqual(expected_patch, patch) + + def test_schema_section_missing(self): + """Test that an error is returned if the schema section is missing + from the input file. + + """ + self._config.remove_section(DESCRIPTION_SECTION) + with self.assertRaises(RuntimeError): + get_cfg_schema_version(self._config) + + def test_schema_version_missing(self): + """Test that a externals description file without a version raises a + runtime error. + + """ + # Note: the default setup method shouldn't include a version + # keyword, but remove it just to be future proof.... + self._config.remove_option(DESCRIPTION_SECTION, VERSION_ITEM) + with self.assertRaises(RuntimeError): + get_cfg_schema_version(self._config) + + def test_schema_version_not_int(self): + """Test that a externals description file a version that doesn't + decompose to integer major, minor and patch versions raises + runtime error. + + """ + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, 'unknown') + with self.assertRaises(RuntimeError): + get_cfg_schema_version(self._config) + + +class TestModelDescritionConfigV1(unittest.TestCase): + """Test that parsing config/ini fileproduces a correct dictionary + for the externals description. + + """ + # pylint: disable=R0902 + + def setUp(self): + """Boiler plate construction of string containing xml for multiple components. + """ + self._comp1_name = 'comp1' + self._comp1_path = 'path/to/comp1' + self._comp1_protocol = 'svn' + self._comp1_url = 'https://svn.somewhere.com/path/of/comp1' + self._comp1_tag = 'a_nice_tag_v1' + self._comp1_is_required = 'True' + self._comp1_externals = '' + + self._comp2_name = 'comp2' + self._comp2_path = 'path/to/comp2' + self._comp2_protocol = 'git' + self._comp2_url = '/local/clone/of/comp2' + self._comp2_branch = 'a_very_nice_branch' + self._comp2_is_required = 'False' + self._comp2_externals = 'path/to/comp2.cfg' + + def _setup_comp1(self, config): + """Boiler plate construction of xml string for componet 1 + """ + config.add_section(self._comp1_name) + config.set(self._comp1_name, 'local_path', self._comp1_path) + config.set(self._comp1_name, 'protocol', self._comp1_protocol) + config.set(self._comp1_name, 'repo_url', self._comp1_url) + config.set(self._comp1_name, 'tag', self._comp1_tag) + config.set(self._comp1_name, 'required', self._comp1_is_required) + + def _setup_comp2(self, config): + """Boiler plate construction of xml string for componet 2 + """ + config.add_section(self._comp2_name) + config.set(self._comp2_name, 'local_path', self._comp2_path) + config.set(self._comp2_name, 'protocol', self._comp2_protocol) + config.set(self._comp2_name, 'repo_url', self._comp2_url) + config.set(self._comp2_name, 'branch', self._comp2_branch) + config.set(self._comp2_name, 'required', self._comp2_is_required) + config.set(self._comp2_name, 'externals', self._comp2_externals) + + @staticmethod + def _setup_externals_description(config): + """Add the required exernals description section + """ + + config.add_section(DESCRIPTION_SECTION) + config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.1') + + def _check_comp1(self, model): + """Test that component one was constructed correctly. + """ + self.assertTrue(self._comp1_name in model) + comp1 = model[self._comp1_name] + self.assertEqual(comp1[ExternalsDescription.PATH], self._comp1_path) + self.assertTrue(comp1[ExternalsDescription.REQUIRED]) + repo = comp1[ExternalsDescription.REPO] + self.assertEqual(repo[ExternalsDescription.PROTOCOL], + self._comp1_protocol) + self.assertEqual(repo[ExternalsDescription.REPO_URL], self._comp1_url) + self.assertEqual(repo[ExternalsDescription.TAG], self._comp1_tag) + self.assertEqual(EMPTY_STR, comp1[ExternalsDescription.EXTERNALS]) + + def _check_comp2(self, model): + """Test that component two was constucted correctly. + """ + self.assertTrue(self._comp2_name in model) + comp2 = model[self._comp2_name] + self.assertEqual(comp2[ExternalsDescription.PATH], self._comp2_path) + self.assertFalse(comp2[ExternalsDescription.REQUIRED]) + repo = comp2[ExternalsDescription.REPO] + self.assertEqual(repo[ExternalsDescription.PROTOCOL], + self._comp2_protocol) + self.assertEqual(repo[ExternalsDescription.REPO_URL], self._comp2_url) + self.assertEqual(repo[ExternalsDescription.BRANCH], self._comp2_branch) + self.assertEqual(self._comp2_externals, + comp2[ExternalsDescription.EXTERNALS]) + + def test_one_tag_required(self): + """Test that a component source with a tag is correctly parsed. + """ + config = config_parser() + self._setup_comp1(config) + self._setup_externals_description(config) + model = ExternalsDescriptionConfigV1(config) + print(model) + self._check_comp1(model) + + def test_one_branch_externals(self): + """Test that a component source with a branch is correctly parsed. + """ + config = config_parser() + self._setup_comp2(config) + self._setup_externals_description(config) + model = ExternalsDescriptionConfigV1(config) + print(model) + self._check_comp2(model) + + def test_two_sources(self): + """Test that multiple component sources are correctly parsed. + """ + config = config_parser() + self._setup_comp1(config) + self._setup_comp2(config) + self._setup_externals_description(config) + model = ExternalsDescriptionConfigV1(config) + print(model) + self._check_comp1(model) + self._check_comp2(model) + + def test_cfg_v1_reject_unknown_item(self): + """Test that a v1 description object will reject unknown items + """ + config = config_parser() + self._setup_comp1(config) + self._setup_externals_description(config) + config.set(self._comp1_name, 'junk', 'foobar') + with self.assertRaises(RuntimeError): + ExternalsDescriptionConfigV1(config) + + def test_cfg_v1_reject_v2(self): + """Test that a v1 description object won't try to parse a v2 file. + """ + config = config_parser() + self._setup_comp1(config) + self._setup_externals_description(config) + config.set(DESCRIPTION_SECTION, VERSION_ITEM, '2.0.1') + with self.assertRaises(RuntimeError): + ExternalsDescriptionConfigV1(config) + + def test_cfg_v1_reject_v1_too_new(self): + """Test that a v1 description object won't try to parse a v2 file. + """ + config = config_parser() + self._setup_comp1(config) + self._setup_externals_description(config) + config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.100.0') + with self.assertRaises(RuntimeError): + ExternalsDescriptionConfigV1(config) + + +class TestReadExternalsDescription(unittest.TestCase): + """Test the application logic of read_externals_description_file + """ + TMP_FAKE_DIR = 'fake' + + def setUp(self): + """Setup directory for tests + """ + if not os.path.exists(self.TMP_FAKE_DIR): + os.makedirs(self.TMP_FAKE_DIR) + + def tearDown(self): + """Cleanup tmp stuff on the file system + """ + if os.path.exists(self.TMP_FAKE_DIR): + shutil.rmtree(self.TMP_FAKE_DIR) + + def test_no_file_error(self): + """Test that a runtime error is raised when the file does not exist + + """ + root_dir = os.getcwd() + filename = 'this-file-should-not-exist' + with self.assertRaises(RuntimeError): + read_externals_description_file(root_dir, filename) + + def test_no_dir_error(self): + """Test that a runtime error is raised when the file does not exist + + """ + root_dir = '/path/to/some/repo' + filename = 'externals.cfg' + with self.assertRaises(RuntimeError): + read_externals_description_file(root_dir, filename) + + def test_no_invalid_error(self): + """Test that a runtime error is raised when the file format is invalid + + """ + root_dir = os.getcwd() + filename = 'externals.cfg' + file_path = os.path.join(root_dir, filename) + file_path = os.path.abspath(file_path) + contents = """ + +invalid file format +""" + with open(file_path, 'w') as fhandle: + fhandle.write(contents) + with self.assertRaises(RuntimeError): + read_externals_description_file(root_dir, filename) + os.remove(file_path) + + +class TestCreateExternalsDescription(unittest.TestCase): + """Test the application logic of creat_externals_description + """ + + def setUp(self): + """Create config object used as basis for all tests + """ + self._config = config_parser() + self._gmconfig = config_parser() + self.setup_config() + + def setup_config(self): + """Boiler plate construction of xml string for componet 1 + """ + # Create a standard externals config with a single external + name = 'test' + self._config.add_section(name) + self._config.set(name, ExternalsDescription.PATH, 'externals') + self._config.set(name, ExternalsDescription.PROTOCOL, 'git') + self._config.set(name, ExternalsDescription.REPO_URL, '/path/to/repo') + self._config.set(name, ExternalsDescription.TAG, 'test_tag') + self._config.set(name, ExternalsDescription.REQUIRED, 'True') + + self._config.add_section(DESCRIPTION_SECTION) + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.0') + + # Create a .gitmodules test + name = 'submodule "gitmodules_test"' + self._gmconfig.add_section(name) + self._gmconfig.set(name, "path", 'externals/test') + self._gmconfig.set(name, "url", '/path/to/repo') + # NOTE(goldy, 2019-03) Should test other possible keywords such as + # fetchRecurseSubmodules, ignore, and shallow + + def test_cfg_v1_ok(self): + """Test that a correct cfg v1 object is created by create_externals_description + + """ + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.3') + ext = create_externals_description(self._config, model_format='cfg') + self.assertIsInstance(ext, ExternalsDescriptionConfigV1) + + def test_cfg_v1_unknown_version(self): + """Test that a config file with unknown schema version is rejected by + create_externals_description. + + """ + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '100.0.3') + with self.assertRaises(RuntimeError): + create_externals_description(self._config, model_format='cfg') + + def test_dict(self): + """Test that a correct cfg v1 object is created by create_externals_description + + """ + rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: '/path/to/repo', + ExternalsDescription.TAG: 'tagv1', + } + + desc = { + 'test': { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: '../fake', + ExternalsDescription.EXTERNALS: EMPTY_STR, + ExternalsDescription.REPO: rdata, }, + } + + ext = create_externals_description(desc, model_format='dict') + self.assertIsInstance(ext, ExternalsDescriptionDict) + + def test_cfg_unknown_version(self): + """Test that a runtime error is raised when an unknown file version is + received + + """ + self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '123.456.789') + with self.assertRaises(RuntimeError): + create_externals_description(self._config, model_format='cfg') + + def test_cfg_unknown_format(self): + """Test that a runtime error is raised when an unknown format string is + received + + """ + with self.assertRaises(RuntimeError): + create_externals_description(self._config, model_format='unknown') + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_unit_externals_status.py b/manage_externals/test/test_unit_externals_status.py new file mode 100644 index 000000000..f8e953f75 --- /dev/null +++ b/manage_externals/test/test_unit_externals_status.py @@ -0,0 +1,299 @@ +#!/usr/bin/env python + +"""Unit test driver for the manic external status reporting module. + +Note: this script assumes the path to the manic package is already in +the python path. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import unittest + +from manic.externals_status import ExternalStatus + + +class TestStatusObject(unittest.TestCase): + """Verify that the Status object behaives as expected. + """ + + def test_exists_empty_all(self): + """If the repository sync-state is empty (doesn't exist), and there is no + clean state, then it is considered not to exist. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.EMPTY + stat.clean_state = ExternalStatus.DEFAULT + exists = stat.exists() + self.assertFalse(exists) + + stat.clean_state = ExternalStatus.EMPTY + exists = stat.exists() + self.assertFalse(exists) + + stat.clean_state = ExternalStatus.UNKNOWN + exists = stat.exists() + self.assertFalse(exists) + + # this state represtens an internal logic error in how the + # repo status was determined. + stat.clean_state = ExternalStatus.STATUS_OK + exists = stat.exists() + self.assertTrue(exists) + + # this state represtens an internal logic error in how the + # repo status was determined. + stat.clean_state = ExternalStatus.DIRTY + exists = stat.exists() + self.assertTrue(exists) + + def test_exists_default_all(self): + """If the repository sync-state is default, then it is considered to exist + regardless of clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.DEFAULT + stat.clean_state = ExternalStatus.DEFAULT + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.EMPTY + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.UNKNOWN + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.STATUS_OK + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.DIRTY + exists = stat.exists() + self.assertTrue(exists) + + def test_exists_unknown_all(self): + """If the repository sync-state is unknown, then it is considered to exist + regardless of clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.UNKNOWN + stat.clean_state = ExternalStatus.DEFAULT + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.EMPTY + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.UNKNOWN + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.STATUS_OK + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.DIRTY + exists = stat.exists() + self.assertTrue(exists) + + def test_exists_modified_all(self): + """If the repository sync-state is modified, then it is considered to exist + regardless of clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.MODEL_MODIFIED + stat.clean_state = ExternalStatus.DEFAULT + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.EMPTY + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.UNKNOWN + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.STATUS_OK + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.DIRTY + exists = stat.exists() + self.assertTrue(exists) + + def test_exists_ok_all(self): + """If the repository sync-state is ok, then it is considered to exist + regardless of clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.STATUS_OK + stat.clean_state = ExternalStatus.DEFAULT + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.EMPTY + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.UNKNOWN + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.STATUS_OK + exists = stat.exists() + self.assertTrue(exists) + + stat.clean_state = ExternalStatus.DIRTY + exists = stat.exists() + self.assertTrue(exists) + + def test_update_ok_all(self): + """If the repository in-sync is ok, then it is safe to + update only if clean state is ok + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.STATUS_OK + stat.clean_state = ExternalStatus.DEFAULT + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.EMPTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.UNKNOWN + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.STATUS_OK + safe_to_update = stat.safe_to_update() + self.assertTrue(safe_to_update) + + stat.clean_state = ExternalStatus.DIRTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + def test_update_modified_all(self): + """If the repository in-sync is modified, then it is safe to + update only if clean state is ok + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.MODEL_MODIFIED + stat.clean_state = ExternalStatus.DEFAULT + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.EMPTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.UNKNOWN + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.STATUS_OK + safe_to_update = stat.safe_to_update() + self.assertTrue(safe_to_update) + + stat.clean_state = ExternalStatus.DIRTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + def test_update_unknown_all(self): + """If the repository in-sync is unknown, then it is not safe to + update, regardless of the clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.UNKNOWN + stat.clean_state = ExternalStatus.DEFAULT + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.EMPTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.UNKNOWN + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.STATUS_OK + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.DIRTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + def test_update_default_all(self): + """If the repository in-sync is default, then it is not safe to + update, regardless of the clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.UNKNOWN + stat.clean_state = ExternalStatus.DEFAULT + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.EMPTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.UNKNOWN + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.STATUS_OK + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.DIRTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + def test_update_empty_all(self): + """If the repository in-sync is empty, then it is not safe to + update, regardless of the clean state. + + """ + stat = ExternalStatus() + stat.sync_state = ExternalStatus.UNKNOWN + stat.clean_state = ExternalStatus.DEFAULT + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.EMPTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.UNKNOWN + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.STATUS_OK + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + stat.clean_state = ExternalStatus.DIRTY + safe_to_update = stat.safe_to_update() + self.assertFalse(safe_to_update) + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_unit_repository.py b/manage_externals/test/test_unit_repository.py new file mode 100644 index 000000000..2152503c2 --- /dev/null +++ b/manage_externals/test/test_unit_repository.py @@ -0,0 +1,197 @@ +#!/usr/bin/env python + +"""Unit test driver for checkout_externals + +Note: this script assume the path to the checkout_externals.py module is +already in the python path. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import unittest + +from manic.repository_factory import create_repository +from manic.repository_git import GitRepository +from manic.repository_svn import SvnRepository +from manic.repository import Repository +from manic.externals_description import ExternalsDescription +from manic.global_constants import EMPTY_STR + + +class TestCreateRepositoryDict(unittest.TestCase): + """Test the create_repository functionality to ensure it returns the + propper type of repository and errors for unknown repository + types. + + """ + + def setUp(self): + """Common data needed for all tests in this class + """ + self._name = 'test_name' + self._repo = {ExternalsDescription.PROTOCOL: None, + ExternalsDescription.REPO_URL: 'junk_root', + ExternalsDescription.TAG: 'junk_tag', + ExternalsDescription.BRANCH: EMPTY_STR, + ExternalsDescription.HASH: EMPTY_STR, } + + def test_create_repo_git(self): + """Verify that several possible names for the 'git' protocol + create git repository objects. + + """ + protocols = ['git', 'GIT', 'Git', ] + for protocol in protocols: + self._repo[ExternalsDescription.PROTOCOL] = protocol + repo = create_repository(self._name, self._repo) + self.assertIsInstance(repo, GitRepository) + + def test_create_repo_svn(self): + """Verify that several possible names for the 'svn' protocol + create svn repository objects. + """ + protocols = ['svn', 'SVN', 'Svn', ] + for protocol in protocols: + self._repo[ExternalsDescription.PROTOCOL] = protocol + repo = create_repository(self._name, self._repo) + self.assertIsInstance(repo, SvnRepository) + + def test_create_repo_externals_only(self): + """Verify that an externals only repo returns None. + """ + protocols = ['externals_only', ] + for protocol in protocols: + self._repo[ExternalsDescription.PROTOCOL] = protocol + repo = create_repository(self._name, self._repo) + self.assertEqual(None, repo) + + def test_create_repo_unsupported(self): + """Verify that an unsupported protocol generates a runtime error. + """ + protocols = ['not_a_supported_protocol', ] + for protocol in protocols: + self._repo[ExternalsDescription.PROTOCOL] = protocol + with self.assertRaises(RuntimeError): + create_repository(self._name, self._repo) + + +class TestRepository(unittest.TestCase): + """Test the externals description processing used to create the Repository + base class shared by protocol specific repository classes. + + """ + + def test_tag(self): + """Test creation of a repository object with a tag + """ + name = 'test_repo' + protocol = 'test_protocol' + url = 'test_url' + tag = 'test_tag' + repo_info = {ExternalsDescription.PROTOCOL: protocol, + ExternalsDescription.REPO_URL: url, + ExternalsDescription.TAG: tag, + ExternalsDescription.BRANCH: EMPTY_STR, + ExternalsDescription.HASH: EMPTY_STR, } + repo = Repository(name, repo_info) + print(repo.__dict__) + self.assertEqual(repo.tag(), tag) + self.assertEqual(repo.url(), url) + + def test_branch(self): + """Test creation of a repository object with a branch + """ + name = 'test_repo' + protocol = 'test_protocol' + url = 'test_url' + branch = 'test_branch' + repo_info = {ExternalsDescription.PROTOCOL: protocol, + ExternalsDescription.REPO_URL: url, + ExternalsDescription.BRANCH: branch, + ExternalsDescription.TAG: EMPTY_STR, + ExternalsDescription.HASH: EMPTY_STR, } + repo = Repository(name, repo_info) + print(repo.__dict__) + self.assertEqual(repo.branch(), branch) + self.assertEqual(repo.url(), url) + + def test_hash(self): + """Test creation of a repository object with a hash + """ + name = 'test_repo' + protocol = 'test_protocol' + url = 'test_url' + ref = 'deadc0de' + repo_info = {ExternalsDescription.PROTOCOL: protocol, + ExternalsDescription.REPO_URL: url, + ExternalsDescription.BRANCH: EMPTY_STR, + ExternalsDescription.TAG: EMPTY_STR, + ExternalsDescription.HASH: ref, } + repo = Repository(name, repo_info) + print(repo.__dict__) + self.assertEqual(repo.hash(), ref) + self.assertEqual(repo.url(), url) + + def test_tag_branch(self): + """Test creation of a repository object with a tag and branch raises a + runtimer error. + + """ + name = 'test_repo' + protocol = 'test_protocol' + url = 'test_url' + branch = 'test_branch' + tag = 'test_tag' + ref = EMPTY_STR + repo_info = {ExternalsDescription.PROTOCOL: protocol, + ExternalsDescription.REPO_URL: url, + ExternalsDescription.BRANCH: branch, + ExternalsDescription.TAG: tag, + ExternalsDescription.HASH: ref, } + with self.assertRaises(RuntimeError): + Repository(name, repo_info) + + def test_tag_branch_hash(self): + """Test creation of a repository object with a tag, branch and hash raises a + runtimer error. + + """ + name = 'test_repo' + protocol = 'test_protocol' + url = 'test_url' + branch = 'test_branch' + tag = 'test_tag' + ref = 'deadc0de' + repo_info = {ExternalsDescription.PROTOCOL: protocol, + ExternalsDescription.REPO_URL: url, + ExternalsDescription.BRANCH: branch, + ExternalsDescription.TAG: tag, + ExternalsDescription.HASH: ref, } + with self.assertRaises(RuntimeError): + Repository(name, repo_info) + + def test_no_tag_no_branch(self): + """Test creation of a repository object without a tag or branch raises a + runtimer error. + + """ + name = 'test_repo' + protocol = 'test_protocol' + url = 'test_url' + branch = EMPTY_STR + tag = EMPTY_STR + ref = EMPTY_STR + repo_info = {ExternalsDescription.PROTOCOL: protocol, + ExternalsDescription.REPO_URL: url, + ExternalsDescription.BRANCH: branch, + ExternalsDescription.TAG: tag, + ExternalsDescription.HASH: ref, } + with self.assertRaises(RuntimeError): + Repository(name, repo_info) + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_unit_repository_git.py b/manage_externals/test/test_unit_repository_git.py new file mode 100644 index 000000000..b025fbd42 --- /dev/null +++ b/manage_externals/test/test_unit_repository_git.py @@ -0,0 +1,807 @@ +#!/usr/bin/env python + +"""Unit test driver for checkout_externals + +Note: this script assume the path to the checkout_externals.py module is +already in the python path. + +""" +# pylint: disable=too-many-lines,protected-access + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import os +import shutil +import unittest + +from manic.repository_git import GitRepository +from manic.externals_status import ExternalStatus +from manic.externals_description import ExternalsDescription +from manic.externals_description import ExternalsDescriptionDict +from manic.global_constants import EMPTY_STR + +# NOTE(bja, 2017-11) order is important here. origin should be a +# subset of other to trap errors on processing remotes! +GIT_REMOTE_OUTPUT_ORIGIN_UPSTREAM = ''' +upstream /path/to/other/repo (fetch) +upstream /path/to/other/repo (push) +other /path/to/local/repo2 (fetch) +other /path/to/local/repo2 (push) +origin /path/to/local/repo (fetch) +origin /path/to/local/repo (push) +''' + + +class TestGitRepositoryCurrentRef(unittest.TestCase): + """test the current_ref command on a git repository + """ + + def setUp(self): + self._name = 'component' + rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: + '/path/to/local/repo', + ExternalsDescription.TAG: + 'tag1', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: 'junk', + ExternalsDescription.EXTERNALS: EMPTY_STR, + ExternalsDescription.REPO: rdata, + }, + } + + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = GitRepository('test', repo) + + # + # mock methods replacing git system calls + # + @staticmethod + def _git_current_branch(branch_found, branch_name): + """Return a function that takes the place of + repo._git_current_branch, which returns the given output.""" + def my_git_current_branch(): + """mock function that can take the place of repo._git_current_branch""" + return branch_found, branch_name + return my_git_current_branch + + @staticmethod + def _git_current_tag(tag_found, tag_name): + """Return a function that takes the place of + repo._git_current_tag, which returns the given output.""" + def my_git_current_tag(): + """mock function that can take the place of repo._git_current_tag""" + return tag_found, tag_name + return my_git_current_tag + + @staticmethod + def _git_current_hash(hash_found, hash_name): + """Return a function that takes the place of + repo._git_current_hash, which returns the given output.""" + def my_git_current_hash(): + """mock function that can take the place of repo._git_current_hash""" + return hash_found, hash_name + return my_git_current_hash + + # ------------------------------------------------------------------------ + # Begin tests + # ------------------------------------------------------------------------ + + def test_ref_branch(self): + """Test that we correctly identify we are on a branch + """ + self._repo._git_current_branch = self._git_current_branch( + True, 'feature3') + self._repo._git_current_tag = self._git_current_tag(True, 'foo_tag') + self._repo._git_current_hash = self._git_current_hash(True, 'abc123') + expected = 'feature3' + result = self._repo._current_ref() + self.assertEqual(result, expected) + + def test_ref_detached_tag(self): + """Test that we correctly identify that the ref is detached at a tag + """ + self._repo._git_current_branch = self._git_current_branch(False, '') + self._repo._git_current_tag = self._git_current_tag(True, 'foo_tag') + self._repo._git_current_hash = self._git_current_hash(True, 'abc123') + expected = 'foo_tag' + result = self._repo._current_ref() + self.assertEqual(result, expected) + + def test_ref_detached_hash(self): + """Test that we can identify ref is detached at a hash + + """ + self._repo._git_current_branch = self._git_current_branch(False, '') + self._repo._git_current_tag = self._git_current_tag(False, '') + self._repo._git_current_hash = self._git_current_hash(True, 'abc123') + expected = 'abc123' + result = self._repo._current_ref() + self.assertEqual(result, expected) + + def test_ref_none(self): + """Test that we correctly identify that we're not in a git repo. + """ + self._repo._git_current_branch = self._git_current_branch(False, '') + self._repo._git_current_tag = self._git_current_tag(False, '') + self._repo._git_current_hash = self._git_current_hash(False, '') + result = self._repo._current_ref() + self.assertEqual(result, EMPTY_STR) + + +class TestGitRepositoryCheckSync(unittest.TestCase): + """Test whether the GitRepository _check_sync_logic functionality is + correct. + + Note: there are a lot of combinations of state: + + - external description - tag, branch + + - working copy + - doesn't exist (not checked out) + - exists, no git info - incorrect protocol, e.g. svn, or tarball? + - exists, git info + - as expected: + - different from expected: + - detached tag, + - detached hash, + - detached branch (compare remote and branch), + - tracking branch (compare remote and branch), + - same remote + - different remote + - untracked branch + + Test list: + - doesn't exist + - exists no git info + + - num_external * (working copy expected + num_working copy different) + - total tests = 16 + + """ + + # NOTE(bja, 2017-11) pylint complains about long method names, but + # it is hard to differentiate tests without making them more + # cryptic. Also complains about too many public methods, but it + # doesn't really make sense to break this up. + # pylint: disable=invalid-name,too-many-public-methods + + TMP_FAKE_DIR = 'fake' + TMP_FAKE_GIT_DIR = os.path.join(TMP_FAKE_DIR, '.git') + + def setUp(self): + """Setup reusable git repository object + """ + self._name = 'component' + rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: + '/path/to/local/repo', + ExternalsDescription.TAG: 'tag1', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: self.TMP_FAKE_DIR, + ExternalsDescription.EXTERNALS: EMPTY_STR, + ExternalsDescription.REPO: rdata, + }, + } + + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = GitRepository('test', repo) + # The unit tests here don't care about the result of + # _current_ref, but we replace it here so that we don't need to + # worry about calling a possibly slow and possibly + # error-producing command (since _current_ref calls various git + # functions): + self._repo._current_ref = self._current_ref_empty + self._create_tmp_git_dir() + + def tearDown(self): + """Cleanup tmp stuff on the file system + """ + self._remove_tmp_git_dir() + + def _create_tmp_git_dir(self): + """Create a temporary fake git directory for testing purposes. + """ + if not os.path.exists(self.TMP_FAKE_GIT_DIR): + os.makedirs(self.TMP_FAKE_GIT_DIR) + + def _remove_tmp_git_dir(self): + """Remove the temporary fake git directory + """ + if os.path.exists(self.TMP_FAKE_DIR): + shutil.rmtree(self.TMP_FAKE_DIR) + + # + # mock methods replacing git system calls + # + @staticmethod + def _current_ref_empty(): + """Return an empty string. + """ + return EMPTY_STR + + @staticmethod + def _git_remote_origin_upstream(): + """Return an info string that is a checkout hash + """ + return GIT_REMOTE_OUTPUT_ORIGIN_UPSTREAM + + @staticmethod + def _git_remote_none(): + """Return an info string that is a checkout hash + """ + return EMPTY_STR + + @staticmethod + def _git_current_hash(myhash): + """Return a function that takes the place of repo._git_current_hash, + which returns the given hash + """ + def my_git_current_hash(): + """mock function that can take the place of repo._git_current_hash""" + return 0, myhash + return my_git_current_hash + + def _git_revparse_commit(self, expected_ref, mystatus, myhash): + """Return a function that takes the place of + repo._git_revparse_commit, which returns a tuple: + (mystatus, myhash). + + Expects the passed-in ref to equal expected_ref + + status = 0 implies success, non-zero implies failure + """ + def my_git_revparse_commit(ref): + """mock function that can take the place of repo._git_revparse_commit""" + self.assertEqual(expected_ref, ref) + return mystatus, myhash + return my_git_revparse_commit + + # ---------------------------------------------------------------- + # + # Tests where working copy doesn't exist or is invalid + # + # ---------------------------------------------------------------- + def test_sync_dir_not_exist(self): + """Test that a directory that doesn't exist returns an error status + + Note: the Repository classes should be prevented from ever + working on an empty directory by the _Source object. + + """ + stat = ExternalStatus() + self._repo._check_sync(stat, 'invalid_directory_name') + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_ERROR) + # check_dir should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_sync_dir_exist_no_git_info(self): + """Test that a non-existent git repo returns an unknown status + """ + stat = ExternalStatus() + # Now we over-ride the _git_remote_verbose method on the repo to return + # a known value without requiring access to git. + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._tag = 'tag1' + self._repo._git_current_hash = self._git_current_hash('') + self._repo._git_revparse_commit = self._git_revparse_commit( + 'tag1', 1, '') + self._repo._check_sync(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.UNKNOWN) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + # ------------------------------------------------------------------------ + # + # Tests where version in configuration file is not a valid reference + # + # ------------------------------------------------------------------------ + + def test_sync_invalid_reference(self): + """Test that an invalid reference returns out-of-sync + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._tag = 'tag1' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = self._git_revparse_commit( + 'tag1', 1, '') + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + # ---------------------------------------------------------------- + # + # Tests where external description specifies a tag + # + # ---------------------------------------------------------------- + def test_sync_tag_on_same_hash(self): + """Test expect tag on same hash --> status ok + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._tag = 'tag1' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = self._git_revparse_commit( + 'tag1', 0, 'abc123') + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_sync_tag_on_different_hash(self): + """Test expect tag on a different hash --> status modified + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._tag = 'tag1' + self._repo._git_current_hash = self._git_current_hash('def456') + self._repo._git_revparse_commit = self._git_revparse_commit( + 'tag1', 0, 'abc123') + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + # ---------------------------------------------------------------- + # + # Tests where external description specifies a hash + # + # ---------------------------------------------------------------- + def test_sync_hash_on_same_hash(self): + """Test expect hash on same hash --> status ok + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._tag = '' + self._repo._hash = 'abc' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = self._git_revparse_commit( + 'abc', 0, 'abc123') + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_sync_hash_on_different_hash(self): + """Test expect hash on a different hash --> status modified + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._tag = '' + self._repo._hash = 'abc' + self._repo._git_current_hash = self._git_current_hash('def456') + self._repo._git_revparse_commit = self._git_revparse_commit( + 'abc', 0, 'abc123') + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + # ---------------------------------------------------------------- + # + # Tests where external description specifies a branch + # + # ---------------------------------------------------------------- + def test_sync_branch_on_same_hash(self): + """Test expect branch on same hash --> status ok + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._branch = 'feature-2' + self._repo._tag = '' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = ( + self._git_revparse_commit('origin/feature-2', 0, 'abc123')) + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_sync_branch_on_diff_hash(self): + """Test expect branch on diff hash --> status modified + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._branch = 'feature-2' + self._repo._tag = '' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = ( + self._git_revparse_commit('origin/feature-2', 0, 'def456')) + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_sync_branch_diff_remote(self): + """Test _determine_remote_name with a different remote + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._branch = 'feature-2' + self._repo._tag = '' + self._repo._url = '/path/to/other/repo' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = ( + self._git_revparse_commit('upstream/feature-2', 0, 'def456')) + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + # The test passes if _git_revparse_commit is called with the + # expected argument + + def test_sync_branch_diff_remote2(self): + """Test _determine_remote_name with a different remote + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._branch = 'feature-2' + self._repo._tag = '' + self._repo._url = '/path/to/local/repo2' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = ( + self._git_revparse_commit('other/feature-2', 0, 'def789')) + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + # The test passes if _git_revparse_commit is called with the + # expected argument + + def test_sync_branch_on_unknown_remote(self): + """Test expect branch, but remote is unknown --> status modified + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._branch = 'feature-2' + self._repo._tag = '' + self._repo._url = '/path/to/unknown/repo' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = ( + self._git_revparse_commit('unknown_remote/feature-2', 1, '')) + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_sync_branch_on_untracked_local(self): + """Test expect branch, on untracked branch in local repo --> status ok + + Setting the externals description to '.' indicates that the + user only wants to consider the current local repo state + without fetching from remotes. This is required to preserve + the current branch of a repository during an update. + + """ + stat = ExternalStatus() + self._repo._git_remote_verbose = self._git_remote_origin_upstream + self._repo._branch = 'feature3' + self._repo._tag = '' + self._repo._url = '.' + self._repo._git_current_hash = self._git_current_hash('abc123') + self._repo._git_revparse_commit = ( + self._git_revparse_commit('feature3', 0, 'abc123')) + self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) + # check_sync should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + +class TestGitStatusPorcelain(unittest.TestCase): + """Test parsing of output from git status --porcelain=v1 -z + """ + # pylint: disable=C0103 + GIT_STATUS_PORCELAIN_V1_ALL = ( + r' D INSTALL\0MM Makefile\0M README.md\0R cmakelists.txt\0' + r'CMakeLists.txt\0D commit-message-template.txt\0A stuff.txt\0' + r'?? junk.txt') + + GIT_STATUS_PORCELAIN_CLEAN = r'' + + def test_porcelain_status_dirty(self): + """Verify that git status output is considered dirty when there are + listed files. + + """ + git_output = self.GIT_STATUS_PORCELAIN_V1_ALL + is_dirty = GitRepository._status_v1z_is_dirty(git_output) + self.assertTrue(is_dirty) + + def test_porcelain_status_clean(self): + """Verify that git status output is considered clean when there are no + listed files. + + """ + git_output = self.GIT_STATUS_PORCELAIN_CLEAN + is_dirty = GitRepository._status_v1z_is_dirty(git_output) + self.assertFalse(is_dirty) + + +class TestGitCreateRemoteName(unittest.TestCase): + """Test the create_remote_name method on the GitRepository class + """ + + def setUp(self): + """Common infrastructure for testing _create_remote_name + """ + self._rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: + 'empty', + ExternalsDescription.TAG: + 'very_useful_tag', + ExternalsDescription.BRANCH: EMPTY_STR, + ExternalsDescription.HASH: EMPTY_STR, } + self._repo = GitRepository('test', self._rdata) + + def test_remote_git_proto(self): + """Test remote with git protocol + """ + self._repo._url = 'git@git.github.com:very_nice_org/useful_repo' + remote_name = self._repo._create_remote_name() + self.assertEqual(remote_name, 'very_nice_org_useful_repo') + + def test_remote_https_proto(self): + """Test remote with git protocol + """ + self._repo._url = 'https://www.github.com/very_nice_org/useful_repo' + remote_name = self._repo._create_remote_name() + self.assertEqual(remote_name, 'very_nice_org_useful_repo') + + def test_remote_local_abs(self): + """Test remote with git protocol + """ + self._repo._url = '/path/to/local/repositories/useful_repo' + remote_name = self._repo._create_remote_name() + self.assertEqual(remote_name, 'repositories_useful_repo') + + def test_remote_local_rel(self): + """Test remote with git protocol + """ + os.environ['TEST_VAR'] = '/my/path/to/repos' + self._repo._url = '${TEST_VAR}/../../useful_repo' + remote_name = self._repo._create_remote_name() + self.assertEqual(remote_name, 'path_useful_repo') + del os.environ['TEST_VAR'] + + +class TestVerifyTag(unittest.TestCase): + """Test logic verifying that a tag exists and is unique + + """ + + def setUp(self): + """Setup reusable git repository object + """ + self._name = 'component' + rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: + '/path/to/local/repo', + ExternalsDescription.TAG: 'tag1', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: 'tmp', + ExternalsDescription.EXTERNALS: EMPTY_STR, + ExternalsDescription.REPO: rdata, + }, + } + + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = GitRepository('test', repo) + + @staticmethod + def _shell_true(url, remote=None): + _ = url + _ = remote + return 0 + + @staticmethod + def _shell_false(url, remote=None): + _ = url + _ = remote + return 1 + + @staticmethod + def _mock_function_true(ref): + _ = ref + return (TestValidRef._shell_true, '97ebc0e0deadc0de') + + @staticmethod + def _mock_function_false(ref): + _ = ref + return (TestValidRef._shell_false, '97ebc0e0deadc0de') + + def test_tag_not_tag_branch_commit(self): + """Verify a non-tag returns false + """ + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_false + self._repo._tag = 'something' + remote_name = 'origin' + received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) + self.assertFalse(received) + + def test_tag_not_tag(self): + """Verify a non-tag, untracked remote returns false + """ + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_true + self._repo._git_lsremote_branch = self._shell_true + self._repo._git_revparse_commit = self._mock_function_false + self._repo._tag = 'tag1' + remote_name = 'origin' + received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) + self.assertFalse(received) + + def test_tag_indeterminant(self): + """Verify an indeterminant tag/branch returns false + """ + self._repo._git_showref_tag = self._shell_true + self._repo._git_showref_branch = self._shell_true + self._repo._git_lsremote_branch = self._shell_true + self._repo._git_revparse_commit = self._mock_function_true + self._repo._tag = 'something' + remote_name = 'origin' + received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) + self.assertFalse(received) + + def test_tag_is_unique(self): + """Verify a unique tag match returns true + """ + self._repo._git_showref_tag = self._shell_true + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_true + self._repo._tag = 'tag1' + remote_name = 'origin' + received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) + self.assertTrue(received) + + def test_tag_is_not_hash(self): + """Verify a commit hash is not classified as a tag + """ + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_true + self._repo._tag = '97ebc0e0' + remote_name = 'origin' + received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) + self.assertFalse(received) + + def test_hash_is_commit(self): + """Verify a commit hash is not classified as a tag + """ + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_true + self._repo._tag = '97ebc0e0' + remote_name = 'origin' + received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) + self.assertFalse(received) + + +class TestValidRef(unittest.TestCase): + """Test logic verifying that a reference is a valid tag, branch or sha1 + + """ + + def setUp(self): + """Setup reusable git repository object + """ + self._name = 'component' + rdata = {ExternalsDescription.PROTOCOL: 'git', + ExternalsDescription.REPO_URL: + '/path/to/local/repo', + ExternalsDescription.TAG: 'tag1', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: 'tmp', + ExternalsDescription.EXTERNALS: EMPTY_STR, + ExternalsDescription.REPO: rdata, + }, + } + + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = GitRepository('test', repo) + + @staticmethod + def _shell_true(url, remote=None): + _ = url + _ = remote + return 0 + + @staticmethod + def _shell_false(url, remote=None): + _ = url + _ = remote + return 1 + + @staticmethod + def _mock_function_false(ref): + _ = ref + return (TestValidRef._shell_false, '') + + @staticmethod + def _mock_function_true(ref): + _ = ref + return (TestValidRef._shell_true, '') + + def test_valid_ref_is_invalid(self): + """Verify an invalid reference raises an exception + """ + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_false + self._repo._tag = 'invalid_ref' + with self.assertRaises(RuntimeError): + self._repo._check_for_valid_ref(self._repo._tag) + + def test_valid_tag(self): + """Verify a valid tag return true + """ + self._repo._git_showref_tag = self._shell_true + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_true + self._repo._tag = 'tag1' + received = self._repo._check_for_valid_ref(self._repo._tag) + self.assertTrue(received) + + def test_valid_branch(self): + """Verify a valid tag return true + """ + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_true + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = self._mock_function_true + self._repo._tag = 'tag1' + received = self._repo._check_for_valid_ref(self._repo._tag) + self.assertTrue(received) + + def test_valid_hash(self): + """Verify a valid hash return true + """ + def _mock_revparse_commit(ref): + _ = ref + return (0, '56cc0b539426eb26810af9e') + + self._repo._git_showref_tag = self._shell_false + self._repo._git_showref_branch = self._shell_false + self._repo._git_lsremote_branch = self._shell_false + self._repo._git_revparse_commit = _mock_revparse_commit + self._repo._hash = '56cc0b5394' + received = self._repo._check_for_valid_ref(self._repo._hash) + self.assertTrue(received) + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_unit_repository_svn.py b/manage_externals/test/test_unit_repository_svn.py new file mode 100644 index 000000000..7ff31c421 --- /dev/null +++ b/manage_externals/test/test_unit_repository_svn.py @@ -0,0 +1,501 @@ +#!/usr/bin/env python + +"""Unit test driver for checkout_externals + +Note: this script assume the path to the checkout_externals.py module is +already in the python path. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import unittest + +from manic.repository_svn import SvnRepository +from manic.externals_status import ExternalStatus +from manic.externals_description import ExternalsDescription +from manic.externals_description import ExternalsDescriptionDict +from manic.global_constants import EMPTY_STR + +# pylint: disable=W0212 + +SVN_INFO_MOSART = """Path: components/mosart +Working Copy Root Path: /Users/andreb/projects/ncar/git-conversion/clm-dev-experimental/components/mosart +URL: https://svn-ccsm-models.cgd.ucar.edu/mosart/trunk_tags/mosart1_0_26 +Relative URL: ^/mosart/trunk_tags/mosart1_0_26 +Repository Root: https://svn-ccsm-models.cgd.ucar.edu +Repository UUID: fe37f545-8307-0410-aea5-b40df96820b5 +Revision: 86711 +Node Kind: directory +Schedule: normal +Last Changed Author: erik +Last Changed Rev: 86031 +Last Changed Date: 2017-07-07 12:28:10 -0600 (Fri, 07 Jul 2017) +""" +SVN_INFO_CISM = """ +Path: components/cism +Working Copy Root Path: /Users/andreb/projects/ncar/git-conversion/clm-dev-experimental/components/cism +URL: https://svn-ccsm-models.cgd.ucar.edu/glc/trunk_tags/cism2_1_37 +Relative URL: ^/glc/trunk_tags/cism2_1_37 +Repository Root: https://svn-ccsm-models.cgd.ucar.edu +Repository UUID: fe37f545-8307-0410-aea5-b40df96820b5 +Revision: 86711 +Node Kind: directory +Schedule: normal +Last Changed Author: sacks +Last Changed Rev: 85704 +Last Changed Date: 2017-06-15 05:59:28 -0600 (Thu, 15 Jun 2017) +""" + + +class TestSvnRepositoryCheckURL(unittest.TestCase): + """Verify that the svn_check_url function is working as expected. + """ + + def setUp(self): + """Setup reusable svn repository object + """ + self._name = 'component' + rdata = {ExternalsDescription.PROTOCOL: 'svn', + ExternalsDescription.REPO_URL: + 'https://svn-ccsm-models.cgd.ucar.edu/', + ExternalsDescription.TAG: + 'mosart/trunk_tags/mosart1_0_26', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: 'junk', + ExternalsDescription.EXTERNALS: '', + ExternalsDescription.REPO: rdata, + }, + } + + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = SvnRepository('test', repo) + + def test_check_url_same(self): + """Test that we correctly identify that the correct URL. + """ + svn_output = SVN_INFO_MOSART + expected_url = self._repo.url() + result, current_version = \ + self._repo._check_url(svn_output, expected_url) + self.assertEqual(result, ExternalStatus.STATUS_OK) + self.assertEqual(current_version, 'mosart/trunk_tags/mosart1_0_26') + + def test_check_url_different(self): + """Test that we correctly reject an incorrect URL. + """ + svn_output = SVN_INFO_CISM + expected_url = self._repo.url() + result, current_version = \ + self._repo._check_url(svn_output, expected_url) + self.assertEqual(result, ExternalStatus.MODEL_MODIFIED) + self.assertEqual(current_version, 'glc/trunk_tags/cism2_1_37') + + def test_check_url_none(self): + """Test that we can handle an empty string for output, e.g. not an svn + repo. + + """ + svn_output = EMPTY_STR + expected_url = self._repo.url() + result, current_version = \ + self._repo._check_url(svn_output, expected_url) + self.assertEqual(result, ExternalStatus.UNKNOWN) + self.assertEqual(current_version, '') + + +class TestSvnRepositoryCheckSync(unittest.TestCase): + """Test whether the SvnRepository svn_check_sync functionality is + correct. + + """ + + def setUp(self): + """Setup reusable svn repository object + """ + self._name = "component" + rdata = {ExternalsDescription.PROTOCOL: 'svn', + ExternalsDescription.REPO_URL: + 'https://svn-ccsm-models.cgd.ucar.edu/', + ExternalsDescription.TAG: + 'mosart/trunk_tags/mosart1_0_26', + } + + data = {self._name: + { + ExternalsDescription.REQUIRED: False, + ExternalsDescription.PATH: 'junk', + ExternalsDescription.EXTERNALS: EMPTY_STR, + ExternalsDescription.REPO: rdata, + }, + } + + model = ExternalsDescriptionDict(data) + repo = model[self._name][ExternalsDescription.REPO] + self._repo = SvnRepository('test', repo) + + @staticmethod + def _svn_info_empty(*_): + """Return an empty info string. Simulates svn info failing. + """ + return '' + + @staticmethod + def _svn_info_synced(*_): + """Return an info sting that is synced with the setUp data + """ + return SVN_INFO_MOSART + + @staticmethod + def _svn_info_modified(*_): + """Return and info string that is modified from the setUp data + """ + return SVN_INFO_CISM + + def test_repo_dir_not_exist(self): + """Test that a directory that doesn't exist returns an error status + + Note: the Repository classes should be prevented from ever + working on an empty directory by the _Source object. + + """ + stat = ExternalStatus() + self._repo._check_sync(stat, 'junk') + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_ERROR) + # check_dir should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_repo_dir_exist_no_svn_info(self): + """Test that an empty info string returns an unknown status + """ + stat = ExternalStatus() + # Now we over-ride the _svn_info method on the repo to return + # a known value without requiring access to svn. + self._repo._svn_info = self._svn_info_empty + self._repo._check_sync(stat, '.') + self.assertEqual(stat.sync_state, ExternalStatus.UNKNOWN) + # check_dir should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_repo_dir_synced(self): + """Test that a valid info string that is synced to the repo in the + externals description returns an ok status. + + """ + stat = ExternalStatus() + # Now we over-ride the _svn_info method on the repo to return + # a known value without requiring access to svn. + self._repo._svn_info = self._svn_info_synced + self._repo._check_sync(stat, '.') + self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) + # check_dir should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + def test_repo_dir_modified(self): + """Test that a valid svn info string that is out of sync with the + externals description returns a modified status. + + """ + stat = ExternalStatus() + # Now we over-ride the _svn_info method on the repo to return + # a known value without requiring access to svn. + self._repo._svn_info = self._svn_info_modified + self._repo._check_sync(stat, '.') + self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) + # check_dir should only modify the sync_state, not clean_state + self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) + + +class TestSVNStatusXML(unittest.TestCase): + """Test parsing of svn status xml output + """ + SVN_STATUS_XML_DIRTY_ALL = ''' + + + + + +sacks +2017-06-15T11:59:00.355419Z + + + + + + +sacks +2013-02-07T16:17:56.412878Z + + + + + + +sacks +2017-05-01T16:48:27.893741Z + + + + + + + + + + + + + + + + +''' + + SVN_STATUS_XML_DIRTY_MISSING = ''' + + + + + +sacks +2017-06-15T11:59:00.355419Z + + + + + + + + +''' + + SVN_STATUS_XML_DIRTY_MODIFIED = ''' + + + + + +sacks +2013-02-07T16:17:56.412878Z + + + + + + + + +''' + + SVN_STATUS_XML_DIRTY_DELETED = ''' + + + + + +sacks +2017-05-01T16:48:27.893741Z + + + + + + + + +''' + + SVN_STATUS_XML_DIRTY_UNVERSION = ''' + + + + + + + + + + + +''' + + SVN_STATUS_XML_DIRTY_ADDED = ''' + + + + + + + + + + + +''' + + SVN_STATUS_XML_CLEAN = ''' + + + + + + + + + + + +''' + + def test_xml_status_dirty_missing(self): + """Verify that svn status output is consindered dirty when there is a + missing file. + + """ + svn_output = self.SVN_STATUS_XML_DIRTY_MISSING + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertTrue(is_dirty) + + def test_xml_status_dirty_modified(self): + """Verify that svn status output is consindered dirty when there is a + modified file. + """ + svn_output = self.SVN_STATUS_XML_DIRTY_MODIFIED + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertTrue(is_dirty) + + def test_xml_status_dirty_deleted(self): + """Verify that svn status output is consindered dirty when there is a + deleted file. + """ + svn_output = self.SVN_STATUS_XML_DIRTY_DELETED + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertTrue(is_dirty) + + def test_xml_status_dirty_unversion(self): + """Verify that svn status output ignores unversioned files when making + the clean/dirty decision. + + """ + svn_output = self.SVN_STATUS_XML_DIRTY_UNVERSION + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertFalse(is_dirty) + + def test_xml_status_dirty_added(self): + """Verify that svn status output is consindered dirty when there is a + added file. + """ + svn_output = self.SVN_STATUS_XML_DIRTY_ADDED + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertTrue(is_dirty) + + def test_xml_status_dirty_all(self): + """Verify that svn status output is consindered dirty when there are + multiple dirty files.. + + """ + svn_output = self.SVN_STATUS_XML_DIRTY_ALL + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertTrue(is_dirty) + + def test_xml_status_dirty_clean(self): + """Verify that svn status output is consindered clean when there are + no 'dirty' files. This means accepting untracked and externals. + + """ + svn_output = self.SVN_STATUS_XML_CLEAN + is_dirty = SvnRepository.xml_status_is_dirty( + svn_output) + self.assertFalse(is_dirty) + + +if __name__ == '__main__': + unittest.main() diff --git a/manage_externals/test/test_unit_utils.py b/manage_externals/test/test_unit_utils.py new file mode 100644 index 000000000..c994e58eb --- /dev/null +++ b/manage_externals/test/test_unit_utils.py @@ -0,0 +1,350 @@ +#!/usr/bin/env python + +"""Unit test driver for checkout_externals + +Note: this script assume the path to the checkout_externals.py module is +already in the python path. + +""" + +from __future__ import absolute_import +from __future__ import unicode_literals +from __future__ import print_function + +import os +import unittest + +from manic.utils import last_n_lines, indent_string +from manic.utils import str_to_bool, execute_subprocess +from manic.utils import is_remote_url, split_remote_url, expand_local_url + + +class TestExecuteSubprocess(unittest.TestCase): + """Test the application logic of execute_subprocess wrapper + """ + + def test_exesub_return_stat_err(self): + """Test that execute_subprocess returns a status code when caller + requests and the executed subprocess fails. + + """ + cmd = ['false'] + status = execute_subprocess(cmd, status_to_caller=True) + self.assertEqual(status, 1) + + def test_exesub_return_stat_ok(self): + """Test that execute_subprocess returns a status code when caller + requests and the executed subprocess succeeds. + + """ + cmd = ['true'] + status = execute_subprocess(cmd, status_to_caller=True) + self.assertEqual(status, 0) + + def test_exesub_except_stat_err(self): + """Test that execute_subprocess raises an exception on error when + caller doesn't request return code + + """ + cmd = ['false'] + with self.assertRaises(RuntimeError): + execute_subprocess(cmd, status_to_caller=False) + + +class TestLastNLines(unittest.TestCase): + """Test the last_n_lines function. + + """ + + def test_last_n_lines_short(self): + """With a message with <= n lines, result of last_n_lines should + just be the original message. + + """ + mystr = """three +line +string +""" + + mystr_truncated = last_n_lines( + mystr, 3, truncation_message='[truncated]') + self.assertEqual(mystr, mystr_truncated) + + def test_last_n_lines_long(self): + """With a message with > n lines, result of last_n_lines should + be a truncated string. + + """ + mystr = """a +big +five +line +string +""" + expected = """[truncated] +five +line +string +""" + + mystr_truncated = last_n_lines( + mystr, 3, truncation_message='[truncated]') + self.assertEqual(expected, mystr_truncated) + + +class TestIndentStr(unittest.TestCase): + """Test the indent_string function. + + """ + + def test_indent_string_singleline(self): + """Test the indent_string function with a single-line string + + """ + mystr = 'foo' + result = indent_string(mystr, 4) + expected = ' foo' + self.assertEqual(expected, result) + + def test_indent_string_multiline(self): + """Test the indent_string function with a multi-line string + + """ + mystr = """hello +hi +goodbye +""" + result = indent_string(mystr, 2) + expected = """ hello + hi + goodbye +""" + self.assertEqual(expected, result) + + +class TestStrToBool(unittest.TestCase): + """Test the string to boolean conversion routine. + + """ + + def test_case_insensitive_true(self): + """Verify that case insensitive variants of 'true' returns the True + boolean. + + """ + values = ['true', 'TRUE', 'True', 'tRuE', 't', 'T', ] + for value in values: + received = str_to_bool(value) + self.assertTrue(received) + + def test_case_insensitive_false(self): + """Verify that case insensitive variants of 'false' returns the False + boolean. + + """ + values = ['false', 'FALSE', 'False', 'fAlSe', 'f', 'F', ] + for value in values: + received = str_to_bool(value) + self.assertFalse(received) + + def test_invalid_str_error(self): + """Verify that a non-true/false string generates a runtime error. + """ + values = ['not_true_or_false', 'A', '1', '0', + 'false_is_not_true', 'true_is_not_false'] + for value in values: + with self.assertRaises(RuntimeError): + str_to_bool(value) + + +class TestIsRemoteURL(unittest.TestCase): + """Crude url checking to determine if a url is local or remote. + + """ + + def test_url_remote_git(self): + """verify that a remote git url is identified. + """ + url = 'git@somewhere' + is_remote = is_remote_url(url) + self.assertTrue(is_remote) + + def test_url_remote_ssh(self): + """verify that a remote ssh url is identified. + """ + url = 'ssh://user@somewhere' + is_remote = is_remote_url(url) + self.assertTrue(is_remote) + + def test_url_remote_http(self): + """verify that a remote http url is identified. + """ + url = 'http://somewhere' + is_remote = is_remote_url(url) + self.assertTrue(is_remote) + + def test_url_remote_https(self): + """verify that a remote https url is identified. + """ + url = 'https://somewhere' + is_remote = is_remote_url(url) + self.assertTrue(is_remote) + + def test_url_local_user(self): + """verify that a local path with '~/path/to/repo' gets rejected + + """ + url = '~/path/to/repo' + is_remote = is_remote_url(url) + self.assertFalse(is_remote) + + def test_url_local_var_curly(self): + """verify that a local path with env var '${HOME}' gets rejected + """ + url = '${HOME}/path/to/repo' + is_remote = is_remote_url(url) + self.assertFalse(is_remote) + + def test_url_local_var(self): + """verify that a local path with an env var '$HOME' gets rejected + """ + url = '$HOME/path/to/repo' + is_remote = is_remote_url(url) + self.assertFalse(is_remote) + + def test_url_local_abs(self): + """verify that a local abs path gets rejected + """ + url = '/path/to/repo' + is_remote = is_remote_url(url) + self.assertFalse(is_remote) + + def test_url_local_rel(self): + """verify that a local relative path gets rejected + """ + url = '../../path/to/repo' + is_remote = is_remote_url(url) + self.assertFalse(is_remote) + + +class TestSplitRemoteURL(unittest.TestCase): + """Crude url checking to determine if a url is local or remote. + + """ + + def test_url_remote_git(self): + """verify that a remote git url is identified. + """ + url = 'git@somewhere.com:org/repo' + received = split_remote_url(url) + self.assertEqual(received, "org/repo") + + def test_url_remote_ssh(self): + """verify that a remote ssh url is identified. + """ + url = 'ssh://user@somewhere.com/path/to/repo' + received = split_remote_url(url) + self.assertEqual(received, 'somewhere.com/path/to/repo') + + def test_url_remote_http(self): + """verify that a remote http url is identified. + """ + url = 'http://somewhere.org/path/to/repo' + received = split_remote_url(url) + self.assertEqual(received, 'somewhere.org/path/to/repo') + + def test_url_remote_https(self): + """verify that a remote http url is identified. + """ + url = 'http://somewhere.gov/path/to/repo' + received = split_remote_url(url) + self.assertEqual(received, 'somewhere.gov/path/to/repo') + + def test_url_local_url_unchanged(self): + """verify that a local path is unchanged + + """ + url = '/path/to/repo' + received = split_remote_url(url) + self.assertEqual(received, url) + + +class TestExpandLocalURL(unittest.TestCase): + """Crude url checking to determine if a url is local or remote. + + Remote should be unmodified. + + Local, should perform user and variable expansion. + + """ + + def test_url_local_user1(self): + """verify that a local path with '~/path/to/repo' gets expanded to an + absolute path. + + NOTE(bja, 2017-11) we can't test for something like: + '~user/path/to/repo' because the user has to be in the local + machine password directory and we don't know a user name that + is valid on every system....? + + """ + field = 'test' + url = '~/path/to/repo' + received = expand_local_url(url, field) + print(received) + self.assertTrue(os.path.isabs(received)) + + def test_url_local_expand_curly(self): + """verify that a local path with '${HOME}' gets expanded to an absolute path. + """ + field = 'test' + url = '${HOME}/path/to/repo' + received = expand_local_url(url, field) + self.assertTrue(os.path.isabs(received)) + + def test_url_local_expand_var(self): + """verify that a local path with '$HOME' gets expanded to an absolute path. + """ + field = 'test' + url = '$HOME/path/to/repo' + received = expand_local_url(url, field) + self.assertTrue(os.path.isabs(received)) + + def test_url_local_env_missing(self): + """verify that a local path with env var that is missing gets left as-is + + """ + field = 'test' + url = '$TMP_VAR/path/to/repo' + received = expand_local_url(url, field) + print(received) + self.assertEqual(received, url) + + def test_url_local_expand_env(self): + """verify that a local path with another env var gets expanded to an + absolute path. + + """ + field = 'test' + os.environ['TMP_VAR'] = '/some/absolute' + url = '$TMP_VAR/path/to/repo' + received = expand_local_url(url, field) + del os.environ['TMP_VAR'] + print(received) + self.assertTrue(os.path.isabs(received)) + self.assertEqual(received, '/some/absolute/path/to/repo') + + def test_url_local_normalize_rel(self): + """verify that a local path with another env var gets expanded to an + absolute path. + + """ + field = 'test' + url = '/this/is/a/long/../path/to/a/repo' + received = expand_local_url(url, field) + print(received) + self.assertEqual(received, '/this/is/a/path/to/a/repo') + + +if __name__ == '__main__': + unittest.main() From ff2ca1b24166f03ab1af4f1c45339fb743b6f479 Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Tue, 17 Sep 2019 17:35:50 +0000 Subject: [PATCH 28/38] Update WRFIO_LIB path on theia. --- modulefiles/post/v8.0.0-theia | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modulefiles/post/v8.0.0-theia b/modulefiles/post/v8.0.0-theia index 01f15cd85..78328f18d 100644 --- a/modulefiles/post/v8.0.0-theia +++ b/modulefiles/post/v8.0.0-theia @@ -40,8 +40,8 @@ module load netcdf/3.6.3 module load g2tmpl/v1.5.0 -module use /scratch3/NCEPDEV/stmp1/gwv/wrf.post.lib/modulefiles -module load wrf-io-v1.1.1 +module use -a /scratch3/NCEPDEV/nwprod/NCEPLIBS/modulefiles +module load wrfio/1.1.1 #setenv WRFPATH /scratch3/NCEPDEV/nwprod/sorc/wrf_shared.v1.1.0 setenv myFC mpiifort From 07130749b204268eae635816b145cc78617e88ef Mon Sep 17 00:00:00 2001 From: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com> Date: Tue, 24 Sep 2019 11:21:53 -0400 Subject: [PATCH 29/38] Port UPP on NOAA R&D machine HERA. (#4) --- modulefiles/post/v8.0.0-hera | 55 ++++++++++++++++++++++++++++++++++++ sorc/build_ncep_post.sh | 4 +++ 2 files changed, 59 insertions(+) create mode 100644 modulefiles/post/v8.0.0-hera diff --git a/modulefiles/post/v8.0.0-hera b/modulefiles/post/v8.0.0-hera new file mode 100644 index 000000000..79ddbc806 --- /dev/null +++ b/modulefiles/post/v8.0.0-hera @@ -0,0 +1,55 @@ +#%Module###################################################################### +############################################################# +## Lin.Gan@noaa.gov +## EMC +## post v7.0.0 +## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs +############################################################# +proc ModulesHelp { } { +puts stderr "Set environment veriables for post" +puts stderr "This module initializes the users environment" +puts stderr "to build the post for WCOSS production.\n" +} +module-whatis "post" + +set ver v8.0.0 + +# Loading Intel Compiler Suite +module load intel/19.0.4.243 +module load impi/2019.0.4 + +#module use /contrib/modulefiles +module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles + +# Loding nceplibs modules +module load sigio/2.1.1 +module load jasper/1.900.1 +module load png/1.2.44 +module load z/1.2.11 +module load sfcio/1.1.1 +module load nemsio/2.2.4 +module load bacio/2.0.3 +module load g2/3.1.1 +#module load xmlparse/v2.0.0 +module load gfsio/1.1.0 +module load ip/3.0.2 +module load sp/2.0.3 +module load w3emc/2.3.1 +module load w3nco/2.0.7 +module load crtm/2.2.5 +module load netcdf/3.6.3 +#module load netcdf/4.7.0 +module load g2tmpl/1.5.1 +module load wrfio/1.1.1 + +#setenv WRFPATH /scratch3/NCEPDEV/nwprod/sorc/wrf_shared.v1.1.0 +setenv myFC mpiifort +setenv OPENMP "-qopenmp" +setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" +# +#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" + +setenv myCPP /lib/cpp +setenv myCPPFLAGS "-P" + +setenv mySFC ifort diff --git a/sorc/build_ncep_post.sh b/sorc/build_ncep_post.sh index 1c89f4464..0d33b8037 100755 --- a/sorc/build_ncep_post.sh +++ b/sorc/build_ncep_post.sh @@ -34,6 +34,10 @@ elif [ $mac = t -o $mac = e -o $mac = g ] ; then # For WCOSS . /usrx/local/Modules/default/init/bash elif [ $mac = l -o $mac = s ] ; then # wcoss_c (i.e. luna and surge) export machine=cray-intel +elif [ $mac2 = hf ] ; then # For Hera + machine=hera + . /etc/profile + . /etc/profile.d/modules.sh fi # Lin Gan modifiy to use NCO vertical structure prefix for NCO deployment - 20160131 From 55a3ef258f50181d73e6b5ace2c0166ebe0e1920 Mon Sep 17 00:00:00 2001 From: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com> Date: Sun, 29 Sep 2019 13:35:50 -0400 Subject: [PATCH 30/38] Upgrade UPP with netcdf4 for Dell, Cray and Hera machines. (#5) --- modulefiles/post/v8.0.0-cray-intel | 3 ++- modulefiles/post/v8.0.0-hera | 4 ++-- modulefiles/post/v8.0.0-wcoss_dell_p3 | 2 +- sorc/ncep_post.fd/makefile_module | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/modulefiles/post/v8.0.0-cray-intel b/modulefiles/post/v8.0.0-cray-intel index 171514bb6..88d9c510f 100644 --- a/modulefiles/post/v8.0.0-cray-intel +++ b/modulefiles/post/v8.0.0-cray-intel @@ -40,7 +40,8 @@ module load sp-intel/2.0.2 module load w3emc-intel/2.2.0 module load w3nco-intel/2.0.6 #### module load NetCDF-intel-haswell/3.6.3 -module load NetCDF-intel-sandybridge/3.6.3 +#module load NetCDF-intel-sandybridge/3.6.3 +module load cray-netcdf/4.3.2 # module load crtm-intel/2.2.3 #module load NetCDF-intel-sandybridge/3.6.3 # module load NetCDF-cray-sandybridge/3.6.3 diff --git a/modulefiles/post/v8.0.0-hera b/modulefiles/post/v8.0.0-hera index 79ddbc806..3e03cc541 100644 --- a/modulefiles/post/v8.0.0-hera +++ b/modulefiles/post/v8.0.0-hera @@ -37,8 +37,8 @@ module load sp/2.0.3 module load w3emc/2.3.1 module load w3nco/2.0.7 module load crtm/2.2.5 -module load netcdf/3.6.3 -#module load netcdf/4.7.0 +#module load netcdf/3.6.3 +module load netcdf/4.7.0 module load g2tmpl/1.5.1 module load wrfio/1.1.1 diff --git a/modulefiles/post/v8.0.0-wcoss_dell_p3 b/modulefiles/post/v8.0.0-wcoss_dell_p3 index da69cdf4a..873c51d3e 100644 --- a/modulefiles/post/v8.0.0-wcoss_dell_p3 +++ b/modulefiles/post/v8.0.0-wcoss_dell_p3 @@ -31,7 +31,7 @@ module load ip/3.0.1 module load sp/2.0.2 module load w3emc/2.3.0 module load w3nco/2.0.6 -module load NetCDF/3.6.3 +module load NetCDF/4.5.0 module load g2tmpl/1.5.0 module load crtm/2.2.6 module load wrfio/1.1.1 diff --git a/sorc/ncep_post.fd/makefile_module b/sorc/ncep_post.fd/makefile_module index b4677b119..b35686b14 100755 --- a/sorc/ncep_post.fd/makefile_module +++ b/sorc/ncep_post.fd/makefile_module @@ -27,7 +27,7 @@ CPPFLAGS = -DLINUX FREE = -FR NETCDF_INC = -I$(NETCDF)/include -NETCDF_LDFLAGS = -L$(NETCDF)/lib -lnetcdf +NETCDF_LDFLAGS = -L$(NETCDF)/lib -lnetcdff -lnetcdf CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' From b2c1050bfb6a334e6491a1923553dab28d7d6c6d Mon Sep 17 00:00:00 2001 From: Jili Dong Date: Sun, 29 Sep 2019 13:54:46 -0400 Subject: [PATCH 31/38] update modules for jet (#3) --- modulefiles/post/v8.0.0-jet | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/modulefiles/post/v8.0.0-jet b/modulefiles/post/v8.0.0-jet index 3f6645a9d..982bc834f 100644 --- a/modulefiles/post/v8.0.0-jet +++ b/modulefiles/post/v8.0.0-jet @@ -15,7 +15,8 @@ module-whatis "post" set ver v8.0.0 # Loading Intel Compiler Suite -module load intel/15.0.3.187 +#module load intel/15.0.3.187 +module load intel/18.0.5.274 module load impi module use /contrib/modulefiles @@ -37,15 +38,19 @@ module load sp/v2.0.2 module load w3emc/v2.2.0 module load w3nco/v2.0.6 module load crtm/v2.2.3 -module load netcdf/3.6.3 +#module load netcdf/3.6.3 +module load netcdf/4.6.1 setenv NCEPLIBS /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/modulefiles module load g2tmpl-intel/1.5.0 -module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/wrf.post.lib/modulefiles -module load wrf-io-v1.1.1 +#module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/wrf.post.lib/modulefiles +#module load wrf-io-v1.1.1 +# +setenv WRFIO_LIB /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/wrf.post.lib/v1.1.1/lib/wrf_io/libwrfio_nf.a + set dlib /mnt/lfs3/projects/hfv3gfs/gwv/ltmp2/lib/g2/v3.1.0/ set bname "G2" @@ -60,8 +65,8 @@ setenv ${bname}_VER v3.1.0 #setenv WRFPATH /mnt/lfs3/projects/hfv3gfs/nwprod/wrf_shared.v1.1.0/ setenv myFC mpiifort -setenv OPENMP "-openmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -openmp -fpp" +setenv OPENMP "-qopenmp" +setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" # #setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" From 9871359e0bf5f73c452ebe4a2e236919642ed026 Mon Sep 17 00:00:00 2001 From: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com> Date: Fri, 4 Oct 2019 09:49:18 -0400 Subject: [PATCH 32/38] =?UTF-8?q?1)Add=20bug=20fix=20of=20radar=20reflectt?= =?UTF-8?q?ivity=20from=20Jun=20Wang;=202)Remove=20the=20rout=E2=80=A6=20(?= =?UTF-8?q?#6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 1)Add bug fix of radar reflecttivity from Jun Wang; 2)Remove the routines for calling sigio module and gfsio module into from GFSPOST.F to GFSPOSTSIG.F. * Tweak DBZI calculation from reviwers, * Set cprate as 0 because it is not ouputted from fv3. --- sorc/ncep_post.fd/GFSPOST.F | 737 -------------------- sorc/ncep_post.fd/GFSPOSTSIG.F | 737 ++++++++++++++++++++ sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f | 7 +- sorc/ncep_post.fd/INITPOST_NETCDF.f | 9 + sorc/ncep_post.fd/MDLFLD.f | 18 +- sorc/ncep_post.fd/makefile_module | 2 +- 6 files changed, 767 insertions(+), 743 deletions(-) create mode 100644 sorc/ncep_post.fd/GFSPOSTSIG.F diff --git a/sorc/ncep_post.fd/GFSPOST.F b/sorc/ncep_post.fd/GFSPOST.F index c7073681e..07c15042a 100644 --- a/sorc/ncep_post.fd/GFSPOST.F +++ b/sorc/ncep_post.fd/GFSPOST.F @@ -570,450 +570,6 @@ subroutine mxwind(km,p,u,v,t,h,pmw,umw,vmw,tmw,hmw) pmw=p(kmw)*exp((h(kmw)-hmw)*(1-0.5*(tmw/t(kmw)-1))/(con_rog*t(kmw))) end subroutine -! Add Iredells subroutine to read sigma files -!------------------------------------------------------------------------------- -subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & - h,p,px,py,t,u,v,d,trc,iret) -!$$$ Subprogram documentation block -! -! Subprogram: rtsig Read and transform sigma file -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram reads a sigma file and transforms -! the fields to a designated global grid. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2013-04-19 Jun Wang: add option to get tmp and ps(in pascal) -! from enthalpy and ps(cb) option -! 2013-05-06 Shrinivas Moorthi: Initialize midea to 0 -! 2013-05-07 Shrinivas Moorthi: Remove mo3, mct, midea and define io3, ict etc -! correctly and get correct cloud condensate. -! 2013-08-02 Shrinivas Moorthi: Rewrote the whole routine to read the sigma -! file differently and to read all tracers -! Addedd sptezj for two 2d fields -! 2014-02-20 Shrinivas Moorthi: Modified conversion from spectral to grid -! taking advantage of threding in SP library. -! This really speeds up the code -! Also threaded loop for Temperature from Tv - -! -! Usage: call rtsig(lusig,head,k1,k2,kgds,ijo,nct, & -! h,p,px,py,t,tx,ty,u,v,d,z,sh,o3,ct,iret,o,o2) -! Input argument list: -! lusig integer(sigio_intkind) sigma file unit number -! head type(sigio_head) sigma file header -! k1 integer first model level to return -! k2 integer last model level to return -! kgds integer (200) GDS to which to transform -! ijo integer dimension of output fields -! levs integer number of total vertical levels -! ntrac integer number of output tracers -! jcap integer number of waves -! lnt2 integer (jcap+1)*(jcap+2) -! Output argument list: -! h real (ijo) surface orography (m) -! p real (ijo) surface pressure (Pa) -! px real (ijo) log surface pressure x-gradient (1/m) -! py real (ijo) log surface pressure y-gradient (1/m) -! t real (ijo,k1:k2) temperature (K) -! tx real (ijo,k1:k2) virtual temperature x-gradient (K/m) -! ty real (ijo,k1:k2) virtual temperature y-gradient (K/m) -! u real (ijo,k1:k2) x-component wind (m/s) -! v real (ijo,k1:k2) y-component wind (m/s) -! d real (ijo,k1:k2) wind divergence (1/s) -! trc real (ijo,k1:k2,ntrac) tracers -! 1 = specific humidity (kg/kg) -! 2 = Ozone mixing ratio (kg/kg) -! 3 = cloud condensate mixing ratio (kg/kg) -! . -! . -! atomic oxyge, oxygen etc -! -! iret integer return code -! -! Modules used: -! sigio_r_module sigma file I/O -! -! Subprograms called: -! sigio_rrdati read sigma single data field -! sptez scalar spectral transform -! sptezd gradient spectral transform -! sptezm multiple scalar spectral transform -! sptezmv multiple vector spectral transform -! -! Attributes: -! Language: Fortran 90 -! -!$$$ - use sigio_module, only : sigio_intkind, sigio_head - use sigio_r_module, only : sigio_dati, sigio_rrdati - use physcons, only : con_omega, con_fvirt - use omp_lib - implicit none - integer(sigio_intkind),intent(in) :: lusig - type(sigio_head), intent(in) :: head - integer,intent(in) :: k1,k2,kgds(200),ijo,levs,ntrac,jcap,lnt2,me - real,dimension(ijo), intent(out) :: h,p,px,py - real,dimension(ijo,k1:k2),intent(out):: t,u,v,d - real,dimension(ijo,k1:k2,ntrac),intent(out),target :: trc - integer,intent(out) :: iret -! - integer idrt,io,jo,iidea -! integer idrt,io,jo,mo3,mct,iidea,midea - integer(sigio_intkind):: irets -! type(sigio_datm):: datm - type(sigio_dati) dati -! type griddata -! real,dimension(:,:),pointer :: datm -! endtype griddata -! type(griddata),dimension(:),pointer :: datatrc - real, target :: trisca(lnt2,k1:k2+1), triscb(lnt2,k1:k2) - real,dimension(:), allocatable :: cpi - real,dimension(:,:),allocatable :: wrk - integer io3,ict,jct,n,i,k,jc,nt - integer idvm, klen - real pmean,sumq,xcp -! integer, parameter :: latch=20 -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Determine output grid - idrt = kgds(1) - if(kgds(1) == 0 .and. kgds(4) < 90000) idrt = 256 - io = kgds(2) - jo = kgds(3) -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Read and transform surface fields - iret = 1 - if (me == 0) then - print*,'Debug rtsig= ',lusig,k1,k2,ijo,kgds(1:20) - endif - - idvm = head%idvm -! jc = omp_get_num_threads() -! write(0,*)' in RTSIG lnt2=',lnt2,' threads=',jc,' latch=',latch, & -! ' jcap=',jcap,' io=',io,' jo=',jo,' ijo=',ijo -! - if (k2 < k1) return - - dati%i = 1 ! hs - dati%f => trisca(:,k1) - call sigio_rrdati(lusig,head,dati,irets) - if(irets /= 0) return - -! call sptez(0,jcap,idrt,io,jo,trisca(1,k1),h,1) -! call sptez(0,jcap,idrt,io,jo,dats%hs,h,1) -! call sptez(0,jcap,idrt,io,jo,dats%ps,p,1) -! call sptezj(jcap,lnt2,1,idrt,io,jo,jc,trisca,h,latch,1) -! - dati%i = 2 ! Surface pressure - dati%f => trisca(:,k1+1) - call sigio_rrdati(lusig,head,dati,irets) - if(irets /= 0) return -! -! call sptez(0,jcap,idrt,io,jo,trisca(1,k1),p,1) -! call sptezj(jcap,lnt2,1,idrt,io,jo,jc,trisca,p,latch,1) -!-- - allocate(wrk(ijo,2)) - call sptezm(0,jcap,idrt,io,jo,2,trisca(1,k1),wrk,1) - if( mod(idvm,10) < 2) then -!$omp parallel do private(i) - do i=1,ijo - h(i) = wrk(i,1) - p(i) = 1.e3*exp(wrk(i,2)) -! p(i) = 1.e3*exp(p(i)) - enddo - elseif(mod(idvm,10) == 2) then -!$omp parallel do private(i) - do i=1,ijo - h(i) = wrk(i,1) - p(i) = 1000.*wrk(i,2) -! p(i) = 1000.*p(i) - enddo - endif - if (allocated(wrk)) deallocate(wrk) - - call sptezd(0,jcap,idrt,io,jo,trisca(1,k1+1),pmean,px,py,1) - iret = 0 - -! if (k2 < k1) return - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Read and transform fields on levels k1 through k2 - iret = 2 - if (k2 >= k1) then - klen = k2-k1+1 - do k=k1,k2 - write(0,*)' retriving T for k=',k,' k1=',k1,' k2=',k2 - dati%i = k + 2 ! Virtual Temperature or CpT - dati%f => trisca(:,k) - - call sigio_rrdati(lusig,head,dati,iret) - enddo - call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),t(1,k1),1) -! call sptezm(0,jcap,idrt,io,jo,klen,trisca,t,1) - do k=k1,k2 - dati%i = levs + 2 + (k-1) * 2 + 1 ! Divergence - dati%f => trisca(:,k) - call sigio_rrdati(lusig,head,dati,irets) - if(irets /= 0) return - dati%i = levs + 2 + (k-1) * 2 + 2 ! Vorticity - dati%f => triscb(:,k) - call sigio_rrdati(lusig,head,dati,irets) - if(irets /= 0) return - enddo - call sptezmv(0,jcap,idrt,io,jo,klen,trisca(1,k1),triscb(1,k1), & - u(1,k1),v(1,k1),1) - call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),d(1,k1),1) - -! call sptezm(0,jcap,idrt,io,jo,1,triscb,z(1,k),1) - write(0,*)' retriving d/z for k=',k,' k1=',k1,' k2=',k2 -! datm%z(3,:) = datm%z(3,:)+2*con_omega/sqrt(1.5) -! call sptezm(0,jcap,idrt,io,jo,klen,datm%z,z,1) - write(0,*)' start get tracer' - do nt=1,ntrac - do k=k1,k2 - dati%i = levs * (2+nt) + 2 + k ! Tracers starting with q - dati%f => trisca(:,k) - call sigio_rrdati(lusig,head,dati,irets) - enddo - call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),trc(1,k1,nt),1) - write(0,*)' retriving d/z for nt=',nt,'ntrac=',ntrac,'k=',k,' k1=',k1,' k2=',k2 - enddo - !t=t/(1+con_fvirt*sh) - write(0,*)' end get tracer,idvm=',idvm,'ijo=',ijo,'ntrac=',ntrac -! -!-- get temp - if (mod(idvm/10,10) == 3) then ! Enthalpy case - allocate(cpi(0:ntrac)) -! write(0,*)'aft read sig, cpi=',head%cpi - cpi(0:ntrac) = head%cpi(1:ntrac+1) -! write(0,*)'cpi=',cpi(0:ntrac) -!$omp parallel do private(k,i,xcp,sumq,n) - do k=k1,k2 - do i=1,ijo - xcp = 0.0 - sumq = 0.0 - do n=1,ntrac - if( cpi(n) /= 0.0 ) then - xcp = xcp + cpi(n)*trc(i,k,n) - sumq = sumq + trc(i,k,n) - endif - enddo - xcp = (1.-sumq)*cpi(0) + xcp - t(i,k) = t(i,k) / xcp ! Now g1 contains T - enddo - enddo - if (allocated(cpi)) deallocate(cpi) - else -!$omp parallel do private(i,k) - do k=k1,k2 - do i=1,ijo - t(i,k) = t(i,k) / (1+con_fvirt*trc(i,k,1)) !get temp from virtual temp - enddo - enddo - endif - endif -! write(0,*)'end comput t' - iret=0 -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -end subroutine - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& - pi,pm,om) -!$$$ Subprogram documentation block -! -! Subprogram: modstuff Compute model coordinate dependent functions -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram computes fields which depend on the model coordinate -! such as pressure thickness and vertical velocity. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2013-04-19 Jun Wang: add option to get pi by using 8byte real computation -! -! Usage: call modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& -! pd,pi,pm,os,om,px,py) -! Input argument list: -! km integer number of levels -! idvc integer vertical coordinate id (1 for sigma and 2 for hybrid) -! idsl integer type of sigma structure (1 for phillips or 2 for mean) -! nvcoord integer number of vertical coordinates -! vcoord real (km+1,nvcoord) vertical coordinates -! ps real surface pressure (Pa) -! psx real log surface pressure x-gradient (1/m) -! psy real log surface pressure y-gradient (1/m) -! d real (km) wind divergence (1/s) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! Output argument list: -! pi real (km+1) interface pressure (Pa) -! pm real (km) mid-layer pressure (Pa) -! om real (km) vertical velocity (Pa/s) -! -! Attributes: -! Language: Fortran 90 -! -!$$$ - use sigio_module, only: sigio_modprd - implicit none - integer,intent(in):: km,idvc,idsl,nvcoord - real,intent(in):: vcoord(km+1,nvcoord) - real,intent(in):: ps,psx,psy - real,intent(in):: u(km),v(km),d(km) -! real,intent(out):: pi(km+1),pm(km) - real*8, intent(out):: pi(km+1),pm(km) - real,intent(out):: om(km) - real*8 ps8,pm8(km),pd8(km),vcoord8(km+1,nvcoord) - real*8 dpmdps(km),dpddps(km),dpidps(km+1),pi8(km+1) - real vgradp,pd(km),px(km),py(km),os - integer k,iret,logk -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ps8=ps - vcoord8=vcoord - call sigio_modprd(1,1,km,nvcoord,idvc,idsl,vcoord8,iret,& - ps=(/ps8/),& - pm=pm8,pd=pd8,dpmdps=dpmdps,dpddps=dpddps) -! -!jw: has to be 8 real for wam - pi8(1)=ps - pm=pm8 -! pd=pd8 - dpidps(1)=1. - do k=1,km - pi8(k+1)=pi8(k)-pd8(k) - dpidps(k+1)=dpidps(k)-dpddps(k) -! if(pi(8)<0.) then -! print *,'in modstuff,pi8=',pi8(k) -! endif - enddo - pi=pi8 -! - os=0 - do k=km,1,-1 - vgradp=u(k)*psx+v(k)*psy - os=os-vgradp*ps*(dpmdps(k)-dpidps(k+1))-d(k)*(pm(k)-pi(k+1)) - om(k)=vgradp*ps*dpmdps(k)+os - os=os-vgradp*ps*(dpidps(k)-dpmdps(k))-d(k)*(pi(k)-pm(k)) - enddo - px=ps*dpmdps*psx - py=ps*dpmdps*psy - end subroutine - -!------------------------------------------------------------------------------- - subroutine modstuff2(im,ix,km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& - pi,pm,om,me) -!$$$ Subprogram documentation block -! -! Subprogram: modstuff Compute model coordinate dependent functions -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram computes fields which depend on the model coordinate -! such as pressure thickness and vertical velocity. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2013-04-19 Jun Wang: add option to get pi by using 8byte real computation -! 2013-08-13 Shrinivas Moorthi - Modified to include im points and thread -! -! Usage: call modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& -! pd,pi,pm,os,om,px,py) -! Input argument list: -! im integer - inner computational domain -! ix integer - maximum inner dimension -! km integer number of levels -! idvc integer vertical coordinate id (1 for sigma and 2 for hybrid) -! idsl integer type of sigma structure (1 for phillips or 2 for mean) -! nvcoord integer number of vertical coordinates -! vcoord real (km+1,nvcoord) vertical coordinates -! ps real surface pressure (Pa) -! psx real log surface pressure x-gradient (1/m) -! psy real log surface pressure y-gradient (1/m) -! d real (km) wind divergence (1/s) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! Output argument list: -! pi real (km+1) interface pressure (Pa) -! pm real (km) mid-layer pressure (Pa) -! om real (km) vertical velocity (Pa/s) -! -! Attributes: -! Language: Fortran 90 -! -!$$$ - use sigio_module, only : sigio_modprd - implicit none - integer, intent(in) :: im,ix,km,idvc,idsl,nvcoord,me - real, intent(in) :: vcoord(km+1,nvcoord) - real, dimension(ix), intent(in) :: ps,psx,psy - real, dimension(ix,km), intent(in) :: u,v,d - real*8, dimension(ix,km+1), intent(out) :: pi - real*8, dimension(ix,km), intent(out) :: pm - real, dimension(ix,km), intent(out) :: om -! real*8, allocatable :: ps8(:), pm8(:,:), pd8(:,:),dpmdps(:,:),dpddps(:,:), & -! dpidps(:,:),pi8(:,:),vcoord8(:,:) -! real, allocatable :: os(:) -! real, allocatable :: pd(:,:),px(:,:), py(:,:), os(:) - -! real vgradpps - - real*8 ps8(ix),pm8(ix,km),pd8(ix,km),vcoord8(km+1,nvcoord) - real*8 dpmdps(ix,km),dpddps(ix,km),dpidps(ix,km+1),pi8(ix,km+1) - real vgradpps,pd(im,km),os(im) -! real vgradpps,pd(im,km),px(im,km),py(im,km),os(im),tem - integer i,k,iret,logk -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ps8 = ps - vcoord8 = vcoord - call sigio_modprd(im,ix,km,nvcoord,idvc,idsl,vcoord8,iret, & - ps=ps8,pd=pd8,dpddps=dpddps,pm=pm8,dpmdps=dpmdps) - -! -! if (me == 0) then -! write(0,*)' pd8=',pd8(1,60:64) -! write(0,*)' pm8=',pm8(1,60:64) -! endif -!jw: has to be 8 real for wam - -!$omp parallel do private(i) - do i=1,im - pi8(i,1) = ps(i) - dpidps(i,1) = 1. - os(i) = 0 - pi(i,1) = pi8(i,1) - enddo - do k=1,km -!$omp parallel do private(i) - do i=1,im - pi8(i,k+1) = pi8(i,k) - pd8(i,k) - dpidps(i,k+1) = dpidps(i,k) - dpddps(i,k) -! if(pi(i,8)<0.) then -! print *,'in modstuff,pi8=',pi8(i,k),' i=',i,' k=',k,' me=',me -! endif - pi(i,k+1) = pi8(i,k+1) - pm(i,k) = pm8(i,k) - enddo - enddo -! - do k=km,1,-1 -!$omp parallel do private(i,vgradpps) - do i=1,im - vgradpps = (u(i,k)*psx(i) + v(i,k)*psy(i)) * ps(i) - - os(i) = os(i) - vgradpps*(dpmdps(i,k)-dpidps(i,k+1)) & - - d(i,k)*(pm(i,k)-pi(i,k+1)) - - om(i,k) = os(i) + vgradpps*dpmdps(i,k) - - os(i) = os(i) - vgradpps*(dpidps(i,k)-dpmdps(i,k)) & - - d(i,k)*(pi(i,k)-pm(i,k)) - enddo - enddo - end subroutine -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine mptgen(mpirank,mpisize,nd,jt1,jt2,j1,j2,jx,jm,jn) !$$$ Subprogram documentation block ! @@ -1217,296 +773,3 @@ subroutine mptranr4(mpicomm,mpisize,im,ida,idb,& ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end subroutine !----------------------------------------------------------------------- - subroutine trssc(jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,vcoord, & - cpi,idrt,lonb,latb,ijl,ijn,j1,j2,jc,chgq0, & - szs,sps,st,sd,sz,sq,gfszs,gfsps,gfsp,gfsdp, & - gfst,gfsu,gfsv,gfsq,gfsw) -!$$$ subprogram documentation block -! -! subprogram: trssc transform sigma spectral fields to grid -! prgmmr: iredell org: w/nmc23 date: 92-10-31 -! -! abstract: transforms sigma spectral fields to grid and converts -! log surface pressure to surface pressure and virtual temperature -! to temperature. -! -! program history log: -! 91-10-31 mark iredell -! -! usage: call trssc(jcap,nc,km,ntrac,idvm, -! & idrt,lonb,latb,ijl,j1,j2,jc, -! & szs,sps,st,sd,sz,sq,zs,ps,t,u,v,q) -! input argument list: -! jcap integer spectral truncation -! nc integer first dimension (nc>=(jcap+1)*(jcap+2)) -! km integer number of levels -! ntrac integer number of tracers -! idvm integer mass variable id -! idrt integer data representation type -! lonb integer number of longitudes -! latb integer number of latitudes -! ijl integer horizontal dimension -! j1 integer first latitude -! j2 integer last latitude -! jc integer number of cpus -! szs real (nc) orography -! sps real (nc) log surface pressure -! st real (nc,levs) virtual temperature -! sd real (nc,levs) divergence -! sz real (nc,levs) vorticity -! sq real (nc,levs*ntrac) tracers -! output argument list: -! zs real (ijl) orography -! ps real (ijl) surface pressure -! t real (ijl,km) temperature -! u real (ijl,km) zonal wind -! v real (ijl,km) meridional wind -! q real (ijl,km*ntrac) tracers -! -! subprograms called: -! sptran perform a scalar spherical transform -! -! attributes: -! language: fortran -! -!c$$$ - use gfsio_module -! use gfsio_rst - implicit none - integer,intent(in)::jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,idrt,lonb,latb - integer,intent(in)::ijl,ijn,j1,j2,jc,chgq0 - real,intent(in):: szs(nc),sps(nc),st(nc,km),sd(nc,km),sz(nc,km),sq(nc,km*ntrac) - real,intent(in):: cpi(0:ntrac) - real*8,intent(in):: vcoord(km+1,nvcoord) - real,dimension(ijn),intent(inout):: gfszs,gfsps - real,dimension(ijn,km),intent(inout):: gfsp,gfsdp,gfst,gfsu,gfsv,gfsw - real,dimension(ijn,km*ntrac),intent(inout):: gfsq - real zs(ijl),ps(ijl),t(ijl,km),u(ijl,km),v(ijl,km),q(ijl,km*ntrac) - real wi(ijl,km),pi(ijl,km),dpo(ijl,km) - real tvcon,xcp,sumq - integer thermodyn_id,jn,js,is,in - integer jj,jjm,k,n,j,i,ij,lonb2 -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! spectral transforms - if(j1==732)print*,'sample input to trssc= ',jcap,nc,km,ntrac, & - idvc,idvm,idsl,nvcoord, & - idrt,lonb,latb,ijl,ijn,j1,j2,jc,chgq0 - lonb2=lonb*2 - ij=lonb2*(j2-j1+1) - in=1 - is=1+lonb - call sptran(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijl, & - j1,j2,jc,szs,zs(in),zs(is),1) - call sptran(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijl, & - j1,j2,jc,sps,ps(in),ps(is),1) - call sptran(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijl, & - j1,j2,jc,st,t(in,1),t(is,1),1) - call sptranv(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijl, & - j1,j2,jc,sd,sz,u(in,1),u(is,1),v(in,1),v(is,1),1) - call sptran(0,jcap,idrt,lonb,latb,km*ntrac,1,1,lonb2,lonb2,nc,ijl, & - j1,j2,jc,sq,q(in,1),q(is,1),1) - if(j1==732)then - do k=1,km - do i=1,ijl - if(t(i,k)>400. .or. t(i,k)<100.)print*,'bad T from sptran',i,k,t(i,k) - if(q(i,k)>1.)print*,'bad Q from sptran',i,k,q(i,k) - if(q(i,2*k)>1.)print*,'bad Q from sptran',i,k,q(i,2*k) - if(q(i,3*k)>1.)print*,'bad Q from sptran',i,k,q(i,3*k) - end do - end do - end if - select case(mod(idvm,10)) - case(0,1) - do i=1,ij - ps(i)=1.e3*exp(ps(i)) - enddo - case(2) - do i=1,ij - ps(i)=1.e3*ps(i) - enddo - case default - do i=1,ij - ps(i)=1.e3*exp(ps(i)) - enddo - end select -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - thermodyn_id=mod(idvm/10,10) - if (thermodyn_id == 3) then - do k=1,km - do i=1,ij - t(i,k) = t(i,k)/cpi(0) ! enthalpy (cpt/cpd) - end do - end do -! - endif - - call getomega(jcap,nc,km,idvc,idvm,idrt,idsl, & - nvcoord,vcoord,lonb,latb,ijl,j1,j2,1,sd,sps, & - ps,t,u,v,wi,pi,dpo) - if(j1==732)then - do k=1,km - do i=1,ijl - if(t(i,k)>400. .or. t(i,k)<100.)print*,'bad T after getomega',i,k,t(i,k) - if(q(i,k)>1. )print*,'bad Q after getomega',i,k,q(i,k) - if(q(i,2*k)>1. )print*,'bad Q after getomega',i,2*k,q(i,2*k) - end do - end do - end if - if(thermodyn_id /= 2)then -! convert to surface pressure and temperature - if (thermodyn_id == 3) then - do k=1,km - do i=1,ij - xcp = 0.0 - sumq = 0.0 - do n=1,ntrac - if( cpi(n) .ne. 0.0 ) then - xcp = xcp + cpi(n)*q(i,k+(n-1)*km) - sumq = sumq + q(i,k+(n-1)*km) - endif - enddo - t(i,k) = t(i,k)/((1.-sumq)*cpi(0)+xcp) - end do - end do - - else - tvcon=(461.50/287.05-1.) - t(:,:) = t(:,:)/(1.+tvcon*q(:,1:km)) - endif - end if - if(j1==732)then - do k=1,km - do i=1,ijl - if(t(i,k)>400. .or. t(i,k)<100.)print*,'bad T after Tv to T',i,k,t(i,k) - if(q(i,k)>1.)print*,'bad Q after Tv to T',i,k,q(i,k) - if(q(i,2*k)>1. )print*,'bad Q after Tv to T',i,k,q(i,2*k) - end do - end do - end if -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -!----force tracers to be positive - if (chgq0 == 1) q = max(q, 0.0) -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! pass data to gfsdatao - do j=1,j2-j1+1 - jn=j+j1-1 - js=latb+1-jn - jn=(jn-1)*lonb - js=(js-1)*lonb - jj=j*lonb - jjm=(j-1)*lonb - do i=1,lonb - gfszs(i+jn) = zs(i+jjm) - gfsps(i+jn) = ps(i+jjm) - enddo - do i=1,lonb - gfszs(i+js) = zs(i+jj) - gfsps(i+js) = ps(i+jj) - enddo - do k=1,km - do i=1,lonb - gfsdp(i+jn,k) = dpo(i+jjm,k) - gfsp(i+jn,k) = pi(i+jjm,k) - gfst(i+jn,k) = t(i+jjm,k) - gfsu(i+jn,k) = u(i+jjm,k) - gfsv(i+jn,k) = v(i+jjm,k) - gfsw(i+jn,k) = wi(i+jjm,k) - enddo - do i=1,lonb - gfsdp(i+js,k) = dpo(i+jj,k) - gfsp(i+js,k) = pi(i+jj,k) - gfst(i+js,k) = t(i+jj,k) - gfsu(i+js,k) = u(i+jj,k) - gfsv(i+js,k) = v(i+jj,k) - gfsw(i+js,k) = wi(i+jj,k) - enddo - enddo - do k=1,km*ntrac - do i=1,lonb - gfsq(i+jn,k) = q(i+jjm,k) - enddo - do i=1,lonb - gfsq(i+js,k) = q(i+jj,k) - enddo - enddo - enddo - return - end -!----------------------------------------------------------------------- - subroutine getomega(jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord,vcoord, & - lonb,latb,ijn,j1,j2,jc,sd,sps,psi,ti,ui,vi,wi,pm,pd) -!!!!! - use sigio_module, only : sigio_modprd - implicit none - - integer,intent(in):: jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord - integer,intent(in):: lonb,latb,j1,j2,jc,ijn - real*8,intent(in):: vcoord(km+1,nvcoord) - real,intent(in):: sd(nc,km),sps(nc) - real,intent(in):: psi(ijn),ti(ijn,km),ui(ijn,km),vi(ijn,km) - real,intent(out):: wi(ijn,km),pm(ijn,km),pd(ijn,km) - real :: pi(ijn,km+1) - real :: os - real*8 psi8(ijn),ti8(ijn,km),pm8(ijn,km),pd8(ijn,km) - real*8 dpmdps(ijn,km),dpddps(ijn,km),dpidps(ijn,km+1),vgradp,psmean - real di(ijn,km),psx(ijn),psy(ijn) - integer k,i,ij,lonb2,iret,is,in -!----1. spectral transform - lonb2=lonb*2 - ij=lonb2*(j2-j1+1) - in=1 - is=1+lonb - call sptrand(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijn, & - j1,j2,jc,sps,psmean,psx(in),psx(is),psy(in),psy(is),1) - - call sptran(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijn, & - j1,j2,jc,sd,di(in,1),di(is,1),1) - psi8=psi - ti8=ti - - call sigio_modprd(ijn,ijn,km,nvcoord,idvc,idsl,vcoord,iret, & - ps=psi8,t=ti8,pm=pm8,pd=pd8,dpmdps=dpmdps,dpddps=dpddps) - pm=pm8 - pd=pd8 - - select case(mod(idvm,10)) - case(0,1) - continue - case(2) - do i=1,ijn - psx(i)=psx(i)/(psi(i)*1.0e-3) - psy(i)=psy(i)/(psi(i)*1.0e-3) - enddo - case default - do i=1,ijn - psx(i)=psx(i)/psi(i) - psy(i)=psy(i)/psi(i) - enddo - end select - -!----3.omeda from modstuff - do i=1,ijn - pi(i,1)=psi(i) - dpidps(i,1)=1. - enddo - do k=1,km - do i=1,ijn - pi(i,k+1)=pi(i,k)-pd(i,k) - dpidps(i,k+1)=dpidps(i,k)-dpddps(i,k) - enddo - enddo - do i=1,ijn - os=0. - do k=km,1,-1 - vgradp=ui(i,k)*psx(i)+vi(i,k)*psy(i) - os=os-vgradp*psi(i)*(dpmdps(i,k)-dpidps(i,k+1))- & - di(i,k)*(pm(i,k)-pi(i,k+1)) - wi(i,k)=vgradp*psi(i)*dpmdps(i,k)+os - os=os-vgradp*psi(i)*(dpidps(i,k)-dpmdps(i,k))- & - di(i,k)*(pi(i,k)-pm(i,k)) - enddo -! - enddo -!--- - return - end subroutine diff --git a/sorc/ncep_post.fd/GFSPOSTSIG.F b/sorc/ncep_post.fd/GFSPOSTSIG.F new file mode 100644 index 000000000..97f111c8b --- /dev/null +++ b/sorc/ncep_post.fd/GFSPOSTSIG.F @@ -0,0 +1,737 @@ +! Add Iredells subroutine to read sigma files +!------------------------------------------------------------------------------- +subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & + h,p,px,py,t,u,v,d,trc,iret) +!$$$ Subprogram documentation block +! +! Subprogram: rtsig Read and transform sigma file +! Prgmmr: Iredell Org: np23 Date: 1999-10-18 +! +! Abstract: This subprogram reads a sigma file and transforms +! the fields to a designated global grid. +! +! Program history log: +! 1999-10-18 Mark Iredell +! 2013-04-19 Jun Wang: add option to get tmp and ps(in pascal) +! from enthalpy and ps(cb) option +! 2013-05-06 Shrinivas Moorthi: Initialize midea to 0 +! 2013-05-07 Shrinivas Moorthi: Remove mo3, mct, midea and define io3, ict etc +! correctly and get correct cloud condensate. +! 2013-08-02 Shrinivas Moorthi: Rewrote the whole routine to read the sigma +! file differently and to read all tracers +! Addedd sptezj for two 2d fields +! 2014-02-20 Shrinivas Moorthi: Modified conversion from spectral to grid +! taking advantage of threding in SP library. +! This really speeds up the code +! Also threaded loop for Temperature from Tv + +! +! Usage: call rtsig(lusig,head,k1,k2,kgds,ijo,nct, & +! h,p,px,py,t,tx,ty,u,v,d,z,sh,o3,ct,iret,o,o2) +! Input argument list: +! lusig integer(sigio_intkind) sigma file unit number +! head type(sigio_head) sigma file header +! k1 integer first model level to return +! k2 integer last model level to return +! kgds integer (200) GDS to which to transform +! ijo integer dimension of output fields +! levs integer number of total vertical levels +! ntrac integer number of output tracers +! jcap integer number of waves +! lnt2 integer (jcap+1)*(jcap+2) +! Output argument list: +! h real (ijo) surface orography (m) +! p real (ijo) surface pressure (Pa) +! px real (ijo) log surface pressure x-gradient (1/m) +! py real (ijo) log surface pressure y-gradient (1/m) +! t real (ijo,k1:k2) temperature (K) +! tx real (ijo,k1:k2) virtual temperature x-gradient (K/m) +! ty real (ijo,k1:k2) virtual temperature y-gradient (K/m) +! u real (ijo,k1:k2) x-component wind (m/s) +! v real (ijo,k1:k2) y-component wind (m/s) +! d real (ijo,k1:k2) wind divergence (1/s) +! trc real (ijo,k1:k2,ntrac) tracers +! 1 = specific humidity (kg/kg) +! 2 = Ozone mixing ratio (kg/kg) +! 3 = cloud condensate mixing ratio (kg/kg) +! . +! . +! atomic oxyge, oxygen etc +! +! iret integer return code +! +! Modules used: +! sigio_r_module sigma file I/O +! +! Subprograms called: +! sigio_rrdati read sigma single data field +! sptez scalar spectral transform +! sptezd gradient spectral transform +! sptezm multiple scalar spectral transform +! sptezmv multiple vector spectral transform +! +! Attributes: +! Language: Fortran 90 +! +!$$$ + use sigio_module, only : sigio_intkind, sigio_head + use sigio_r_module, only : sigio_dati, sigio_rrdati + use physcons, only : con_omega, con_fvirt + use omp_lib + implicit none + integer(sigio_intkind),intent(in) :: lusig + type(sigio_head), intent(in) :: head + integer,intent(in) :: k1,k2,kgds(200),ijo,levs,ntrac,jcap,lnt2,me + real,dimension(ijo), intent(out) :: h,p,px,py + real,dimension(ijo,k1:k2),intent(out):: t,u,v,d + real,dimension(ijo,k1:k2,ntrac),intent(out),target :: trc + integer,intent(out) :: iret +! + integer idrt,io,jo,iidea +! integer idrt,io,jo,mo3,mct,iidea,midea + integer(sigio_intkind):: irets +! type(sigio_datm):: datm + type(sigio_dati) dati +! type griddata +! real,dimension(:,:),pointer :: datm +! endtype griddata +! type(griddata),dimension(:),pointer :: datatrc + real, target :: trisca(lnt2,k1:k2+1), triscb(lnt2,k1:k2) + real,dimension(:), allocatable :: cpi + real,dimension(:,:),allocatable :: wrk + integer io3,ict,jct,n,i,k,jc,nt + integer idvm, klen + real pmean,sumq,xcp +! integer, parameter :: latch=20 +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +! Determine output grid + idrt = kgds(1) + if(kgds(1) == 0 .and. kgds(4) < 90000) idrt = 256 + io = kgds(2) + jo = kgds(3) +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +! Read and transform surface fields + iret = 1 + if (me == 0) then + print*,'Debug rtsig= ',lusig,k1,k2,ijo,kgds(1:20) + endif + + idvm = head%idvm +! jc = omp_get_num_threads() +! write(0,*)' in RTSIG lnt2=',lnt2,' threads=',jc,' latch=',latch, & +! ' jcap=',jcap,' io=',io,' jo=',jo,' ijo=',ijo +! + if (k2 < k1) return + + dati%i = 1 ! hs + dati%f => trisca(:,k1) + call sigio_rrdati(lusig,head,dati,irets) + if(irets /= 0) return + +! call sptez(0,jcap,idrt,io,jo,trisca(1,k1),h,1) +! call sptez(0,jcap,idrt,io,jo,dats%hs,h,1) +! call sptez(0,jcap,idrt,io,jo,dats%ps,p,1) +! call sptezj(jcap,lnt2,1,idrt,io,jo,jc,trisca,h,latch,1) +! + dati%i = 2 ! Surface pressure + dati%f => trisca(:,k1+1) + call sigio_rrdati(lusig,head,dati,irets) + if(irets /= 0) return +! +! call sptez(0,jcap,idrt,io,jo,trisca(1,k1),p,1) +! call sptezj(jcap,lnt2,1,idrt,io,jo,jc,trisca,p,latch,1) +!-- + allocate(wrk(ijo,2)) + call sptezm(0,jcap,idrt,io,jo,2,trisca(1,k1),wrk,1) + if( mod(idvm,10) < 2) then +!$omp parallel do private(i) + do i=1,ijo + h(i) = wrk(i,1) + p(i) = 1.e3*exp(wrk(i,2)) +! p(i) = 1.e3*exp(p(i)) + enddo + elseif(mod(idvm,10) == 2) then +!$omp parallel do private(i) + do i=1,ijo + h(i) = wrk(i,1) + p(i) = 1000.*wrk(i,2) +! p(i) = 1000.*p(i) + enddo + endif + if (allocated(wrk)) deallocate(wrk) + + call sptezd(0,jcap,idrt,io,jo,trisca(1,k1+1),pmean,px,py,1) + iret = 0 + +! if (k2 < k1) return + +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +! Read and transform fields on levels k1 through k2 + iret = 2 + if (k2 >= k1) then + klen = k2-k1+1 + do k=k1,k2 + write(0,*)' retriving T for k=',k,' k1=',k1,' k2=',k2 + dati%i = k + 2 ! Virtual Temperature or CpT + dati%f => trisca(:,k) + + call sigio_rrdati(lusig,head,dati,iret) + enddo + call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),t(1,k1),1) +! call sptezm(0,jcap,idrt,io,jo,klen,trisca,t,1) + do k=k1,k2 + dati%i = levs + 2 + (k-1) * 2 + 1 ! Divergence + dati%f => trisca(:,k) + call sigio_rrdati(lusig,head,dati,irets) + if(irets /= 0) return + dati%i = levs + 2 + (k-1) * 2 + 2 ! Vorticity + dati%f => triscb(:,k) + call sigio_rrdati(lusig,head,dati,irets) + if(irets /= 0) return + enddo + call sptezmv(0,jcap,idrt,io,jo,klen,trisca(1,k1),triscb(1,k1), & + u(1,k1),v(1,k1),1) + call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),d(1,k1),1) + +! call sptezm(0,jcap,idrt,io,jo,1,triscb,z(1,k),1) + write(0,*)' retriving d/z for k=',k,' k1=',k1,' k2=',k2 +! datm%z(3,:) = datm%z(3,:)+2*con_omega/sqrt(1.5) +! call sptezm(0,jcap,idrt,io,jo,klen,datm%z,z,1) + write(0,*)' start get tracer' + do nt=1,ntrac + do k=k1,k2 + dati%i = levs * (2+nt) + 2 + k ! Tracers starting with q + dati%f => trisca(:,k) + call sigio_rrdati(lusig,head,dati,irets) + enddo + call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),trc(1,k1,nt),1) + write(0,*)' retriving d/z for nt=',nt,'ntrac=',ntrac,'k=',k,' k1=',k1,' k2=',k2 + enddo + !t=t/(1+con_fvirt*sh) + write(0,*)' end get tracer,idvm=',idvm,'ijo=',ijo,'ntrac=',ntrac +! +!-- get temp + if (mod(idvm/10,10) == 3) then ! Enthalpy case + allocate(cpi(0:ntrac)) +! write(0,*)'aft read sig, cpi=',head%cpi + cpi(0:ntrac) = head%cpi(1:ntrac+1) +! write(0,*)'cpi=',cpi(0:ntrac) +!$omp parallel do private(k,i,xcp,sumq,n) + do k=k1,k2 + do i=1,ijo + xcp = 0.0 + sumq = 0.0 + do n=1,ntrac + if( cpi(n) /= 0.0 ) then + xcp = xcp + cpi(n)*trc(i,k,n) + sumq = sumq + trc(i,k,n) + endif + enddo + xcp = (1.-sumq)*cpi(0) + xcp + t(i,k) = t(i,k) / xcp ! Now g1 contains T + enddo + enddo + if (allocated(cpi)) deallocate(cpi) + else +!$omp parallel do private(i,k) + do k=k1,k2 + do i=1,ijo + t(i,k) = t(i,k) / (1+con_fvirt*trc(i,k,1)) !get temp from virtual temp + enddo + enddo + endif + endif +! write(0,*)'end comput t' + iret=0 +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +end subroutine + +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + subroutine modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& + pi,pm,om) +!$$$ Subprogram documentation block +! +! Subprogram: modstuff Compute model coordinate dependent functions +! Prgmmr: Iredell Org: np23 Date: 1999-10-18 +! +! Abstract: This subprogram computes fields which depend on the model coordinate +! such as pressure thickness and vertical velocity. +! +! Program history log: +! 1999-10-18 Mark Iredell +! 2013-04-19 Jun Wang: add option to get pi by using 8byte real computation +! +! Usage: call modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& +! pd,pi,pm,os,om,px,py) +! Input argument list: +! km integer number of levels +! idvc integer vertical coordinate id (1 for sigma and 2 for hybrid) +! idsl integer type of sigma structure (1 for phillips or 2 for mean) +! nvcoord integer number of vertical coordinates +! vcoord real (km+1,nvcoord) vertical coordinates +! ps real surface pressure (Pa) +! psx real log surface pressure x-gradient (1/m) +! psy real log surface pressure y-gradient (1/m) +! d real (km) wind divergence (1/s) +! u real (km) x-component wind (m/s) +! v real (km) y-component wind (m/s) +! Output argument list: +! pi real (km+1) interface pressure (Pa) +! pm real (km) mid-layer pressure (Pa) +! om real (km) vertical velocity (Pa/s) +! +! Attributes: +! Language: Fortran 90 +! +!$$$ + use sigio_module, only: sigio_modprd + implicit none + integer,intent(in):: km,idvc,idsl,nvcoord + real,intent(in):: vcoord(km+1,nvcoord) + real,intent(in):: ps,psx,psy + real,intent(in):: u(km),v(km),d(km) +! real,intent(out):: pi(km+1),pm(km) + real*8, intent(out):: pi(km+1),pm(km) + real,intent(out):: om(km) + real*8 ps8,pm8(km),pd8(km),vcoord8(km+1,nvcoord) + real*8 dpmdps(km),dpddps(km),dpidps(km+1),pi8(km+1) + real vgradp,pd(km),px(km),py(km),os + integer k,iret,logk +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ps8=ps + vcoord8=vcoord + call sigio_modprd(1,1,km,nvcoord,idvc,idsl,vcoord8,iret,& + ps=(/ps8/),& + pm=pm8,pd=pd8,dpmdps=dpmdps,dpddps=dpddps) +! +!jw: has to be 8 real for wam + pi8(1)=ps + pm=pm8 +! pd=pd8 + dpidps(1)=1. + do k=1,km + pi8(k+1)=pi8(k)-pd8(k) + dpidps(k+1)=dpidps(k)-dpddps(k) +! if(pi(8)<0.) then +! print *,'in modstuff,pi8=',pi8(k) +! endif + enddo + pi=pi8 +! + os=0 + do k=km,1,-1 + vgradp=u(k)*psx+v(k)*psy + os=os-vgradp*ps*(dpmdps(k)-dpidps(k+1))-d(k)*(pm(k)-pi(k+1)) + om(k)=vgradp*ps*dpmdps(k)+os + os=os-vgradp*ps*(dpidps(k)-dpmdps(k))-d(k)*(pi(k)-pm(k)) + enddo + px=ps*dpmdps*psx + py=ps*dpmdps*psy + end subroutine + +!------------------------------------------------------------------------------- + subroutine modstuff2(im,ix,km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& + pi,pm,om,me) +!$$$ Subprogram documentation block +! +! Subprogram: modstuff Compute model coordinate dependent functions +! Prgmmr: Iredell Org: np23 Date: 1999-10-18 +! +! Abstract: This subprogram computes fields which depend on the model coordinate +! such as pressure thickness and vertical velocity. +! +! Program history log: +! 1999-10-18 Mark Iredell +! 2013-04-19 Jun Wang: add option to get pi by using 8byte real computation +! 2013-08-13 Shrinivas Moorthi - Modified to include im points and thread +! +! Usage: call modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& +! pd,pi,pm,os,om,px,py) +! Input argument list: +! im integer - inner computational domain +! ix integer - maximum inner dimension +! km integer number of levels +! idvc integer vertical coordinate id (1 for sigma and 2 for hybrid) +! idsl integer type of sigma structure (1 for phillips or 2 for mean) +! nvcoord integer number of vertical coordinates +! vcoord real (km+1,nvcoord) vertical coordinates +! ps real surface pressure (Pa) +! psx real log surface pressure x-gradient (1/m) +! psy real log surface pressure y-gradient (1/m) +! d real (km) wind divergence (1/s) +! u real (km) x-component wind (m/s) +! v real (km) y-component wind (m/s) +! Output argument list: +! pi real (km+1) interface pressure (Pa) +! pm real (km) mid-layer pressure (Pa) +! om real (km) vertical velocity (Pa/s) +! +! Attributes: +! Language: Fortran 90 +! +!$$$ + use sigio_module, only : sigio_modprd + implicit none + integer, intent(in) :: im,ix,km,idvc,idsl,nvcoord,me + real, intent(in) :: vcoord(km+1,nvcoord) + real, dimension(ix), intent(in) :: ps,psx,psy + real, dimension(ix,km), intent(in) :: u,v,d + real*8, dimension(ix,km+1), intent(out) :: pi + real*8, dimension(ix,km), intent(out) :: pm + real, dimension(ix,km), intent(out) :: om +! real*8, allocatable :: ps8(:), pm8(:,:), pd8(:,:),dpmdps(:,:),dpddps(:,:), & +! dpidps(:,:),pi8(:,:),vcoord8(:,:) +! real, allocatable :: os(:) +! real, allocatable :: pd(:,:),px(:,:), py(:,:), os(:) + +! real vgradpps + + real*8 ps8(ix),pm8(ix,km),pd8(ix,km),vcoord8(km+1,nvcoord) + real*8 dpmdps(ix,km),dpddps(ix,km),dpidps(ix,km+1),pi8(ix,km+1) + real vgradpps,pd(im,km),os(im) +! real vgradpps,pd(im,km),px(im,km),py(im,km),os(im),tem + integer i,k,iret,logk +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + ps8 = ps + vcoord8 = vcoord + call sigio_modprd(im,ix,km,nvcoord,idvc,idsl,vcoord8,iret, & + ps=ps8,pd=pd8,dpddps=dpddps,pm=pm8,dpmdps=dpmdps) + +! +! if (me == 0) then +! write(0,*)' pd8=',pd8(1,60:64) +! write(0,*)' pm8=',pm8(1,60:64) +! endif +!jw: has to be 8 real for wam + +!$omp parallel do private(i) + do i=1,im + pi8(i,1) = ps(i) + dpidps(i,1) = 1. + os(i) = 0 + pi(i,1) = pi8(i,1) + enddo + do k=1,km +!$omp parallel do private(i) + do i=1,im + pi8(i,k+1) = pi8(i,k) - pd8(i,k) + dpidps(i,k+1) = dpidps(i,k) - dpddps(i,k) +! if(pi(i,8)<0.) then +! print *,'in modstuff,pi8=',pi8(i,k),' i=',i,' k=',k,' me=',me +! endif + pi(i,k+1) = pi8(i,k+1) + pm(i,k) = pm8(i,k) + enddo + enddo +! + do k=km,1,-1 +!$omp parallel do private(i,vgradpps) + do i=1,im + vgradpps = (u(i,k)*psx(i) + v(i,k)*psy(i)) * ps(i) + + os(i) = os(i) - vgradpps*(dpmdps(i,k)-dpidps(i,k+1)) & + - d(i,k)*(pm(i,k)-pi(i,k+1)) + + om(i,k) = os(i) + vgradpps*dpmdps(i,k) + + os(i) = os(i) - vgradpps*(dpidps(i,k)-dpmdps(i,k)) & + - d(i,k)*(pi(i,k)-pm(i,k)) + enddo + enddo + end subroutine + +!----------------------------------------------------------------------- + subroutine trssc(jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,vcoord, & + cpi,idrt,lonb,latb,ijl,ijn,j1,j2,jc,chgq0, & + szs,sps,st,sd,sz,sq,gfszs,gfsps,gfsp,gfsdp, & + gfst,gfsu,gfsv,gfsq,gfsw) +!$$$ subprogram documentation block +! +! subprogram: trssc transform sigma spectral fields to grid +! prgmmr: iredell org: w/nmc23 date: 92-10-31 +! +! abstract: transforms sigma spectral fields to grid and converts +! log surface pressure to surface pressure and virtual temperature +! to temperature. +! +! program history log: +! 91-10-31 mark iredell +! +! usage: call trssc(jcap,nc,km,ntrac,idvm, +! & idrt,lonb,latb,ijl,j1,j2,jc, +! & szs,sps,st,sd,sz,sq,zs,ps,t,u,v,q) +! input argument list: +! jcap integer spectral truncation +! nc integer first dimension (nc>=(jcap+1)*(jcap+2)) +! km integer number of levels +! ntrac integer number of tracers +! idvm integer mass variable id +! idrt integer data representation type +! lonb integer number of longitudes +! latb integer number of latitudes +! ijl integer horizontal dimension +! j1 integer first latitude +! j2 integer last latitude +! jc integer number of cpus +! szs real (nc) orography +! sps real (nc) log surface pressure +! st real (nc,levs) virtual temperature +! sd real (nc,levs) divergence +! sz real (nc,levs) vorticity +! sq real (nc,levs*ntrac) tracers +! output argument list: +! zs real (ijl) orography +! ps real (ijl) surface pressure +! t real (ijl,km) temperature +! u real (ijl,km) zonal wind +! v real (ijl,km) meridional wind +! q real (ijl,km*ntrac) tracers +! +! subprograms called: +! sptran perform a scalar spherical transform +! +! attributes: +! language: fortran +! +!c$$$ + use gfsio_module +! use gfsio_rst + implicit none + integer,intent(in)::jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,idrt,lonb,latb + integer,intent(in)::ijl,ijn,j1,j2,jc,chgq0 + real,intent(in):: szs(nc),sps(nc),st(nc,km),sd(nc,km),sz(nc,km),sq(nc,km*ntrac) + real,intent(in):: cpi(0:ntrac) + real*8,intent(in):: vcoord(km+1,nvcoord) + real,dimension(ijn),intent(inout):: gfszs,gfsps + real,dimension(ijn,km),intent(inout):: gfsp,gfsdp,gfst,gfsu,gfsv,gfsw + real,dimension(ijn,km*ntrac),intent(inout):: gfsq + real zs(ijl),ps(ijl),t(ijl,km),u(ijl,km),v(ijl,km),q(ijl,km*ntrac) + real wi(ijl,km),pi(ijl,km),dpo(ijl,km) + real tvcon,xcp,sumq + integer thermodyn_id,jn,js,is,in + integer jj,jjm,k,n,j,i,ij,lonb2 +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +! spectral transforms + if(j1==732)print*,'sample input to trssc= ',jcap,nc,km,ntrac, & + idvc,idvm,idsl,nvcoord, & + idrt,lonb,latb,ijl,ijn,j1,j2,jc,chgq0 + lonb2=lonb*2 + ij=lonb2*(j2-j1+1) + in=1 + is=1+lonb + call sptran(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijl, & + j1,j2,jc,szs,zs(in),zs(is),1) + call sptran(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijl, & + j1,j2,jc,sps,ps(in),ps(is),1) + call sptran(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijl, & + j1,j2,jc,st,t(in,1),t(is,1),1) + call sptranv(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijl, & + j1,j2,jc,sd,sz,u(in,1),u(is,1),v(in,1),v(is,1),1) + call sptran(0,jcap,idrt,lonb,latb,km*ntrac,1,1,lonb2,lonb2,nc,ijl, & + j1,j2,jc,sq,q(in,1),q(is,1),1) + if(j1==732)then + do k=1,km + do i=1,ijl + if(t(i,k)>400. .or. t(i,k)<100.)print*,'bad T from sptran',i,k,t(i,k) + if(q(i,k)>1.)print*,'bad Q from sptran',i,k,q(i,k) + if(q(i,2*k)>1.)print*,'bad Q from sptran',i,k,q(i,2*k) + if(q(i,3*k)>1.)print*,'bad Q from sptran',i,k,q(i,3*k) + end do + end do + end if + select case(mod(idvm,10)) + case(0,1) + do i=1,ij + ps(i)=1.e3*exp(ps(i)) + enddo + case(2) + do i=1,ij + ps(i)=1.e3*ps(i) + enddo + case default + do i=1,ij + ps(i)=1.e3*exp(ps(i)) + enddo + end select +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + thermodyn_id=mod(idvm/10,10) + if (thermodyn_id == 3) then + do k=1,km + do i=1,ij + t(i,k) = t(i,k)/cpi(0) ! enthalpy (cpt/cpd) + end do + end do +! + endif + + call getomega(jcap,nc,km,idvc,idvm,idrt,idsl, & + nvcoord,vcoord,lonb,latb,ijl,j1,j2,1,sd,sps, & + ps,t,u,v,wi,pi,dpo) + if(j1==732)then + do k=1,km + do i=1,ijl + if(t(i,k)>400. .or. t(i,k)<100.)print*,'bad T after getomega',i,k,t(i,k) + if(q(i,k)>1. )print*,'bad Q after getomega',i,k,q(i,k) + if(q(i,2*k)>1. )print*,'bad Q after getomega',i,2*k,q(i,2*k) + end do + end do + end if + if(thermodyn_id /= 2)then +! convert to surface pressure and temperature + if (thermodyn_id == 3) then + do k=1,km + do i=1,ij + xcp = 0.0 + sumq = 0.0 + do n=1,ntrac + if( cpi(n) .ne. 0.0 ) then + xcp = xcp + cpi(n)*q(i,k+(n-1)*km) + sumq = sumq + q(i,k+(n-1)*km) + endif + enddo + t(i,k) = t(i,k)/((1.-sumq)*cpi(0)+xcp) + end do + end do + + else + tvcon=(461.50/287.05-1.) + t(:,:) = t(:,:)/(1.+tvcon*q(:,1:km)) + endif + end if + if(j1==732)then + do k=1,km + do i=1,ijl + if(t(i,k)>400. .or. t(i,k)<100.)print*,'bad T after Tv to T',i,k,t(i,k) + if(q(i,k)>1.)print*,'bad Q after Tv to T',i,k,q(i,k) + if(q(i,2*k)>1. )print*,'bad Q after Tv to T',i,k,q(i,2*k) + end do + end do + end if +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!----force tracers to be positive + if (chgq0 == 1) q = max(q, 0.0) +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +! pass data to gfsdatao + do j=1,j2-j1+1 + jn=j+j1-1 + js=latb+1-jn + jn=(jn-1)*lonb + js=(js-1)*lonb + jj=j*lonb + jjm=(j-1)*lonb + do i=1,lonb + gfszs(i+jn) = zs(i+jjm) + gfsps(i+jn) = ps(i+jjm) + enddo + do i=1,lonb + gfszs(i+js) = zs(i+jj) + gfsps(i+js) = ps(i+jj) + enddo + do k=1,km + do i=1,lonb + gfsdp(i+jn,k) = dpo(i+jjm,k) + gfsp(i+jn,k) = pi(i+jjm,k) + gfst(i+jn,k) = t(i+jjm,k) + gfsu(i+jn,k) = u(i+jjm,k) + gfsv(i+jn,k) = v(i+jjm,k) + gfsw(i+jn,k) = wi(i+jjm,k) + enddo + do i=1,lonb + gfsdp(i+js,k) = dpo(i+jj,k) + gfsp(i+js,k) = pi(i+jj,k) + gfst(i+js,k) = t(i+jj,k) + gfsu(i+js,k) = u(i+jj,k) + gfsv(i+js,k) = v(i+jj,k) + gfsw(i+js,k) = wi(i+jj,k) + enddo + enddo + do k=1,km*ntrac + do i=1,lonb + gfsq(i+jn,k) = q(i+jjm,k) + enddo + do i=1,lonb + gfsq(i+js,k) = q(i+jj,k) + enddo + enddo + enddo + return + end +!----------------------------------------------------------------------- + subroutine getomega(jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord,vcoord, & + lonb,latb,ijn,j1,j2,jc,sd,sps,psi,ti,ui,vi,wi,pm,pd) +!!!!! + use sigio_module, only : sigio_modprd + implicit none + + integer,intent(in):: jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord + integer,intent(in):: lonb,latb,j1,j2,jc,ijn + real*8,intent(in):: vcoord(km+1,nvcoord) + real,intent(in):: sd(nc,km),sps(nc) + real,intent(in):: psi(ijn),ti(ijn,km),ui(ijn,km),vi(ijn,km) + real,intent(out):: wi(ijn,km),pm(ijn,km),pd(ijn,km) + real :: pi(ijn,km+1) + real :: os + real*8 psi8(ijn),ti8(ijn,km),pm8(ijn,km),pd8(ijn,km) + real*8 dpmdps(ijn,km),dpddps(ijn,km),dpidps(ijn,km+1),vgradp,psmean + real di(ijn,km),psx(ijn),psy(ijn) + integer k,i,ij,lonb2,iret,is,in +!----1. spectral transform + lonb2=lonb*2 + ij=lonb2*(j2-j1+1) + in=1 + is=1+lonb + call sptrand(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijn, & + j1,j2,jc,sps,psmean,psx(in),psx(is),psy(in),psy(is),1) + + call sptran(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijn, & + j1,j2,jc,sd,di(in,1),di(is,1),1) + psi8=psi + ti8=ti + + call sigio_modprd(ijn,ijn,km,nvcoord,idvc,idsl,vcoord,iret, & + ps=psi8,t=ti8,pm=pm8,pd=pd8,dpmdps=dpmdps,dpddps=dpddps) + pm=pm8 + pd=pd8 + + select case(mod(idvm,10)) + case(0,1) + continue + case(2) + do i=1,ijn + psx(i)=psx(i)/(psi(i)*1.0e-3) + psy(i)=psy(i)/(psi(i)*1.0e-3) + enddo + case default + do i=1,ijn + psx(i)=psx(i)/psi(i) + psy(i)=psy(i)/psi(i) + enddo + end select + +!----3.omeda from modstuff + do i=1,ijn + pi(i,1)=psi(i) + dpidps(i,1)=1. + enddo + do k=1,km + do i=1,ijn + pi(i,k+1)=pi(i,k)-pd(i,k) + dpidps(i,k+1)=dpidps(i,k)-dpddps(i,k) + enddo + enddo + do i=1,ijn + os=0. + do k=km,1,-1 + vgradp=ui(i,k)*psx(i)+vi(i,k)*psy(i) + os=os-vgradp*psi(i)*(dpmdps(i,k)-dpidps(i,k+1))- & + di(i,k)*(pm(i,k)-pi(i,k+1)) + wi(i,k)=vgradp*psi(i)*dpmdps(i,k)+os + os=os-vgradp*psi(i)*(dpidps(i,k)-dpmdps(i,k))- & + di(i,k)*(pi(i,k)-pm(i,k)) + enddo +! + enddo +!--- + return + end subroutine diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 85b433192..1bfc8b7f5 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -2102,8 +2102,11 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) !$omp parallel do private(i,j) do j=jsta,jend do i=1,im - if (cprate(i,j) /= spval) cprate(i,j) = max(0.,cprate(i,j)) * (dtq2*0.001) & - * 1000. / dtp + if (cprate(i,j) /= spval) then + cprate(i,j) = max(0.,cprate(i,j)) * (dtq2*0.001) * 1000. / dtp + else + cprate(i,j) = 0. + endif enddo enddo if(debugprint)print*,'sample ',VarName,' = ',cprate(isa,jsa) diff --git a/sorc/ncep_post.fd/INITPOST_NETCDF.f b/sorc/ncep_post.fd/INITPOST_NETCDF.f index 3134a699a..783a4dd64 100644 --- a/sorc/ncep_post.fd/INITPOST_NETCDF.f +++ b/sorc/ncep_post.fd/INITPOST_NETCDF.f @@ -1327,6 +1327,15 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) enddo enddo +! convective precip rate in m per physics time step +! VarName='cnvprcp' +!set cprate as 0. + do j=jsta,jend + do i=1,im + cprate(i,j) = 0. + enddo + enddo + ! GFS does not have accumulated total, gridscale, and convective precip, will use inst precip to derive in SURFCE.f ! max hourly 1-km agl reflectivity diff --git a/sorc/ncep_post.fd/MDLFLD.f b/sorc/ncep_post.fd/MDLFLD.f index 586989c0f..5ea2dddcb 100644 --- a/sorc/ncep_post.fd/MDLFLD.f +++ b/sorc/ncep_post.fd/MDLFLD.f @@ -172,6 +172,7 @@ SUBROUTINE MDLFLD ! ALLOCATE LOCAL ARRAYS ! ! Set up logical flag to indicate whether model outputs radar directly + Model_Radar = .false. IF (ABS(MAXVAL(REF_10CM)-SPVAL)>SMALL)Model_Radar=.True. if(me==0)print*,'Did post read in model derived radar ref ',Model_Radar ALLOCATE(EL (IM,JSTA_2L:JEND_2U,LM)) @@ -635,12 +636,23 @@ SUBROUTINE MDLFLD ENDIF ELSEIF (IICE == 1) THEN QQG(I,J,L) = max(QQG(I,J,L),0.0) - DBZR(I,J,L) = ((QQR(I,J,L)*DENS)**1.75) * 3.630803E-9 * 1.E18 ! Z FOR RAIN - DBZI(I,J,L) = DBZI(I,J,L) + ((QQS(I,J,L)*DENS)**1.75) * & + if(QQR(I,J,L) < SPVAL .and. QQR(I,J,L)> 0.0) then + DBZR(I,J,L) = ((QQR(I,J,L)*DENS)**1.75) * 3.630803E-9 * 1.E18 ! Z FOR RAIN + else + DBZR(I,J,L) = 0. + endif + if(QQS(I,J,L) < SPVAL .and. QQS(I,J,L) > 0.0) then + DBZI(I,J,L) = DBZI(I,J,L) + ((QQS(I,J,L)*DENS)**1.75) * & & 2.18500E-10 * 1.E18 ! Z FOR SNOW - IF (QQG(I,J,L) < SPVAL) & + else + DBZI(I,J,L) = DBZI(I,J,L) + endif + IF (QQG(I,J,L) < SPVAL .and. QQG(I,J,L)> 0.0) then DBZI(I,J,L) = DBZI(I,J,L) + ((QQG(I,J,L)*DENS)**1.75) * & & 1.033267E-9 * 1.E18 ! Z FOR GRAUP + else + DBZI(I,J,L) = DBZI(I,J,L) + endif IF (Model_Radar) THEN ze_nc=10.**(0.1*REF_10CM(I,J,L)) DBZ(I,J,L) = ze_nc+CUREFL(I,J) diff --git a/sorc/ncep_post.fd/makefile_module b/sorc/ncep_post.fd/makefile_module index b35686b14..5557ee7c0 100755 --- a/sorc/ncep_post.fd/makefile_module +++ b/sorc/ncep_post.fd/makefile_module @@ -66,7 +66,7 @@ OBJS = wrf_io_flags.o getVariable.o getIVariableN.o \ kinds_mod.o machine.o physcons.o \ native_endianness.o blockIO.o \ retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \ - GFSPOST.o GETGBANDSCATTER.o \ + GFSPOST.o GFSPOSTSIG.o GETGBANDSCATTER.o \ VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \ CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \ cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \ From ba7e59b290c8149ff1c2fee98d01e99e4ef92ee6 Mon Sep 17 00:00:00 2001 From: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com> Date: Sat, 5 Oct 2019 23:36:47 -0400 Subject: [PATCH 33/38] 1)Add changes for handling either postive or nagative delz from FV3 output; 2)Use bilinear interpolation for land-sea mask(LAND) in pgrb2 files. (#7) --- sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f | 7 ++++--- sorc/ncep_post.fd/INITPOST_NETCDF.f | 8 +++++--- ush/fv3gfs_downstream_nems.sh | 4 +++- ush/fv3gfs_dwn_nems.sh | 3 ++- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 1bfc8b7f5..29ab5f09b 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -929,13 +929,14 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) call getrecn(recname,reclevtyp,reclev,nrec,varname,VcoordName,l,recn) if(recn /= 0) then fldst = (recn-1)*fldsize +! make sure delz is positive. !$omp parallel do private(i,j,js) do j=jsta,jend js = fldst + (j-jsta)*im do i=1,im - zint(i,j,ll)=zint(i,j,ll+1)+tmp(i+js) + zint(i,j,ll)=zint(i,j,ll+1)+abs(tmp(i+js)) if(recn_dpres /= -9999)pmid(i,j,ll)=rgas*dpres(i,j,ll)* & - t(i,j,ll)*(q(i,j,ll)*fv+1.0)/grav/tmp(i+js) + t(i,j,ll)*(q(i,j,ll)*fv+1.0)/grav/abs(tmp(i+js)) enddo enddo if(debugprint)print*,'sample l ',VarName,' = ',ll, & @@ -945,7 +946,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do j=jsta,jend js = fldst + (j-jsta)*im do i=1,im - omga(i,j,ll)=(-1.)*wh(i,j,ll)*dpres(i,j,ll)/tmp(i+js) + omga(i,j,ll)=(-1.)*wh(i,j,ll)*dpres(i,j,ll)/abs(tmp(i+js)) end do end do if(debugprint)print*,'sample l omga for FV3',ll, & diff --git a/sorc/ncep_post.fd/INITPOST_NETCDF.f b/sorc/ncep_post.fd/INITPOST_NETCDF.f index 783a4dd64..28595d7f4 100644 --- a/sorc/ncep_post.fd/INITPOST_NETCDF.f +++ b/sorc/ncep_post.fd/INITPOST_NETCDF.f @@ -702,16 +702,17 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) cwm(i,j,l)=spval ! zint(i,j,l)=zint(i,j,l+1)+buf(i,j) ! if(abs(dpres(i,j,l))>1.0e5)print*,'bad dpres ',i,j,dpres(i,j,l) +!make sure delz is positive if(dpres(i,j,l)/=spval .and. t(i,j,l)/=spval .and. & q(i,j,l)/=spval .and. buf3d(i,j,l)/=spval)then pmid(i,j,l)=rgas*dpres(i,j,l)* & - t(i,j,l)*(q(i,j,l)*fv+1.0)/grav/buf3d(i,j,l) + t(i,j,l)*(q(i,j,l)*fv+1.0)/grav/abs(buf3d(i,j,l)) else pmid(i,j,l)=spval end if ! dong add missing value if (wh(i,j,l) < spval) then - omga(i,j,l)=(-1.)*wh(i,j,l)*dpres(i,j,l)/buf3d(i,j,l) + omga(i,j,l)=(-1.)*wh(i,j,l)*dpres(i,j,l)/abs(buf3d(i,j,l)) else omga(i,j,l) = spval end if @@ -858,7 +859,8 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) do j=jsta,jend do i=1,im if(zint(i,j,l+1)/=spval .and. buf3d(i,j,l)/=spval)then - zint(i,j,l)=zint(i,j,l+1)+buf3d(i,j,l) +!make sure delz is positive + zint(i,j,l)=zint(i,j,l+1)+abs(buf3d(i,j,l)) ! if(zint(i,j,l)>1.0E6)print*,'bad H ',i,j,l,zint(i,j,l) else zint(i,j,l)=spval diff --git a/ush/fv3gfs_downstream_nems.sh b/ush/fv3gfs_downstream_nems.sh index 707f77a05..4449c964c 100755 --- a/ush/fv3gfs_downstream_nems.sh +++ b/ush/fv3gfs_downstream_nems.sh @@ -25,6 +25,8 @@ set -x #-Wen Meng, January 2018, add flag PGB1F for turning on/ogg grib1 pgb data at 1.00 deg. generation. #-Wen Meng, Feburary 2018 # 1. Add flag PGBS for turning on/off pgb data at 1.0 and 0.5 deg. generation frequency of FHOUT_PGB defined. +#-Wen Meng, October +# 1. Use bilinear interpolation for LAND. It can trancate land-sea mask as 1 or 0. #----------------------------------------------------------------------- @@ -47,7 +49,7 @@ export PGBS=${PGBS:-"NO"} #YES-- generate 1.00 and 0.50 deg pgb data #--wgrib2 regrid parameters export option1=' -set_grib_type same -new_grid_winds earth ' export option21=' -new_grid_interpolation bilinear -if ' -export option22=":(LAND|CRAIN|CICEP|CFRZR|CSNOW|ICSEV):" +export option22=":(CRAIN|CICEP|CFRZR|CSNOW|ICSEV):" export option23=' -new_grid_interpolation neighbor -fi ' export option24=' -set_bitmap 1 -set_grib_max_bits 16 -if ' export option25=":(APCP|ACPCP|PRATE|CPRAT):" diff --git a/ush/fv3gfs_dwn_nems.sh b/ush/fv3gfs_dwn_nems.sh index c7611e345..133d62d88 100755 --- a/ush/fv3gfs_dwn_nems.sh +++ b/ush/fv3gfs_dwn_nems.sh @@ -9,6 +9,7 @@ set -x # Wen Meng 12/2017: add trim_rh.sh for triming RH values larger than 100. # Wen Meng 01/2018: add flag PGB1F for turning on/off wgrib1 pgb data at 1.00 deg. generation. # Wen Meng 02/2018: add flag PGBS for turning on/off pgb data at 1.0 and 0.5 deg. generation. +# Wen Meng 10/2019: Use bilinear interpolation for LAND, It can trancate land-sea mask as 0 or 1. export tmpfile=$1 export fhr3=$2 @@ -22,7 +23,7 @@ export TRIMRH=${TRIMRH:-$USHgfs/trim_rh.sh} export opt1=' -set_grib_type same -new_grid_winds earth ' export opt21=' -new_grid_interpolation bilinear -if ' -export opt22=":(LAND|CSNOW|CRAIN|CFRZR|CICEP|ICSEV):" +export opt22=":(CSNOW|CRAIN|CFRZR|CICEP|ICSEV):" export opt23=' -new_grid_interpolation neighbor -fi ' export opt24=' -set_bitmap 1 -set_grib_max_bits 16 -if ' export opt25=":(APCP|ACPCP|PRATE|CPRAT):" From b98fc8374239e5d069b03f6aa4aef9c06939ae74 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Mon, 7 Oct 2019 14:34:03 -0600 Subject: [PATCH 34/38] Fix allocation issue for PSFC in Block 2 --- sorc/ncep_post.fd/SURFCE.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ncep_post.fd/SURFCE.f b/sorc/ncep_post.fd/SURFCE.f index 55ac4e566..5834487be 100644 --- a/sorc/ncep_post.fd/SURFCE.f +++ b/sorc/ncep_post.fd/SURFCE.f @@ -1577,7 +1577,7 @@ SUBROUTINE SURFCE (IGET(548).GT.0).OR.(IGET(739).GT.0).OR. & (IGET(771).GT.0)) THEN - allocate(psfc(im,jsta:jend)) + if (.not. allocated(psfc)) allocate(psfc(im,jsta:jend)) ! !HC COMPUTE SHELTER PRESSURE BECAUSE IT WAS NOT OUTPUT FROM WRF IF(MODELNAME .EQ. 'NCAR' .OR. MODELNAME.EQ.'RSM'.OR. MODELNAME.EQ.'RAPR')THEN From d4cfd014682c4e154cd480944a4e9065a6acc5b6 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Mon, 7 Oct 2019 14:44:13 -0600 Subject: [PATCH 35/38] Fix mods for selecting satellite channels in CALRAD_WCLOUD_newcrtm --- sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f | 38 +++++++++++------------ sorc/ncep_post.fd/SELECT_CHANNELS.f | 9 ++++-- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f index 69214d004..c5e459ffb 100644 --- a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f +++ b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f @@ -409,35 +409,35 @@ SUBROUTINE CALRAD_WCLOUD endif endif - ! SSMI, F13-F15 (19H,19V,37H,37V,85H,85V) + ! SSMI, F13-F15 (19H,19V,??H,37H,37V,85H,85V) if(iget(800)>0)then - call select_channels_L(channelinfo(7),6,(/ 1,2,4,5,6,7 /),lvls(1:6,iget(800)),iget(800)) + call select_channels_L(channelinfo(7),7,(/ 1,2,3,4,5,6,7 /),lvls(1:7,iget(800)),iget(800)) endif if(iget(806)>0)then - call select_channels_L(channelinfo(8),6,(/ 1,2,4,5,6,7 /),lvls(1:6,iget(806)),iget(806)) + call select_channels_L(channelinfo(8),7,(/ 1,2,3,4,5,6,7 /),lvls(1:7,iget(806)),iget(806)) endif if(iget(812)>0)then - call select_channels_L(channelinfo(9),6,(/ 1,2,4,5,6,7 /),lvls(1:6,iget(812)),iget(812)) + call select_channels_L(channelinfo(9),7,(/ 1,2,3,4,5,6,7 /),lvls(1:7,iget(812)),iget(812)) endif ! SSMIS, F16-F20 (183H,19H,19V,37H,37V,91H,91V) if(iget(818)>0)then - call select_channels_L(channelinfo(10),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(818)),iget(818)) + call select_channels_L(channelinfo(10),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(818)),iget(818)) endif if(iget(825)>0)then - call select_channels_L(channelinfo(11),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(825)),iget(825)) + call select_channels_L(channelinfo(11),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(825)),iget(825)) endif if(iget(832)>0)then - call select_channels_L(channelinfo(12),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(832)),iget(832)) + call select_channels_L(channelinfo(12),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(832)),iget(832)) endif if(iget(839)>0)then - call select_channels_L(channelinfo(13),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(839)),iget(839)) + call select_channels_L(channelinfo(13),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(839)),iget(839)) endif if(iget(846)>0)then - call select_channels_L(channelinfo(14),7,(/ 9,12,13,15,16,17,18 /),lvls(1:7,iget(846)),iget(846)) + call select_channels_L(channelinfo(14),24,(/ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 /),lvls(1:24,iget(846)),iget(846)) endif ! SEVIRI if(iget(876)>0)then - call select_channels_L(channelinfo(15),7,(/ 2,3,4,5,6,7,8 /),lvls(1:7,iget(876)),iget(876)) + call select_channels_L(channelinfo(15),8,(/ 1,2,3,4,5,6,7,8 /),lvls(1:7,iget(876)),iget(876)) endif ! MT2 if(iget(860)>0)then @@ -1622,7 +1622,7 @@ SUBROUTINE CALRAD_WCLOUD if (isis=='ssmi_f13')then ! writing ssmi to grib (37 & 85 GHz) nc=0 - do ixchan=1,6 + do ixchan=1,7 igot=iget(800) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1644,7 +1644,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmi f13 if (isis=='ssmi_f14')then ! writing ssmi to grib (19,37 & 85 GHz) nc=0 - do ixchan=1,6 + do ixchan=1,7 igot=iget(806) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1667,7 +1667,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmi f14 if (isis=='ssmi_f15')then ! writing ssmi to grib (19,37 & 85 GHz) nc=0 - do ixchan=1,6 + do ixchan=1,7 igot=iget(812) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1690,7 +1690,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmi f15 if (isis=='ssmis_f16')then ! writing ssmis to grib (183,19,37 & 85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(818) ichan=ixchan print*,'ixchan,lvls=',ixchan,lvls(ixchan,igot) @@ -1713,7 +1713,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f16 if (isis=='ssmis_f17')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(825) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1736,7 +1736,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f17 if (isis=='ssmis_f18')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(832) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1759,7 +1759,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f18 if (isis=='ssmis_f19')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(839) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1782,7 +1782,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting ssmis f19 if (isis=='ssmis_f20')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 - do ixchan=1,7 + do ixchan=1,24 igot=iget(846) ichan=ixchan if(lvls(ixchan,igot).eq.1)then @@ -1926,7 +1926,7 @@ SUBROUTINE CALRAD_WCLOUD end if ! end of outputting goes 12 if (isis=='seviri_m10')then ! writing msg/severi 10 nc=0 - do ixchan=1,7 + do ixchan=1,8 ichan=ixchan igot=iget(876) if(lvls(ixchan,igot).eq.1)then diff --git a/sorc/ncep_post.fd/SELECT_CHANNELS.f b/sorc/ncep_post.fd/SELECT_CHANNELS.f index dab0281a8..9b84f7b0d 100644 --- a/sorc/ncep_post.fd/SELECT_CHANNELS.f +++ b/sorc/ncep_post.fd/SELECT_CHANNELS.f @@ -94,15 +94,18 @@ subroutine SELECT_CHANNELS_L(channelinfo,nchannels,channels,L,igot) k=k+1 temp(k)=channelinfo%Channel_Index(channels(i)) endif + if(L(i).eq.0)then + channelinfo%Process_Channel(channels(i))=.FALSE. ! turn off channel processing + endif enddo ! if no channels were selected, then set igot=0 if(k.eq.0)then igot=0 return - else - channelinfo%n_channels=k - channelinfo%Channel_Index(1:k)=temp(1:k) +! else +! channelinfo%n_channels=k +! channelinfo%Channel_Index(1:k)=temp(1:k) endif end subroutine SELECT_CHANNELS_L From c44ce2cfd067daa67d7ac0eed6159e4c3d1f6b0f Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Mon, 7 Oct 2019 14:46:07 -0600 Subject: [PATCH 36/38] Fix grib codes in RQSTFLD.f for wind shear variables --- sorc/ncep_post.fd/RQSTFLD.f | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sorc/ncep_post.fd/RQSTFLD.f b/sorc/ncep_post.fd/RQSTFLD.f index 70ae3dc8a..1de6eba63 100644 --- a/sorc/ncep_post.fd/RQSTFLD.f +++ b/sorc/ncep_post.fd/RQSTFLD.f @@ -715,16 +715,16 @@ module RQSTFLD_mod ! SRD ! CRA DATA IFILV(430),AVBL(430),IQ(430),IS(430),AVBLGRB2(430) & - & /1,'U COMP 0-1 KM SHEAR ',230,106, & + & /1,'U COMP 0-1 KM SHEAR ',045,106, & & 'UUCSH ON spec_hgt_lvl_above_grnd'/ !430 DATA IFILV(431),AVBL(431),IQ(431),IS(431),AVBLGRB2(431) & - & /1,'V COMP 0-1 KM SHEAR ',238,106, & + & /1,'V COMP 0-1 KM SHEAR ',046,106, & & 'VVCSH ON spec_hgt_lvl_above_grnd'/ !431 DATA IFILV(432),AVBL(432),IQ(432),IS(432),AVBLGRB2(432) & - & /1,'U COMP 0-6 KM SHEAR ',239,106, & + & /1,'U COMP 0-6 KM SHEAR ',045,106, & & 'UUCSH ON spec_hgt_lvl_above_grnd'/ !432 DATA IFILV(433),AVBL(433),IQ(433),IS(433),AVBLGRB2(433) & - & /1,'V COMP 0-6 KM SHEAR ',241,106, & + & /1,'V COMP 0-6 KM SHEAR ',046,106, & & 'VVCSH ON spec_hgt_lvl_above_grnd'/ !433 ! CRA From f5cc81dd86a7bd105c2acfed789c90269f4c6cb7 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Mon, 7 Oct 2019 14:48:05 -0600 Subject: [PATCH 37/38] Fix incorrect EL level for TAUX/TAUY calculation --- sorc/ncep_post.fd/CALTAU.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ncep_post.fd/CALTAU.f b/sorc/ncep_post.fd/CALTAU.f index 381452245..222c4e10f 100644 --- a/sorc/ncep_post.fd/CALTAU.f +++ b/sorc/ncep_post.fd/CALTAU.f @@ -125,7 +125,7 @@ SUBROUTINE CALTAU(TAUX,TAUY) ! ! COMPUTE U (EGRIDU) AND V (EGRIDV) WIND STRESSES. ! - ELSQR = EL(I,J,LMHK)*EL(I,J,LMHK) + ELSQR = EL(I,J,LMHK-1)*EL(I,J,LMHK-1) TAUX(I,J) = RHO*ELSQR*DELUDZ*DELUDZ TAUY(I,J) = RHO*ELSQR*DELVDZ*DELVDZ From 1196e27c50cfdb96fd63454a2cc129e23f5092b9 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Mon, 7 Oct 2019 14:53:06 -0600 Subject: [PATCH 38/38] Fix typo in Wind Energy Calculation (UPP ID 411) --- sorc/ncep_post.fd/MDL2AGL.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ncep_post.fd/MDL2AGL.f b/sorc/ncep_post.fd/MDL2AGL.f index 0c6fb93f1..633534564 100644 --- a/sorc/ncep_post.fd/MDL2AGL.f +++ b/sorc/ncep_post.fd/MDL2AGL.f @@ -1562,7 +1562,7 @@ SUBROUTINE MDL2AGL PAGL(I,J) = EXP(PAGLL+(PAGLL-PAGLU)*FACT) TAGL(I,J) = TAGLL+(TAGLL-TAGLU)*FACT - QAGL(I,J) = QAGLL+(QAGLL-TAGLU)*FACT + QAGL(I,J) = QAGLL+(QAGLL-QAGLU)*FACT UAGL(I,J) = UAGLL+(UAGLL-UAGLU)*FACT VAGL(I,J) = VAGLL+(VAGLL-VAGLU)*FACT !